:root{--z-sticky:200;--z-toast:10001;--z-tooltip:800;--z-max:9999;--z-overlay:9998;--primary:#2c3e50;--primary-dark:#1a252f;--primary-600:#486581;--accent-100:#dbeafe;--accent-500:#3b82f6;--accent:#3b82f6;--accent-light:#60a5fa;--accent-dark:#2563eb;--success:#059669;--success-light:#10b981;--warning:#d97706;--warning-light:#f59e0b;--danger:#dc2626;--danger-light:#ef4444;--info:#0891b2;--font-size-xs:clamp(0.75rem,0.7rem+0.25vw,0.875rem);--font-size-sm:clamp(0.875rem,0.8rem+0.375vw,1rem);--font-size-base:clamp(1rem,0.925rem+0.375vw,1.125rem);--font-size-lg:clamp(1.125rem,1rem+0.625vw,1.375rem);--font-size-xl:clamp(1.25rem,1.1rem+0.75vw,1.625rem);--font-size-2xl:clamp(1.5rem,1.25rem+1.25vw,2.25rem);--font-size-3xl:clamp(1.875rem,1.5rem+1.875vw,3rem);--font-size-4xl:clamp(2.25rem,1.75rem+2.5vw,4rem);--white:#ffffff;--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-700:#334155;--gray-800:#1e293b;--gray-900:#0f172a;--bg-body:#f8fafc;--bg-card:#ffffff;--bg-nav:linear-gradient(135deg,#1e293b 0%,#3b82f6 100%);--shadow-sm:0 1px 2px rgba(0,0,0,0.04),0 1px 3px rgba(0,0,0,0.08);--shadow-md:0 2px 4px rgba(0,0,0,0.04),0 4px 8px rgba(0,0,0,0.08),0 1px 2px rgba(0,0,0,0.04);--shadow-lg:0 4px 8px rgba(0,0,0,0.04),0 8px 16px rgba(0,0,0,0.08),0 16px 32px rgba(0,0,0,0.06);--shadow-xl:0 8px 16px rgba(0,0,0,0.04),0 16px 32px rgba(0,0,0,0.08),0 24px 48px rgba(0,0,0,0.08);--shadow-2xl:0 16px 32px rgba(0,0,0,0.08),0 32px 64px rgba(0,0,0,0.12);--shadow-inner:inset 0 2px 4px rgba(0,0,0,0.06);--shadow-glow:0 0 40px rgba(59,130,246,0.15);--shadow-glow-accent:0 4px 14px rgba(59,130,246,0.25),0 8px 32px rgba(59,130,246,0.15);--shadow-card-hover:0 20px 40px rgba(0,0,0,0.1),0 0 0 1px rgba(59,130,246,0.1);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-2xl:32px;--radius-full:9999px;--transition-fast:0.2s cubic-bezier(0.25,0.46,0.45,0.94);--transition-normal:0.3s cubic-bezier(0.25,0.46,0.45,0.94);--transition-slow:0.45s cubic-bezier(0.25,0.46,0.45,0.94);--spring:0.5s cubic-bezier(0.34,1.56,0.64,1);--font-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif,'Noto Sans KR';--space-2:8px;--space-3:12px;--space-5:20px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px}*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-sans);background-color:var(--bg-body);color:var(--primary);line-height:1.7;min-height:100vh;font-size:15px;letter-spacing:-0.01em;overflow-x:hidden;transition:background-color 0.5s ease,color 0.3s ease}a{text-decoration:none;color:inherit;transition:all var(--transition-fast)}a:hover{text-decoration:none}img{max-width:100%;height:auto;display:block}img.cover-image,img.novel-cover,.novel-card img{opacity:0;animation:img-reveal 0.5s cubic-bezier(0.25,0.46,0.45,0.94) forwards}@keyframes img-reveal{from{opacity:0;filter:blur(4px)}to{opacity:1;filter:blur(0)}}nav.navbar,.navbar,.navbar.fixed-top,body .navbar{background:var(--bg-nav);padding:0;box-shadow:var(--shadow-lg),0 0 0 1px rgba(255,255,255,0.05);position:fixed;top:0;left:0;right:0;z-index:var(--z-max);width:100%;transform:none;margin:0;bottom:auto}@supports (backdrop-filter:blur(12px)) or (-webkit-backdrop-filter:blur(12px)){nav.navbar,.navbar,.navbar.fixed-top,body .navbar{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}}body{padding-top:76px}.nav-container{max-width:1320px;margin:0 auto;padding:14px 28px;display:flex;justify-content:space-between;align-items:center;flex-wrap:nowrap;gap:20px}.logo{font-size:28px;font-weight:800;color:var(--white);display:flex;align-items:center;gap:10px;text-shadow:0 2px 8px rgba(0,0,0,0.2);transition:all var(--transition-normal);letter-spacing:-0.5px}.logo:hover{transform:scale(1.03);color:var(--white);text-shadow:0 4px 16px rgba(0,0,0,0.3)}.nav-links{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.nav-links::-webkit-scrollbar{display:none}.nav-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;min-height:42px;border-radius:var(--radius-md);font-size:14px;font-weight:600;border:none;cursor:pointer;transition:all var(--transition-normal);white-space:nowrap;position:relative;overflow:hidden}.nav-btn::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,0.15) 0%,transparent 50%);opacity:0;transition:opacity var(--transition-fast)}.nav-btn:hover::before{opacity:1}.nav-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.nav-btn:active{transform:translateY(0)}.nav-btn-primary{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-light) 100%);color:var(--white);box-shadow:0 4px 14px rgba(59,130,246,0.35)}.nav-btn-primary:hover{box-shadow:0 6px 20px rgba(59,130,246,0.45)}.nav-btn-success{background:linear-gradient(135deg,var(--success) 0%,var(--success-light) 100%);color:var(--white);box-shadow:0 4px 14px rgba(39,174,96,0.35)}.nav-btn-warning{background:linear-gradient(135deg,var(--warning) 0%,var(--warning-light) 100%);color:var(--white);box-shadow:0 4px 14px rgba(243,156,18,0.35)}.nav-btn-danger{background:linear-gradient(135deg,var(--danger) 0%,var(--danger-light) 100%);color:var(--white);box-shadow:0 4px 14px rgba(231,76,60,0.35)}.nav-btn-light{background:rgba(255,255,255,0.12);color:var(--white);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,0.1)}.nav-btn-light:hover{background:rgba(255,255,255,0.22);border-color:rgba(255,255,255,0.2)}.nav-btn-ghost{background:transparent;color:var(--white);padding:10px 14px}.nav-btn-ghost:hover{background:rgba(255,255,255,0.1)}.search-wrapper{position:relative;display:flex;align-items:center}.search-input{padding:12px 50px 12px 18px;border:2px solid rgba(255,255,255,0.15);border-radius:var(--radius-lg);background:rgba(255,255,255,0.08);color:var(--white);font-size:14px;font-weight:500;width:100%;max-width:300px;min-width:200px;transition:all var(--transition-normal);backdrop-filter:blur(8px)}.search-input::placeholder{color:rgba(255,255,255,0.6);font-weight:400}.search-input:focus{outline:none;border-color:rgba(255,255,255,0.4);background:rgba(255,255,255,0.15);box-shadow:0 0 0 4px rgba(255,255,255,0.08)}.search-btn{position:absolute;right:10px;background:none;border:none;color:var(--white);cursor:pointer;padding:8px;font-size:16px;opacity:0.7;transition:all var(--transition-fast);border-radius:var(--radius-sm)}.search-btn:hover{opacity:1;background:rgba(255,255,255,0.1)}.nav-toggle{display:none;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.15);color:var(--white);font-size:24px;cursor:pointer;padding:10px 14px;border-radius:var(--radius-md);transition:all var(--transition-fast)}.nav-toggle:hover{background:rgba(255,255,255,0.2)}@media (max-width:992px){body{padding-top:68px}.nav-container{padding:12px 18px}.nav-toggle{display:flex;align-items:center;justify-content:center}.logo{font-size:24px}.nav-links{display:none;position:fixed;top:68px;left:0;right:0;bottom:0;background:linear-gradient(180deg,var(--primary) 0%,var(--primary-dark) 100%);flex-direction:column;align-items:stretch;padding:24px;gap:12px;overflow-y:auto;animation:slideDown 0.3s ease}@keyframes slideDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.nav-links.active{display:flex}.search-wrapper{width:100%;order:-1;margin-bottom:12px}.search-input{width:100%;min-width:100%;padding:16px 50px 16px 20px;font-size:16px;border-radius:var(--radius-lg)}.nav-btn{justify-content:center;padding:16px 24px;font-size:15px;border-radius:var(--radius-lg)}}@media (max-width:480px){body{padding-top:62px}.nav-container{padding:10px 14px}.nav-links{top:62px;padding:18px;gap:10px}.logo{font-size:22px}}.container{max-width:1320px;margin:0 auto;padding:var(--space-8)}.card{background:var(--bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden;transition:transform var(--transition-normal),box-shadow var(--transition-slow),background-color 0.5s ease;border:1px solid rgba(0,0,0,0.04)}.card:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)}.card-body{padding:var(--space-6)}.card-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--gray-100);background:var(--gray-50)}.card-title{font-size:20px;font-weight:700;color:var(--primary);margin:0;letter-spacing:-0.3px}.novels-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-6);margin-top:var(--space-6)}.novel-card{background:var(--bg-card);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-md);transition:transform var(--transition-normal),box-shadow var(--transition-slow);cursor:pointer;position:relative;border:1px solid rgba(0,0,0,0.04)}.novel-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--accent),var(--accent-light));opacity:0;transition:opacity var(--transition-normal);z-index:1}.novel-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:var(--shadow-2xl),var(--shadow-glow)}.novel-card:hover::before{opacity:1}.novel-cover{width:100%;height:300px;object-fit:cover;background:linear-gradient(135deg,var(--gray-100),var(--gray-200));transition:transform 0.6s cubic-bezier(0.25,0.46,0.45,0.94)}.novel-card:hover .novel-cover{transform:scale(1.06)}.novel-cover-wrapper{overflow:hidden;position:relative}.novel-badge{position:absolute;top:14px;right:14px;padding:6px 14px;border-radius:var(--radius-full);font-size:12px;font-weight:700;backdrop-filter:blur(8px);letter-spacing:0.3px;text-transform:uppercase;box-shadow:var(--shadow-md)}.novel-badge-new{background:rgba(39,174,96,0.9);color:var(--white)}.novel-badge-hot{background:rgba(231,76,60,0.9);color:var(--white)}.novel-info{padding:var(--space-5)}.novel-title{font-size:16px;font-weight:700;color:var(--primary);margin-bottom:var(--space-2);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;letter-spacing:-0.2px}.novel-meta{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);font-size:13px;color:var(--gray-500)}.novel-genre{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;background:var(--gray-100);border-radius:var(--radius-full);font-size:12px;font-weight:500;color:var(--gray-600);transition:all var(--transition-fast)}.novel-genre:hover{background:var(--accent);color:var(--white)}.novel-chapters{display:flex;align-items:center;gap:4px}.section{margin-bottom:var(--space-12)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:2px solid var(--gray-100)}.section-title{font-size:28px;font-weight:800;color:var(--primary);display:flex;align-items:center;gap:var(--space-3);letter-spacing:-0.5px}.section-title::before{content:'';width:5px;height:32px;background:linear-gradient(180deg,var(--accent),var(--accent-light));border-radius:3px}.section-link{color:var(--accent);font-weight:600;display:flex;align-items:center;gap:8px;transition:all var(--transition-fast);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md)}.section-link:hover{color:var(--accent-dark);gap:12px;background:rgba(59,130,246,0.08)}.chapters-list{background:var(--bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden;border:1px solid rgba(0,0,0,0.04)}.chapter-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--gray-100);transition:all var(--transition-fast);position:relative}.chapter-item::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent);opacity:0;transition:opacity var(--transition-fast)}.chapter-item:last-child{border-bottom:none}.chapter-item:hover{background:var(--gray-50);padding-left:calc(var(--space-6)+8px)}.chapter-item:hover::before{opacity:1}.chapter-number{font-weight:700;color:var(--accent);min-width:90px}.chapter-title{flex:1;color:var(--primary);margin:0 var(--space-4);font-weight:500}.chapter-date{color:var(--gray-400);font-size:13px;white-space:nowrap}.nd-hero{position:relative;margin:-32px -32px 0;padding:64px 32px 52px;overflow:visible;min-height:360px;display:flex;align-items:center;z-index:10}.nd-hero-backdrop-wrap{position:absolute;inset:0;overflow:hidden;z-index:0}.nd-hero-backdrop{position:absolute;inset:-20px;background-size:cover;background-position:center;filter:blur(24px) saturate(1.3);opacity:0.28;z-index:0;transform:scale(1.1);will-change:filter}.nd-hero-overlay{position:absolute;inset:0;background:linear-gradient( 180deg,rgba(248,250,252,0.82) 0%,rgba(248,250,252,0.94) 55%,var(--bg-body) 100% );z-index:1}body.dark-theme .nd-hero-overlay{background:linear-gradient( 180deg,rgba(12,15,26,0.72) 0%,rgba(12,15,26,0.93) 55%,var(--bg-body) 100% )}body.dark-theme .nd-hero-backdrop{opacity:0.22;filter:blur(28px) saturate(1.5) brightness(0.4)}.nd-hero-content{position:relative;z-index:2;display:flex;gap:36px;max-width:1320px;margin:0 auto;width:100%;align-items:flex-start}.nd-hero-cover{flex-shrink:0}.nd-cover-wrapper{width:200px;height:280px;border-radius:14px;overflow:hidden;transform:perspective(800px) rotateY(-4deg);box-shadow:8px 8px 24px rgba(0,0,0,0.18),0 2px 8px rgba(0,0,0,0.1),0 0 0 1px rgba(255,255,255,0.08);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.nd-cover-wrapper:hover{transform:perspective(800px) rotateY(0deg) translateY(-6px);box-shadow:0 24px 48px rgba(0,0,0,0.22),0 8px 16px rgba(0,0,0,0.1),0 0 0 1px rgba(59,130,246,0.15)}.nd-cover-img{width:100%;height:100%;object-fit:cover}.novel-cover-placeholder{background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,0.7)}.nd-hero-info{flex:1;min-width:0;padding:8px 0}.nd-title{font-size:var(--font-size-3xl);font-weight:800;color:var(--primary);line-height:1.15;letter-spacing:-0.03em;margin-bottom:8px}.nd-alt-titles{display:flex;flex-wrap:wrap;gap:8px 16px;margin-bottom:12px}.nd-alt-title{font-size:var(--font-size-sm);color:var(--gray-400);font-style:italic}.nd-author{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-size-base);color:var(--gray-500);font-weight:500;margin-bottom:12px}.nd-author svg{opacity:0.6}.nd-rating-line{display:flex;align-items:center;gap:8px;margin-bottom:14px;flex-wrap:wrap}.nd-stars{display:inline-flex;align-items:center;gap:2px;color:var(--warning)}.nd-rating-value{font-weight:700;font-size:var(--font-size-lg);color:var(--primary)}.nd-rating-count{font-size:var(--font-size-sm);color:var(--gray-400)}.nd-no-rating{color:var(--gray-400);font-style:italic;font-size:var(--font-size-sm)}.nd-genres{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px}.nd-genre-chip{display:inline-block;padding:5px 14px;border-radius:var(--radius-full);font-size:12.5px;font-weight:600;background:rgba(59,130,246,0.08);color:var(--accent);border:1px solid rgba(59,130,246,0.12);transition:all var(--transition-normal);white-space:nowrap;letter-spacing:0.01em}.nd-genre-chip:hover{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-light) 100%);color:var(--white);border-color:transparent;transform:translateY(-2px);box-shadow:0 4px 12px rgba(59,130,246,0.3)}body.dark-theme .nd-genre-chip{background:rgba(96,165,250,0.1);color:var(--accent-light);border-color:rgba(96,165,250,0.15)}body.dark-theme .nd-genre-chip:hover{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-light) 100%);color:var(--white);border-color:transparent}.nd-hero-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.nd-btn-read{display:inline-flex;align-items:center;gap:8px;padding:14px 36px;font-size:16px;font-weight:700;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-light) 100%);color:white;border-radius:22px;text-decoration:none;box-shadow:0 4px 16px rgba(59,130,246,0.3),0 1px 3px rgba(59,130,246,0.2);transition:all var(--transition-normal);position:relative;overflow:hidden;letter-spacing:0.01em}.nd-btn-read::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.18),transparent);transition:left 0.6s ease}.nd-btn-read:hover{transform:translateY(-3px);box-shadow:0 8px 28px rgba(59,130,246,0.4),0 2px 6px rgba(59,130,246,0.2);color:white}.nd-btn-read:hover::before{left:100%}.nd-btn-rate,.nd-btn-source,.nd-btn-offline{display:inline-flex;align-items:center;gap:6px;padding:11px 22px;font-size:14px;font-weight:600;border-radius:20px;text-decoration:none;transition:all var(--transition-normal);cursor:pointer;border:1.5px solid var(--gray-200);background:rgba(255,255,255,0.7);color:var(--gray-600);backdrop-filter:blur(8px)}.nd-btn-rate:hover,.nd-btn-source:hover,.nd-btn-offline:hover{border-color:var(--accent);color:var(--accent);background:rgba(59,130,246,0.06);transform:translateY(-2px);box-shadow:0 4px 12px rgba(59,130,246,0.15)}body.dark-theme .nd-btn-rate,body.dark-theme .nd-btn-source,body.dark-theme .nd-btn-offline{border-color:rgba(255,255,255,0.1);background:rgba(30,41,59,0.5);color:var(--gray-400)}body.dark-theme .nd-btn-rate:hover,body.dark-theme .nd-btn-source:hover,body.dark-theme .nd-btn-offline:hover{border-color:var(--accent-light);color:var(--accent-light);background:rgba(96,165,250,0.08)}.nd-btn-offline--saved{border-color:#10b981;color:#10b981}.nd-btn-offline--saved:hover{border-color:#ef4444;color:#ef4444;background:rgba(239,68,68,0.06);box-shadow:0 4px 12px rgba(239,68,68,0.15)}body.dark-theme .nd-btn-offline--saved{border-color:#34d399;color:#34d399}body.dark-theme .nd-btn-offline--saved:hover{border-color:#f87171;color:#f87171;background:rgba(248,113,113,0.08)}.nd-btn-rated{display:inline-flex;align-items:center;gap:6px;padding:12px 20px;font-size:14px;font-weight:700;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--warning) 0%,var(--warning-light) 100%);color:white;box-shadow:0 4px 14px rgba(217,119,6,0.3)}.nd-rating-panel{max-width:1320px;margin:0 auto 24px;padding:20px 24px;background:var(--bg-card);border-radius:14px;box-shadow:0 2px 8px rgba(0,0,0,0.06),0 4px 16px rgba(0,0,0,0.04);border:1px solid rgba(0,0,0,0.04);animation:slideUp 0.3s ease-out}body.dark-theme .nd-rating-panel{background:var(--bg-card);border-color:rgba(255,255,255,0.06);box-shadow:0 2px 8px rgba(0,0,0,0.2),0 4px 16px rgba(0,0,0,0.15)}.nd-rating-panel-inner{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.nd-rating-panel-label{font-weight:600;color:var(--primary);font-size:15px}.nd-rating-buttons{display:flex;gap:6px;flex-wrap:wrap}.nd-rating-btn{width:40px;height:40px;border:1.5px solid var(--gray-200);border-radius:10px;background:var(--bg-card);color:var(--gray-500);font-weight:700;font-size:14px;cursor:pointer;transition:all var(--transition-normal)}.nd-rating-btn:hover{border-color:var(--warning);color:var(--warning);transform:scale(1.1);box-shadow:0 4px 12px rgba(217,119,6,0.18)}.nd-rating-btn.active{background:linear-gradient(135deg,var(--warning) 0%,var(--warning-light) 100%);border-color:transparent;color:var(--white);box-shadow:0 4px 14px rgba(217,119,6,0.35);transform:scale(1.05)}body.dark-theme .nd-rating-btn{background:var(--gray-100);border-color:var(--gray-200);color:var(--gray-500)}body.dark-theme .nd-rating-btn:hover{border-color:var(--warning);color:var(--warning)}body.dark-theme .nd-rating-btn.active{background:var(--warning);border-color:var(--warning);color:#1a1a2e}.nd-rating-status{font-size:14px;font-weight:500;color:var(--success)}.nd-rating-done{font-weight:700;color:var(--warning);font-size:16px}.nd-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:1320px;margin:0 auto 24px;animation:nd-fadeUp 0.2s cubic-bezier(0.22,1,0.36,1) both}.nd-stat-card{background:var(--bg-card);border-radius:14px;padding:22px 20px;text-align:center;box-shadow:0 1px 3px rgba(0,0,0,0.04),0 2px 8px rgba(0,0,0,0.05);border:1px solid rgba(0,0,0,0.04);transition:all var(--transition-normal);position:relative;overflow:hidden}.nd-stat-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent) 0%,var(--accent-light) 100%);opacity:0;transition:opacity var(--transition-normal)}.nd-stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,0.1),0 2px 6px rgba(0,0,0,0.05)}.nd-stat-card:hover::before{opacity:1}body.dark-theme .nd-stat-card{background:var(--bg-card);border-color:rgba(255,255,255,0.05);box-shadow:0 1px 3px rgba(0,0,0,0.2),0 2px 8px rgba(0,0,0,0.15)}.nd-stat-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:rgba(59,130,246,0.08);color:var(--accent);margin:0 auto 12px;transition:transform var(--transition-normal)}.nd-stat-card:hover .nd-stat-icon{transform:scale(1.08)}.nd-stat-icon--star{background:rgba(217,119,6,0.1);color:var(--warning)}.nd-stat-icon--status{background:rgba(5,150,105,0.1);color:var(--success)}body.dark-theme .nd-stat-icon{background:rgba(96,165,250,0.12)}body.dark-theme .nd-stat-icon--star{background:rgba(251,191,36,0.12)}body.dark-theme .nd-stat-icon--status{background:rgba(52,211,153,0.12)}.nd-stat-value{font-size:var(--font-size-2xl);font-weight:800;color:var(--primary);letter-spacing:-0.02em;margin-bottom:2px}.nd-stat-label{font-size:var(--font-size-xs);color:var(--gray-400);font-weight:500;text-transform:uppercase;letter-spacing:0.05em}.nd-status-ongoing{color:var(--success)}.nd-status-completed{color:var(--accent)}.nd-description-section,.nd-tags-section,.nd-chapters-section,.nd-similar-section{max-width:1320px;margin:0 auto 20px;background:var(--bg-card);border-radius:14px;padding:24px 28px;box-shadow:0 1px 3px rgba(0,0,0,0.04),0 2px 8px rgba(0,0,0,0.05);border:1px solid rgba(0,0,0,0.04);animation:nd-fadeUp 0.25s cubic-bezier(0.22,1,0.36,1) both}body.dark-theme .nd-description-section,body.dark-theme .nd-tags-section,body.dark-theme .nd-chapters-section,body.dark-theme .nd-similar-section{background:var(--bg-card);border-color:rgba(255,255,255,0.05);box-shadow:0 1px 3px rgba(0,0,0,0.2),0 2px 8px rgba(0,0,0,0.15)}.nd-section-title{display:flex;align-items:center;gap:10px;font-size:var(--font-size-xl);font-weight:700;color:var(--primary);margin:0 0 16px;letter-spacing:-0.02em;position:relative;padding-bottom:12px}.nd-section-title::after{content:'';position:absolute;bottom:0;left:0;width:48px;height:3px;border-radius:2px;background:linear-gradient(90deg,var(--accent),var(--accent-light))}.nd-section-title svg{color:var(--accent);flex-shrink:0}.nd-description-wrapper{position:relative;overflow:hidden;transition:max-height var(--transition-normal)}.nd-description-text{font-size:var(--font-size-lg);line-height:1.8;color:var(--primary);white-space:pre-line}.nd-description-fade{display:none;position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(transparent,var(--bg-card));pointer-events:none}body.dark-theme .nd-description-fade{background:linear-gradient(transparent,var(--bg-card))}.nd-description-toggle{display:flex;align-items:center;gap:6px;margin-top:10px;padding:8px 18px;font-size:14px;font-weight:600;color:var(--accent);background:rgba(59,130,246,0.05);border:none;cursor:pointer;transition:all var(--transition-normal);border-radius:20px}.nd-description-toggle:hover{background:rgba(59,130,246,0.1);transform:translateY(-1px)}.nd-description-toggle svg{transition:transform var(--transition-fast)}.nd-tags-list{display:flex;flex-wrap:wrap;gap:8px}.nd-tag{display:inline-block;padding:6px 14px;border-radius:var(--radius-full);font-size:13px;font-weight:500;background:var(--gray-50);color:var(--gray-600);border:1px solid var(--gray-200);transition:all var(--transition-normal);text-decoration:none;cursor:pointer}.nd-tag:hover{background:rgba(220,38,38,0.06);color:var(--danger);border-color:rgba(220,38,38,0.18);transform:translateY(-2px);box-shadow:0 3px 8px rgba(220,38,38,0.1)}body.dark-theme .nd-tag{background:rgba(255,255,255,0.04);color:var(--gray-400);border-color:rgba(255,255,255,0.08)}.nd-chapters-section{padding:0;overflow:hidden}.nd-chapters-header{padding:20px 28px;border-bottom:1px solid var(--gray-100);display:flex;justify-content:space-between;align-items:center;gap:12px}.nd-chapters-header .nd-section-title{margin:0}.nd-sort-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 20px;font-size:13px;font-weight:700;border-radius:20px;border:none;background:linear-gradient(135deg,#3b82f6 0%,#10b981 100%);color:#fff;cursor:pointer;transition:all var(--transition-normal);white-space:nowrap;flex-shrink:0;box-shadow:0 3px 10px rgba(59,130,246,0.25);letter-spacing:0.01em}.nd-sort-btn:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(59,130,246,0.35);filter:brightness(1.06)}.nd-sort-btn:active{transform:translateY(0) scale(0.98);box-shadow:0 2px 6px rgba(59,130,246,0.25)}.nd-sort-btn--desc{background:linear-gradient(135deg,#ef4444 0%,#f59e0b 100%);box-shadow:0 3px 10px rgba(239,68,68,0.25)}.nd-sort-btn--desc:hover{box-shadow:0 6px 18px rgba(239,68,68,0.35)}.nd-sort-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,0.25);color:#fff;transition:transform var(--transition-fast);flex-shrink:0}.nd-sort-btn--desc .nd-sort-icon{transform:rotate(180deg)}.nd-sort-arrow{font-size:11px;font-weight:800;opacity:0.75;letter-spacing:0.03em}body.dark-theme .nd-sort-btn{background:linear-gradient(135deg,#60a5fa 0%,#34d399 100%);box-shadow:0 3px 10px rgba(96,165,250,0.25)}body.dark-theme .nd-sort-btn--desc{background:linear-gradient(135deg,#f87171 0%,#fbbf24 100%);box-shadow:0 3px 10px rgba(248,113,113,0.25)}.nd-chapters-count{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:24px;padding:0 8px;border-radius:var(--radius-full);background:var(--accent);color:white;font-size:12px;font-weight:700}.nd-chapters-list{}.nd-chapter-item{display:flex;align-items:center;gap:12px;padding:14px 28px;border-bottom:1px solid var(--gray-100);transition:all var(--transition-fast);text-decoration:none;color:inherit;position:relative}.nd-chapter-item::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent);opacity:0;transition:opacity var(--transition-fast);border-radius:0 2px 2px 0}.nd-chapter-item:last-child{border-bottom:none}.nd-chapter-item:hover{background:var(--gray-50);padding-left:32px}.nd-chapter-item:hover::before{opacity:1}body.dark-theme .nd-chapter-item{border-color:var(--gray-200)}body.dark-theme .nd-chapter-item:hover{background:var(--gray-100)}.nd-chapter-num{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:28px;padding:0 10px;border-radius:8px;background:rgba(59,130,246,0.07);color:var(--accent);font-weight:700;font-size:13px;flex-shrink:0;transition:background var(--transition-fast)}.nd-chapter-item:hover .nd-chapter-num{background:rgba(59,130,246,0.14)}body.dark-theme .nd-chapter-num{background:rgba(96,165,250,0.1)}.nd-chapter-title{flex:1;font-weight:500;color:var(--primary);font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nd-chapter-date{font-size:13px;color:var(--gray-400);white-space:nowrap;flex-shrink:0}.nd-chapter-status{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-left:4px;background:#ef4444;transition:transform 0.15s ease,background 0.2s ease}.nd-chapter-status.is-approved{background:#22c55e}.nd-chapter-status[data-chapter-id]{cursor:pointer}.nd-chapter-status[data-chapter-id]:hover{transform:scale(1.5)}.nd-chapters-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:60px 20px;color:var(--gray-400)}.nd-load-more{padding:20px 28px;text-align:center;border-top:1px solid var(--gray-100)}.nd-load-more-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 32px;font-size:15px;font-weight:600;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-light) 100%);color:white;border:none;border-radius:22px;cursor:pointer;transition:all var(--transition-normal);box-shadow:0 3px 12px rgba(59,130,246,0.25)}.nd-load-more-btn:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(59,130,246,0.35)}.nd-loading-spinner{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px;color:var(--gray-400);font-size:14px}.nd-spinner{width:20px;height:20px;border:3px solid var(--gray-200);border-top-color:var(--accent);border-radius:50%;animation:nd-spin 0.8s linear infinite}@keyframes nd-spin{to{transform:rotate(360deg)}}@keyframes nd-fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.nd-similar-section{margin-bottom:0}.nd-similar-scroll{position:relative;margin:0 -28px;padding:0 28px;overflow:hidden}.nd-similar-scroll::before,.nd-similar-scroll::after{content:'';position:absolute;top:0;bottom:0;width:40px;z-index:2;pointer-events:none}.nd-similar-scroll::before{left:0;background:linear-gradient(90deg,var(--bg-card),transparent)}.nd-similar-scroll::after{right:0;background:linear-gradient(270deg,var(--bg-card),transparent)}.nd-similar-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:4px 0 8px}.nd-similar-track::-webkit-scrollbar{display:none}.nd-similar-card{flex:0 0 150px;scroll-snap-align:start;text-decoration:none;color:inherit;transition:transform var(--transition-normal)}.nd-similar-card:hover{transform:translateY(-4px)}.nd-similar-cover-wrap{border-radius:10px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,0.08),0 2px 6px rgba(0,0,0,0.04);transition:all var(--transition-normal);margin-bottom:10px}.nd-similar-card:hover .nd-similar-cover-wrap{box-shadow:0 8px 24px rgba(0,0,0,0.15),0 2px 6px rgba(0,0,0,0.06)}.nd-similar-cover{width:100%;height:200px;object-fit:cover;transition:transform var(--transition-normal)}.nd-similar-card:hover .nd-similar-cover{transform:scale(1.06)}.nd-similar-info{padding:0 4px}.nd-similar-title{font-weight:600;color:var(--primary);font-size:13px;line-height:1.35;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.nd-similar-rating{display:flex;align-items:center;gap:3px;font-size:12px;color:var(--warning);font-weight:600}@media (max-width:768px){.nd-hero{margin:-16px -16px 0;padding:40px 16px 32px}.nd-hero-content{flex-direction:column;align-items:center;text-align:center;gap:24px}.nd-cover-wrapper{width:160px;height:224px;transform:perspective(800px) rotateY(0deg)}.nd-cover-wrapper:hover{transform:perspective(800px) rotateY(0deg) translateY(-4px)}.nd-title{font-size:var(--font-size-2xl)}.nd-alt-titles{justify-content:center}.nd-author{justify-content:center}.nd-rating-line{justify-content:center}.nd-genres{justify-content:center}.nd-hero-actions{justify-content:center}.nd-stats-grid{grid-template-columns:repeat(2,1fr);gap:12px;padding:0 16px}.nd-description-section,.nd-tags-section,.nd-chapters-section,.nd-similar-section{margin-left:0;margin-right:0;border-radius:var(--radius-lg);padding:20px 16px}.nd-chapters-section{padding:0}.nd-chapters-header{padding:16px}.nd-chapter-item{padding:12px 16px;flex-wrap:wrap}.nd-chapter-item:hover{padding-left:20px}.nd-chapter-title{white-space:normal;flex-basis:100%;order:3;margin-left:52px}.nd-load-more{padding:16px}.nd-similar-scroll{margin:0 -16px;padding:0 16px}.nd-btn-read{padding:14px 24px;font-size:15px}}@media (max-width:480px){.nd-hero{margin:-12px -12px 0;padding:32px 12px 24px}.nd-cover-wrapper{width:140px;height:196px}.nd-title{font-size:var(--font-size-xl)}.nd-stats-grid{padding:0 8px;gap:8px}.nd-stat-card{padding:14px 10px}.nd-stat-icon{width:40px;height:40px;margin-bottom:8px}.nd-stat-value{font-size:var(--font-size-lg)}.nd-description-section,.nd-tags-section,.nd-similar-section{padding:16px 12px}.nd-chapter-title{margin-left:0}.nd-btn-read{width:100%;justify-content:center}.nd-hero-actions{width:100%}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-size:14px;font-weight:600;border:none;cursor:pointer;transition:all var(--transition-normal);text-decoration:none;position:relative;overflow:hidden;background:var(--gray-100);color:var(--gray-700)}.btn::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,0.2) 0%,transparent 50%);opacity:0;transition:opacity var(--transition-fast)}.btn:hover::before{opacity:1}.btn:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.btn:active{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-light) 100%);color:var(--white);box-shadow:0 4px 14px rgba(59,130,246,0.35)}.btn-primary:hover{box-shadow:0 8px 25px rgba(59,130,246,0.45)}.btn-success{background:linear-gradient(135deg,var(--success) 0%,var(--success-light) 100%);color:var(--white);box-shadow:0 4px 14px rgba(39,174,96,0.35)}.btn-warning{background:linear-gradient(135deg,var(--warning) 0%,var(--warning-light) 100%);color:var(--white);box-shadow:0 4px 14px rgba(243,156,18,0.35)}.btn-danger{background:linear-gradient(135deg,var(--danger) 0%,var(--danger-light) 100%);color:var(--white);box-shadow:0 4px 14px rgba(231,76,60,0.35)}.btn-secondary{background:var(--gray-100);color:var(--gray-700);box-shadow:var(--shadow-sm)}.btn-secondary:hover{background:var(--gray-200)}.btn-light{background:var(--gray-100);color:var(--gray-700);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200)}.btn-light:hover{background:var(--gray-200);color:var(--gray-800)}.btn-light:disabled,.btn-light[disabled]{background:var(--gray-100);color:var(--gray-400);cursor:not-allowed;opacity:0.6}.btn-info{background:linear-gradient(135deg,var(--info) 0%,var(--accent) 100%);color:var(--white);box-shadow:0 4px 14px rgba(23,162,184,0.35)}.btn-info:hover{box-shadow:0 8px 25px rgba(23,162,184,0.45)}.btn-outline-primary{background:transparent;border:2px solid var(--accent);color:var(--accent)}.btn-outline-primary:hover{background:var(--accent);color:var(--white)}.btn-outline{background:transparent;border:2px solid var(--accent);color:var(--accent)}.btn-outline:hover{background:var(--accent);color:var(--white)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:16px;border-radius:var(--radius-lg)}.btn-sm{padding:var(--space-2) var(--space-4);font-size:13px}.form-group{margin-bottom:var(--space-5)}.form-label{display:block;margin-bottom:var(--space-2);font-weight:600;color:var(--primary);font-size:14px;letter-spacing:-0.1px}.form-input{width:100%;padding:var(--space-3) var(--space-4);border:2px solid var(--gray-200);border-radius:var(--radius-md);font-size:15px;color:var(--primary);background:var(--white);transition:all var(--transition-fast);font-family:inherit}.form-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(59,130,246,0.12)}.form-input::placeholder{color:var(--gray-400)}textarea.form-input{min-height:130px;resize:vertical;line-height:1.6}.tag{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;border-radius:var(--radius-full);font-size:12px;font-weight:600;background:var(--gray-100);color:var(--gray-600);transition:all var(--transition-fast)}.tag:hover{transform:scale(1.05)}.tag-primary{background:rgba(59,130,246,0.12);color:var(--accent)}.tag-success{background:rgba(39,174,96,0.12);color:var(--success)}.tag-warning{background:rgba(243,156,18,0.12);color:var(--warning)}.tag-danger{background:rgba(231,76,60,0.12);color:var(--danger)}#toast-container{position:fixed;top:90px;right:var(--space-6);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-3)}.toast{padding:var(--space-4) var(--space-6);border-radius:var(--radius-lg);color:var(--white);min-width:300px;max-width:420px;box-shadow:var(--shadow-xl);display:flex;align-items:center;gap:var(--space-3);animation:toastSlideIn 0.5s cubic-bezier(0.34,1.56,0.64,1);font-weight:500;backdrop-filter:blur(8px)}@keyframes toastSlideIn{from{opacity:0;transform:translateX(100%) scale(0.8)}to{opacity:1;transform:translateX(0) scale(1)}}.toast-success{background:linear-gradient(135deg,var(--success),var(--success-light))}.toast-error{background:linear-gradient(135deg,var(--danger),var(--danger-light))}.toast-info{background:linear-gradient(135deg,var(--info),var(--accent))}.toast-warning{background:linear-gradient(135deg,var(--warning),var(--warning-light))}@media (max-width:480px){#toast-container{right:12px;left:12px}.toast{min-width:0;width:100%;max-width:none}}.pagination{display:flex;justify-content:center;align-items:center;gap:var(--space-2);margin-top:var(--space-8)}.pagination-item{display:flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 var(--space-3);border-radius:var(--radius-md);background:var(--bg-card);color:var(--primary);font-weight:600;box-shadow:var(--shadow-sm);transition:all var(--transition-fast);border:1px solid transparent}.pagination-item:hover{background:var(--accent);color:var(--white);transform:translateY(-3px);box-shadow:var(--shadow-md),0 4px 14px rgba(59,130,246,0.3)}.pagination-item.active{background:var(--accent);color:var(--white);box-shadow:var(--shadow-md),0 4px 14px rgba(59,130,246,0.3)}.pagination-item.disabled{opacity:0.5;cursor:not-allowed;pointer-events:none}.profile-header{display:flex;align-items:center;gap:var(--space-6);padding:var(--space-8);background:var(--bg-card);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);margin-bottom:var(--space-8);border:1px solid rgba(0,0,0,0.04)}.profile-avatar{width:110px;height:110px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-light));display:flex;align-items:center;justify-content:center;font-size:52px;color:var(--white);box-shadow:var(--shadow-lg),0 0 0 4px var(--white);flex-shrink:0}.profile-info h1{font-size:32px;color:var(--primary);margin-bottom:var(--space-2);font-weight:800;letter-spacing:-0.5px}.profile-info p{color:var(--gray-500);font-size:15px}.profile-stats{display:flex;gap:var(--space-8);margin-top:var(--space-4)}.stat-item{text-align:center}.stat-value{font-size:28px;font-weight:800;color:var(--accent);letter-spacing:-0.5px}.stat-label{font-size:13px;color:var(--gray-500);font-weight:500}.bookmarks-list{display:grid;gap:var(--space-4)}.bookmark-item{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5);background:var(--bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:all var(--transition-normal);border:1px solid rgba(0,0,0,0.04)}.bookmark-item:hover{box-shadow:var(--shadow-lg);transform:translateX(8px)}.bookmark-cover{width:65px;height:85px;border-radius:var(--radius-md);object-fit:cover;box-shadow:var(--shadow-sm)}.bookmark-info{flex:1}.bookmark-title{font-weight:700;color:var(--primary);margin-bottom:4px;font-size:16px}.bookmark-chapter{font-size:13px;color:var(--gray-500)}.bookmark-actions{display:flex;gap:var(--space-2)}body.dark-theme{--bg-body:#0c1017;--bg-card:#161c2e;--surface-0:#0c1017;--surface-1:#161c2e;--surface-2:#334155;--surface-3:#475569;--surface-elevated:#1e293b;--primary:#f8fafc;--primary-light:#e2e8f0;--text-high-contrast:#f8fafc;--text-medium-contrast:#e2e8f0;--text-low-contrast:#94a3b8;--gray-50:#1e293b;--gray-100:#334155;--gray-200:#475569;--gray-300:#64748b;--gray-400:#94a3b8;--gray-500:#cbd5e1;--gray-600:#e2e8f0;--gray-700:#f1f5f9;--white:#f8fafc;--accent:#60a5fa;--accent-light:#93c5fd;--accent-dark:#3b82f6;--accent-50:rgba(96,165,250,0.1);--success:#34d399;--success-light:#6ee7b7;--warning:#fbbf24;--warning-light:#fcd34d;--danger:#f87171;--danger-light:#fca5a5;--shadow-sm:0 1px 2px rgba(0,0,0,0.5),0 0 0 1px rgba(255,255,255,0.03);--shadow-md:0 4px 6px rgba(0,0,0,0.5),0 0 0 1px rgba(255,255,255,0.03);--shadow-lg:0 10px 20px rgba(0,0,0,0.5),0 0 0 1px rgba(255,255,255,0.03);--shadow-xl:0 20px 40px rgba(0,0,0,0.5),0 0 0 1px rgba(255,255,255,0.03);--shadow-glow-accent:0 4px 14px rgba(96,165,250,0.3),0 8px 32px rgba(96,165,250,0.2);--shadow-card-hover:0 20px 40px rgba(0,0,0,0.4),0 0 0 1px rgba(96,165,250,0.2)}body.dark-theme .navbar{background:linear-gradient(135deg,#141a20 0%,#1a2530 100%);box-shadow:0 4px 20px rgba(0,0,0,0.5)}body.dark-theme .card,body.dark-theme .novel-card,body.dark-theme .chapters-list,body.dark-theme .section,body.dark-theme .latest-section,body.dark-theme .novels-list,body.dark-theme .genres-sidebar,body.dark-theme .latest-block{background:var(--bg-card);color:var(--primary);border-color:rgba(255,255,255,0.05)}body.dark-theme .section-title,body.dark-theme .novel-title,body.dark-theme .novel-name,body.dark-theme .latest-novel,body.dark-theme .genres-title,body.dark-theme h1,body.dark-theme h2,body.dark-theme h3{color:var(--primary)}body.dark-theme .novel-info-text,body.dark-theme .latest-chapter,body.dark-theme .chapter-date,body.dark-theme .text-muted,body.dark-theme .section-subtitle{color:var(--gray-500)}body.dark-theme .chapter-item,body.dark-theme .novel-item,body.dark-theme .latest-item{border-color:var(--gray-200)}body.dark-theme .chapter-item:hover,body.dark-theme .novel-item:hover,body.dark-theme .latest-item:hover{background:var(--gray-100)}body.dark-theme .genre-list a{color:var(--gray-500)}body.dark-theme .genre-list a:hover{background:var(--gray-100);color:var(--accent)}body.dark-theme .genre-list a.active{background:var(--accent);color:var(--white)}body.dark-theme .form-input{background:var(--gray-100);border-color:var(--gray-200);color:var(--primary)}body.dark-theme .modal-content{background:var(--bg-card)}body.dark-theme .modal-header{background:var(--gray-100)}body.dark-theme .btn{background:var(--gray-200);color:var(--gray-600)}body.dark-theme .btn-secondary{background:var(--gray-200);color:var(--gray-600)}body.dark-theme .novel-genre{background:var(--gray-200);color:var(--gray-500)}body.dark-theme .tag{background:var(--gray-200);color:var(--gray-500)}body.dark-theme .btn-light{background:var(--gray-200);color:var(--gray-600);border-color:var(--gray-300)}body.dark-theme .btn-light:hover{background:var(--gray-300);color:var(--gray-700)}body.dark-theme .btn-light:disabled,body.dark-theme .btn-light[disabled]{background:var(--gray-200);color:var(--gray-400)}body.dark-theme .btn-info{background:linear-gradient(135deg,var(--info) 0%,var(--accent) 100%)}body.dark-theme .btn-outline-primary{border-color:var(--accent);color:var(--accent)}body.dark-theme .btn-outline-primary:hover{background:var(--accent);color:var(--white)}@media (max-width:768px){.container{padding:var(--space-4)}.novels-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--space-4)}.novel-cover{height:220px}.section-title{font-size:22px}.profile-header{flex-direction:column;text-align:center;padding:var(--space-6)}.profile-stats{justify-content:center}.chapter-item{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.chapter-title{margin:0}}@media (max-width:480px){.btn{width:100%}.bookmark-item{flex-direction:column;align-items:flex-start}.bookmark-actions{width:100%}.bookmark-actions .btn{flex:1}}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--gray-500)}.text-primary{color:var(--accent)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.mt-1{margin-top:var(--space-2)}.mt-2{margin-top:var(--space-4)}.mt-3{margin-top:var(--space-6)}.mt-4{margin-top:var(--space-8)}.mb-1{margin-bottom:var(--space-2)}.mb-2{margin-bottom:var(--space-4)}.mb-3{margin-bottom:var(--space-6)}.mb-4{margin-bottom:var(--space-8)}.d-flex{display:flex}.align-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-2)}.gap-2{gap:var(--space-4)}.gap-3{gap:var(--space-6)}.hidden{display:none !important}:focus:not(:focus-visible){outline:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100%;left:50%;transform:translateX(-50%);background:var(--primary);color:var(--white);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);z-index:var(--z-max);transition:top var(--transition-fast);font-weight:600}.skip-link:focus{top:var(--space-4)}button,a,input,select,textarea{font-family:inherit}.touch-target{min-width:44px;min-height:44px}a:not([class]){color:var(--accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}a:not([class]):hover{color:var(--accent-dark);text-decoration-thickness:2px}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--gray-100);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius-full);border:2px solid var(--gray-100)}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}body.dark-theme::-webkit-scrollbar-track{background:var(--gray-100)}body.dark-theme::-webkit-scrollbar-thumb{background:var(--gray-300);border-color:var(--gray-100)}::selection{background:var(--accent);color:var(--white)}::-moz-selection{background:var(--accent);color:var(--white)}.site-footer{background:var(--primary);color:var(--gray-200);padding:var(--space-8) 0;margin-top:var(--space-16);text-align:center}.site-footer p{margin-bottom:var(--space-2);font-size:0.875rem}.site-footer nav a{color:var(--gray-300);text-decoration:none;font-size:0.875rem;transition:color var(--transition-fast)}.site-footer nav a:hover{color:var(--white)}body.dark-theme .site-footer{background:var(--gray-900)}h1,h2,h3,h4,h5,h6{text-wrap:balance;font-weight:700}h1{font-size:var(--font-size-4xl);letter-spacing:-0.03em;line-height:1.1}h2{font-size:var(--font-size-3xl);letter-spacing:-0.025em;line-height:1.2}h3{font-size:var(--font-size-2xl);letter-spacing:-0.02em;line-height:1.3}h4{font-size:var(--font-size-xl);letter-spacing:-0.015em}.prose p,.chapter-content p,article p{max-width:75ch;text-wrap:pretty}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{from{opacity:0;transform:scale(0.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.7}}.animate-fade-in{animation:fadeIn 0.25s cubic-bezier(0.22,1,0.36,1) forwards}.animate-slide-up{animation:slideUp 0.3s cubic-bezier(0.22,1,0.36,1) forwards}.animate-scale-in{animation:scaleIn 0.3s ease-out forwards}.stagger-animation>*:nth-child(1){animation-delay:0.05s}.stagger-animation>*:nth-child(2){animation-delay:0.1s}.stagger-animation>*:nth-child(3){animation-delay:0.15s}.stagger-animation>*:nth-child(4){animation-delay:0.2s}.stagger-animation>*:nth-child(5){animation-delay:0.25s}.stagger-animation>*:nth-child(6){animation-delay:0.3s}.btn-premium{position:relative;overflow:hidden;transition:all var(--transition-normal)}.btn-premium::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient( 90deg,transparent,rgba(255,255,255,0.2),transparent );transition:left 0.5s ease}.btn-premium:hover::before{left:100%}.btn-premium:hover{transform:translateY(-2px);box-shadow:var(--shadow-glow-accent)}.btn-premium:active{transform:translateY(0);box-shadow:var(--shadow-inner)}.card-premium{transition:all var(--transition-normal);border:1px solid transparent}.card-premium:hover{transform:translateY(-4px);box-shadow:var(--shadow-card-hover);border-color:var(--accent-100)}.reading-progress{position:fixed;top:0;left:0;width:0%;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent-light));z-index:calc(var(--z-max)+1);transition:width 0.1s ease-out;box-shadow:0 0 10px var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.scroll-indicator{position:fixed;bottom:24px;right:24px;width:48px;height:48px;background:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;color:white;box-shadow:var(--shadow-lg);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(20px);transition:all var(--transition-normal);z-index:var(--z-sticky)}.scroll-indicator.visible{opacity:1;visibility:visible;transform:translateY(0)}.scroll-indicator:hover{transform:translateY(-4px);box-shadow:var(--shadow-glow-accent)}.glass{background:rgba(255,255,255,0.7);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,0.3)}body.dark-theme .glass{background:rgba(30,41,59,0.7);border:1px solid rgba(255,255,255,0.1)}.tooltip-premium{position:relative}.tooltip-premium::after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translateX(-50%) translateY(-8px);padding:8px 12px;background:var(--gray-900);color:white;font-size:var(--font-size-sm);border-radius:var(--radius-md);white-space:nowrap;opacity:0;visibility:hidden;transition:all var(--transition-fast);pointer-events:none;z-index:var(--z-tooltip)}.tooltip-premium:hover::after{opacity:1;visibility:visible;transform:translateX(-50%) translateY(-4px)}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important}}@keyframes revealFromBottom{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes revealFromLeft{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes revealFromRight{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes revealScale{from{opacity:0;transform:scale(0.92)}to{opacity:1;transform:scale(1)}}.reveal-on-scroll{opacity:0}.reveal-on-scroll.revealed{animation:revealFromBottom 0.6s cubic-bezier(0.25,0.46,0.45,0.94) forwards}.reveal-left.revealed{animation:revealFromLeft 0.6s cubic-bezier(0.25,0.46,0.45,0.94) forwards}.reveal-right.revealed{animation:revealFromRight 0.6s cubic-bezier(0.25,0.46,0.45,0.94) forwards}.reveal-scale.revealed{animation:revealScale 0.6s cubic-bezier(0.25,0.46,0.45,0.94) forwards}.novels-grid .novel-card:nth-child(1){animation-delay:0.05s}.novels-grid .novel-card:nth-child(2){animation-delay:0.1s}.novels-grid .novel-card:nth-child(3){animation-delay:0.15s}.novels-grid .novel-card:nth-child(4){animation-delay:0.2s}.novels-grid .novel-card:nth-child(5){animation-delay:0.25s}.novels-grid .novel-card:nth-child(6){animation-delay:0.3s}.novels-grid .novel-card:nth-child(7){animation-delay:0.35s}.novels-grid .novel-card:nth-child(8){animation-delay:0.4s}.novels-grid .novel-card:nth-child(9){animation-delay:0.45s}.novels-grid .novel-card:nth-child(10){animation-delay:0.5s}.novels-grid .novel-card:nth-child(11){animation-delay:0.55s}.novels-grid .novel-card:nth-child(12){animation-delay:0.6s}.navbar{transition:background 0.5s ease,backdrop-filter 0.5s ease,box-shadow 0.5s ease}.navbar.scrolled{background:rgba(44,62,80,0.82) !important;backdrop-filter:blur(24px) saturate(1.2);-webkit-backdrop-filter:blur(24px) saturate(1.2);box-shadow:0 4px 30px rgba(0,0,0,0.15),0 1px 0 rgba(255,255,255,0.05)}body.dark-theme .navbar.scrolled{background:rgba(15,23,42,0.88) !important}.btn-glow{position:relative;overflow:visible}.btn-glow::after{content:'';position:absolute;inset:-2px;background:inherit;filter:blur(12px);opacity:0;z-index:-1;transition:opacity 0.3s ease;border-radius:inherit}.btn-glow:hover::after{opacity:0.5}.btn-primary.btn-glow::after{background:var(--accent-500)}.btn-success.btn-glow::after{background:var(--success,#27ae60)}.skeleton{background:linear-gradient( 90deg,var(--gray-100) 0%,var(--gray-200) 20%,var(--gray-100) 40%,var(--gray-100) 100% );background-size:800px 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-md)}@keyframes skeleton-shimmer{0%{background-position:-400px 0}100%{background-position:400px 0}}.skeleton-card{width:100%;height:280px}.skeleton-text{height:1em;margin-bottom:0.5em}.skeleton-text.short{width:60%}body.dark-theme .skeleton{background:linear-gradient( 90deg,var(--gray-800) 0%,var(--gray-700) 20%,var(--gray-800) 40%,var(--gray-800) 100% );background-size:800px 100%}@keyframes pageEnter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}main.container,.main-content{animation:pageEnter 0.4s cubic-bezier(0.25,0.46,0.45,0.94)}.gradient-text{background:linear-gradient(135deg,#1e293b 0%,#3b82f6 50%,#8b5cf6 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-size:200% auto;animation:gradient-shift 8s ease infinite}@keyframes gradient-shift{0%,100%{background-position:0% center}50%{background-position:100% center}}body.dark-theme .gradient-text{background:linear-gradient(135deg,#64b5f6 0%,#42a5f5 50%,#ab47bc 100%);-webkit-background-clip:text;background-clip:text}.parallax-container{position:relative;overflow:hidden}.parallax-bg{position:absolute;inset:-10% 0;background-size:cover;background-position:center;transform:translateY(calc(var(--scroll-y,0) * 0.3));will-change:transform}.hover-lift{transition:transform 0.3s cubic-bezier(0.34,1.56,0.64,1),box-shadow 0.3s ease}.hover-lift:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(0,0,0,0.15)}@keyframes pulse-glow{0%,100%{box-shadow:0 0 0 0 rgba(59,130,246,0.4)}50%{box-shadow:0 0 0 10px rgba(59,130,246,0)}}.pulse-glow{animation:pulse-glow 2s infinite}@keyframes floating{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}.floating{animation:floating 3s ease-in-out infinite}.ripple{position:relative;overflow:hidden}.ripple::before{content:'';position:absolute;top:50%;left:50%;width:0;height:0;background:rgba(255,255,255,0.3);border-radius:50%;transform:translate(-50%,-50%);transition:width 0.6s ease,height 0.6s ease}.ripple:active::before{width:300px;height:300px}@keyframes text-reveal{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}.text-reveal{animation:text-reveal 0.8s cubic-bezier(0.77,0,0.175,1) forwards}.nd-reading-list-wrapper{position:relative;display:inline-block}.nd-hidden{display:none !important}.nd-rl-divider{margin:4px 0;border:none;border-top:1px solid var(--border-color,#eee)}body.dark-theme .nd-rl-divider{border-top-color:rgba(255,255,255,0.1)}.nd-similar-placeholder{height:200px}.nd-btn-list{display:inline-flex;align-items:center;gap:6px;padding:11px 22px;border-radius:20px;font-size:14px;font-weight:600;border:none;cursor:pointer;color:#fff;white-space:nowrap;background:linear-gradient(135deg,#8b5cf6 0%,#a78bfa 100%);box-shadow:0 3px 12px rgba(139,92,246,0.3);transition:all var(--transition-normal)}.nd-btn-list:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(139,92,246,0.4)}.nd-reading-list-dropdown{position:absolute;top:100%;left:0;margin-top:8px;background:var(--bg-card,#fff);border:1px solid rgba(0,0,0,0.06);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,0.12),0 2px 6px rgba(0,0,0,0.06);z-index:500;min-width:190px;overflow:hidden}.nd-rl-option{display:block;width:100%;padding:10px 16px;border:none;background:none;text-align:left;font-size:14px;color:var(--text-primary,#333);cursor:pointer;transition:background 0.15s ease}.nd-rl-option:hover{background:var(--accent,#3b82f6);color:#fff}.nd-rl-option.nd-rl-active{background:rgba(59,130,246,0.1);color:var(--accent,#3b82f6);font-weight:600}.nd-rl-remove{color:var(--danger,#e74c3c)}.nd-rl-remove:hover{background:var(--danger,#e74c3c);color:#fff}body.dark-theme .nd-reading-list-dropdown{background:var(--bg-card,#1a1f26);border-color:rgba(255,255,255,0.1)}body.dark-theme .nd-rl-option{color:var(--text-primary,#e0e0e0)}.nav-bell{position:relative;background:transparent;border:none;color:#fff;font-size:20px;cursor:pointer;padding:8px;line-height:1}.nav-bell-badge{position:absolute;top:2px;right:0;background:#e74c3c;color:#fff;font-size:11px;font-weight:700;min-width:18px;height:18px;line-height:18px;text-align:center;border-radius:9px;display:none}.nav-bell-badge.has-count{display:block}.notif-dropdown{position:absolute;top:100%;right:0;width:360px;max-height:420px;overflow-y:auto;background:var(--bg-card,#fff);border:1px solid var(--border-color,rgba(0,0,0,0.1));border-radius:var(--radius-md,12px);box-shadow:0 12px 40px rgba(0,0,0,0.2);z-index:10000;display:none}.notif-dropdown.open{display:block}.notif-dropdown-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-color,#eee);font-weight:600;font-size:14px}.notif-dropdown-header button{background:none;border:none;color:var(--accent,#3b82f6);cursor:pointer;font-size:13px}.notif-item{display:flex;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border-color,rgba(0,0,0,0.05));cursor:pointer;transition:background 0.15s}.notif-item:hover{background:var(--bg-body,#f8fafc)}.notif-item.unread{background:rgba(59,130,246,0.05)}.notif-item-icon{font-size:20px;flex-shrink:0}.notif-item-body{flex:1;min-width:0}.notif-item-title{font-size:13px;font-weight:600;color:var(--text-primary,#333);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notif-item-msg{font-size:12px;color:var(--text-secondary,#666);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notif-item-time{font-size:11px;color:var(--text-muted,#999);margin-top:2px}.notif-empty{padding:30px 16px;text-align:center;color:var(--text-muted,#999);font-size:14px}body.dark-theme .notif-dropdown{background:var(--bg-card,#1a1f26);border-color:rgba(255,255,255,0.1)}body.dark-theme .notif-item:hover{background:rgba(255,255,255,0.05)}@media (max-width:768px){.notif-dropdown{width:min(300px,calc(100vw - 24px));right:-8px}}.editor-icon{display:none;font-size:14px;color:var(--accent);cursor:pointer;margin-left:8px}.editor-mode .paragraph-content:hover .editor-icon,.editor-mode .editor-paragraph:hover .editor-icon{display:inline}.vote-box{display:none !important}.likes-visible .vote-box{display:inline-flex !important}.skeleton-card{border-radius:var(--radius-md);overflow:hidden;background:var(--bg-body)}.skeleton-cover{width:100%;aspect-ratio:2/3;background:linear-gradient(90deg,#e8ecf1 25%,#f0f3f7 50%,#e8ecf1 75%);background-size:200% 100%;animation:shimmer 1.2s ease-in-out infinite}.skeleton-title{height:14px;margin:10px 8px 6px;border-radius:4px;background:linear-gradient(90deg,#e8ecf1 25%,#f0f3f7 50%,#e8ecf1 75%);background-size:200% 100%;animation:shimmer 1.2s ease-in-out infinite}.skeleton-meta{height:10px;width:60%;margin:0 8px 10px;border-radius:4px;background:linear-gradient(90deg,#e8ecf1 25%,#f0f3f7 50%,#e8ecf1 75%);background-size:200% 100%;animation:shimmer 1.2s ease-in-out infinite}.skeleton-text{height:12px;margin:8px 0;border-radius:4px;background:linear-gradient(90deg,#e8ecf1 25%,#f0f3f7 50%,#e8ecf1 75%);background-size:200% 100%;animation:shimmer 1.2s ease-in-out infinite}@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}body.dark-theme .skeleton-cover,body.dark-theme .skeleton-title,body.dark-theme .skeleton-meta,body.dark-theme .skeleton-text{background:linear-gradient(90deg,#2a2d35 25%,#363940 50%,#2a2d35 75%);background-size:200% 100%}.optimistic-pending{opacity:0.7;pointer-events:none}.optimistic-done{animation:optimistic-pop 0.25s cubic-bezier(0.22,1,0.36,1)}@keyframes optimistic-pop{0%{transform:scale(1)}50%{transform:scale(1.2)}100%{transform:scale(1)}}