/* Editorial, artwork-first presentation. No decorative gradients or ambient blobs. */
@font-face { font-family:Inter;src:url('../assets/fonts/inter-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap; }
@font-face { font-family:Inter;src:url('../assets/fonts/inter-latin-500-normal.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap; }
@font-face { font-family:Inter;src:url('../assets/fonts/inter-latin-600-normal.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap; }
@font-face { font-family:Inter;src:url('../assets/fonts/inter-latin-700-normal.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap; }
:root {
  --bg:#101010; --surface:#191919; --surface-2:#222; --surface-3:#303030;
  --line:#333; --text:#f5f3ef; --muted:#a5a5a5; --accent:#e44c42;
  --accent-2:#e44c42; --accent-dim:rgba(228,76,66,.12); --radius:6px; --radius-lg:8px;
}
html[data-theme="light"] { --accent:#be3028; --accent-2:#be3028; }
body::before { display:none; }
body { font-family:Inter,system-ui,sans-serif; }
[hidden] { display:none!important; }
button,input,select,a { -webkit-tap-highlight-color:transparent; }
button:focus-visible,a:focus-visible,[tabindex]:focus-visible,select:focus-visible,input:focus-visible { outline:2px solid var(--text); outline-offset:4px; }
button:disabled { opacity:.5; cursor:wait; }
.skip-link { position:fixed;top:-80px;left:20px;z-index:200;background:var(--text);color:var(--bg);padding:12px; }
.skip-link:focus { top:12px; }
nav { padding:20px 4vw; background:var(--bg); backdrop-filter:none; border-bottom-color:rgba(128,128,128,.12); gap:24px; }
.brand { font-family:inherit;font-size:14px;letter-spacing:-.6px; }
.brand-mark { background:var(--text);box-shadow:none;border-radius:0;width:32px;height:28px;mask:url('../assets/brand-mark.svg') center/contain no-repeat;-webkit-mask:url('../assets/brand-mark.svg') center/contain no-repeat; }
.brand:hover .brand-mark { transform:none; }
.nav-tabs { gap:20px; }
.nav-tab { border-radius:0;padding:10px 0;font-weight:500;position:relative;font-family:inherit; }
.nav-tab.active { background:transparent;color:var(--text); }
.nav-tab.active::after { content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--accent); }
.nav-tab:hover:not(.active) { background:none; }
.nav-icon-btn { border:0;background:transparent;border-radius:4px; }
.theme-switch { border:0;background:transparent; }
.theme-btn.active { background:var(--surface-3);color:var(--text); }
.avatar { border-radius:5px;color:var(--text); }
#landing-nav .theme-switch,#sound-toggle-landing,#sound-toggle { display:none; }
.wrap { max-width:1600px;padding:0 4vw 40px; }
.btn,.icon-btn { border-radius:4px;box-shadow:none;font-family:inherit; }
.btn-primary { background:var(--text);color:var(--bg);border:1px solid var(--text);box-shadow:none;font-weight:600; }
.btn-primary:hover { background:var(--text);filter:brightness(.88);box-shadow:none;transform:none; }
.btn-ghost { background:transparent;border:1px solid var(--line);color:var(--text); }
.hero-ctas .btn { padding:14px 22px; }
.hero-ctas .btn-primary span { margin-left:22px; }
.landing-hero { isolation:isolate;min-height:570px;text-align:left;padding:110px 0 100px;display:flex;flex-direction:column;justify-content:center; }
.cinema-art { position:absolute;inset:0 -4vw;z-index:-1;background-size:cover;background-position:70% 35%;background-color:#181818; }
.cinema-art::after { content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--bg) 2%,rgba(16,16,16,.86) 28%,rgba(16,16,16,.12) 85%),linear-gradient(0deg,var(--bg),transparent 45%); }
.hero-eyebrow { color:#d8b4a2;font-family:inherit;background:none;padding:0;border-radius:0;letter-spacing:2.8px;font-size:10px;font-weight:600;align-self:flex-start; }
.hero-title { font-family:inherit;font-size:clamp(44px,5.4vw,78px);font-weight:600;letter-spacing:-3px;line-height:1.04;max-width:700px;margin:0 0 24px; }
.hero-sub { margin:0 0 26px;max-width:400px;font-size:15px;line-height:1.8;color:#b9b9b9; }
.hero-ctas { justify-content:flex-start; }
.hero-note { font-family:inherit;font-size:11px;color:var(--muted);margin-top:20px; }
.hero-credit { position:absolute;bottom:65px;right:0;color:#ddd;font-size:11px;letter-spacing:.4px; }
.feature-grid { margin:0 0 48px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:40px; }
.feature-card { background:none;border:0;border-radius:0;padding:0; }
.feature-card:hover { transform:none;box-shadow:none; }
.feature-icon { display:none; }
.feature-title { font-family:inherit;font-size:13px;font-weight:600; }
.feature-text { font-size:12px;max-width:340px;line-height:1.7; }
.section-head { margin:32px 0 20px; }
.section-title { font-family:inherit;font-weight:600;font-size:24px;letter-spacing:-.6px; }
.section-sub { font-size:12px;line-height:1.6;margin-top:7px; }
.showcase-row { gap:16px; }
.showcase-poster { width:clamp(135px,13vw,185px);border:0;border-radius:4px; }
.showcase-poster:hover { transform:translateY(-3px); }
.faq-section { max-width:760px;margin:70px auto; }
.faq-item { border:0;border-bottom:1px solid var(--line);border-radius:0;background:none; }
.faq-q { padding:20px 0;font-family:inherit;font-size:13px;font-weight:500; }
.faq-num { display:none; }
.faq-a-inner { padding:0 24px 20px 0; }
.faq-a.open { max-height:500px; }
.library-hero { position:relative;isolation:isolate;min-height:350px;padding:70px 0 55px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center; }
.library-hero h1 { font-size:clamp(32px,4vw,56px);letter-spacing:-2px;font-weight:600;line-height:1.08;margin:4px 0 16px;max-width:650px; }
.library-hero p { color:var(--muted);max-width:420px;line-height:1.7;font-size:13px;margin:0 0 22px; }
.library-hero .btn { width:auto;padding:12px 20px; }
#add-title-btn { width:auto;font-size:12px;padding:10px 16px; }
.filter-bar { gap:8px;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:28px; }
.chip { border-radius:4px;background:transparent;font-family:inherit;font-size:11px;border-color:transparent; }
.chip.active { background:var(--surface-3);color:var(--text);border-color:var(--surface-3); }
.refresh-btn { font-size:11px;font-family:inherit; }
.sort-select,.mini-select { border-radius:4px;font-family:inherit;background:var(--surface); }
.sort-select { width:auto;max-width:100%; }
.refresh-btn { border-radius:4px; }
.grid,.skel-grid { grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:30px 20px; }
.stub { background:none;border:0;border-radius:0;overflow:visible; }
.stub:hover { transform:none;box-shadow:none; }
.poster-wrap { border-radius:4px; }
.stub:hover .stub-poster { transform:scale(1.025); }
.stub-body { padding:12px 0 0;gap:5px; }
.stub-title { font-family:inherit;font-size:13px;font-weight:600;line-height:1.4; }
.stub-meta,.ep-row { font-family:inherit;font-size:11px; }
.badge-corner,.rating-badge2 { border-radius:3px;font-family:inherit;font-size:9px;background:rgba(10,10,10,.8); }
.badge-corner.movie,.badge-corner.tv { color:#eee; }
.progress-bar { height:3px; }
.progress-fill,.stat-bar-fill { background:var(--accent); }
.stub .stars { display:flex; }
.stub-actions { padding-top:8px; }
.stub-actions .icon-btn { padding:5px 8px;font-size:10px; }
.icon-btn.primary { color:var(--text);border-color:var(--line); }
.icon-btn.del { color:var(--muted);border-color:transparent; }
.icon-btn.del:hover { color:var(--accent); }
.new-ep-dot { animation:none;border-radius:3px;font-family:inherit; }
.empty { border-style:solid;background:var(--surface);padding:70px 24px;line-height:1.8; }
.auth-card,.detail-modal,.search-overlay,.confirm-modal { border-radius:8px; }
.search-item,.stats-panel,.stat-card,.quicklink-card { border-radius:5px; }
.stat-num { background:none;color:var(--text);font-family:inherit; }
.error-msg:empty { display:none; }
.toast { position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:200;background:var(--text);color:var(--bg);box-shadow:0 8px 40px #0006;border-radius:5px;padding:14px 20px;max-width:calc(100vw - 32px);font-size:13px; }
html[data-theme="light"] .cinema-art::after { background:linear-gradient(90deg,var(--bg),rgba(244,244,247,.86) 40%,rgba(244,244,247,.35)),linear-gradient(0deg,var(--bg),transparent); }
html[data-theme="light"] .hero-sub,html[data-theme="light"] .hero-credit { color:var(--muted); }
html[data-theme="light"] .hero-eyebrow { color:var(--accent); }
@media(max-width:1150px) { #topnav { flex-wrap:wrap;gap:10px; } #topnav .nav-tabs { order:3;width:100%;gap:24px;flex-wrap:nowrap;overflow:auto; } #topnav .nav-right { margin-left:auto; } }
@media(max-width:700px) {
  nav { padding:16px 20px;gap:10px; }
  .wrap { padding:0 20px 32px; }
  .brand { font-size:12px; }
  .hero-title { letter-spacing:-2px; }
  .landing-hero { min-height:530px;padding:80px 0; }
  .cinema-art { inset:0 -20px;background-position:62% center; }
  .cinema-art::after { background:linear-gradient(90deg,rgba(16,16,16,.9),rgba(16,16,16,.6)),linear-gradient(0deg,var(--bg),transparent); }
  .hero-sub { max-width:310px;font-size:14px; }
  .hero-credit { bottom:26px;left:0;right:auto;font-size:10px; }
  .feature-grid { grid-template-columns:1fr;gap:20px;margin-bottom:32px; }
  .feature-text { max-width:none; }
  .feature-card:nth-child(n+2) { display:none; }
  .library-hero { min-height:320px;padding:50px 0; }
  .grid,.skel-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 14px; }
  .filter-bar { gap:6px; }
  .sort-select { width:100%;margin-top:6px; }
  .filter-bar .divider { display:none; }
  .section-title { font-size:21px; }
  .ep-row { flex-wrap:wrap;gap:4px; }
  .nav-tabs { scrollbar-width:none; }
  .nav-tab { white-space:nowrap; }
  .detail-modal,.search-overlay { border-radius:0;height:100dvh;max-height:100dvh; }
  #topnav .theme-switch,#site-language { display:none; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none!important;transition:none!important;scroll-behavior:auto!important; }
  .reveal { opacity:1;transform:none; }
}
