:root{--bg-main:#f5f6fa;--bg-card:#fff;--bg-hover:#eef1f8;--bg-surface:#f0f2f7;--text-primary:#1a1d2e;--text-secondary:#6b7294;--text-muted:#9ca3c0;--accent:#3b6cf5;--accent-hover:#2b56d9;--accent-light:#3b6cf514;--accent-glow:#3b6cf540;--border-color:#e3e6f0;--border-light:#eceef5;--success:#22c55e;--success-bg:#22c55e1a;--success-border:#22c55e4d;--warning:#f59e0b;--warning-bg:#f59e0b1a;--warning-border:#f59e0b4d;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 4px #0000000f;--shadow-md:0 4px 16px #00000012;--shadow-lg:0 8px 30px #00000017;--shadow-xl:0 16px 50px #0000001f;--shadow-card:0 2px 8px #0000000f, 0 0 1px #00000014;--shadow-card-hover:0 12px 36px #0000001f, 0 0 1px #0000001a;--radius-sm:6px;--radius:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-full:999px;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.35s ease}[data-theme=dark]{--bg-main:#0d1117;--bg-card:#161b26;--bg-hover:#1e2536;--bg-surface:#1a2030;--text-primary:#e4e8f1;--text-secondary:#8892b0;--text-muted:#5a6380;--accent:#6c8cff;--accent-hover:#8aa4ff;--accent-light:#6c8cff1a;--accent-glow:#6c8cff33;--border-color:#252d3d;--border-light:#1e2636;--success-bg:#22c55e1f;--success-border:#22c55e40;--warning-bg:#f59e0b1f;--warning-border:#f59e0b40;--shadow-xs:0 1px 2px #0003;--shadow-sm:0 1px 4px #00000040;--shadow-md:0 4px 16px #0000004d;--shadow-lg:0 8px 30px #00000059;--shadow-xl:0 16px 50px #0006;--shadow-card:0 2px 8px #00000040, 0 0 1px #0000004d;--shadow-card-hover:0 12px 36px #00000059, 0 0 1px #0000004d}*{box-sizing:border-box;margin:0;padding:0}html{max-width:100%;overflow-x:hidden}body{background-color:var(--bg-main);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;max-width:100vw;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}@keyframes random-spin{to{transform:rotate(360deg)}}@keyframes pulse-dot{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}@keyframes gradient-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.container{max-width:1200px;margin:0 auto;padding:2rem 5%;animation:.3s fadeIn}.section-title{letter-spacing:-.3px;align-items:center;gap:12px;margin-bottom:1.25rem;font-size:1.35rem;font-weight:700;display:flex}.section-title:before{content:"";background:linear-gradient(180deg, var(--accent), #7c3aed);border-radius:2px;flex-shrink:0;width:4px;height:22px;display:inline-block}.navbar{-webkit-backdrop-filter:blur(16px);z-index:1000;border-bottom:1px solid var(--border-light);height:64px;transition:background var(--transition-base), box-shadow var(--transition-base);background:#fffc;align-items:center;padding:0 5%;display:flex;position:sticky;top:0}[data-theme=dark] .navbar{background:#0d1117d9}.navbar-inner{justify-content:space-between;align-items:center;width:100%;max-width:1200px;margin:0 auto;display:flex}.navbar-brand{transition:opacity var(--transition-fast);align-items:center;gap:10px;text-decoration:none;display:flex}.navbar-brand:hover{opacity:.9}.navbar-brand-icon{object-fit:cover;width:36px;height:36px;transition:transform var(--transition-fast);border-radius:8px;box-shadow:0 2px 8px #2563eb40}.navbar-brand:hover .navbar-brand-icon{transform:scale(1.05)}.navbar-brand-text{color:var(--text-primary);letter-spacing:-.5px;font-size:1.45rem;font-weight:800}.navbar-brand-text span{color:var(--accent)}.navbar-actions{align-items:center;gap:10px;display:flex}a.logo{letter-spacing:-.5px;font-size:1.4rem;font-weight:800;color:var(--accent)!important}.logo span{color:var(--accent)}.dark-toggle{border-radius:var(--radius-full);border:1px solid var(--border-color);background:var(--bg-card);cursor:pointer;width:40px;height:40px;transition:all var(--transition-fast);box-shadow:var(--shadow-xs);justify-content:center;align-items:center;font-size:1.15rem;display:flex}.dark-toggle:hover{background:var(--bg-hover);border-color:var(--accent);transform:scale(1.08)}.navbar-link{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-full);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-xs);padding:14px 22px;font-size:1rem;font-weight:600}.navbar-link:hover{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:var(--shadow-sm);transform:translateY(-1px)}.navbar-link:disabled{opacity:.5;cursor:not-allowed;transform:none}.navbar-download{background:var(--accent);color:#fff;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:none;padding:10px 20px;font-size:.95rem;font-weight:700;text-decoration:none;box-shadow:0 2px 8px #3b6cf54d}.navbar-download:hover{background:#2d5ce0;transform:translateY(-1px);box-shadow:0 4px 14px #3b6cf566}.random-overlay{-webkit-backdrop-filter:blur(6px);z-index:2000;background:#000000a6;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.random-spinner{border:4px solid #fff3;border-top-color:var(--accent);border-radius:50%;width:52px;height:52px;animation:.7s linear infinite random-spin}.random-overlay span{color:#fff;letter-spacing:.3px;font-size:1rem;font-weight:600}.book-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1.5rem;margin-bottom:3rem;display:grid}.book-card{transition:transform var(--transition-base), box-shadow var(--transition-base);flex-direction:column;display:flex}.book-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-6px)scale(1.02)}.book-cover-wrapper{aspect-ratio:2/3;border-radius:var(--radius);background-color:var(--bg-surface);width:100%;box-shadow:var(--shadow-card);margin-bottom:.75rem;position:relative;overflow:hidden}.book-cover-wrapper:after{content:"";pointer-events:none;background:linear-gradient(#0000,#00000040);height:40%;position:absolute;bottom:0;left:0;right:0}.book-cover{object-fit:cover;width:100%;height:100%}.book-title{-webkit-line-clamp:2;letter-spacing:-.1px;-webkit-box-orient:vertical;margin-bottom:.25rem;font-size:1rem;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.book-meta{color:var(--text-secondary);font-size:1rem;font-weight:500}.rank-badge{border-radius:var(--radius-sm);color:#fff;z-index:2;width:26px;height:26px;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;font-size:.85rem;font-weight:800;display:flex;position:absolute;top:8px;left:8px}.rank-badge.rank-1{background:linear-gradient(135deg,#f59e0b,#ef4444)}.rank-badge.rank-2{background:linear-gradient(135deg,#94a3b8,#64748b)}.rank-badge.rank-3{background:linear-gradient(135deg,#d97706,#b45309)}.rank-badge.rank-4{background:linear-gradient(135deg,#64748b,#475569)}.rank-badge.rank-5{background:linear-gradient(135deg,#94a3b8,#64748b)}.card-status{z-index:2;border-radius:50%;width:10px;height:10px;position:absolute;top:8px;right:8px;box-shadow:0 0 0 2px #fffc}.card-status.completed{background:var(--success)}.card-status.ongoing{background:var(--warning)}.horizontal-slider{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior-x:contain;gap:1rem;padding:.25rem 0 .75rem;display:flex;overflow-x:scroll}.horizontal-slider::-webkit-scrollbar{display:none}.horizontal-slider .book-card{scroll-snap-align:start;flex:0 0 135px;width:135px;max-width:135px}@media (width<=1024px){.horizontal-slider .book-card{flex:0 0 120px;width:120px;max-width:120px}}@media (width<=768px){.horizontal-slider{-webkit-overflow-scrolling:touch;gap:.75rem;padding-left:0;padding-right:0}.horizontal-slider .book-card{flex:0 0 105px;width:105px;max-width:105px}}.genre-pill{border-radius:var(--radius-full);transition:all var(--transition-fast);white-space:nowrap;border:1px solid #0000;flex-shrink:0;padding:14px 24px;font-size:1rem;font-weight:600}.genre-pill:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.genre-pill:nth-child(8n+1){color:#3730a3;background:#eef2ff}.genre-pill:nth-child(8n+2){color:#9d174d;background:#fdf2f8}.genre-pill:nth-child(8n+3){color:#065f46;background:#ecfdf5}.genre-pill:nth-child(8n+4){color:#9a3412;background:#fff7ed}.genre-pill:nth-child(8n+5){color:#075985;background:#f0f9ff}.genre-pill:nth-child(8n+6){color:#854d0e;background:#fefce8}.genre-pill:nth-child(8n+7){color:#6b21a8;background:#faf5ff}.genre-pill:nth-child(8n+8){color:#166534;background:#f0fdf4}[data-theme=dark] .genre-pill:nth-child(8n+1){color:#a5b4fc;background:#4338ca40}[data-theme=dark] .genre-pill:nth-child(8n+2){color:#f9a8d4;background:#be185d40}[data-theme=dark] .genre-pill:nth-child(8n+3){color:#6ee7b7;background:#04785740}[data-theme=dark] .genre-pill:nth-child(8n+4){color:#fdba74;background:#c2410c40}[data-theme=dark] .genre-pill:nth-child(8n+5){color:#7dd3fc;background:#0369a140}[data-theme=dark] .genre-pill:nth-child(8n+6){color:#fde047;background:#a1620740}[data-theme=dark] .genre-pill:nth-child(8n+7){color:#d8b4fe;background:#7e22ce40}[data-theme=dark] .genre-pill:nth-child(8n+8){color:#86efac;background:#15803d40}.search-container{margin-bottom:2.5rem;position:relative}.search-wrapper{position:relative}.search-icon{color:var(--text-muted);pointer-events:none;transition:color var(--transition-fast);position:absolute;top:50%;left:20px;transform:translateY(-50%)}.search-input{border-radius:var(--radius-xl);border:2px solid var(--border-color);background-color:var(--bg-card);width:100%;color:var(--text-primary);transition:all var(--transition-base);box-shadow:var(--shadow-sm);outline:none;padding:1rem 56px 1rem 52px;font-family:Inter,sans-serif;font-size:1.05rem}.search-input::placeholder{color:var(--text-muted)}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-glow), var(--shadow-md)}.search-btn{border-radius:var(--radius-full);background:var(--accent);color:#fff;cursor:pointer;width:40px;height:40px;transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%);box-shadow:0 2px 8px #3b6cf54d}.search-btn:hover{background:#2d5ce0;transform:translateY(-50%)scale(1.05);box-shadow:0 4px 14px #3b6cf566}.search-results{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);z-index:1000;max-height:420px;box-shadow:var(--shadow-xl);animation:.2s slideDown;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto}.search-result-item{border-bottom:1px solid var(--border-light);transition:background-color var(--transition-fast);align-items:center;gap:1rem;padding:1rem;display:flex}.search-result-item:hover{background-color:var(--bg-hover)}.search-result-item:last-child{border-bottom:none}.search-result-cover{border-radius:var(--radius-sm);object-fit:cover;width:46px;height:68px;box-shadow:var(--shadow-xs)}.search-result-info h4{margin-bottom:2px;font-size:1rem;font-weight:600;line-height:1.3}.search-result-info span{color:var(--text-secondary);font-size:1rem;font-weight:500}.novel-page-wrapper{animation:.3s fadeIn}.novel-detail-hero-wrapper{border-bottom:1px solid var(--border-color);background:linear-gradient(135deg,#e8edf8 0%,#dde4f4 40%,#eef2fa 100%);margin-top:-2rem;margin-bottom:2rem;padding:3rem 1.5rem 2.5rem;position:relative}[data-theme=dark] .novel-detail-hero-wrapper{background:linear-gradient(135deg,#151c2c 0%,#1a2238 50%,#131a28 100%)}.novel-detail-hero{text-align:center;flex-direction:column;align-items:center;gap:2.5rem;max-width:1080px;margin:0 auto;display:flex}.novel-detail-body{max-width:1080px;margin:0 auto;padding:0 1.5rem 3rem}.detail-cover{border-radius:var(--radius-md);width:200px;height:290px;box-shadow:var(--shadow-xl), 0 0 0 3px #fff9;object-fit:cover;transition:transform var(--transition-base);flex-shrink:0}.detail-cover:hover{transform:scale(1.03)}[data-theme=dark] .detail-cover{box-shadow:var(--shadow-xl), 0 0 0 3px #ffffff1a}.detail-info{text-align:center;flex-direction:column;flex:1;align-items:center;min-width:0;animation:.4s fadeInUp;display:flex}.detail-title{letter-spacing:-.5px;color:var(--text-primary);text-align:left;margin-bottom:.5rem;font-size:2.1rem;font-weight:800;line-height:1.2}.detail-author{color:var(--accent);margin-bottom:1.5rem;font-size:1rem;font-weight:600}.detail-desc{color:var(--text-secondary);text-align:justify;max-width:100%;margin-bottom:1.5rem;font-size:1rem;line-height:1.7}.detail-desc p{margin-bottom:1rem}.detail-desc p:last-child{margin-bottom:0}.detail-meta{flex-direction:column;align-items:center;gap:.5rem;margin-bottom:1.25rem;display:flex}.genre-tags{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;display:flex}.detail-status{border-radius:var(--radius-full);letter-spacing:.2px;align-items:center;gap:6px;padding:14px 22px;font-size:1rem;font-weight:700;display:inline-flex}.detail-status.completed{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.detail-status.ongoing{background:var(--warning-bg);color:var(--warning);border:1px solid var(--warning-border)}.btn-read{background:linear-gradient(135deg, var(--accent), #7c3aed);color:#fff;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-base);letter-spacing:.2px;border:none;align-self:center;align-items:center;gap:10px;padding:14px 36px;font-size:1rem;font-weight:700;display:inline-flex;box-shadow:0 4px 20px #3b6cf559}.btn-read:hover{transform:translateY(-2px)scale(1.03);box-shadow:0 8px 30px #3b6cf573}.btn-read:active{transform:translateY(0)scale(.98)}.chapter-container{width:100%;margin:0 auto;padding:0}.chapter-header{border-bottom:2px solid var(--border-color);justify-content:space-between;align-items:center;margin-top:2.5rem;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.related-container{margin-top:2.5rem}.related-header{margin-bottom:.75rem}.related-header .section-title{font-size:1.25rem}.chapter-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:.75rem;display:grid}.chapter-item{border:1px solid var(--border-color);border-radius:var(--radius);color:var(--text-primary);transition:all var(--transition-fast);background-color:var(--bg-card);justify-content:space-between;align-items:center;padding:1.2rem 1.4rem;font-size:1rem;font-weight:500;display:flex}.chapter-item:hover{background-color:var(--accent-light);color:var(--accent);border-color:var(--accent);box-shadow:var(--shadow-sm);transform:translate(4px)}.genre-tag{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-full);color:var(--text-primary);box-shadow:var(--shadow-xs);transition:all var(--transition-fast);padding:14px 24px;font-size:1rem;font-weight:600}.genre-tag:hover{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:var(--shadow-md);transform:translateY(-2px)}.reader-wrapper{--reader-bg:var(--bg-main);--reader-text:var(--text-primary);--reader-header-bg:#ffffffeb;background-color:var(--reader-bg);color:var(--reader-text);min-height:100vh;transition:background-color .3s,color .3s}.reader-wrapper.theme-light{--reader-bg:#f5f6fa;--reader-text:#1a1d2e;--reader-header-bg:#ffffffeb}.reader-wrapper.theme-sepia{--reader-bg:#f4ecd8;--reader-text:#433422;--reader-header-bg:#f4ecd8f2;--border-color:#d7cdb3}.reader-wrapper.theme-dark{--reader-bg:#0d1117;--reader-text:#c9d1d9;--reader-header-bg:#0d1117f2;--border-color:#21262d}.reader-header{background-color:var(--reader-header-bg);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);z-index:10;justify-content:space-between;align-items:center;padding:.85rem 5%;transition:background-color .3s;display:flex;position:sticky;top:0}.reader-wrapper a{color:var(--reader-text)}.reader-novel-title{color:var(--reader-text);font-size:1rem;font-weight:500}.reader-content{max-width:760px;color:var(--reader-text);margin:0 auto;padding:3rem 2rem;font-size:1.15rem;line-height:2;animation:.3s fadeIn}.reader-content.font-merriweather{font-family:Merriweather,serif}.reader-content.font-inter{font-family:Inter,sans-serif}.reader-content.font-lora{font-family:Lora,serif}.reader-content.font-roboto{font-family:Roboto,sans-serif}.reader-content h4{color:var(--reader-text);text-align:center;margin-bottom:3rem;font-family:Inter,sans-serif;font-size:1.75rem;font-weight:800;display:none}.reader-content p{text-align:justify;margin-bottom:1.5em}.reader-nav-bottom{background-color:var(--reader-header-bg);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--border-color);z-index:10;justify-content:center;gap:.75rem;padding:1rem 5%;transition:background-color .3s;display:flex;position:sticky;bottom:0}.btn-nav{background-color:var(--bg-card);color:var(--reader-text);border:1px solid var(--border-color);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-xs);padding:14px 24px;font-size:1rem;font-weight:600}.btn-nav:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-nav:active:not(:disabled){transform:translateY(0)}.btn-nav:disabled{opacity:.4;cursor:not-allowed}.chapter-modal-overlay{-webkit-backdrop-filter:blur(4px);z-index:1000;background:#0000008c;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.chapter-modal-content{background:var(--bg-card);border-radius:var(--radius-lg);width:90%;max-width:500px;box-shadow:var(--shadow-xl);flex-direction:column;animation:.2s scaleIn;display:flex;overflow:hidden}.skeleton{background:var(--bg-surface);background-image:linear-gradient(90deg, var(--bg-surface) 0px, var(--bg-hover) 40px, var(--bg-surface) 80px);background-size:600px 100%;animation:1.8s linear infinite shimmer}.skeleton-card{flex-direction:column;display:flex}.skeleton-cover{aspect-ratio:2/3;border-radius:var(--radius);width:100%;margin-bottom:.75rem}.skeleton-title{border-radius:var(--radius-sm);width:90%;height:14px;margin-bottom:6px}.loading-dots{justify-content:center;gap:6px;padding:2rem;display:flex}.loading-dots span{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite pulse-dot}.loading-dots span:nth-child(2){animation-delay:.15s}.loading-dots span:nth-child(3){animation-delay:.3s}.loading{text-align:center;color:var(--accent);padding:5rem;font-weight:600}.legal-page{max-width:780px;margin:0 auto;padding:1.5rem 0 3rem;animation:.3s fadeIn}.legal-nav{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:1.5rem;display:flex}.legal-nav a{color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius-full);background:var(--bg-card);transition:all var(--transition-fast);padding:14px 20px;font-size:1rem;font-weight:600}.legal-nav a:hover{color:#fff;background:var(--accent);border-color:var(--accent);transform:translateY(-1px)}.legal-title{letter-spacing:-.3px;margin-bottom:1rem;font-size:1.6rem;font-weight:800}.legal-content h2{margin:1.4rem 0 .5rem;font-size:1.1rem;font-weight:700}.legal-content p{color:var(--text-primary);margin-bottom:.6rem;line-height:1.7}.legal-content ul,.legal-content ol{margin-bottom:.8rem;padding-left:0;list-style-position:inside}.legal-content li{margin-bottom:.35rem}.legal-content a{color:var(--accent);text-decoration:underline}.site-footer{background:var(--bg-card);border-top:1px solid var(--border-color);margin-top:3rem}.footer-inner{flex-wrap:wrap;justify-content:space-between;gap:3rem;max-width:1200px;margin:0 auto;padding:2.5rem 5% 1.5rem;display:flex}.footer-brand{max-width:300px}.footer-brand-header{align-items:center;gap:10px;margin-bottom:.75rem;display:flex}.footer-brand-icon{object-fit:cover;border-radius:7px;width:32px;height:32px}.footer-logo{color:var(--text-primary);letter-spacing:-.5px;font-size:1.35rem;font-weight:800;display:block}.footer-logo span{color:var(--accent)}.footer-brand p{color:var(--text-secondary);font-size:1rem;line-height:1.6}.footer-links-group{gap:4rem;display:flex}.footer-col h4{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin-bottom:.75rem;font-size:1rem;font-weight:700}.footer-col a{color:var(--text-secondary);transition:color var(--transition-fast);padding:4px 0;font-size:1rem;font-weight:500;display:block}.footer-col a:hover{color:var(--accent)}.footer-bottom{border-top:1px solid var(--border-light);text-align:center;max-width:1200px;margin:0 auto;padding:1rem 5%}.footer-bottom p{color:var(--text-muted);font-size:1rem}.footer-links{flex-wrap:wrap;justify-content:center;gap:1.2rem;margin-bottom:.6rem;display:flex}.footer-links a{color:var(--text-secondary);transition:color var(--transition-fast);font-size:1rem}.footer-links a:hover{color:var(--accent)}.footer-note{color:var(--text-muted);text-align:center;font-size:1rem}@media (width<=768px){.container{padding:1.5rem 5%}.book-grid{grid-template-columns:repeat(3,1fr);gap:.75rem}.novel-detail-hero-wrapper{padding:2rem 1.5rem 1.5rem}.novel-detail-hero{text-align:center;flex-direction:column;align-items:center;gap:1.5rem}.detail-info{text-align:center;align-items:center}.detail-title{text-align:center;font-size:1.6rem}.genre-tags{justify-content:center}.btn-read{justify-content:center;align-self:center;width:100%}.novel-detail-body{padding:0 1.5rem 2rem}.chapter-list{grid-template-columns:1fr}.footer-inner{flex-direction:column;gap:2rem}.footer-links-group{gap:2rem}.footer-brand{max-width:100%}.navbar-brand{font-size:1.2rem}.search-input{padding:1rem 1.2rem 1rem 46px;font-size:1rem}.search-icon{left:16px}}@media (width<=480px){.book-grid{grid-template-columns:repeat(3,1fr);gap:.75rem}.book-title{font-size:1rem}.section-title{font-size:1.15rem}.detail-title{font-size:1.5rem}.reader-content{padding:2rem 1.25rem;font-size:1.05rem}.footer-links-group{flex-direction:column;gap:1.5rem}}.text-accent{color:var(--accent)}.text-muted{color:var(--text-muted)}.fw-600{font-weight:600}.fw-700{font-weight:700}.app-promo-overlay{-webkit-backdrop-filter:blur(6px);z-index:9999;background:#0000008c;justify-content:center;align-items:center;padding:1rem;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.app-promo-modal{background:var(--bg-card);border-radius:var(--radius-lg);text-align:center;width:100%;max-width:380px;box-shadow:var(--shadow-xl);padding:2.5rem 2rem 2rem;animation:.35s fadeInUp;position:relative}.app-promo-close{color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;padding:4px;font-size:1.6rem;line-height:1;position:absolute;top:12px;right:16px}.app-promo-close:hover{color:var(--text-primary)}.app-promo-icon{justify-content:center;margin-bottom:1rem;display:flex}.app-promo-icon img{border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.app-promo-title{color:var(--text-primary);margin-bottom:.5rem;font-size:1.35rem;font-weight:800}.app-promo-desc{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.95rem;line-height:1.5}.app-promo-btn{color:#fff;transition:all var(--transition-fast);background:#000;border-radius:8px;justify-content:center;align-items:center;gap:10px;width:100%;max-width:260px;margin:0 auto 1rem;padding:12px 24px;font-size:1rem;font-weight:700;text-decoration:none;display:inline-flex;box-shadow:0 2px 8px #0000004d}.app-promo-btn:hover{background:#1a1a1a;transform:translateY(-1px);box-shadow:0 4px 14px #0006}.app-promo-btn-icon{flex-shrink:0}.app-promo-btn-text{flex-direction:column;align-items:flex-start;line-height:1;display:flex}.app-promo-btn-small{letter-spacing:.02em;font-size:.65rem;font-weight:500}.app-promo-btn-large{margin-top:1px;font-size:1.1rem;font-weight:700}.app-promo-later{color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;padding:8px 16px;font-size:.9rem}.app-promo-later:hover{color:var(--text-primary)}@media (width<=480px){.app-promo-modal{padding:2rem 1.5rem 1.5rem}.app-promo-title{font-size:1.2rem}}
