:root{--bg-primary:#12142d;--bg-secondary:#0c0d1d;--bg-card:#202242;--bg-card-hover:#292d5c;--bg-hover:#2a2d59;--bg-input:#1a1c38;--bg-navbar:#12142dd9;--text-primary:#fff;--text-secondary:#8b8fc7;--text-muted:#6b6b90;--accent:#8b8fc7;--primary:#8b8fc7;--accent-hover:#a5a9e3;--accent-glow:#8b8fc733;--accent-secondary:#ffd668;--danger:#ef4444;--success:#22c55e;--border:#ffffff14;--border-active:#8b8fc780;--shadow:0 8px 32px #0003;--shadow-lg:0 14px 40px #00000047;--shadow-glow:0 0 30px #8b8fc71a;--radius-sm:12px;--radius-md:16px;--radius-lg:24px;--radius-xl:9999px;--glass:#ffffff0d;--gradient-bg:linear-gradient(180deg, #1c214d 0%, #12142d 100%);--gradient-btn:linear-gradient(135deg, #8b8fc7 0%, #767abb 100%);--btn-secondary-bg:#2a2b4b;--btn-secondary-color:#fff}[data-theme=light]{--bg-primary:#fdf5f2;--bg-secondary:#fff;--bg-card:#fff;--bg-card-hover:#fff0f5;--bg-hover:#fff2f8;--bg-input:#fff;--bg-navbar:#fdf5f2d9;--text-primary:#2c2c2c;--text-secondary:#5e5e5e;--text-muted:#8c8c8c;--accent:#ff8dbb;--primary:#ff8dbb;--accent-hover:#ff75ac;--accent-glow:#ff8dbb26;--accent-secondary:#f6c05d;--border:#0000000f;--border-active:#ff8dbb66;--shadow:0 8px 25px #ff8dbb26;--shadow-lg:0 14px 36px #ff8dbb33;--shadow-glow:0 0 25px #ff8dbb33;--glass:#fffc;--gradient-bg:linear-gradient(180deg, #fcdddc 0%, #fdf5f2 100%);--gradient-btn:linear-gradient(145deg, #ffade7 0%, #ff8dbb 100%);--btn-secondary-bg:#fff;--btn-secondary-color:#2c2c2c}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--gradient-bg);color:var(--text-primary);background-attachment:fixed;min-height:100vh;font-family:Nunito,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6;transition:background .4s,color .4s}#app{flex-direction:column;min-height:100vh;display:flex}a{color:var(--accent);text-decoration:none;transition:color .2s}a:hover{color:var(--accent-hover)}.navbar{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:0 0;align-items:center;height:80px;transition:all .3s;display:flex;position:fixed;top:0;left:0;right:0}.navbar-content{justify-content:space-between;align-items:center;width:100%;max-width:1200px;margin:0 auto;padding:0 24px;display:flex}.navbar-brand{align-items:center;gap:12px;font-size:1.8rem;font-weight:800;display:flex}.navbar-logo{object-fit:contain;filter:drop-shadow(0 2px 4px #0000001a);width:auto;height:64px;transition:transform .2s}.navbar-brand:hover .navbar-logo{transform:scale(1.05)}.navbar-brand-accent{color:var(--accent);font-family:Georgia,serif;font-style:italic}.navbar-search{flex:1;align-items:center;max-width:400px;margin:0 40px;display:flex;position:relative}.navbar-search input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;color:var(--text-primary);outline:none;padding:10px 45px 10px 20px;font-size:.95rem;transition:all .2s}.navbar-search input:focus{border-color:var(--accent);box-shadow:var(--shadow-glow);background:var(--bg-card)}#nav-search-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:1.1rem;display:flex;position:absolute;right:15px}#nav-search-btn:hover{color:var(--accent)}.navbar-links{gap:8px;list-style:none;display:flex}.navbar-links a{border-radius:var(--radius-xl);color:var(--text-primary);padding:10px 20px;font-size:1.05rem;font-weight:600;transition:all .2s}.navbar-links a:hover,.navbar-links a.active{background:var(--glass);box-shadow:0 4px 12px #0000000d}.navbar-right{align-items:center;gap:16px;display:flex}.profile-menu-container{position:relative}.profile-dropdown{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);width:250px;box-shadow:var(--shadow);z-index:200;margin-top:12px;padding:16px;animation:.2s fadeIn;position:absolute;top:100%;right:0}.profile-dropdown-header{text-align:center;margin-bottom:16px}.profile-dropdown-name{color:var(--text-primary);font-size:1.1rem;font-weight:800;display:block}.profile-dropdown-credits{color:var(--text-muted);margin-top:4px;font-size:.85rem;display:block}.dropdown-divider{border:0;border-top:1px solid var(--border);margin:12px 0}.dropdown-btn{justify-content:center;margin:4px 0}.credits-badge{background:var(--btn-secondary-bg);border:1px solid var(--border);border-radius:var(--radius-xl);color:var(--btn-secondary-color);align-items:center;gap:8px;padding:8px 20px;font-size:.95rem;font-weight:700;display:flex;box-shadow:0 4px 12px #0000000d}.theme-toggle,.btn-icon-round{border:1px solid var(--border);background:var(--btn-secondary-bg);width:44px;height:44px;color:var(--btn-secondary-color);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;transition:all .2s;display:flex;box-shadow:0 4px 12px #0000000d}.theme-toggle:hover,.btn-icon-round:hover{box-shadow:var(--shadow-glow);transform:translateY(-2px)}.page{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:120px 24px 60px;animation:.4s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.btn{border-radius:var(--radius-xl);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:14px 32px;font-family:inherit;font-size:1.05rem;font-weight:700;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-primary{background:var(--gradient-btn);color:#fff;box-shadow:var(--shadow-glow)}.btn-primary:hover{box-shadow:0 10px 25px var(--accent-glow);transform:translateY(-3px)scale(1.02)}.btn-primary:active{transform:translateY(0)scale(.98)}.btn-secondary{background:var(--btn-secondary-bg);color:var(--btn-secondary-color);border:1px solid var(--border);box-shadow:0 4px 15px #0000000d}.btn-secondary:hover{transform:translateY(-3px);box-shadow:0 8px 20px #00000014}.btn-danger{color:var(--danger);border:1px solid var(--danger);background:0 0}.btn-danger:hover{background:var(--danger);color:#fff}.btn-full{width:100%}.btn-sm{padding:8px 20px;font-size:.9rem}.btn-like{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);cursor:pointer;color:var(--text-primary);align-items:center;gap:8px;padding:10px 20px;font-size:1rem;font-weight:700;transition:all .2s;display:flex}.btn-like:hover{border-color:var(--danger);transform:translateY(-2px);box-shadow:0 4px 12px #ef44441a}.btn-like.liked{border-color:var(--danger);background:#ef44441a}.btn-like.liked .icon{filter:drop-shadow(0 0 5px var(--danger))}.btn-like .count{font-family:inherit}.reader-settings-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);margin-bottom:24px;padding:16px}.settings-group{margin-bottom:16px}.settings-group:last-child{margin-bottom:0}.settings-group label{color:var(--text-muted);text-transform:uppercase;margin-bottom:8px;font-size:.85rem;font-weight:600;display:block}.settings-options{gap:8px;display:flex}.font-btn,.theme-btn{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);height:40px;color:var(--text-primary);cursor:pointer;flex:1;justify-content:center;align-items:center;font-weight:600;transition:all .2s;display:flex}.font-btn:hover,.theme-btn:hover{border-color:var(--accent)}.font-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.font-btn[data-size=small]{font-size:.8rem}.font-btn[data-size=medium]{font-size:1rem}.font-btn[data-size=large]{font-size:1.2rem}.font-btn[data-size=xlarge]{font-size:1.5rem}.theme-btn.theme-light{background:#fff}.theme-btn.theme-sepia{background:#f4ecd8}.theme-btn.theme-dark{background:#1a1a1a}.reader-theme-light{border-radius:12px;padding:20px;color:#111!important;background:#fff!important}.reader-theme-sepia{border-radius:12px;padding:20px;color:#5b4636!important;background:#f4ecd8!important}.reader-theme-dark{border-radius:12px;padding:20px;color:#e0e0e0!important;background:#1a1a1a!important}.home-hero{text-align:center;padding:40px 0 60px}.home-hero h1{color:var(--text-primary);margin-bottom:20px;font-size:3.5rem;font-weight:800;line-height:1.2}.home-hero .magic-sparkle{color:var(--accent-secondary)}.home-hero p{color:var(--text-primary);max-width:600px;margin:0 auto;font-size:1.25rem;font-weight:500}.home-hero-actions{justify-content:center;align-items:center;gap:20px;margin-top:40px;display:flex}.tags-section{text-align:center;margin:60px 0}.tags-section h3{margin-bottom:24px;font-size:1.3rem;font-weight:700}.fandom-tags{flex-wrap:wrap;justify-content:center;gap:12px;max-width:800px;margin:0 auto;display:flex}.tag-pill{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);color:var(--text-primary);cursor:pointer;padding:8px 24px;font-size:.95rem;font-weight:600;transition:all .2s;box-shadow:0 2px 10px #00000008}.tag-pill:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.auth-container{justify-content:center;align-items:center;min-height:90vh;padding:24px;display:flex}.auth-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:480px;box-shadow:var(--shadow);padding:48px}.auth-logo{text-align:center;margin-bottom:40px}.form-group{margin-bottom:24px}.form-group label{color:var(--text-primary);margin-bottom:8px;font-size:.95rem;font-weight:700;display:block}.form-group input,.form-group select,.form-group textarea{background:var(--bg-input);border:2px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);outline:none;padding:16px 20px;font-family:inherit;font-size:1rem;font-weight:500;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent);background:var(--bg-card)}.form-group textarea{resize:vertical;min-height:140px}.create-guest-hint{border-radius:var(--radius-sm);background:var(--glass);border:1px solid var(--border-active);color:var(--text-secondary);margin-bottom:20px;padding:12px 14px;font-weight:600}.create-auth-modal-backdrop{z-index:2500;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.create-auth-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(520px,100%);max-height:90vh;box-shadow:var(--shadow-lg);padding:28px;position:relative;overflow-y:auto}.create-auth-modal-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-size:1.6rem;line-height:1;position:absolute;top:10px;right:12px}.create-auth-title{margin-bottom:6px;font-size:1.45rem;font-weight:800}.create-auth-subtitle{color:var(--text-secondary);margin-bottom:16px}.create-auth-tabs{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px;display:grid}.create-auth-tab{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);cursor:pointer;padding:10px;font-weight:700;transition:all .2s}.create-auth-tab.active{border-color:var(--accent);background:var(--accent);color:#fff}.create-auth-panel-hidden{display:none}#create-auth-error{min-height:20px;margin-bottom:6px}.create-field-invalid{box-shadow:0 0 0 3px #ef44441f;border-color:var(--danger)!important}.create-field-error{color:var(--danger);margin-top:8px;font-size:.85rem;font-weight:700;display:none}.page-header{margin-bottom:40px}.page-header h1{font-size:2.5rem;font-weight:800}.page-header p{color:var(--text-secondary);margin-top:8px;font-size:1.1rem;font-weight:500}.fanfics-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:32px;display:grid}.fanfic-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;flex-direction:column;height:100%;transition:all .4s cubic-bezier(.175,.885,.32,1.275);display:flex;position:relative;overflow:hidden;box-shadow:0 10px 30px #0000001a}.fanfic-card:hover{box-shadow:var(--shadow-lg), 0 0 20px var(--accent-glow);border-color:var(--border-active);transform:translateY(-8px)}.fanfic-card-img{background:var(--bg-card-hover);width:100%;height:200px;position:relative;overflow:hidden}.fanfic-card-img img{object-fit:cover;width:100%;height:100%;transition:transform .6s}.fanfic-card:hover .fanfic-card-img img{transform:scale(1.1)}.fanfic-card-badge{background:var(--accent);color:#fff;border-radius:var(--radius-xl);z-index:5;text-transform:uppercase;letter-spacing:.5px;padding:6px 14px;font-size:.75rem;font-weight:800;position:absolute;top:16px;left:16px;box-shadow:0 4px 12px #0003}.fanfic-card-body{flex-direction:column;flex:1;padding:24px;display:flex}.fanfic-card-fandom{color:var(--accent);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;font-size:.85rem;font-weight:700}.fanfic-card h3{color:var(--text-primary);margin-bottom:12px;font-size:1.5rem;font-weight:800;line-height:1.2;transition:color .3s}.fanfic-card:hover h3{color:var(--accent-hover)}.fanfic-card-meta{flex-wrap:wrap;gap:12px;margin-bottom:16px;display:flex}.card-meta-item{color:var(--text-secondary);background:#ffffff0d;border-radius:8px;align-items:center;gap:6px;padding:4px 10px;font-size:.85rem;font-weight:600;display:inline-flex}.fanfic-card-preview{color:var(--text-secondary);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;flex:1;margin-bottom:24px;font-size:1rem;line-height:1.6;display:-webkit-box;overflow:hidden}.fanfic-card-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:auto;padding-top:16px;display:flex}.fanfic-card-author{color:var(--text-primary);align-items:center;gap:8px;font-size:.9rem;font-weight:700;display:flex}.fanfic-card-author i{color:var(--accent)}.fanfic-card-date{color:var(--text-muted);font-size:.8rem}.home-fanfics-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px}.fanfics-grid.home-fanfics-grid--history{flex-wrap:wrap;justify-content:center;gap:24px;display:flex}.home-fanfics-grid--history .home-fanfic-card{flex:0 280px;max-width:320px}.home-popular-actions{justify-content:center;margin-top:18px;display:flex}.home-fanfic-card{background:linear-gradient(180deg, color-mix(in srgb, var(--bg-card), transparent 10%) 0%, color-mix(in srgb, var(--bg-card), #000 15%) 100%);border-radius:var(--radius-lg);border:1px solid #ffffff0a;flex-direction:column;padding:0;transition:all .4s cubic-bezier(.175,.885,.32,1.275);display:flex;position:relative;overflow:hidden;box-shadow:0 4px 20px #00000026}.home-fanfic-card:before{content:"";border-radius:inherit;background:linear-gradient(135deg, var(--accent-glow), transparent 40%, transparent 60%, var(--accent-glow));-webkit-mask-composite:xor;opacity:.3;z-index:10;pointer-events:none;padding:2px;transition:opacity .4s;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.home-fanfic-card:hover{box-shadow:0 15px 35px #0000004d, 0 0 20px var(--accent-glow);border-color:#0000;transform:translateY(-8px)}.home-fanfic-card:hover:before{opacity:1}.home-fanfic-cover{aspect-ratio:4/5;background:var(--bg-card);flex-shrink:0;width:100%;position:relative;overflow:hidden}.home-fanfic-cover img{object-fit:cover;filter:brightness(.9);width:100%;height:100%;transition:transform .6s cubic-bezier(.33,1,.68,1),filter .4s;display:block}.home-fanfic-card:hover .home-fanfic-cover img{filter:brightness(1.05);transform:scale(1.08)}.home-fanfic-cover-shade{background:linear-gradient(to top, var(--bg-card) 0%, transparent 70%);opacity:.9;position:absolute;inset:0}.home-fanfic-cover-fallback{background:radial-gradient(circle at 20% 20%, color-mix(in srgb, var(--accent-secondary), transparent 35%), transparent 45%), radial-gradient(circle at 85% 10%, color-mix(in srgb, var(--accent), transparent 30%), transparent 42%), linear-gradient(135deg, color-mix(in srgb, var(--bg-card), #fff 2%), color-mix(in srgb, var(--bg-card), #000 10%));justify-content:center;align-items:center;display:flex}.home-fanfic-fallback-initials{letter-spacing:.05em;color:#fff9;text-shadow:0 4px 15px #0006;font-size:2.8rem;font-weight:900}.home-fanfic-chip{-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-xl);color:#fff;z-index:2;background:#0006;border:1px solid #ffffff1a;margin:0;padding:6px 14px;font-size:.8rem;font-weight:700;transition:all .3s;position:absolute;bottom:-14px;left:16px;transform:translateY(-20px);box-shadow:0 4px 10px #0003}.home-fanfic-card:hover .home-fanfic-chip{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 6px 15px var(--accent-glow);transform:translateY(-22px)scale(1.02)}.home-fanfic-content{z-index:1;flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;position:relative}.home-fanfic-title{color:var(--text-primary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:1.15rem;font-weight:800;line-height:1.4;transition:color .3s;display:-webkit-box;overflow:hidden}.home-fanfic-card:hover .home-fanfic-title{color:var(--accent-hover)}.home-fanfic-preview{color:var(--text-secondary);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.95rem;line-height:1.6;display:-webkit-box;overflow:hidden}.home-fanfic-meta{border-top:1px solid #ffffff0a;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:14px;display:flex}.home-fanfic-meta span{color:var(--text-secondary);background:#ffffff08;border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:.8rem;font-weight:600;transition:background .3s,color .3s;display:inline-flex}.home-fanfic-card:hover .home-fanfic-meta span{color:var(--text-primary);background:#ffffff14}.home-fanfic-progress-label{color:var(--text-primary);justify-content:space-between;margin:0 0 6px;font-size:.85rem;font-weight:700;display:flex}.home-fanfic-progress-track{border-radius:var(--radius-xl);background:#0000004d;height:6px;overflow:hidden;box-shadow:inset 0 1px 3px #0003}.home-fanfic-progress-fill{background:var(--gradient-btn);border-radius:inherit;width:0;height:100%;box-shadow:0 0 10px var(--accent);display:block;position:relative}.home-fanfic-progress-fill:after{content:"";background:linear-gradient(90deg,#0000,#fff6,#0000);animation:1.5s infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.home-fanfic-card--history .home-fanfic-content{min-height:190px}.toggle-switch{background:var(--bg-input);border:2px solid var(--border);cursor:pointer;border-radius:14px;width:52px;height:28px;transition:all .3s;position:relative}.toggle-switch.active{background:var(--accent);border-color:var(--accent)}.toggle-switch:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .3s;position:absolute;top:2px;left:2px}.toggle-switch.active:after{transform:translate(24px)}.buy-cards{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.currency-switcher{border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--bg-card);gap:8px;margin-bottom:8px;padding:8px;display:inline-flex}.currency-btn{border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);border-radius:var(--radius-xl);cursor:pointer;padding:8px 16px;font-weight:800;transition:all .2s}.currency-btn:hover{border-color:var(--accent)}.currency-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.currency-switcher-note{color:var(--text-muted);margin-bottom:22px;font-size:.9rem}.buy-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;padding:40px 32px;transition:all .3s}.buy-card-price{margin:16px 0;font-size:2.5rem;font-weight:800}.buy-card-chapters{color:var(--text-secondary);margin-bottom:24px;font-size:1.1rem}.buy-card-popular-badge{background:var(--gradient-btn);color:#fff;border-radius:20px;padding:4px 16px;font-size:.85rem;font-weight:700;position:absolute;top:-14px;left:50%;transform:translate(-50%)}.buy-card:hover{box-shadow:var(--shadow);transform:translateY(-5px)}.buy-card.popular{border:2px solid var(--accent);position:relative}.buy-card.popular:before{content:"Популярный";background:var(--gradient-btn);color:#fff;border-radius:var(--radius-xl);padding:6px 20px;font-size:.85rem;font-weight:800;position:absolute;top:-16px;left:50%;transform:translate(-50%)}.tariffs-container{max-width:1200px;margin:0 auto;padding:0 20px 100px}.tariffs-hero{text-align:center;background:radial-gradient(circle,#ff6b6b0d 0%,#0000 70%);margin-bottom:40px;padding:80px 20px}.tariffs-hero h1{background:var(--gradient-btn);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:20px;font-size:clamp(2.5rem,5vw,4rem);font-weight:900;line-height:1.1}.tariffs-hero p{color:var(--text-secondary);max-width:700px;margin:0 auto 32px;font-size:1.25rem}.tariff-feature-list{text-align:left;margin:24px 0 32px;padding:0;list-style:none}.tariff-feature-item{color:var(--text-secondary);align-items:center;gap:12px;margin-bottom:14px;font-size:.95rem;display:flex}.tariff-feature-item svg{color:var(--accent);flex-shrink:0}.comparison-section{background:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border);box-shadow:var(--shadow);margin-top:100px;padding:40px}.comparison-section h2{text-align:center;margin-bottom:40px;font-size:2rem;font-weight:800}.comparison-table-wrapper{overflow-x:auto}.comparison-table{border-collapse:collapse;width:100%}.comparison-table th,.comparison-table td{text-align:left;border-bottom:1px solid var(--border);padding:20px}.comparison-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:800}.comparison-row-title{color:var(--text-primary);font-weight:700}.comparison-check{color:#10b981}.comparison-cross{color:#ef4444;opacity:.5}.faq-section{max-width:900px;margin-top:100px;margin-left:auto;margin-right:auto}.faq-section h2{text-align:center;margin-bottom:40px;font-size:2rem;font-weight:800}.faq-item{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card);margin-bottom:16px;overflow:hidden}.faq-question{cursor:pointer;width:100%;color:var(--text-primary);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:24px;font-weight:700;transition:background .2s;display:flex}.faq-question:hover{background:#ffffff08}.faq-answer{max-height:0;color:var(--text-secondary);padding:0 24px;line-height:1.6;transition:all .3s ease-out;overflow:hidden}.faq-item.active .faq-answer{max-height:300px;padding-bottom:24px}.faq-icon{transition:transform .3s}.faq-item.active .faq-icon{transform:rotate(180deg)}.referral-note-box{background:var(--bg-input);border-radius:var(--radius-lg);border:1px dashed var(--border);text-align:center;margin-top:60px;padding:24px}.referral-note-box p{color:var(--text-muted);margin:0;font-size:.9rem}.referral-note-box a{color:var(--accent);font-weight:600;text-decoration:none}.reader-panel{background:var(--bg-secondary);border-radius:var(--radius-lg)}.spinner{border:3px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.toast{border-radius:var(--radius-xl);z-index:500;box-shadow:var(--shadow);padding:16px 32px;font-size:1rem;font-weight:600;position:fixed;bottom:30px;right:30px}.toast-success{background:var(--success);color:#fff}.toast-error{background:var(--danger);color:#fff}.profile-header{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow);align-items:center;gap:24px;margin-bottom:40px;padding:32px 40px;display:flex}.profile-avatar{background:var(--gradient-btn);color:#fff;width:80px;height:80px;box-shadow:var(--shadow-glow);border-radius:50%;justify-content:center;align-items:center;font-size:2.2rem;font-weight:800;display:flex}.profile-info{flex:1}.profile-info h2{margin-bottom:4px;font-size:1.8rem;font-weight:800}.profile-credits{text-align:right;border-left:1px solid var(--border);padding-left:24px}.profile-credits-number{color:var(--accent);font-size:2.5rem;font-weight:900;line-height:1}.profile-credits-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-top:4px;font-size:.9rem;font-weight:600}.admin-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);margin-bottom:32px;padding:40px}.admin-section h2{color:var(--accent);margin-bottom:24px;font-size:1.5rem;font-weight:800}.provider-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:32px;display:grid}.provider-card{background:var(--bg-secondary);border:2px solid var(--border);border-radius:var(--radius-md);text-align:center;cursor:pointer;padding:24px;transition:all .2s}.provider-card:hover{border-color:var(--border-active);transform:translateY(-2px)}.provider-card.active{border-color:var(--accent);background:var(--glass);box-shadow:var(--shadow-glow)}.provider-card h4{margin-bottom:4px;font-size:1.2rem;font-weight:800}.provider-card p{color:var(--text-muted);font-size:.9rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;display:grid}.stat-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;padding:32px 24px}.stat-card-value{color:var(--text-primary);text-shadow:var(--shadow-glow);margin-bottom:8px;font-size:2.8rem;font-weight:900;line-height:1}.stat-card-label{color:var(--text-secondary);font-size:.95rem;font-weight:600}.admin-tabs{border-bottom:1px solid var(--border);gap:8px;margin-bottom:24px;padding-bottom:12px;display:flex;overflow-x:auto}.admin-tab{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:8px 16px;font-weight:700;transition:all .2s}.admin-tab:hover{background:var(--bg-hover)}.admin-tab.active{background:var(--primary);color:#fff}.admin-tab-content{animation:.3s ease-out fadeIn;display:none}.admin-tab-content.active{display:block}.admin-table-wrapper{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-primary);width:100%;margin-top:16px;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--border);padding:12px 16px}.admin-table th{background:var(--bg-secondary);color:var(--text-secondary);font-weight:700}.admin-table td{color:var(--text-primary)}.admin-table tr:last-child td{border-bottom:none}.admin-table-actions{gap:8px;display:flex}.fanfic-hero{flex-direction:column;gap:32px;margin-bottom:40px;display:flex}@media (width>=768px){.fanfic-hero{flex-direction:row;align-items:flex-start}}.fanfic-cover{aspect-ratio:2/3;border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--bg-hover) 0%, var(--border) 100%);width:100%;max-width:300px;box-shadow:var(--shadow);flex-shrink:0;justify-content:center;align-items:center;margin:0 auto;display:flex;position:relative;overflow:hidden}.fanfic-cover-icon{opacity:.15;font-size:6rem}.fanfic-cover-text{text-align:center;color:var(--text-primary);opacity:.8;text-shadow:0 2px 4px #00000080;word-wrap:break-word;width:90%;font-size:1.8rem;font-weight:900;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.fanfic-meta-info{flex-direction:column;flex:1;gap:16px;display:flex}.fanfic-meta-title{color:var(--text-primary);margin:0;font-size:2.5rem;font-weight:900;line-height:1.1}.fanfic-meta-row{color:var(--text-secondary);align-items:center;gap:16px;font-size:1rem;display:flex}.fanfic-tags-list{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.site-footer{background:var(--bg-secondary);border-top:1px solid var(--border);margin-top:60px;padding:40px 24px}.footer-content{flex-direction:column;align-items:center;gap:24px;max-width:1200px;margin:0 auto;display:flex}.footer-links{flex-wrap:wrap;justify-content:center;gap:16px 32px;display:flex}.footer-links a{color:var(--text-secondary);font-size:.95rem;font-weight:600;transition:color .2s}.footer-links a:hover{color:var(--accent)}.footer-copy{color:var(--text-muted);text-align:center;font-size:.85rem}.static-page{max-width:800px}.info-article{flex-direction:column;gap:16px;display:flex}.info-intro{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:18px 20px}.info-intro p{margin:0}.info-meta{color:var(--text-muted);font-size:.9rem}.info-layout{grid-template-columns:230px 1fr;align-items:start;gap:16px;display:grid}.info-toc{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;position:sticky;top:96px}.info-toc h3{margin:0 0 10px;font-size:1rem}.info-toc ol{flex-direction:column;gap:8px;margin:0;padding-left:18px;display:flex}.info-toc a{color:var(--text-secondary);font-size:.95rem}.info-sections{flex-direction:column;gap:14px;display:flex}.info-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:18px 20px}.info-section h2{margin-bottom:10px;font-size:1.25rem}.info-section p:last-child,.info-section ul:last-child,.info-section ol:last-child{margin-bottom:0}.info-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px}.info-card p{margin-bottom:8px}.info-card p:last-child{margin-bottom:0}.info-note{border-radius:var(--radius-sm);border:1px solid var(--border-active);background:var(--glass);margin-top:12px;padding:10px 12px}.info-faq-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);margin-bottom:10px;padding:12px 14px}.info-faq-item:last-child{margin-bottom:0}.info-faq-item summary{cursor:pointer;color:var(--text-primary);font-weight:700}.info-faq-item p{margin-top:10px;margin-bottom:0}.static-content h3{color:var(--text-primary);margin-top:32px;margin-bottom:12px;font-size:1.4rem;font-weight:800}.static-content p{color:var(--text-secondary);margin-bottom:16px;font-size:1.1rem;line-height:1.7}.continue-story-block{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);margin-top:48px;padding:32px;animation:.5s fadeIn}.continue-story-block h2{margin-bottom:8px;font-size:1.8rem;font-weight:800}.continue-story-block .subtitle{color:var(--text-secondary);margin-bottom:24px}.generation-options{flex-direction:column;gap:12px;margin-bottom:32px;display:flex}.gen-option{cursor:pointer;border-radius:var(--radius-md);align-items:center;gap:12px;padding:12px 16px;transition:background .2s;display:flex}.gen-option:hover{background:var(--bg-hover)}.gen-option-radio{border:2px solid var(--border-active);border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex;position:relative}.gen-option.active .gen-option-radio{border-color:var(--accent)}.gen-option.active .gen-option-radio:after{content:"";background:var(--accent);border-radius:50%;width:12px;height:12px}.gen-option-text{font-size:1.1rem;font-weight:700}.regenerate-section{border-top:1px solid var(--border);margin-top:32px;padding-top:32px}.regenerate-hint{color:var(--text-secondary);margin-bottom:12px;font-weight:700;display:block}.generation-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:32px;padding-top:24px;display:flex}.credits-info{color:var(--text-muted);align-items:center;gap:12px;font-weight:700;display:flex}.credits-info .n{color:var(--text-primary);font-size:1.1rem}.btn-pill-sm{background:var(--btn-secondary-bg);border:1px solid var(--border);border-radius:var(--radius-xl);color:#fff;cursor:pointer;padding:8px 24px;font-size:.9rem;font-weight:700;transition:all .2s}.btn-pill-sm:hover{background:var(--accent);transform:translateY(-2px)}#gen-prompt-textarea,#next-chap-prompt,#regen-prompt-textarea{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);resize:vertical;width:100%;min-height:100px;margin-top:12px;padding:16px;font-family:inherit;font-size:1.05rem}#gen-prompt-textarea:focus,#next-chap-prompt:focus,#regen-prompt-textarea:focus{border-color:var(--accent);outline:none}.btn.disabled{opacity:.5;cursor:not-allowed;filter:grayscale()}.comments-title{margin-bottom:12px;font-size:1.2rem;font-weight:800}.comments-form{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.comments-form textarea{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);width:100%;color:var(--text-primary);padding:12px;font-family:inherit}.comments-list{flex-direction:column;gap:10px;display:flex}.comment-item{border:1px solid var(--border);background:var(--bg-card);border-radius:var(--radius-sm);padding:12px}.comment-head{color:var(--text-secondary);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.85rem;display:flex}.comment-body{white-space:pre-wrap;line-height:1.5}.comment-empty{color:var(--text-secondary);font-size:.95rem}.comment-delete{margin-top:10px}@media (width<=768px){.generation-footer{text-align:center;flex-direction:column;align-items:center;gap:20px}}.generating-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:2000;color:#fff;text-align:center;background:#0c0d1de6;flex-direction:column;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.generating-spinner{border:4px solid #8b8fc733;border-top-color:var(--accent);border-radius:50%;width:60px;height:60px;margin-bottom:24px;animation:1s linear infinite spin}.generating-text{margin-bottom:8px;font-size:1.8rem;font-weight:800}.generating-sub{color:var(--text-secondary);font-size:1.1rem}@media (width<=1024px){.page{padding-left:20px;padding-right:20px}}@media (width<=768px){:root{--radius-lg:16px;--radius-xl:30px}.navbar{height:70px}.navbar-brand{font-size:1.5rem}.navbar-links{display:none}.navbar-content{padding:0 16px}.navbar-right{gap:8px}.page{padding-top:90px;padding-bottom:40px}.home-hero h1{font-size:2.2rem}.home-hero p{padding:0 10px;font-size:1.1rem}.home-hero-actions{flex-direction:column;gap:12px;width:100%;max-width:300px;margin:30px auto 0}.home-hero-actions .btn{width:100%}.fanfics-grid{grid-template-columns:1fr;gap:16px}.fanfic-card{padding:24px}.fanfic-card h3{font-size:1.25rem}.home-fanfics-grid{grid-template-columns:1fr;gap:14px}.home-fanfic-cover{height:165px}.home-fanfic-content{min-height:185px;padding:16px}.home-fanfic-title{font-size:1.08rem}.home-fanfic-meta span{font-size:.74rem}.buy-cards{grid-template-columns:1fr;gap:16px}.currency-switcher{justify-content:center;width:100%;display:flex}.currency-btn{flex:1}.profile-header{text-align:center;flex-direction:column;gap:16px;padding:24px}.profile-credits{text-align:center;border-left:none;border-top:1px solid var(--border);width:100%;padding-top:16px;padding-left:0}.admin-section{padding:24px 16px}.fanfic-meta-title{text-align:center;font-size:1.8rem}.fanfic-meta-row{flex-wrap:wrap;justify-content:center}.auth-card{padding:32px 20px}.footer-links{gap:12px 20px}.info-layout{grid-template-columns:1fr}.info-toc{position:static}.admin-table-wrapper{-webkit-overflow-scrolling:touch;margin-top:24px}.reader-panel{padding:24px 16px!important}.fanfic-hero{text-align:center;flex-direction:column;align-items:center;gap:20px}.fanfic-cover{width:140px;height:200px;margin:0 auto}.fanfic-meta-info{width:100%}.fanfic-content{font-size:1.1rem!important;line-height:1.6!important}.form-row{flex-direction:column;gap:0}.form-group div[style*="display: flex"]{flex-direction:column;align-items:stretch}.profile-dropdown{width:calc(100vw - 32px);top:60px;right:-16px}.modal-content{width:95%;padding:24px 16px}.create-auth-modal{width:95%;padding:22px 16px}}@media (width<=480px){.navbar-brand{font-size:1.3rem}.home-hero h1{font-size:1.8rem}.btn{padding:12px 24px;font-size:1rem}.home-fanfic-cover{height:150px}.home-fanfic-content{padding:14px}.stat-card-value{font-size:2.2rem}}.support-chat-root{margin-top:32px}.support-chat-container{flex-direction:column;transition:all .3s;display:flex}#chat-messages::-webkit-scrollbar{width:6px}#admin-chat-messages::-webkit-scrollbar{width:6px}#support-conversations::-webkit-scrollbar{width:6px}#chat-messages::-webkit-scrollbar-thumb{background:var(--border);border-radius:10px}#admin-chat-messages::-webkit-scrollbar-thumb{background:var(--border);border-radius:10px}#support-conversations::-webkit-scrollbar-thumb{background:var(--border);border-radius:10px}.support-conv-item:hover{background:var(--bg-secondary)!important}@keyframes message-appear{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}#chat-messages>div,#admin-chat-messages>div{animation:.3s forwards message-appear}.chapter-container{padding:0;position:relative}#fanfic-content-body.reader-theme-light .chapter-title{color:#111}#fanfic-content-body.reader-theme-sepia .chapter-title{color:#5b4636}#fanfic-content-body.reader-theme-dark .chapter-title{color:#fff}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px;display:grid}.stat-card.highlight{border-color:var(--accent)!important;background:#8b8fc70d!important}.stat-card.highlight .stat-card-value{color:var(--accent)}.admin-search-box input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);width:100%;color:var(--text-primary);padding:12px 16px;font-family:inherit;transition:all .2s}.admin-search-box input:focus{border-color:var(--accent);box-shadow:var(--shadow-glow);outline:none}.switch-container{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;font-weight:700;display:inline-flex;position:relative}.switch-container input{opacity:0;width:0;height:0;position:absolute}.switch-label{align-items:center;display:flex}.switch-label:before{content:"";background:var(--text-muted);border-radius:12px;width:44px;height:24px;margin-right:12px;transition:all .3s;display:inline-block}.switch-label:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:all .3s;display:block;position:absolute;top:3px;left:3px}.switch-container input:checked+.switch-label:before{background:var(--success)}.switch-container input:checked+.switch-label:after{transform:translate(20px)}.form-hint{color:var(--text-muted);margin-top:4px;font-size:.85rem;display:block}.fandom-stat-item{transition:transform .2s}.fandom-stat-item:hover{transform:translate(5px);background:var(--bg-card)!important}.analytics-grid{grid-template-columns:2fr 1fr;gap:24px;margin-bottom:32px;display:grid}.analytics-grid .stat-card{flex-direction:column;padding:24px;display:flex}@media (width<=1024px){.analytics-grid{grid-template-columns:1fr}}
