  /* ============ RESET ============ */
  *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{min-height:100vh;}
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;}
  input{font:inherit;color:inherit;background:none;border:none;}
  ul{list-style:none;}
  svg{display:block;}

  /* ============ TOKENS ============ */
  :root{
    --bg:#0b0c0f;
    --bg-panel:#15171b;
    --bg-raised:#1d2024;
    --border:#2a2d33;
    --border-soft:#202327;
    --text:#ede9e0;
    --text-dim:#8b8e97;
    --text-faint:#5a5d66;
    --amber:#38bdf8;
    --amber-bright:#7dd3fc;
    --amber-soft:rgba(56,189,248,.12);
    --amber-ink:#072436;
    --teal:#4fd1c5;
    --teal-soft:rgba(79,209,197,.12);
    --red:#e1574b;
    --red-soft:rgba(225,87,75,.12);
    --purple:#a78bfa;
    --purple-soft:rgba(167,139,250,.12);
    --r-s:6px;
    --r-m:12px;
    --r-l:22px;
    --container:1240px;
    --font-display:'Bebas Neue',sans-serif;
    --font-body:'Manrope',-apple-system,sans-serif;
    --font-mono:'JetBrains Mono',ui-monospace,monospace;
    --nav-h:76px;
  }

  /* ============ BASE ============ */
  body{
    background:var(--bg);
    color:var(--text);
    font-family:var(--font-body);
    font-size:16px;
    line-height:1.65;
    position:relative;
    overflow-x:hidden;
  }
  body::before{
    content:"";
    position:fixed;inset:0;
    background:
      radial-gradient(ellipse 1200px 700px at 15% -10%, rgba(56,189,248,.07), transparent 60%),
      radial-gradient(ellipse 1000px 800px at 100% 30%, rgba(79,209,197,.05), transparent 55%);
    pointer-events:none;
    z-index:0;
  }
  main{position:relative;z-index:1;}
  section{scroll-margin-top:var(--nav-h);}

  h1,h2,h3{font-family:var(--font-display);font-weight:400;line-height:1;letter-spacing:.01em;}
  h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:14px;}
  h3{font-size:1.3rem;font-family:var(--font-body);font-weight:700;letter-spacing:0;}
  p{color:var(--text-dim);}

  .container{max-width:var(--container);margin:0 auto;padding:0 32px;}
  .section-pad{padding:108px 0;}
  .eyebrow{
    font-family:var(--font-mono);font-size:.78rem;font-weight:600;
    letter-spacing:.16em;text-transform:uppercase;color:var(--amber);
    display:flex;align-items:center;gap:10px;margin-bottom:18px;
  }
  .eyebrow::before{content:"";width:18px;height:1px;background:var(--amber);display:inline-block;}
  .section-head{max-width:640px;margin-bottom:52px;}
  .section-head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;}
  .surprise-btn{display:inline-flex;align-items:center;gap:9px;flex-shrink:0;white-space:nowrap;}
  .surprise-btn svg{width:15px;height:15px;transition:transform .3s ease;}
  .surprise-btn:hover svg{transform:rotate(180deg);}
  .section-sub{font-size:1.05rem;max-width:520px;}

  .skip-link{
    position:absolute;left:-9999px;top:0;background:var(--amber);color:var(--amber-ink);
    padding:14px 22px;z-index:1000;border-radius:0 0 8px 0;font-weight:700;
  }
  .skip-link:focus{left:0;}

  :focus-visible{outline:2px solid var(--amber);outline-offset:3px;border-radius:2px;}

  /* ============ UTILITIES ============ */
  .dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex-shrink:0;}
  .dot-teal{background:var(--teal);box-shadow:0 0 8px rgba(79,209,197,.7);}
  .dot-amber{background:var(--amber);box-shadow:0 0 8px rgba(56,189,248,.7);}

  .bulb-strip{
    height:4px;width:100%;
    background-image:repeating-linear-gradient(90deg,var(--amber) 0 6px,transparent 6px 20px);
    opacity:.9;
  }
  @keyframes bulbchase{to{background-position:-20px 0;}}
  .bulb-strip.animated{animation:bulbchase 1s linear infinite;}

  .btn-primary,.btn-ghost{
    display:inline-flex;align-items:center;gap:8px;
    padding:15px 28px;border-radius:9px;font-weight:700;font-size:.95rem;
    transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease,color .2s ease;
    white-space:nowrap;
  }
  .btn-primary{background:var(--amber);color:var(--amber-ink);}
  .btn-primary:hover{background:var(--amber-bright);transform:translateY(-2px);box-shadow:0 14px 28px rgba(56,189,248,.22);}
  .btn-primary:focus-visible{outline-color:var(--text);}
  .btn-ghost{background:transparent;border:1px solid var(--border);color:var(--text);}
  .btn-ghost:hover{border-color:var(--amber);color:var(--amber);background:var(--amber-soft);}

  .pill{
    font-family:var(--font-mono);font-size:.78rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;
    padding:9px 16px;border-radius:999px;border:1px solid var(--border);color:var(--text-dim);
    display:inline-flex;align-items:center;gap:7px;transition:all .2s ease;white-space:nowrap;
  }
  .pill:hover{border-color:var(--text-faint);color:var(--text);}
  .pill.active{background:var(--amber);border-color:var(--amber);color:var(--amber-ink);}
  .pill span{opacity:.65;font-size:.92em;}
  .pill.active span{opacity:.8;}
  .filter-row{display:flex;flex-wrap:wrap;gap:10px;}

  .tag{
    font-family:var(--font-mono);font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;
    padding:4px 9px;border-radius:5px;display:inline-block;
  }
  .tag-tv{background:var(--teal-soft);color:var(--teal);border:1px solid rgba(79,209,197,.3);}
  .tag-movie{background:var(--amber-soft);color:var(--amber);border:1px solid rgba(56,189,248,.3);}
  .tag-christmas{background:var(--red-soft);color:var(--red);border:1px solid rgba(225,87,75,.3);}
  .tag-music{background:var(--purple-soft);color:var(--purple);border:1px solid rgba(167,139,250,.3);}

  .bordered-card{
    background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--r-m);
    transition:border-color .2s ease,background .2s ease,transform .2s ease;
  }
  .bordered-card:hover{border-color:var(--amber);background:var(--bg-raised);transform:translateY(-3px);}

  /* ============ STATS ============ */
  .stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
  .stat-card{padding:26px 24px;}
  .stat-label{font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);margin-bottom:12px;}
  .stat-value{font-family:var(--font-display);font-size:1.9rem;color:var(--amber);line-height:1.15;margin-bottom:6px;}
  .stat-value.is-name{font-size:1.35rem;color:var(--text);}
  .stat-detail{font-size:.85rem;color:var(--text-dim);}
  @media (max-width:860px){.stats-grid{grid-template-columns:1fr 1fr;}}
  @media (max-width:560px){.stats-grid{grid-template-columns:1fr;}}

  /* ============ QUIZ ============ */
  .quiz-card{padding:40px;max-width:640px;margin:0 auto;}
  .quiz-progress{display:flex;gap:6px;margin-bottom:26px;}
  .quiz-progress span{width:28px;height:3px;border-radius:2px;background:var(--border);transition:background .2s ease;}
  .quiz-progress span.done{background:var(--amber);}
  .quiz-step-label{font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);margin-bottom:14px;}
  .quiz-question{font-family:var(--font-display);font-size:1.6rem;margin-bottom:26px;}
  .quiz-choices{display:flex;flex-wrap:wrap;gap:12px;}
  .quiz-choice{
    padding:14px 22px;border-radius:10px;border:1px solid var(--border);background:var(--bg);
    color:var(--text);font-size:.94rem;font-weight:600;transition:border-color .2s ease,transform .2s ease,background .2s ease;
  }
  .quiz-choice:hover{border-color:var(--amber);background:var(--amber-soft);transform:translateY(-2px);}
  .quiz-result-label{font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--amber);margin-bottom:16px;}
  .quiz-result{display:flex;gap:26px;align-items:flex-start;flex-wrap:wrap;}
  .quiz-result-poster{position:relative;overflow:hidden;width:140px;aspect-ratio:2/3;border-radius:var(--r-s);flex-shrink:0;border:1px solid var(--border);}
  .quiz-result-body{flex:1;min-width:220px;}
  .quiz-result-body h3{font-family:var(--font-display);font-size:1.6rem;margin-bottom:12px;}
  .quiz-result-body p{font-size:.92rem;color:var(--text-dim);margin-bottom:22px;line-height:1.6;}
  .quiz-result-actions{display:flex;gap:12px;flex-wrap:wrap;}
  @media (max-width:560px){.quiz-card{padding:26px;}}

  /* ============ REQUEST FORM ============ */
  .request-form{padding:36px;max-width:640px;margin:0 auto;}
  .request-row{display:flex;gap:16px;flex-wrap:wrap;}
  .request-field{flex:1;min-width:200px;margin-bottom:18px;}
  .request-field-small{flex:0 0 160px;}
  .request-field label{display:block;font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);margin-bottom:8px;}
  .request-field input,.request-field select,.request-field textarea{
    width:100%;padding:12px 14px;background:var(--bg);border:1px solid var(--border);border-radius:8px;
    color:var(--text);font-size:.92rem;font-family:inherit;transition:border-color .2s ease;
  }
  .request-field textarea{resize:vertical;min-height:80px;}
  .request-field input:focus,.request-field select:focus,.request-field textarea:focus{border-color:var(--amber);outline:none;}
  .request-note{font-size:.8rem;color:var(--text-faint);margin-top:-6px;margin-bottom:18px;}
  .request-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
  @media (max-width:560px){.request-form{padding:26px;}}

  .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease;}
  .reveal.in-view{opacity:1;transform:translateY(0);}

  /* ============ NAV ============ */
  .nav{
    position:fixed;top:0;left:0;right:0;height:var(--nav-h);z-index:150;
    background:rgba(11,12,15,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
    border-bottom:1px solid transparent;transition:border-color .3s ease,background .3s ease;
  }
  .nav.scrolled{border-bottom-color:var(--border);background:rgba(11,12,15,.92);}
  .nav-inner{
    max-width:var(--container);margin:0 auto;padding:0 32px;height:100%;
    display:flex;align-items:center;justify-content:space-between;
  }
  .logo{display:flex;align-items:center;gap:10px;}
  .logo-dot{width:9px;height:9px;border-radius:50%;background:var(--amber);box-shadow:0 0 10px rgba(56,189,248,.8);flex-shrink:0;}
  .logo-text{font-family:var(--font-mono);font-weight:700;font-size:.92rem;letter-spacing:.04em;text-transform:uppercase;}
  .logo-text em{font-style:normal;font-weight:500;color:var(--text-dim);font-size:.82em;margin-left:6px;}
  .nav-links{display:flex;align-items:center;gap:6px;}
  .nav-link{
    font-family:var(--font-mono);font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;
    color:var(--text-dim);padding:10px 16px;border-radius:7px;position:relative;transition:color .2s ease;
  }
  .nav-link:hover{color:var(--text);}
  .nav-link.active{color:var(--amber);}
  .nav-link.active::after{
    content:"";position:absolute;left:16px;right:16px;bottom:4px;height:1px;background:var(--amber);
  }
  .nav-privacy-btn{
    font-family:var(--font-mono);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;
    color:var(--text-faint);padding:10px 14px;
  }
  .nav-privacy-btn:hover{color:var(--text-dim);}
  .nav-toggle{display:none;padding:8px;}
  .nav-toggle svg{width:22px;height:22px;}
  .nav-toggle .icon-close{display:none;}
  .nav-toggle.is-open .icon-menu{display:none;}
  .nav-toggle.is-open .icon-close{display:block;}
  .nav-drawer{display:none;}

  @media (max-width:860px){
    .nav-links,.nav-privacy-btn{display:none;}
    .nav-toggle{display:block;}
    .nav-drawer{
      position:fixed;top:var(--nav-h);left:0;right:0;bottom:0;
      background:rgba(11,12,15,.98);backdrop-filter:blur(10px);
      display:flex;flex-direction:column;padding:28px 32px;gap:4px;
      transform:translateY(-12px);opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease;
      z-index:140;overflow-y:auto;
    }
    .nav-drawer.open{transform:translateY(0);opacity:1;pointer-events:auto;}
    .nav-drawer a,.nav-drawer button{
      font-family:var(--font-mono);font-size:1.1rem;text-transform:uppercase;letter-spacing:.06em;
      padding:18px 4px;border-bottom:1px solid var(--border-soft);text-align:left;width:100%;color:var(--text);
    }
  }

  /* ============ HERO ============ */
  .hero{position:relative;overflow:hidden;padding:calc(var(--nav-h) + 64px) 0 80px;}
  .hero-backdrop{
    position:absolute;inset:0;z-index:0;background-size:cover;background-position:center 18%;
    opacity:0;transition:opacity 1.4s ease;
  }
  .hero-backdrop.loaded{opacity:1;}
  .hero-backdrop::after{
    content:"";position:absolute;inset:0;
    background:
      linear-gradient(180deg, rgba(11,12,15,.55) 0%, var(--bg) 92%),
      linear-gradient(100deg, var(--bg) 0%, rgba(11,12,15,.55) 38%, transparent 68%);
  }
  .hero-inner{position:relative;z-index:1;
    max-width:var(--container);margin:0 auto;padding:0 32px;
    display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:center;
  }
  .hero-fact{
    font-family:var(--font-mono);font-size:.84rem;color:var(--amber-bright);letter-spacing:.02em;
    margin:2px 0 20px;min-height:1.3em;opacity:0;transition:opacity .3s ease;
  }
  .hero-fact.is-visible{opacity:1;}
  .hero-fact::before{content:"▸ ";color:var(--amber);}
  .eyebrow-static{
    font-family:var(--font-mono);font-size:.78rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
    color:var(--text-faint);margin-bottom:22px;
  }
  .hero-title{
    font-size:clamp(2.7rem,5.6vw,5.2rem);line-height:.98;margin-bottom:24px;color:var(--text);
  }
  .hero-title .accent{color:var(--amber);}
  .hero-sub{font-size:1.12rem;max-width:480px;margin-bottom:34px;}
  .hero-cta{display:flex;gap:14px;flex-wrap:wrap;}

  .hero-panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--r-l);overflow:hidden;}
  .panel-body{padding:30px 30px 26px;}
  .panel-label{
    display:flex;align-items:center;gap:9px;font-family:var(--font-mono);font-size:.78rem;
    letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);margin-bottom:26px;
  }
  .panel-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px 18px;margin-bottom:24px;}
  .panel-stat strong{font-family:var(--font-display);font-size:2.6rem;color:var(--amber);display:block;line-height:1;}
  .panel-stat span{font-family:var(--font-mono);font-size:.72rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;display:block;margin-top:8px;}
  .panel-divider{height:1px;background:var(--border-soft);margin:0 0 20px;}
  .panel-footnote{font-family:var(--font-mono);font-size:.76rem;color:var(--text-faint);line-height:1.6;}

  @media (max-width:980px){
    .hero-inner{grid-template-columns:1fr;}
    .hero-panel{max-width:480px;}
  }
  @media (max-width:560px){
    .hero{padding-top:calc(var(--nav-h) + 40px);}
    .hero-cta{flex-direction:column;align-items:stretch;}
    .panel-stats{gap:18px;grid-template-columns:1fr 1fr;}
    .panel-stat strong{font-size:2.1rem;}
  }

  /* ============ TICKER ============ */
  .ticker-wrap{border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);background:var(--bg-panel);}
  .ticker{overflow:hidden;white-space:nowrap;padding:15px 0;}
  .ticker-track{display:inline-flex;animation:tickerscroll 32s linear infinite;}
  .ticker-group{display:inline-flex;}
  .ticker-group span{
    font-family:var(--font-mono);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;
    color:var(--text-dim);padding:0 26px;border-right:1px solid var(--border-soft);white-space:nowrap;
  }
  @keyframes tickerscroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

  /* ============ STORY ============ */
  .story-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:start;margin-top:8px;}
  .story-quote{
    font-family:var(--font-display);font-size:1.7rem;line-height:1.25;color:var(--text);
    border-left:2px solid var(--amber);padding-left:24px;
  }
  .story-quote cite{display:block;font-family:var(--font-mono);font-style:normal;font-size:.78rem;
    color:var(--text-faint);letter-spacing:.06em;text-transform:uppercase;margin-top:18px;}
  .story-copy p{margin-bottom:18px;font-size:1.02rem;}
  .story-copy p:last-child{margin-bottom:0;}
  @media (max-width:860px){.story-grid{grid-template-columns:1fr;gap:32px;}}

  /* ============ STACK ============ */
  .stack-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:16px;margin-top:32px;}
  .stack-card{padding:24px;display:flex;flex-direction:column;gap:16px;}
  .stack-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
  .stack-logo{
    width:46px;height:46px;border-radius:10px;background:var(--bg-raised);border:1px solid var(--border-soft);
    display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;
  }
  .stack-logo img{width:28px;height:28px;object-fit:contain;}
  .stack-logo-fallback{font-family:var(--font-mono);font-weight:700;font-size:.8rem;color:var(--text-dim);}
  .stack-card-link{
    width:32px;height:32px;border-radius:7px;border:1px solid var(--border);display:flex;align-items:center;
    justify-content:center;flex-shrink:0;transition:border-color .2s ease,color .2s ease;color:var(--text-faint);
  }
  .stack-card-link:hover{border-color:var(--amber);color:var(--amber);}
  .stack-card-link svg{width:14px;height:14px;}
  .stack-card h3{font-size:1.08rem;margin-bottom:2px;}
  .stack-card-role{font-size:.92rem;color:var(--text-dim);}
  .stack-card-cat{font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;
    color:var(--text-faint);border:1px solid var(--border-soft);display:inline-block;padding:4px 9px;border-radius:5px;
    width:fit-content;}

  /* ============ LIBRARY ============ */
  .library-controls{display:flex;gap:18px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-top:32px;margin-bottom:22px;}
  .search-wrap{
    position:relative;flex:1;min-width:240px;max-width:380px;
  }
  .search-wrap svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--text-faint);}
  .search-wrap input{
    width:100%;padding:13px 16px 13px 40px;background:var(--bg-panel);border:1px solid var(--border);
    border-radius:9px;font-size:.92rem;color:var(--text);transition:border-color .2s ease;
  }
  .search-wrap input::placeholder{color:var(--text-faint);}
  .search-wrap input:focus-visible{outline-color:var(--amber);}
  .search-wrap input:focus{border-color:var(--amber);}

  .sort-wrap select{
    padding:13px 36px 13px 16px;background:var(--bg-panel);border:1px solid var(--border);
    border-radius:9px;font-size:.86rem;color:var(--text-dim);appearance:none;cursor:pointer;
    font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;font-size:.76rem;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235a5d66' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right 12px center;background-size:14px;
  }
  .sort-wrap select:hover{border-color:var(--text-faint);color:var(--text);}
  .sort-wrap select:focus-visible{outline-color:var(--amber);}

  .poster-rating{
    position:absolute;top:9px;right:9px;z-index:2;font-family:var(--font-mono);font-size:.7rem;font-weight:600;
    color:var(--amber-bright);background:rgba(11,12,15,.72);border:1px solid rgba(56,189,248,.35);
    padding:3px 7px;border-radius:5px;display:flex;align-items:center;gap:3px;
  }
  .poster-rating svg{width:9px;height:9px;fill:var(--amber-bright);}

  .result-count{font-family:var(--font-mono);font-size:.78rem;color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;margin-bottom:18px;}

  .poster-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:16px;}
  .poster{
    position:relative;aspect-ratio:2/3;border-radius:var(--r-s);overflow:hidden;border:1px solid var(--border);
    transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;text-align:left;width:100%;
  }
  .poster:hover{transform:translateY(-5px);box-shadow:0 16px 30px rgba(0,0,0,.45);border-color:var(--border-soft);}
  .poster-tag{position:absolute;top:9px;left:9px;z-index:2;}
  .poster-play{
    position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%) scale(.7);
    border-radius:50%;background:rgba(11,12,15,.55);border:1px solid rgba(237,233,224,.35);
    opacity:0;transition:opacity .2s ease,transform .2s ease;display:flex;align-items:center;justify-content:center;
  }
  .poster-play::after{content:"";width:0;height:0;border-style:solid;border-width:7px 0 7px 12px;
    border-color:transparent transparent transparent var(--text);margin-left:3px;}
  .poster:hover .poster-play{opacity:1;transform:translate(-50%,-50%) scale(1);}
  .poster-title{
    position:absolute;left:0;right:0;bottom:0;padding:28px 10px 12px;font-weight:700;font-size:.83rem;line-height:1.3;
    background:linear-gradient(to top,rgba(5,6,7,.92),transparent);color:var(--text);
  }
  .poster-img{
    position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;
    opacity:0;transition:opacity .45s ease;
  }
  .poster-img.loaded{opacity:1;}
  .poster-seasons{
    display:block;margin-top:3px;font-family:var(--font-mono);font-size:.68rem;font-weight:500;
    color:var(--text-dim);letter-spacing:.03em;
  }

  .empty-state{
    grid-column:1/-1;text-align:center;padding:64px 20px;border:1px dashed var(--border);border-radius:var(--r-m);
  }
  .empty-state .dot{margin:0 auto 18px;width:10px;height:10px;}
  .empty-state h3{margin-bottom:8px;}
  .empty-state p{max-width:380px;margin:0 auto;}

  /* ============ COMMUNITY ============ */
  .community-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:32px;}
  .community-card{padding:26px;}
  .community-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
  .community-card p{font-size:.92rem;margin-bottom:18px;}
  .community-join{
    display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:.78rem;
    text-transform:uppercase;letter-spacing:.06em;color:var(--amber);
  }
  .community-join svg{width:13px;height:13px;transition:transform .2s ease;}
  .community-card:hover .community-join svg{transform:translate(3px,-3px);}

  /* ============ FOOTER ============ */
  .footer{background:var(--bg-panel);border-top:1px solid var(--border-soft);padding-top:80px;}
  .footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr .8fr .8fr;gap:32px;padding-bottom:56px;}
  .footer-brand p{font-size:.92rem;max-width:280px;margin-top:14px;}
  .footer-col h3{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;
    color:var(--text-faint);font-weight:600;margin-bottom:16px;}
  .footer-col a,.footer-col button{display:block;font-size:.92rem;color:var(--text-dim);padding:6px 0;text-align:left;transition:color .2s ease;}
  .footer-col a:hover,.footer-col button:hover{color:var(--amber);}
  .footer-bottom{border-top:1px solid var(--border-soft);}
  .footer-bottom-inner{
    max-width:var(--container);margin:0 auto;padding:22px 32px;display:flex;align-items:center;
    justify-content:space-between;flex-wrap:wrap;gap:12px;
  }
  .footer-bottom-inner p{font-family:var(--font-mono);font-size:.78rem;color:var(--text-faint);}
  .footer-bottom-inner a{color:var(--text-dim);}
  .footer-bottom-inner a:hover{color:var(--amber);}

  @media (max-width:980px){.footer-grid{grid-template-columns:1fr 1fr 1fr;}}
  @media (max-width:860px){.footer-grid{grid-template-columns:1fr 1fr;}}
  @media (max-width:560px){.footer-grid{grid-template-columns:1fr;gap:32px;}}

  /* ============ MODALS ============ */
  .modal-overlay{
    position:fixed;inset:0;background:rgba(6,7,9,.8);backdrop-filter:blur(8px);
    display:flex;align-items:center;justify-content:center;padding:24px;z-index:300;
    opacity:0;pointer-events:none;transition:opacity .25s ease;
  }
  .modal-overlay.open{opacity:1;pointer-events:auto;}
  .modal{
    background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--r-l);max-width:460px;width:100%;
    transform:translateY(18px) scale(.97);transition:transform .25s ease;position:relative;max-height:86vh;
    overflow-y:auto;
  }
  .modal-overlay.open .modal{transform:translateY(0) scale(1);}
  .modal-large{max-width:640px;}
  .modal-close{
    position:absolute;top:16px;right:16px;width:34px;height:34px;border-radius:50%;background:var(--bg-raised);
    border:1px solid var(--border);display:flex;align-items:center;justify-content:center;z-index:5;
    color:var(--text-dim);transition:color .2s ease,border-color .2s ease;
  }
  .modal-close:hover{color:var(--amber);border-color:var(--amber);}
  .modal-close svg{width:15px;height:15px;}

  .modal-poster{aspect-ratio:16/8;width:100%;}
  .modal-body{padding:28px 30px 32px;}
  .modal-body h3{font-family:var(--font-display);font-size:1.9rem;margin:14px 0 18px;}
  .modal-meta{display:grid;gap:13px;}
  .modal-meta div{display:flex;justify-content:space-between;align-items:center;padding-bottom:13px;border-bottom:1px solid var(--border-soft);}
  .modal-meta div:last-child{border-bottom:none;padding-bottom:0;}
  .modal-meta dt{font-family:var(--font-mono);font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);}
  .modal-meta dd{font-size:.92rem;font-weight:600;display:flex;align-items:center;gap:7px;}
  .modal-summary{font-size:.92rem;color:var(--text-dim);line-height:1.6;margin-top:20px;padding-top:20px;border-top:1px solid var(--border-soft);}
  .modal-recs{margin-top:22px;padding-top:22px;border-top:1px solid var(--border-soft);}
  .modal-recs-label{font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);margin-bottom:12px;}
  .modal-recs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:10px;}
  .modal-recs-grid .poster-title{font-size:.72rem;padding:20px 8px 9px;}
  .modal-recs-grid .poster-seasons{font-size:.62rem;}
  .modal-recs-grid .poster-rating{font-size:.6rem;padding:2px 5px;top:6px;right:6px;}
  .modal-recs-grid .poster-tag{font-size:.6rem;padding:2px 6px;top:6px;left:6px;}
  .modal-summary.is-empty{color:var(--text-faint);font-style:italic;}

  .modal-updated{font-family:var(--font-mono);font-size:.76rem;color:var(--text-faint);margin-bottom:24px;}
  .policy-text h4{font-family:var(--font-mono);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;
    color:var(--amber);margin:24px 0 8px;}
  .policy-text h4:first-child{margin-top:0;}
  .policy-text p,.policy-text li{font-size:.92rem;color:var(--text-dim);margin-bottom:6px;}
  .policy-text ul{padding-left:18px;list-style:disc;margin-bottom:6px;}
  .policy-text a{color:var(--amber);text-decoration:underline;text-underline-offset:2px;}
  .no-scroll{overflow:hidden;}

  /* ============ MOTION & A11Y ============ */
  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto;}
    *,*::before,*::after{
      animation-duration:.001ms!important;animation-iteration-count:1!important;
      transition-duration:.001ms!important;
    }
    .reveal{opacity:1;transform:none;}
  }

  /* ============ TYPE-SPECIFIC LIBRARY PAGES ============ */
  .type-hero{padding:calc(var(--nav-h) + 64px) 0 20px;}
  .type-hero-title{font-family:var(--font-display);font-size:clamp(2.4rem,5vw,4rem);line-height:.98;margin:18px 0 16px;}
  .type-hero-sub{font-size:1.05rem;color:var(--text-dim);max-width:560px;margin-bottom:32px;}
  .type-hero-row{display:flex;align-items:center;gap:32px;flex-wrap:wrap;margin-bottom:8px;}
  .type-hero-stat strong{font-family:var(--font-display);font-size:2.4rem;color:var(--amber);display:block;line-height:1;}
  .type-hero-stat span{font-family:var(--font-mono);font-size:.72rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;display:block;margin-top:6px;}
  .browse-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:18px;}
  .browse-links a{font-family:var(--font-mono);font-size:.8rem;color:var(--text-dim);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--border-soft);transition:color .2s ease;}
  .browse-links a:hover{color:var(--amber);}
  .browse-links a.active-static{color:var(--amber);text-decoration:none;}

  /* ============ NOTIFICATION BELL ============ */
  .nav-bell{position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;color:var(--text-dim);transition:color .2s ease,background .2s ease;flex-shrink:0;}
  .nav-bell:hover{color:var(--text);background:var(--bg-panel);}
  .nav-bell svg{width:18px;height:18px;}
  .nav-bell-badge{
    position:absolute;top:1px;right:1px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;
    background:var(--amber);color:var(--amber-ink);font-family:var(--font-mono);font-size:.62rem;font-weight:700;
    display:none;align-items:center;justify-content:center;line-height:1;border:2px solid var(--bg);
  }
  .notif-panel{
    position:fixed;top:calc(var(--nav-h) + 8px);right:24px;width:340px;max-width:calc(100vw - 32px);max-height:70vh;overflow-y:auto;
    background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--r-m);box-shadow:0 20px 50px rgba(0,0,0,.5);
    opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease;z-index:250;
  }
  .notif-panel.open{opacity:1;pointer-events:auto;transform:translateY(0);}
  .notif-panel-head{padding:16px 18px;border-bottom:1px solid var(--border-soft);font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);}
  .notif-item{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--border-soft);cursor:pointer;transition:background .15s ease;text-align:left;width:100%;background:none;color:inherit;}
  .notif-item:hover{background:var(--bg-raised);}
  .notif-item:last-child{border-bottom:none;}
  .notif-item-swatch{width:34px;height:46px;border-radius:5px;flex-shrink:0;}
  .notif-item-title{display:block;font-size:.88rem;font-weight:600;}
  .notif-item-meta{display:block;font-family:var(--font-mono);font-size:.7rem;color:var(--text-faint);margin-top:3px;}
  .notif-empty{padding:28px 18px;text-align:center;color:var(--text-faint);font-size:.85rem;}

  /* ============ WELCOME / ONBOARDING MODAL ============ */
  .welcome-features{display:grid;gap:12px;margin:24px 0 28px;}
  .welcome-feature{display:flex;gap:14px;align-items:flex-start;padding:14px 16px;border:1px solid var(--border-soft);border-radius:var(--r-s);}
  .welcome-feature svg{width:20px;height:20px;color:var(--amber);flex-shrink:0;margin-top:2px;}
  .welcome-feature h4{font-size:.95rem;margin-bottom:3px;}
  .welcome-feature p{font-size:.85rem;color:var(--text-dim);}

  /* ============ TOASTS ============ */
  .toast-stack{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column-reverse;gap:10px;z-index:400;max-width:calc(100vw - 32px);}
  .toast{
    background:var(--bg-panel);border:1px solid var(--border);border-left:3px solid var(--amber);border-radius:var(--r-s);
    padding:14px 18px;min-width:260px;max-width:340px;box-shadow:0 12px 30px rgba(0,0,0,.45);
    opacity:0;transform:translateX(16px);transition:opacity .3s ease,transform .3s ease;
  }
  .toast.show{opacity:1;transform:translateX(0);}
  .toast-title{font-size:.88rem;font-weight:700;margin-bottom:3px;}
  .toast-body{font-size:.82rem;color:var(--text-dim);}
  @media (max-width:560px){
    .notif-panel{right:16px;left:16px;width:auto;}
    .toast-stack{right:16px;bottom:16px;}
  }
