:root{--color-bg:#fff;--color-bg-soft:#f5f7fb;--color-surface:#fff;--color-surface-muted:#f0f3fa;--color-border-subtle:#dde3f0;--color-border-strong:#c3cce0;--color-primary:#5b6cff;--color-primary-soft:#eef0ff;--color-primary-strong:#2d3cff;--color-primary-on:#fff;--color-success:#2fb380;--color-warning:#f6a700;--color-danger:#e5484d;--color-text-strong:#111827;--color-text:#1f2937;--color-text-muted:#6b7280;--color-text-soft:#9ca3af;--color-link:#2563eb;--color-link-hover:#1d4ed8;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:999px;--shadow-sm:0 2px 6px rgba(15,23,42,.06);--shadow-md:0 10px 30px rgba(15,23,42,.12);--shadow-lg:0 22px 60px rgba(15,23,42,.18);--font-sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-size-xs:12px;--font-size-sm:14px;--font-size-md:16px;--font-size-lg:18px;--font-size-xl:24px;--font-size-2xl:32px;--font-size-3xl:40px;--line-height-tight:1.1;--line-height-snug:1.25;--line-height-normal:1.5;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%}body{font-family:var(--font-sans);font-size:var(--font-size-md);line-height:var(--line-height-normal);color:var(--color-text);background:radial-gradient(circle at top left,#eef2ff,#fff 40%,#e0f2fe)}a{color:var(--color-link);text-decoration:none;transition:color .15s ease,text-decoration-color .15s ease}a:hover{color:var(--color-link-hover);text-decoration:underline;text-decoration-color:currentColor}img{max-width:100%;display:block}button{font-family:inherit}.page-shell{min-height:100vh;display:flex;flex-direction:column}.page-header{position:sticky;top:0;z-index:20;backdrop-filter:blur(14px);background:linear-gradient(180deg,hsla(0,0%,100%,.96),hsla(0,0%,100%,.9));border-bottom:1px solid rgba(209,213,219,.7)}.page-header-inner{max-width:1120px;margin:0 auto;padding:var(--space-3) var(--space-4);justify-content:space-between}.page-header-inner,.page-header-left{display:flex;align-items:center;gap:var(--space-4)}.page-header-nav{display:flex;align-items:center;gap:var(--space-3)}.page-header-nav-link{font-size:var(--font-size-sm);color:var(--color-text-muted);padding:6px 10px;border-radius:var(--radius-full);transition:background-color .12s ease,color .12s ease}.page-header-nav-link:hover{color:var(--color-text-strong);background-color:rgba(209,213,219,.4)}.page-header-actions{display:flex;align-items:center;gap:var(--space-2)}.page-main{flex:1}.page-section{padding:var(--space-12) var(--space-4)}.page-section-inner{max-width:1120px;margin:0 auto}.page-section--muted{background:radial-gradient(circle at top,#eef2ff,#f9fafb 45%,#eff6ff)}.hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.1fr);gap:var(--space-10);align-items:center}.hero-eyebrow{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-full);background:rgba(37,99,235,.08);color:var(--color-text-muted);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.12em}.hero-title{margin-top:var(--space-3);font-size:clamp(32px,4vw,44px);line-height:var(--line-height-tight);color:var(--color-text-strong)}.hero-subtitle{margin-top:var(--space-3);max-width:36rem;font-size:var(--font-size-md);color:var(--color-text-muted)}.hero-actions{margin-top:var(--space-6);gap:var(--space-3)}.hero-actions,.hero-meta{display:flex;flex-wrap:wrap;align-items:center}.hero-meta{margin-top:var(--space-3);gap:10px;font-size:var(--font-size-xs);color:var(--color-text-soft)}.hero-media{position:relative;min-height:260px;border-radius:28px;background:radial-gradient(circle at 0 0,#eef2ff,#e0f2fe 45%,#fff);box-shadow:var(--shadow-lg);overflow:hidden;padding:var(--space-4);display:grid;grid-template-rows:auto 1fr;gap:var(--space-4)}.hero-media-toolbar{display:flex;align-items:center;gap:var(--space-3);font-size:var(--font-size-xs);color:var(--color-text-soft)}.hero-media-toolbar-dots{display:inline-flex;gap:4px}.hero-media-toolbar-dot{width:7px;height:7px;border-radius:999px;background:rgba(15,23,42,.16)}.hero-media-canvas{border-radius:18px;background:#fff;box-shadow:var(--shadow-sm);padding:var(--space-4);display:grid;grid-template-columns:1fr .8fr;gap:var(--space-4)}.hero-media-card{border-radius:var(--radius-lg);background:linear-gradient(135deg,#a855f7,#6366f1);color:#fff;padding:var(--space-4);display:flex;flex-direction:column;justify-content:space-between}.hero-media-card-title{font-size:var(--font-size-lg);font-weight:600}.hero-media-sidebar{display:flex;flex-direction:column;gap:var(--space-3)}.hero-media-tag{font-size:var(--font-size-xs);color:var(--color-text-soft)}.heading-xl{font-size:var(--font-size-2xl);line-height:var(--line-height-tight);color:var(--color-text-strong);margin:0}.heading-lg{font-size:var(--font-size-xl)}.heading-lg,.heading-md{line-height:var(--line-height-snug);color:var(--color-text-strong);margin:0}.heading-md{font-size:var(--font-size-lg)}.subtitle{margin-top:var(--space-2);font-size:var(--font-size-md)}.subtitle,.text-muted{color:var(--color-text-muted)}.text-soft{color:var(--color-text-soft)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;outline:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 18px;min-height:40px;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:background-color .14s ease,color .14s ease,box-shadow .14s ease,transform 80ms ease}.btn:active{transform:translateY(1px)}.btn-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-strong));color:var(--color-primary-on);box-shadow:0 10px 24px rgba(37,99,235,.3)}.btn-primary:hover{background:linear-gradient(135deg,var(--color-primary-strong),#4338ca);box-shadow:0 14px 32px rgba(37,99,235,.35)}.btn-ghost{background:transparent;color:var(--color-text)}.btn-ghost:hover{background:rgba(15,23,42,.06)}.btn-outline{background:hsla(0,0%,100%,.9);color:var(--color-text);border:1px solid var(--color-border-subtle)}.btn-outline:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-sm)}.btn-pill-sm{min-height:32px;padding-inline:14px}.btn-pill-sm,.pill{font-size:var(--font-size-xs)}.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-full);border:1px solid rgba(148,163,184,.4);color:var(--color-text-soft);background:hsla(0,0%,100%,.9)}.pill--accent{border-color:transparent;background:linear-gradient(90deg,rgba(37,99,235,.15),rgba(236,72,153,.15));color:var(--color-text-strong)}.card-grid{margin-top:var(--space-8);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.card{border-radius:20px;background:var(--color-surface);box-shadow:var(--shadow-sm);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);transition:transform .14s ease,box-shadow .14s ease,background-color .14s ease}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.card-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-soft)}.card-title{font-size:var(--font-size-md);font-weight:600;color:var(--color-text-strong)}.card-body{font-size:var(--font-size-sm);color:var(--color-text-muted)}.card-footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-soft)}.tabs{margin-top:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.tabs-list{display:inline-flex;align-items:center;padding:4px;background:hsla(0,0%,100%,.8);box-shadow:var(--shadow-sm);gap:2px}.tabs-list,.tabs-trigger{border-radius:var(--radius-full)}.tabs-trigger{min-height:32px;padding:0 14px;font-size:var(--font-size-xs);border:none;background:transparent;color:var(--color-text-soft);cursor:pointer;transition:background-color .14s ease,color .14s ease}.tabs-trigger[data-state=active]{background:#111827;color:#f9fafb}.tabs-panel{display:grid;gap:var(--space-4)}.page-footer{border-top:1px solid rgba(209,213,219,.7);background:#fff}.page-footer-inner{max-width:1120px;margin:0 auto;padding:var(--space-6) var(--space-4);display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:var(--space-8)}.page-footer-meta{display:flex;flex-direction:column;gap:var(--space-3)}.page-footer-links-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6)}.page-footer-column-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-strong);margin-bottom:var(--space-2)}.page-footer-link{display:block;font-size:var(--font-size-sm);color:var(--color-text-soft);padding-block:3px}.page-footer-link:hover{color:var(--color-text-strong)}.page-footer-bottom{border-top:1px solid rgba(229,231,235,.8);padding:var(--space-3) var(--space-4);max-width:1120px;margin:0 auto;align-items:center;justify-content:space-between;font-size:var(--font-size-xs);color:var(--color-text-soft)}.page-footer-bottom,.page-footer-bottom-links{display:flex;flex-wrap:wrap;gap:var(--space-3)}.page-footer-socials{display:flex;flex-wrap:wrap;gap:10px}@media (max-width:960px){.page-header-inner,.page-section{padding-inline:var(--space-3)}.hero{grid-template-columns:minmax(0,1fr)}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-footer-inner{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.page-header-nav{display:none}.hero{gap:var(--space-6)}.card-grid{grid-template-columns:minmax(0,1fr)}.page-footer-links-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}.animate-float{animation:float 6s ease-in-out infinite}.glass-panel{background:hsla(0,0%,100%,.7);backdrop-filter:blur(12px);border:1px solid hsla(0,0%,100%,.5);box-shadow:0 8px 32px rgba(31,38,135,.07)}.glass-panel--dark{background:rgba(17,24,39,.8);backdrop-filter:blur(12px);border:1px solid hsla(0,0%,100%,.1);color:#fff}.webtoon-card{position:relative;border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease;cursor:pointer;display:flex;flex-direction:column}.webtoon-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}.webtoon-card-image{aspect-ratio:3/4;-o-object-fit:cover;object-fit:cover;width:100%}.webtoon-card-content{padding:var(--space-3);display:flex;flex-direction:column;gap:2px}.webtoon-card-title{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.webtoon-card-author{font-size:var(--font-size-xs);color:var(--color-text-soft)}.webtoon-badge{position:absolute;top:8px;right:8px;padding:2px 8px;border-radius:var(--radius-xs);font-size:10px;font-weight:700;text-transform:uppercase;color:#fff;z-index:10}.webtoon-badge--up{background-color:var(--color-danger)}.webtoon-badge--new{background-color:var(--color-warning)}.webtoon-badge--completed{background-color:var(--color-text-strong)}.search-container{display:flex;align-items:center;background:var(--color-bg-soft);border:1px solid var(--color-border-subtle);border-radius:var(--radius-full);padding:0 var(--space-3);height:40px;width:100%;max-width:320px;transition:border-color .2s ease,box-shadow .2s ease}.search-container:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(91,108,255,.1);background:#fff}.search-input{border:none;background:transparent;width:100%;height:100%;padding-inline:var(--space-2);font-size:var(--font-size-sm);outline:none}.search-kbd{font-size:10px;color:var(--color-text-soft);background:#fff;border:1px solid var(--color-border-subtle);padding:2px 4px;border-radius:4px;font-weight:600}.user-menu-trigger{width:36px;height:36px;border-radius:50%;background:var(--color-primary-soft);display:flex;align-items:center;justify-content:center;cursor:pointer;border:2px solid transparent;transition:border-color .2s ease;overflow:hidden}.user-menu-trigger:hover{border-color:var(--color-primary)}.episode-list{display:flex;flex-direction:column;gap:1px;background:var(--color-border-subtle);border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border-subtle)}.episode-item{display:grid;grid-template-columns:80px 1fr auto;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:#fff;transition:background-color .15s ease;cursor:pointer}.episode-item:hover{background-color:var(--color-bg-soft)}.episode-thumb{width:80px;aspect-ratio:16/9;border-radius:var(--radius-sm);-o-object-fit:cover;object-fit:cover;background:var(--color-bg-soft)}.episode-info{display:flex;flex-direction:column;gap:2px}.episode-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-strong)}.episode-date{font-size:var(--font-size-xs);color:var(--color-text-soft)}.reading-progress-bar{height:4px;background:var(--color-border-subtle);border-radius:999px;overflow:hidden;margin-top:4px}.reading-progress-fill{height:100%;background:var(--color-primary);width:60%}