    :root{
      --ink:#0b0c16;--cream:#fbf5df;--hot:#ff086b;--electric:#8625fe;--acid:#efef00;--cyan:#00d4f6;--radius:4px;
      --font-display:'Bungee',system-ui,sans-serif;
      --font-mono-jp:'M PLUS 1 Code',ui-monospace,monospace;
      --font-body:'Space Grotesk',system-ui,sans-serif;
    }
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
    body{
      font-family:var(--font-body);color:var(--ink);overflow-x:hidden;
      background-color:var(--cream);
      background-image:
        radial-gradient(var(--ink) 1px,transparent 1px),
        radial-gradient(var(--ink) 1px,transparent 1px);
      background-size:32px 32px,32px 32px;
      background-position:0 0,16px 16px;
      background-attachment:fixed;
    }
    @keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
    @keyframes wobble{0%,100%{transform:rotate(-2deg);}50%{transform:rotate(2deg);}}
    @keyframes spin{to{transform:rotate(360deg);}}
    @keyframes shimmer{0%{background-position:200% 0;}100%{background-position:-200% 0;}}
    @keyframes fadeIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}

    /* ── BACK BUTTON ─────────────────────────────────────────────────────────── */
    .back-wrap{max-width:1280px;margin:0 auto;padding:20px 24px 0;}
    .back-btn{
      display:inline-flex;align-items:center;gap:8px;
      font-family:var(--font-display);font-size:12px;letter-spacing:.08em;
      color:var(--ink);text-decoration:none;
      padding:8px 16px;border:3px solid var(--ink);border-radius:var(--radius);background:var(--cream);
      box-shadow:4px 4px 0 0 var(--ink);transition:background .1s,box-shadow .1s;
    }
    .back-btn:hover{background:var(--acid);box-shadow:4px 4px 0 0 var(--hot);}
    .back-btn svg{flex-shrink:0;}

    /* ── META BOX ────────────────────────────────────────────────────────────── */
    .meta-box-inner{
      border:3px solid var(--ink);border-radius:var(--radius);box-shadow:10px 10px 0 0 var(--ink);
      background:var(--cream);padding:24px 32px;
    }
    .meta-jp{font-family:var(--font-mono-jp);font-size:13px;color:rgba(11,12,22,.5);margin-bottom:6px;}
    .meta-h1{font-family:var(--font-display);font-size:clamp(28px,5vw,60px);line-height:.9;letter-spacing:.01em;margin-bottom:8px;}
    .meta-h1-kicker{display:block;font-size:max(12px,.32em);line-height:1.1;letter-spacing:.06em;color:var(--hot);margin-bottom:4px;}
    .meta-romaji{font-family:var(--font-mono-jp);font-size:14px;color:rgba(11,12,22,.6);margin-bottom:10px;}
    .meta-stars{display:flex;align-items:center;gap:8px;margin-bottom:14px;}
    .meta-stars .stars-wrap{font-size:20px;}
    .meta-stars-val{font-family:var(--font-display);font-size:13px;color:rgba(11,12,22,.55);letter-spacing:.05em;}
    .meta-chips{display:flex;flex-wrap:wrap;gap:8px;}
    .meta-chip{
      font-family:var(--font-display);font-size:10px;letter-spacing:.08em;
      padding:5px 10px;border:2px solid var(--ink);border-radius:var(--radius);background:transparent;color:var(--ink);
    }
    .meta-chip.highlight{background:var(--acid);color:var(--ink);}
    .meta-jump{
      display:inline-flex;align-items:center;gap:8px;margin-top:16px;
      font-family:var(--font-display);font-size:11px;letter-spacing:.08em;
      color:var(--cream);background:var(--ink);text-decoration:none;
      padding:11px 18px;border:3px solid var(--ink);border-radius:var(--radius);box-shadow:5px 5px 0 0 var(--hot);
      cursor:pointer;transition:background .1s,box-shadow .1s,transform .1s;
    }
    .meta-jump:hover{background:var(--hot);box-shadow:5px 5px 0 0 var(--ink);}
    .meta-jump:active{transform:translate(2px,2px);box-shadow:3px 3px 0 0 var(--ink);}
    .meta-jump-arrow{font-size:9px;line-height:1;}

    /* ── HERO + VIBE WRAPPER ─────────────────────────────────────────────────── */
    /* Single grid: meta (row 1) + hero (row 2) in col 1; vibe spans both rows in col 2 */
    .hero-vibe-wrapper{
      max-width:1280px;margin:20px auto 0;padding:0 24px;
      display:grid;grid-template-columns:1fr 280px;
      column-gap:24px;row-gap:20px;align-items:start;
    }
    @media(max-width:1024px){.hero-vibe-wrapper{grid-template-columns:1fr;}}

    /* ── META BOX (row 1 of wrapper) ─────────────────────────────────────────── */
    .meta-box{min-width:0;} /* no outer spacing, wrapper handles it */

    /* ── HERO (row 2 of wrapper) ─────────────────────────────────────────────── */
    .hero{min-width:0;} /* prevent grid blowout */
    .hero-inner{
      display:grid;grid-template-columns:1fr;
      border:3px solid var(--ink);border-radius:var(--radius);box-shadow:10px 10px 0 0 var(--ink);
      background:var(--cream);overflow:hidden;
    }
    @media(min-width:768px){.hero-inner{grid-template-columns:280px 1fr;}}

    /* Cover image */
    .hero-cover{
      position:relative;min-height:300px;overflow:hidden;
      border-bottom:3px solid var(--ink);
    }
    @media(min-width:768px){.hero-cover{border-bottom:none;border-right:3px solid var(--ink);}}
    .hero-cover img{width:100%;height:100%;object-fit:cover;display:block;}
    .hero-cover-fallback{
      width:100%;height:100%;min-height:300px;
      display:flex;align-items:center;justify-content:center;font-size:96px;
    }
    .stars-wrap{position:relative;display:inline-block;line-height:1;}
    .stars-empty{color:rgba(180,180,180,0.75);letter-spacing:2px;}
    .stars-filled{position:absolute;top:0;left:0;overflow:hidden;white-space:nowrap;color:var(--hot);letter-spacing:2px;}

    /* Editorial body */
    .hero-body{
      padding:32px;
      border-top:3px solid var(--ink);
    }
    @media(min-width:768px){.hero-body{border-top:none;}}
    .why-slabel{
      font-family:var(--font-mono-jp);font-size:11px;color:var(--hot);letter-spacing:3px;
      display:inline-block;border:2px solid var(--ink);border-radius:var(--radius);padding:4px 10px;
      margin-bottom:16px;background:var(--cream);
    }
    .why-title{
      font-family:var(--font-display);font-size:clamp(22px,3vw,36px);
      line-height:.95;letter-spacing:-.3px;margin-bottom:18px;
    }
    .why-title .hl{background:var(--acid);padding:0 4px;}
    .editorial-text{
      font-size:15px;line-height:1.75;color:rgba(11,12,22,.85);margin-bottom:20px;
    }
    .dashed-rule{border:none;border-top:2px dashed rgba(11,12,22,.25);margin:20px 0;}
    .synopsis-lbl{
      font-family:var(--font-display);font-size:13px;letter-spacing:.1em;
      color:rgba(11,12,22,.45);margin-bottom:10px;
    }
    .synopsis-text{
      font-size:15px;line-height:1.75;color:rgba(11,12,22,.75);margin-bottom:24px;
    }
    .hero-genres{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;}
    .genre-pill{
      font-family:var(--font-display);font-size:10px;letter-spacing:.1em;
      padding:5px 12px;border:3px solid var(--ink);border-radius:var(--radius);background:var(--cream);
      text-decoration:none;color:var(--ink);cursor:pointer;transition:background .1s;
    }
    .genre-pill:hover{background:var(--acid);}
    .hero-links{display:flex;gap:10px;flex-wrap:wrap;}
    .ext-link{
      font-family:var(--font-display);font-size:12px;letter-spacing:.05em;
      padding:10px 18px;border:3px solid var(--ink);border-radius:var(--radius);text-decoration:none;
      background:var(--ink);color:var(--cream);box-shadow:4px 4px 0 0 var(--hot);
      transition:background .1s;
    }
    .ext-link:hover{background:var(--hot);}
    .ext-link.outline{background:var(--cream);color:var(--ink);box-shadow:4px 4px 0 0 var(--ink);}
    .ext-link.outline:hover{background:var(--acid);}

    /* ── VIBE BOX (spans both grid rows, starts at meta top, ends at hero bottom) */
    .vibe-box{
      background:var(--hot);padding:28px 24px;
      border:3px solid var(--ink);border-radius:var(--radius);box-shadow:8px 8px 0 0 var(--ink);
      grid-row:1 / 3;grid-column:2;
      position:sticky;top:104px;
      align-self:start;
    }
    @media(max-width:1024px){.vibe-box{grid-row:auto;grid-column:auto;position:static;}}
    .vibe-slabel{
      font-family:var(--font-mono-jp);font-size:11px;letter-spacing:3px;
      display:inline-block;border:1.5px solid rgba(255,255,255,.4);border-radius:var(--radius);
      padding:4px 10px;margin-bottom:16px;color:rgba(255,255,255,.85);
    }
    .vibe-title{
      font-family:var(--font-display);font-size:40px;color:#fff;
      line-height:1;letter-spacing:-.5px;margin-bottom:22px;
    }
    .vibe-list{display:flex;flex-direction:column;margin-bottom:22px;}
    .vibe-item{
      display:flex;align-items:flex-start;gap:10px;
      padding:11px 0;border-bottom:1px solid rgba(255,255,255,.15);
    }
    .vibe-item:last-child{border-bottom:none;}
    .vibe-check{
      flex-shrink:0;margin-top:1px;font-size:13px;line-height:1.2;
      color:var(--cyan,#00d4f6);font-weight:700;
    }
    .vibe-stmt{
      font-family:var(--font-body);font-size:13.5px;line-height:1.45;
      color:rgba(255,255,255,.95);font-weight:500;
    }

    .vibe-cta{
      display:block;width:100%;font-family:var(--font-display);font-size:12px;
      letter-spacing:1.5px;padding:14px 20px;background:var(--ink);color:var(--cream);
      border:3px solid var(--ink);border-radius:var(--radius);box-shadow:4px 4px 0 0 rgba(0,0,0,.35);
      text-align:center;text-decoration:none;transition:background .1s;
    }
    .vibe-cta:hover{background:var(--acid);color:var(--ink);}
    .vibe-cta:active{transform:translate(2px,2px);box-shadow:1px 1px 0 0 rgba(0,0,0,.35);}
    .vibe-cta-sub{
      display:block;text-align:center;margin-top:9px;font-family:var(--font-body);
      font-size:11px;line-height:1.3;color:rgba(255,255,255,.72);letter-spacing:.02em;
    }

    /* ── WHERE TO WATCH MODAL ───────────────────────────────────────────────────── */
    #watch-modal-overlay,
    #manga-modal-overlay{
      display:none;position:fixed;inset:0;
      background:rgba(11,12,22,.65);
      z-index:2000;align-items:center;justify-content:center;padding:24px;
    }
    #watch-modal-overlay.open,
    #manga-modal-overlay.open{display:flex;}
    #manga-modal{
      background:var(--cream);
      border:3px solid var(--ink);border-radius:var(--radius);box-shadow:8px 8px 0 0 var(--ink);
      width:100%;max-width:460px;max-height:80vh;
      display:flex;flex-direction:column;overflow:hidden;
    }
    #watch-modal{
      background:var(--cream);
      border:3px solid var(--ink);border-radius:var(--radius);box-shadow:8px 8px 0 0 var(--ink);
      width:100%;max-width:460px;max-height:80vh;
      display:flex;flex-direction:column;overflow:hidden;
    }
    .watch-modal-hdr{
      display:flex;align-items:center;justify-content:space-between;
      padding:18px 24px;background:var(--ink);
      border-bottom:3px solid var(--ink);flex-shrink:0;
    }
    .watch-modal-ttl{
      font-family:var(--font-display);font-size:16px;
      letter-spacing:.08em;color:var(--cream);
    }
    .watch-modal-close{
      background:none;border:none;color:rgba(255,255,255,.6);
      font-size:16px;cursor:pointer;padding:4px 8px;line-height:1;
      font-family:var(--font-display);
    }
    .watch-modal-close:hover{color:var(--acid);}
    .watch-modal-body{overflow-y:auto;flex:1;}
    .watch-link-row{
      display:flex;align-items:center;justify-content:space-between;
      padding:16px 24px;border-bottom:2px solid rgba(11,12,22,.1);
      text-decoration:none;color:var(--ink);
      transition:background .1s,color .1s;
    }
    .watch-link-row:last-child{border-bottom:none;}
    .watch-link-row:hover{background:var(--hot);color:#fff;}
    .watch-link-row:hover .watch-arrow{color:#fff;}
    .watch-link-left{display:flex;align-items:center;gap:12px;}
    .watch-plat-icon-wrap{
      width:32px;height:32px;flex-shrink:0;
      display:flex;align-items:center;justify-content:center;
      border-radius:6px;overflow:hidden;
    }
    .watch-plat-icon{
      width:22px;height:22px;
      object-fit:contain;display:block;
    }
.watch-plat-name{
      font-family:var(--font-display);font-size:13px;letter-spacing:.05em;
      color:var(--ink);
    }
    .watch-link-row:hover .watch-plat-name{color:#fff;}
    .watch-lang{
      font-family:var(--font-mono-jp);font-size:9px;
      border:1.5px solid rgba(11,12,22,.25);border-radius:var(--radius);padding:2px 6px;
      color:rgba(11,12,22,.5);letter-spacing:.05em;
    }
    .watch-arrow{
      font-family:var(--font-display);font-size:11px;
      letter-spacing:.08em;color:var(--hot);flex-shrink:0;
    }
    .watch-loading{
      display:flex;justify-content:center;align-items:center;
      gap:8px;padding:52px 24px;
    }
    .watch-loading span{
      width:9px;height:9px;background:var(--ink);
      animation:watch-dot-pulse 1.1s ease-in-out infinite;
    }
    .watch-loading span:nth-child(2){animation-delay:.18s;}
    .watch-loading span:nth-child(3){animation-delay:.36s;}
    @keyframes watch-dot-pulse{
      0%,80%,100%{transform:scale(.5);opacity:.3;}
      40%{transform:scale(1);opacity:1;}
    }
    .watch-empty{padding:44px 24px;text-align:center;}
    .watch-empty-ico{font-size:32px;margin-bottom:12px;}
    .watch-empty-msg{
      font-family:var(--font-display);font-size:13px;
      line-height:1.5;margin-bottom:8px;
    }
    .watch-empty-sub{font-size:12px;color:rgba(11,12,22,.5);line-height:1.5;}

    /* ── STATS ROW ────────────────────────────────────────────────────────────── */
    /* .stats-row is relocated to a sibling AFTER .hero-vibe-wrapper (by anime-page.js)
       so the sticky vibe-box can't overlap it. It supplies its own width + padding
       (grid-column:1/-1 only mattered while it was a wrapper grid child). */
    .stats-row{max-width:1280px;margin:32px auto 0;padding:0 24px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr);}
    @media(min-width:640px){.stats-row{grid-template-columns:repeat(4,1fr);}}
    .stat-box{
      border:3px solid var(--ink);border-radius:var(--radius);box-shadow:6px 6px 0 0 var(--ink);
      background:var(--cream);padding:20px;text-align:center;
    }
    .stat-label{font-family:var(--font-mono-jp);font-size:10px;letter-spacing:.1em;color:rgba(11,12,22,.5);margin-bottom:6px;}
    .stat-val{font-family:var(--font-display);font-size:28px;line-height:1;}
    .stat-val.hot{color:var(--hot);}
    .stat-val.electric{color:var(--electric);}

    /* ── TAGS SECTION ─────────────────────────────────────────────────────────── */
    .section{max-width:1280px;margin:40px auto 0;padding:0 24px;}
    .section-head{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:20px;}
    .section-label{font-family:var(--font-mono-jp);font-size:11px;background:var(--ink);color:var(--cream);padding:3px 8px;}
    .section-title{font-family:var(--font-display);font-size:28px;}
    .tags-cloud{display:flex;flex-wrap:wrap;gap:8px;}
    .tag-chip{
      font-family:var(--font-display);font-size:10px;letter-spacing:.05em;
      padding:5px 10px;border:2px solid var(--ink);border-radius:var(--radius);background:var(--cream);color:var(--ink);
      text-decoration:none;cursor:pointer;
      transition:background .1s,color .1s,box-shadow .1s;
    }
    .tag-chip:hover{background:var(--acid);box-shadow:3px 3px 0 0 var(--ink);}

    /* ── WATCH NEXT ──────────────────────────────────────────────────────────── */
    .watch-next{max-width:1280px;margin:48px auto 80px;padding:0 24px;scroll-margin-top:96px;}
    .wn-grid{
      display:grid;gap:16px;
      grid-template-columns:repeat(2,minmax(0,1fr));
    }
    @media(min-width:640px){.wn-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}
    .wn-card{
      display:block;text-decoration:none;color:var(--ink);
      background:var(--cream);border:3px solid var(--ink);border-radius:var(--radius);overflow:hidden;
      box-shadow:6px 6px 0 0 var(--ink);
      transition:transform .15s,box-shadow .15s;
    }
    .wn-card:hover{transform:translate(3px,3px);box-shadow:3px 3px 0 0 var(--ink);}
    .wn-art{
      aspect-ratio:3/4;overflow:hidden;position:relative;
      border-bottom:3px solid var(--ink);
    }
    .wn-art img{width:100%;height:100%;object-fit:cover;display:block;}
    .wn-art-fallback{
      width:100%;height:100%;display:flex;align-items:center;justify-content:center;
      font-size:48px;
    }
    .wn-rank{
      position:absolute;top:8px;left:8px;
      background:var(--ink);color:var(--acid);
      font-family:var(--font-display);font-size:10px;
      padding:3px 7px;letter-spacing:.08em;
    }
    .wn-body{padding:12px 14px;}
    .wn-title{
      font-family:var(--font-display);font-size:13px;line-height:1.15;
      letter-spacing:.02em;margin-bottom:6px;
      display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
    }
    .wn-studio{
      font-family:var(--font-mono-jp);font-size:11px;
      color:rgba(11,12,22,.5);margin-bottom:6px;
      white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
    }
    .wn-stars .stars-wrap{font-size:13px;}
    .wn-art::after{
      content:'';position:absolute;bottom:0;left:0;right:0;height:52%;
      background:linear-gradient(transparent,rgba(11,12,22,.88));
      pointer-events:none;
    }
    .wn-reason{
      position:absolute;bottom:10px;left:10px;right:10px;z-index:1;
      font-family:var(--font-mono-jp);font-size:11px;letter-spacing:.03em;
      color:rgba(251,245,223,.92);line-height:1.35;
    }
    .wn-tags{display:flex;flex-wrap:nowrap;gap:5px;margin-top:7px;overflow:hidden;}
    .wn-tag{
      flex-shrink:0;
      font-family:var(--font-display);font-size:10px;letter-spacing:.06em;
      padding:3px 7px;border:2px solid var(--ink);border-radius:var(--radius);background:var(--cream);
      white-space:nowrap;
    }
    /* skeleton for watch-next cards */
    .wn-skel .wn-art{background:linear-gradient(90deg,rgba(11,12,22,.06) 25%,rgba(11,12,22,.12) 50%,rgba(11,12,22,.06) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;}
    .wn-skel .wn-body div{height:12px;margin-bottom:8px;background:linear-gradient(90deg,rgba(11,12,22,.06) 25%,rgba(11,12,22,.12) 50%,rgba(11,12,22,.06) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;}

    /* ── PAGE FEEDBACK ───────────────────────────────────────────────────────── */
    .page-feedback{width:100%;background:var(--ink);border-top:3px solid var(--ink);margin-top:56px;}
    .page-feedback-inner{
      max-width:1280px;margin:0 auto;padding:28px 48px;
      display:flex;align-items:center;gap:24px;flex-wrap:wrap;
      border-bottom:1px solid rgba(251,245,223,.12);
    }
    .feedback-q{
      font-family:var(--font-display);font-size:16px;letter-spacing:.04em;
      color:var(--cream);flex:1;min-width:180px;
    }
    .feedback-btns{display:flex;gap:10px;flex-shrink:0;}
    .feedback-btn{
      font-family:var(--font-display);font-size:13px;letter-spacing:.08em;
      padding:9px 24px;cursor:pointer;background:transparent;
      border:2px solid;border-radius:var(--radius);transition:background .1s,color .1s;
    }
    .feedback-btn.yes{color:var(--acid);border-color:var(--acid);}
    .feedback-btn.yes:hover{background:var(--acid);color:var(--ink);}
    .feedback-btn.no{color:rgba(251,245,223,.5);border-color:rgba(251,245,223,.3);}
    .feedback-btn.no:hover{background:rgba(251,245,223,.08);color:var(--cream);border-color:var(--cream);}
    .feedback-done{
      font-family:var(--font-mono-jp);font-size:13px;letter-spacing:.08em;
      color:var(--acid);flex-shrink:0;
    }

    /* ── SWIPE CTA ────────────────────────────────────────────────────────────── */
    .swipe-cta{width:100%;background:var(--ink);margin-top:0;border-top:none;}
    .swipe-cta-inner{
      max-width:1280px;margin:0 auto;padding:72px 48px 180px;
      display:flex;flex-direction:column;align-items:center;text-align:center;gap:32px;
    }
    .cta-label{font-family:var(--font-mono-jp);font-size:12px;letter-spacing:.15em;color:var(--acid);}
    .cta-text h2{
      font-family:var(--font-display);font-size:clamp(36px,6vw,80px);
      line-height:1.05;color:#fff;
    }
    .cta-text h2 .cta-hl{color:var(--hot);}
    .cta-btns{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;}
    .cta-btn{
      font-family:var(--font-display);font-size:14px;letter-spacing:.1em;
      padding:14px 32px;background:var(--acid);color:var(--ink);border:3px solid var(--acid);border-radius:var(--radius);
      text-decoration:none;transition:background .1s,color .1s;white-space:nowrap;
    }
    .cta-btn:hover{background:#fff;border-color:#fff;color:var(--ink);}
    .cta-btn-ghost{
      font-family:var(--font-display);font-size:14px;letter-spacing:.1em;
      padding:14px 32px;background:transparent;color:#fff;border:3px solid rgba(255,255,255,.4);border-radius:var(--radius);
      text-decoration:none;transition:border-color .1s,color .1s;white-space:nowrap;
    }
    .cta-btn-ghost:hover{border-color:#fff;color:#fff;}

    /* ── SKELETON ─────────────────────────────────────────────────────────────── */
    .skel{
      background:linear-gradient(90deg,rgba(11,12,22,.06) 25%,rgba(11,12,22,.12) 50%,rgba(11,12,22,.06) 75%);
      background-size:200% 100%;animation:shimmer 1.5s infinite;
    }
    .skel-block{border-radius:2px;}

    /* ── NOT FOUND ────────────────────────────────────────────────────────────── */
    .not-found{max-width:640px;margin:80px auto;padding:0 24px;text-align:center;}
    .not-found h1{font-family:var(--font-display);font-size:48px;margin-bottom:16px;}
    .not-found p{font-size:16px;color:rgba(11,12,22,.7);line-height:1.6;margin-bottom:24px;}
    .not-found a{
      font-family:var(--font-display);font-size:13px;padding:10px 20px;
      border:3px solid var(--ink);border-radius:var(--radius);background:var(--ink);color:var(--acid);
      text-decoration:none;display:inline-block;box-shadow:4px 4px 0 0 var(--hot);
    }

    /* ── PAGE CONTENT ─────────────────────────────────────────────────────────── */
    #page-content{animation:fadeIn .3s ease both;}

    /* ── FOOTER ───────────────────────────────────────────────────────────────── */
    /* footer handled by footer.js component */

    /* ══════════════════════════════════════════════════════════════════════════
       MOBILE  ≤ 600 px
       ══════════════════════════════════════════════════════════════════════════ */
    @media(max-width:600px){

      /* ── Skeleton loading state ── */
      .loading-hero-skel{grid-template-columns:1fr !important;}
      .loading-hero-skel > div:last-child{display:none;}

      /* ── Spacing ── */
      .back-wrap{padding:12px 16px 0;}
      .hero-vibe-wrapper{padding:0 16px;margin-top:12px;row-gap:14px;}
      .meta-box-inner{padding:16px;}
      .section{padding:0 16px;margin-top:24px;}
      .stats-row{padding:0 16px;margin-top:24px;}
      .watch-next{padding:0 16px;margin-bottom:48px;}

      /* ── Hero ── */
      .hero-body{padding:20px 16px;}
      .hero-links{flex-direction:column;gap:8px;}
      .ext-link{text-align:center;padding:12px 16px;}

      /* ── Vibe box ── */
      .vibe-box{padding:20px 16px;}
      .vibe-title{font-size:28px;}

      /* ── Page feedback ── */
      .page-feedback-inner{
        padding:20px 16px;
        flex-direction:column;
        align-items:flex-start;
        gap:12px;
      }

      /* ── Swipe CTA — reduce the excessive 48px side / 180px bottom padding ── */
      .swipe-cta-inner{padding:48px 20px 72px;}
      .cta-text h2{font-size:clamp(28px,9vw,44px);}
      .cta-btns{flex-direction:column;align-items:stretch;gap:12px;}
      .cta-btn,.cta-btn-ghost{text-align:center;padding:16px 20px;}
    }
