/* RSTC card app — shared styles for index.html + cards.html (unified 2026-10-21).
   Single source: edit here and BOTH surfaces change. */

    /* Castaway trading cards — page-scoped */
    .cards-wrap{width:min(1240px,calc(100% - 32px));margin:0 auto;padding:26px 0 64px}
    .tcard{display:block;width:100%;background:none;border:0;padding:0;cursor:pointer;text-align:left;font:inherit;color:inherit}
    .tcard-inner{position:relative;display:block;aspect-ratio:5/7;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.2,.7,.3,1.2)}
    .tcard.flipped .tcard-inner{transform:rotateY(180deg)}
    /* Only the visible face takes pointer input: under preserve-3d flips,
       Chromium can hit-test the hidden face's children above the back —
       which would swallow taps meant for the back (episode headers). */
    .tcard.flipped .tfront{pointer-events:none}
    .tcard:not(.flipped) .tback{pointer-events:none}
    .tface{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:18px;overflow:hidden;border:1.5px solid var(--gold2,#d9a05e);box-shadow:var(--shadow)}
    .tfront{background:linear-gradient(180deg,#10160f,#090d09);color:#f2ecdc;display:flex;flex-direction:column;padding:10px}
    .tback{background:linear-gradient(160deg,#10251b 0%,#0b1a12 100%);color:#f2ecdc;transform:rotateY(180deg);display:flex;flex-direction:column;padding:18px 16px 14px}
    .tback:before{content:"";position:absolute;inset:8px;border:1px solid rgba(217,160,94,.5);border-radius:11px;pointer-events:none}
    .t-team{display:inline-block;align-self:flex-start;padding:3px 10px;border-radius:999px;font-family:"Barlow Condensed",sans-serif;font-size:.82rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:rgba(217,160,94,.16);border:1px solid rgba(217,160,94,.6);color:#e8c37e}
    .t-status{margin-left:auto;align-self:flex-start;padding:3px 10px;border-radius:999px;font-family:"Barlow Condensed",sans-serif;font-size:.82rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
    .t-status.active{background:rgba(20,128,94,.25);border:1px solid #35a06c;color:#7fdcab}
    .t-status.out{background:rgba(176,58,42,.22);border:1px solid #e0654f;color:#f0a08c}
    .t-toprow{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
    .t-photo{display:block;position:relative;flex:1 1 auto;min-height:0;border-radius:11px;overflow:hidden}
    .t-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 22%}
    .t-photo:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,rgba(5,10,7,.16) 0%,rgba(5,10,7,0) 30%,rgba(5,10,7,0) 50%,rgba(5,10,7,.52) 78%,rgba(5,10,7,.93) 100%)}
    .t-photo .t-toprow{position:absolute;left:12px;right:12px;top:12px;z-index:3;margin:0}
    .t-photo .t-team{background:rgba(6,12,9,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
    .t-photo .t-status.active{background:rgba(6,26,17,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
    .t-photo .t-status.out{background:rgba(40,12,8,.85)}
    /* Modern Broadcast front (Option 3): name block over the scrim, vertical season tag, charcoal stat strip */
    .t-nameblock{position:absolute;left:16px;bottom:15px;z-index:3;max-width:76%}
    .t-nameblock .t-bar{display:block;width:36px;height:3px;background:#d9a05e;border-radius:2px;margin-bottom:9px}
    .t-vtag{position:absolute;right:15px;top:30%;z-index:4;writing-mode:vertical-rl;font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:.74rem;letter-spacing:.34em;text-transform:uppercase;color:#f2ecdc;background:rgba(7,13,10,.74);border:1px solid rgba(217,160,94,.75);padding:1em .42em;border-radius:999px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
    .t-strip{position:relative;flex:0 0 30%;display:flex;align-items:center;justify-content:space-between;padding:8px 6px 2px;border-radius:10px}
    .t-vrule{width:1px;align-self:stretch;margin:6px 0;background:linear-gradient(180deg,transparent,rgba(217,160,94,.55),transparent)}
    .t-tierpill{font-family:"Barlow Condensed",sans-serif;font-size:.98rem;font-weight:800;letter-spacing:.3em;text-transform:uppercase;color:#e8c37e;border:1px solid rgba(217,160,94,.65);border-radius:999px;padding:7px 14px 7px 17px;white-space:nowrap}
    .t-total{text-align:left}
    .t-total .pts{display:block;font-family:"Barlow Condensed",sans-serif;font-size:3.1rem;font-weight:800;line-height:.95;color:#fff7e2}
    .t-total .pts-label{display:block;font-family:"Barlow Condensed",sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:#d9a05e;margin-top:3px}
    .t-name{display:block;font-family:"Barlow Condensed",sans-serif;font-size:2.08rem;font-weight:800;line-height:.98;letter-spacing:.02em;text-transform:uppercase;text-align:left;color:#fff7e2;text-shadow:0 2px 12px rgba(0,0,0,.55)}
    .t-cap{display:block;margin-top:6px;font-size:.92rem;text-align:left;color:#e8c37e;font-weight:600;text-shadow:0 1px 6px rgba(0,0,0,.6)}
    .t-hint{margin-top:12px;text-align:center;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(242,236,220,.62);font-weight:700}
    .t-back-name{font-family:"Barlow Condensed",sans-serif;font-size:1.35rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em;line-height:1.1;color:#fff7e2;margin:0 0 2px;text-align:center}
    .t-back-sub{text-align:center;color:#d9a05e;font-size:.86rem;font-weight:600;margin-bottom:10px}
    .t-eps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px}
    .t-ep{background:rgba(217,160,94,.1);border:1px solid rgba(217,160,94,.4);border-radius:8px;padding:6px 4px;text-align:center}
    .t-ep .e{font-family:"Barlow Condensed",sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.08em;color:#d9a05e;text-transform:uppercase}
    .t-ep .p{font-family:"Barlow Condensed",sans-serif;font-size:1.3rem;font-weight:800;color:#fff7e2}
    .t-ep .p.neg{color:#f0785c}
    .t-events{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1;min-height:0;font-size:.9rem}
    .t-events li{display:flex;justify-content:space-between;gap:10px;padding:5px 2px;border-top:1px dashed rgba(217,160,94,.25)}
    .t-events li:first-child{border-top:0}
    .t-events .pts{flex:none;font-weight:700}
    .t-events .pts.pos{color:#7fdcab}
    .t-events .pts.neg{color:#f0785c}
    .t-events .pts.zero{color:rgba(242,236,220,.6)}
    .t-outline{margin-top:8px;text-align:center;font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#f0a08c}
    /* Collapsible episode scoring (Tim, 2026-10-17): on base-card backs the
       event lines group under episode headers; the section takes the old
       .t-events flex slot and scrolls internally — text is never clipped.
       Headers sit level; only the chevron rotates, as a state indicator. */
    .t-epx{display:block;overflow-y:auto;flex:1;min-height:0}
    .t-eprow{display:block;border-top:1px solid rgba(217,160,94,.35)}
    .t-eprow:first-child{border-top:0}
    .t-ep-head{display:flex;align-items:center;gap:10px;min-height:36px;padding:5px 2px;cursor:pointer;-webkit-tap-highlight-color:transparent}
    .t-ep-head:focus-visible{outline:2px solid #d9a05e;outline-offset:-2px}
    .t-ep-name{font-family:"Barlow Condensed",sans-serif;font-size:.95rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#d9a05e}
    .t-ep-total{margin-left:auto;font-family:"Barlow Condensed",sans-serif;font-size:1.15rem;font-weight:800;color:#fff7e2}
    .t-ep-total.neg{color:#f0785c}
    .t-ep-chev{display:inline-flex;flex:none;color:#d9a05e;transition:transform .25s ease}
    .t-eprow.open .t-ep-chev{transform:rotate(180deg)}
    .t-ep-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease}
    .t-eprow.open .t-ep-body{grid-template-rows:1fr}
    .t-ep-bodyin{display:block;overflow:hidden;min-height:0}
    .t-ep-events{overflow:visible;flex:none}
    .tcard.par25 .t-eprow{border-top-color:rgba(147,197,253,.4)}
    .tcard.par25 .t-ep-name,.tcard.par25 .t-ep-chev{color:#bfdbfe}
    .tcard.par10 .t-eprow{border-top-color:rgba(134,239,172,.4)}
    .tcard.par10 .t-ep-name,.tcard.par10 .t-ep-chev{color:#bbf7d0}
    .tcard.par5 .t-eprow{border-top-color:rgba(252,165,165,.4)}
    .tcard.par5 .t-ep-name,.tcard.par5 .t-ep-chev{color:#fecaca}
    .tcard.par1 .t-eprow{border-top-color:rgba(255,233,168,.45)}
    .tcard.par1 .t-ep-name,.tcard.par1 .t-ep-chev{color:#f4cf6b}
    .card-compact .t-ep-head{min-height:24px;padding:3px 1px;gap:6px}
    .card-compact .t-ep-name{font-size:.58rem}
    .card-compact .t-ep-total{font-size:.82rem}
    .bcard .t-ep-name{font-size:clamp(.6rem,2.6vw,.95rem)}
    @media(prefers-reduced-motion:reduce){.t-ep-body,.t-ep-chev{transition:none}}

    /* ===== SCTC demo: packs + binder ===== */
    body.pack-lock{overflow:hidden}
    /* Pack bar */
    .pack-bar{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between;background:linear-gradient(120deg,#0e3a2a,#0b241a);border:2px solid #d9a05e;border-radius:14px;padding:16px 18px;margin:0 0 24px;color:#f2ecdc;box-shadow:var(--shadow)}
    .pack-bar h2{margin:0;font-family:"Barlow Condensed",sans-serif;font-size:1.65rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#fff7e2;line-height:1}
    .pack-bar p{margin:4px 0 0;color:rgba(242,236,220,.82);font-size:.92rem}
    .pack-bar-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
    .pack-open-btn{appearance:none;border:2px solid #f6d98c;background:linear-gradient(180deg,#eec27c,#cf9a44);color:#241703;font-family:"Barlow Condensed",sans-serif;font-size:1.18rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:12px 22px;border-radius:10px;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.35)}
    .pack-open-btn:hover{filter:brightness(1.07)}
    .pack-open-btn:active{transform:scale(.97)}
    .pack-open-x5{background:rgba(8,24,17,.55);color:#f6d98c;box-shadow:0 6px 18px rgba(0,0,0,.3)}
    .test-arm-note{flex:1 1 100%;margin:2px 0 0;font-family:"Barlow Condensed",sans-serif;font-size:.85rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#f4cf6b;text-align:right}
    .test-arm-note[hidden]{display:none}
    .pack-bar-link{color:#e8c37e;font-weight:700;font-size:.95rem;text-underline-offset:3px}
    /* Parallels — tier designs + serial stamp */
    .tcard .t-stamp{position:absolute;right:12px;bottom:12px;z-index:5;text-align:center;border:2px solid rgba(255,255,255,.92);border-radius:8px;padding:4px 9px 5px;font-family:"Barlow Condensed",sans-serif;color:#fff;box-shadow:0 4px 12px rgba(0,0,0,.45);pointer-events:none}
    .t-stamp .s-lab{display:block;font-size:.55rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;opacity:.92}
    .t-stamp .s-num{display:block;font-size:1.3rem;font-weight:800;line-height:1.05}
    .t-tierline{display:none;align-self:center;margin:0 0 10px;padding:0;border-radius:0;font-family:"Barlow Condensed",sans-serif;font-size:.8rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;border:0}
    .tcard.par25 .t-tierline,.tcard.par10 .t-tierline,.tcard.par5 .t-tierline,.tcard.par1 .t-tierline{display:inline-block}
    /* /25 — blue */
    .tcard.par25 .tface{border-color:#7db4ff}
    .tcard.par25 .t-strip{background:linear-gradient(160deg,#2f6bd8 0%,#1d4fa1 55%,#122f63 100%)}
    .tcard.par25 .t-total .pts-label{color:#bfdbfe}
    .tcard.par25 .t-cap{color:#bfdbfe}
    .tcard.par25 .t-stamp{background:#1d4fa1}
    .tcard.par25 .t-tierpill{color:#bfdbfe;border-color:rgba(147,197,253,.65);background:rgba(96,165,250,.15)}
    .tcard.par25 .t-vtag{border-color:rgba(147,197,253,.75)}
    .tcard.par25 .t-nameblock .t-bar{background:#7db4ff}
    .tcard.par25 .t-vrule{background:linear-gradient(180deg,transparent,rgba(147,197,253,.55),transparent)}
    .tcard.par25 .tback{background:linear-gradient(160deg,#16294d 0%,#0b1830 100%)}
    .tcard.par25 .tback:before{border-color:rgba(147,197,253,.5)}
    .tcard.par25 .t-back-sub{color:#bfdbfe}
    .tcard.par25 .t-ep{background:rgba(96,165,250,.14);border-color:rgba(147,197,253,.45)}
    .tcard.par25 .t-ep .e{color:#bfdbfe}
    .tcard.par25 .t-events li{border-top-color:rgba(147,197,253,.25)}
    .tcard.par25 .t-tierline{color:#bfdbfe}
    /* /10 — green */
    .tcard.par10 .tface{border-color:#5fd598}
    .tcard.par10 .t-strip{background:linear-gradient(160deg,#1f9d63 0%,#14713f 55%,#093a20 100%)}
    .tcard.par10 .t-total .pts-label{color:#bbf7d0}
    .tcard.par10 .t-cap{color:#bbf7d0}
    .tcard.par10 .t-stamp{background:#14713f}
    .tcard.par10 .t-tierpill{color:#bbf7d0;border-color:rgba(134,239,172,.65);background:rgba(74,222,128,.13)}
    .tcard.par10 .t-vtag{border-color:rgba(134,239,172,.75)}
    .tcard.par10 .t-nameblock .t-bar{background:#5fd598}
    .tcard.par10 .t-vrule{background:linear-gradient(180deg,transparent,rgba(134,239,172,.55),transparent)}
    .tcard.par10 .tback{background:linear-gradient(160deg,#0e2f1d 0%,#071f12 100%)}
    .tcard.par10 .tback:before{border-color:rgba(134,239,172,.5)}
    .tcard.par10 .t-back-sub{color:#bbf7d0}
    .tcard.par10 .t-ep{background:rgba(74,222,128,.12);border-color:rgba(134,239,172,.45)}
    .tcard.par10 .t-ep .e{color:#bbf7d0}
    .tcard.par10 .t-events li{border-top-color:rgba(134,239,172,.25)}
    .tcard.par10 .t-tierline{color:#bbf7d0}
    /* /5 — red */
    .tcard.par5 .tface{border-color:#ff9a86}
    .tcard.par5 .t-strip{background:linear-gradient(160deg,#d8402e 0%,#a32415 55%,#571208 100%)}
    .tcard.par5 .t-total .pts-label{color:#fecaca}
    .tcard.par5 .t-cap{color:#fecaca}
    .tcard.par5 .t-stamp{background:#a32415}
    .tcard.par5 .t-tierpill{color:#fecaca;border-color:rgba(252,165,165,.65);background:rgba(248,113,113,.13)}
    .tcard.par5 .t-vtag{border-color:rgba(252,165,165,.75)}
    .tcard.par5 .t-nameblock .t-bar{background:#ff9a86}
    .tcard.par5 .t-vrule{background:linear-gradient(180deg,transparent,rgba(252,165,165,.55),transparent)}
    .tcard.par5 .tback{background:linear-gradient(160deg,#33120c 0%,#200a06 100%)}
    .tcard.par5 .tback:before{border-color:rgba(252,165,165,.5)}
    .tcard.par5 .t-back-sub{color:#fecaca}
    .tcard.par5 .t-ep{background:rgba(248,113,113,.12);border-color:rgba(252,165,165,.45)}
    .tcard.par5 .t-ep .e{color:#fecaca}
    .tcard.par5 .t-events li{border-top-color:rgba(252,165,165,.25)}
    .tcard.par5 .t-tierline{color:#fecaca}
    /* 1/1 — gold */
    .tcard.par1 .tface{border-color:#ffe9a8}
    .tcard.par1 .t-strip{background:linear-gradient(160deg,#f4cf6b 0%,#dfa83f 55%,#a8741a 100%)}
    .tcard.par1 .t-total .pts{color:#2a1c05;text-shadow:0 2px 0 rgba(255,255,255,.35)}
    .tcard.par1 .t-total .pts-label{color:#5e430a}
    .tcard.par1 .t-tierpill{color:#2a1c05;border-color:rgba(42,28,5,.55);background:rgba(255,247,226,.16)}
    .tcard.par1 .t-vtag{border-color:rgba(255,233,168,.8)}
    .tcard.par1 .t-nameblock .t-bar{background:#f4cf6b}
    .tcard.par1 .t-vrule{background:linear-gradient(180deg,transparent,rgba(42,28,5,.45),transparent)}
    /* Gold front identity — Tim's law (retired plaque fix; strip
       placement clarified 2026-10-17): the cursive "One of One" script
       ALONE, in SOLID BLACK lettering, at the whole card front's absolute
       bottom-right — inside the gold points strip, on its empty right
       side, on the SAME anchor as every numbered card's front serial.
       The pale/bronze gradient fill washed out to cream on the bright
       gold strip and barely read — Tim, 2026-10-17: the script is BLACK.
       No box, no border, no background plaque, no "GOLD" word — the
       card is visibly gold; one identity statement per card. The
       bordered .t-stamp plaque (GOLD over script, floated across the
       photo/strip boundary) is retired on every surface. Sits LEVEL. */
    .tcard.par1 .t-goldstamp{position:absolute;z-index:5;right:10px;bottom:7px;white-space:nowrap;pointer-events:none;font-family:"Great Vibes","Pinyon Script","Snell Roundhand","Brush Script MT","Apple Chancery","Segoe Script",cursive;font-size:1.18em;line-height:1.15;padding:0;text-transform:none;color:#000;-webkit-text-fill-color:#000}
    .tcard.par1.card-compact .t-goldstamp{font-size:.92rem;right:7px;bottom:5px}
    /* …and the gold compact's name wraps inside the seal's left edge
       instead of sliding under it (measured: a 126.6px single-line name
       vs the seal's edge at ~109px from the name's start). */
    .tcard.par1.card-compact .t-name{max-width:104px;font-size:.92rem}
    /* Gold seal placement law (Tim, Directive 2026-10-15; clarified
       2026-10-17): "the front's absolute bottom-right" is the whole
       card front's bottom-right — inside the points strip, in the
       SAME spot as every other numbered card's front serial:
       .t-fserial's anchor (right:10px, bottom:7px within the strip;
       compact mirrors its serial anchor, right:7px, bottom:5px);
       sits LEVEL — no tilt. Pockets keep only the
       script "1/1" serial; the back keeps its centered script. */
    .tcard.par1 .t-strip{position:relative}
    .tcard.par1 .tback{background:linear-gradient(160deg,#3a2a08 0%,#221804 100%)}
    .tcard.par1 .tback:before{border-color:rgba(255,233,168,.55)}
    .tcard.par1 .t-back-sub{color:#f4cf6b}
    .tcard.par1 .t-ep{background:rgba(244,207,107,.12);border-color:rgba(255,233,168,.5)}
    .tcard.par1 .t-ep .e{color:#f4cf6b}
    .tcard.par1 .t-events li{border-top-color:rgba(255,233,168,.28)}
    .tcard.par1 .t-tierline{color:#f4cf6b;border-color:rgba(255,233,168,.7);background:rgba(244,207,107,.14)}
    /* Gold back identity — the same cursive "One of One" script,
       centered and boxless: no pill, no border, no fill behind it
       (Tim's law, 2026-10-17). Overrides the generic .t-tierline pill
       for par1 only; other tiers keep their back edition line. */
    .tcard.par1 .t-tierline{border:none;border-radius:0;padding:0;font-family:"Great Vibes","Pinyon Script","Snell Roundhand","Brush Script MT","Apple Chancery","Segoe Script",cursive;font-size:1.35rem;font-weight:400;letter-spacing:.02em;text-transform:none;background:linear-gradient(115deg,#a8741a 0%,#f4cf6b 28%,#fff3c4 50%,#f4cf6b 72%,#a8741a 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
    /* Compact cards (pack reveal row) */
    .card-compact .tface{padding:10px 9px 9px;border-width:2px;border-radius:11px}
    .card-compact .tface:before{inset:5px;border-radius:8px}
    .card-compact .tfront{padding:7px}
    .card-compact .t-photo{border-radius:8px}
    .card-compact .t-nameblock{left:10px;bottom:9px}
    .card-compact .t-nameblock .t-bar{width:24px;height:2px;margin-bottom:5px}
    .card-compact .t-vtag{font-size:.5rem;letter-spacing:.26em;right:8px}
    .card-compact .t-strip{padding:5px 4px 1px}
    .card-compact .t-tierpill{font-size:.58rem;letter-spacing:.16em;padding:4px 8px 4px 10px}
    .card-compact .t-photo .t-toprow{left:8px;right:8px;top:8px}
    .card-compact .t-team,.card-compact .t-status{font-size:.56rem;padding:2px 6px}
    .card-compact .t-total .pts{font-size:2.1rem}
    .card-compact .t-total .pts-label{font-size:.56rem;letter-spacing:.18em}
    .card-compact .t-name{font-size:1.02rem}
    .card-compact .t-cap{font-size:.62rem;margin-top:3px}
    .card-compact .t-hint{display:none}
    .card-compact .t-back-name{font-size:.88rem}
    .card-compact .t-back-sub{font-size:.58rem;margin-bottom:6px}
    .card-compact .t-tierline{font-size:.56rem;padding:0;margin-bottom:6px}
    .card-compact .t-eps{gap:5px;margin-bottom:6px}
    .card-compact .t-ep{padding:4px 2px}
    .card-compact .t-ep .e{font-size:.5rem}
    .card-compact .t-ep .p{font-size:.85rem}
    .card-compact .t-events{font-size:.6rem}
    .card-compact .t-events li{padding:3px 1px;gap:6px}
    .card-compact .t-outline{font-size:.54rem;margin-top:5px}
    .card-compact .t-stamp{right:6px;bottom:6px;padding:2px 6px 3px;border-width:1.5px;border-radius:6px}
    .card-compact .t-stamp .s-lab{font-size:.42rem}
    .card-compact .t-stamp .s-num{font-size:.85rem}
    /* Binder cards — fluid type so pockets read at any width */
    .bcard .t-name{font-size:clamp(.85rem,4.4vw,2rem)}
    .bcard .t-total .pts{font-size:clamp(1.6rem,9.5vw,4.4rem)}
    .bcard .t-total .pts-label{font-size:clamp(.5rem,2.2vw,.95rem)}
    .bcard .t-cap{font-size:clamp(.55rem,2.4vw,.92rem)}
    .bcard .t-team,.bcard .t-status{font-size:clamp(.5rem,2.1vw,.82rem);padding:2px 7px}
    .bcard .t-back-name{font-size:clamp(.8rem,3.8vw,1.35rem)}
    .bcard .t-back-sub{font-size:clamp(.52rem,2.2vw,.86rem)}
    .bcard .t-tierline{font-size:clamp(.52rem,2.2vw,.8rem)}
    .bcard .t-ep .p{font-size:clamp(.8rem,3.4vw,1.3rem)}
    .bcard .t-ep .e{font-size:clamp(.46rem,2vw,.78rem)}
    .bcard .t-events{font-size:clamp(.55rem,2.5vw,.9rem)}
    .bcard .t-outline{font-size:clamp(.5rem,2.1vw,.82rem)}
    .bcard .t-hint{font-size:clamp(.5rem,2vw,.8rem);margin-top:6px}
    .bcard .t-stamp{right:7px;bottom:7px;padding:3px 7px 4px}
    .bcard .t-stamp .s-lab{font-size:clamp(.4rem,1.8vw,.55rem)}
    .bcard .t-stamp .s-num{font-size:clamp(.8rem,3.4vw,1.3rem)}
    /* Front serial — Immaculate standard (Tim, 2026-10-16): small plain text in
       the points strip's bottom-right corner in EVERY context (binder pocket,
       pack reveal, card view). No box, no fill, no "PARALLEL" word. */
    .tcard .t-fserial{position:absolute;right:10px;bottom:7px;font-family:"Barlow Condensed",sans-serif;font-size:1rem;font-weight:700;letter-spacing:.08em;line-height:1;color:#fff7e2;pointer-events:none}
    .card-compact .t-fserial{right:7px;bottom:5px;font-size:.78rem}
    .bcard .t-fserial{right:6px;bottom:5px;font-size:clamp(.54rem,2.1vw,.85rem);letter-spacing:.04em}
    /* Base front identity — Tim, 2026-10-17: the bordered BASE pill and
       its strip divider retire. Plain text "BASE" only (no border, no
       fill, no radius, no padding), seated in the strip's bottom-right
       corner on the front serial's exact anchor in every context —
       card view right:10px/bottom:7px, compact right:7px/bottom:5px,
       pocket right:6px/bottom:5px — the same spot every numbered card
       puts its series number. Keeps the label's own bronze ink and
       wide letterspacing; only the box dies and the seat moves. */
    .tcard .t-baselab{position:absolute;right:10px;bottom:7px;font-family:"Barlow Condensed",sans-serif;font-size:1rem;font-weight:800;letter-spacing:.3em;text-transform:uppercase;line-height:1;color:#e8c37e;border:0;border-radius:0;background:none;padding:0;pointer-events:none;white-space:nowrap}
    .card-compact .t-baselab{right:7px;bottom:5px;font-size:.78rem}
    .bcard .t-baselab{right:6px;bottom:5px;font-size:clamp(.54rem,2.1vw,.85rem);letter-spacing:.22em}
    /* Gold in binder pockets (Tim, 2026-10-16): the seal chip retires in the
       binder — no "GOLD", no "One of One" words, no chip. The pocket serial
       is the script "1/1" alone (Great Vibes, same signature font), seated in
       the points strip's bottom-right corner on the same anchor as every
       other parallel's pocket serial. Dark bronze ink, full opacity, reads
       on the gold strip the way the strip's own dark points text does.
       Card view + pack reveal keep the approved gold seal, untouched. */
    .bcard.par1 .t-gserial{position:absolute;right:6px;bottom:5px;font-family:"Great Vibes","Pinyon Script","Snell Roundhand","Brush Script MT","Apple Chancery","Segoe Script",cursive;font-size:clamp(.95rem,3.6vw,1.4rem);line-height:1.1;letter-spacing:0;color:#2a1c05;text-transform:none;white-space:nowrap;pointer-events:none}
    /* Binder pockets: the strip's parallel tier pill + divider retire so the
       serial appears exactly once (both were already hidden at ≤700px).
       Reveal + card view keep the tier pill, per Tim. Gold untouched. */
    .bcard.par25 .t-tierpill,.bcard.par10 .t-tierpill,.bcard.par5 .t-tierpill,.bcard.par25 .t-vrule,.bcard.par10 .t-vrule,.bcard.par5 .t-vrule{display:none}
    /* Binder cards: tighten the front so name + captain fit the pocket height */
    .bcard .tface{padding:12px 10px 10px}
    .bcard .tfront{padding:8px}
    .bcard .t-photo{border-radius:9px}
    .bcard .t-nameblock{left:11px;bottom:10px}
    .bcard .t-vtag{font-size:clamp(.4rem,1.7vw,.74rem);letter-spacing:.3em;right:10px}
    .bcard .t-strip{padding:6px 5px 1px}
    .bcard .t-tierpill{font-size:clamp(.5rem,2.1vw,.98rem);letter-spacing:.22em;padding:.45em .9em .45em 1.05em}
    .bcard .t-hint{display:none}
    /* Small pockets (mobile): compact the front further so nothing clips */
    @media(max-width:700px){
      /* 1.15rem (was 1.45rem): in mini pockets the strip is ~71-77px wide — a
         1.45rem points run (~41px of glyphs) left no room for the corner
         serial beside it. The number stays the strip's dominant text and the
         serial now clears it with air at 390px and 412px (Tim, 2026-10-16). */
      .bcard .t-total .pts{font-size:1.15rem}
      .bcard .t-total .pts-label{display:none}
      .bcard .t-cap{display:none}
      .bcard .t-name{font-size:.6rem;line-height:.96;letter-spacing:.01em}
      .bcard .t-photo .t-status{display:none}
      .bcard .t-photo .t-toprow{left:6px;right:6px;top:6px}
      .bcard .t-team{font-size:.44rem;padding:1px 5px;letter-spacing:.06em}
      .bcard .t-nameblock{left:6px;right:6px;bottom:6px;max-width:none}
      .bcard .t-nameblock .t-bar{display:none}
      .bcard .t-vtag{display:none}
      .bcard .t-vrule{display:none}
      .bcard .t-tierpill{display:none}
      .bcard .t-stamp{right:5px;bottom:5px;padding:2px 5px 3px}
      .bcard .t-stamp .s-num{font-size:.62rem}
      .bcard .t-stamp .s-lab{font-size:.3rem;letter-spacing:.14em}
    }
    /* ===== SCTC inserts — design ported from the insert preview system.
       All sizes are in em against .ins-card font-size, so the 360px preview
       design scales linearly to each context (reveal slot, card modal, pile). */
    .tcard.ins-card{--ifoil:linear-gradient(115deg,#8a5a2b 0%,#d9a75f 28%,#f6e2ac 50%,#d9a75f 72%,#8a5a2b 100%);font-size:16px}
    /* The design scales linearly with card width: wherever a container width
       is known, drive the insert's font-size from it (4.444cqw = width/22.5,
       i.e. the 360px preview design at font-size 16). px values are fallbacks. */
    .pack-slot:has(.ins-card),.cv-card:has(.ins-card),.bb-item:has(.ins-card){container-type:inline-size}
    .pack-slot .ins-card{font-size:10px;font-size:4.444cqw;filter:drop-shadow(0 0 10px rgba(217,167,95,.3))}
    .cv-card .ins-card{font-size:16.5px;font-size:4.444cqw}
    .bb-item .ins-card{font-size:11.5px;font-size:4.444cqw}
    .tcard.ins-card .ins-face{padding:.1875em;border:0;border-radius:1em;background:var(--ifoil);box-shadow:0 18px 44px rgba(0,0,0,.5)}
    .ins-in{position:relative;display:block;width:100%;height:100%;border-radius:.8125em;overflow:hidden;background:#101014;color:#ece7db;font-family:"Barlow",sans-serif}
    .ins-in::after{content:"";position:absolute;inset:.5625em;border:1px solid rgba(217,167,95,.55);border-radius:.5625em;pointer-events:none;z-index:6}
    .ins-in::before{content:"";position:absolute;inset:.75em;border:1px solid rgba(217,167,95,.22);border-radius:.4375em;pointer-events:none;z-index:6}
    .ins-front .ins-in::before{display:none}
    .ins-moves .ins-in::after{border-color:rgba(224,101,79,.6)}
    .ins-moves .ins-in::before{border-color:rgba(224,101,79,.25)}
    .ins-tribal .ins-in::after{border-color:rgba(194,162,75,.6)}
    .ins-tribal .ins-in::before{border-color:rgba(194,162,75,.25)}
    /* Insert front */
    .ins-photo{position:absolute;inset:0;background-size:cover;background-position:center 18%;filter:saturate(.85) contrast(1.1) brightness(.94)}
    .ins-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,12,.42) 0%,rgba(10,10,12,0) 26%,rgba(10,10,12,0) 44%,rgba(10,10,12,.78) 74%,rgba(10,10,12,.97) 100%)}
    .ins-photo.band{inset:3.25em 0 auto 0;height:15.875em;border-bottom:2px solid rgba(194,162,75,.7)}
    .ins-photo.band::after{background:linear-gradient(180deg,rgba(10,10,12,.34) 0%,rgba(10,10,12,0) 34%,rgba(10,10,12,0) 76%,rgba(16,16,20,.92) 100%)}
    .ins-sheen{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:.1;mix-blend-mode:overlay;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.55) 46%,rgba(255,255,255,.12) 54%,transparent 68%)}
    .ins-banner{position:absolute;top:0;left:0;right:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:1.25em 1.375em 0}
    .ins-chip{font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:1.1875em;letter-spacing:.3em;white-space:nowrap;color:#14100a;background:var(--ifoil);padding:.263em .632em .211em .789em;border-radius:.1875em;text-transform:uppercase;box-shadow:0 3px 10px rgba(0,0,0,.55)}
    .ins-moves .ins-chip{background:linear-gradient(115deg,#8c3a26,#e0654f 30%,#f2a183 50%,#e0654f 72%,#8c3a26);color:#fff4ec}
    .ins-tribal .ins-chip{background:linear-gradient(115deg,#6f5c1e,#c2a24b 30%,#ecd98f 50%,#c2a24b 72%,#6f5c1e);color:#171204}
    .ins-brand{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:.8125em;letter-spacing:.25em;color:rgba(243,217,164,.92);text-transform:uppercase;text-shadow:0 2px 6px rgba(0,0,0,.8)}
    .ins-serial{position:absolute;z-index:5;bottom:.6432em;right:.7702em;font-family:"Barlow Condensed",sans-serif;font-weight:800;letter-spacing:.12em;font-size:1.5625em;line-height:1;background:var(--ifoil);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;filter:drop-shadow(0 1px 1px rgba(0,0,0,.65)) drop-shadow(0 2px 5px rgba(0,0,0,.35))}
    .ins-nameblock{position:absolute;left:0;right:0;bottom:0;z-index:4;padding:0 1.5em 1.5em;text-align:left}
    .ins-eyebrow{display:block;font-family:"Barlow Condensed",sans-serif;font-size:.875em;font-weight:600;letter-spacing:.34em;color:#f3d9a4;text-transform:uppercase;margin-bottom:.143em;text-shadow:0 2px 5px rgba(0,0,0,.85)}
    .ins-moves .ins-eyebrow{color:#f2a183}
    .ins-tribal .ins-eyebrow{color:#ecd98f}
    .ins-name{display:block;font-family:"Barlow Condensed",sans-serif;font-weight:800;text-transform:uppercase;line-height:.92;font-size:3.5em;letter-spacing:.005em;color:#f7f2e4;text-shadow:0 3px 14px rgba(0,0,0,.85)}
    .card-compact .ins-name{font-size:2.95em}
    .bb-item .ins-name{font-size:3.1em}
    /* Compact contexts: small-size font rounding makes backs run ~1 line long
       vs the full-size design — tighten the story/quote rhythm so text never
       reaches the facts footer. Full-size (modal) rendering is untouched. */
    .card-compact .ins-story,.bb-item .ins-story{font-size:.88em;line-height:1.48}
    .card-compact .ins-quote,.bb-item .ins-quote{margin-top:.55em}
    .card-compact .ins-body.tight{padding-top:.78em}
    .cv-card .ins-story{font-size:.9em;line-height:1.49}
    .cv-card .ins-quote{margin-top:.7em}
    .cv-card .ins-body.tight{padding-top:.78em}
    .ins-name .accent{color:#d9a75f}
    .ins-moves .ins-name .accent{color:#e0654f}
    .ins-tribal .ins-name .accent{color:#c2a24b}
    .ins-subline{display:block;margin-top:.692em;font-size:.8125em;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:#b9b2a2;white-space:nowrap}
    .ins-subline.sub-l{font-size:.71em;letter-spacing:.07em}
    .ins-subline.sub-xl{font-size:.63em;letter-spacing:.045em}
    .ins-subline.sub-xxl{font-size:.56em;letter-spacing:.03em}
    .ins-subline.sub-3xl{font-size:.52em;letter-spacing:.026em}.ins-subline.sub-4xl{font-size:.485em;letter-spacing:.022em}
    .ins-name.nw8{font-size:3.05em}.ins-name.nw9{font-size:2.82em}.ins-name.nw10{font-size:2.6em}.ins-name.nw11{font-size:2.36em}.ins-name.nw12{font-size:2.22em}.ins-name.nw13{font-size:2.08em}.ins-name.nw14{font-size:1.96em}
    .ins-tis .ins-name.nw8{font-size:2.5em}.ins-tis .ins-name.nw9{font-size:2.32em}.ins-tis .ins-name.nw10{font-size:2.14em}.ins-tis .ins-name.nw11{font-size:1.95em}.ins-tis .ins-name.nw12{font-size:1.83em}.ins-tis .ins-name.nw13{font-size:1.71em}.ins-tis .ins-name.nw14{font-size:1.61em}
    .ins-subline b{color:#ece7db;font-weight:700}
    /* Insert rosettes — foil outline awards, mirrored from the preview */
    .ins-ros{position:absolute;z-index:5;left:.875em;top:3.625em;width:4.5em;height:5.5875em;transform:rotate(-5deg);filter:drop-shadow(0 6px 11px rgba(0,0,0,.55));pointer-events:none}
    .ins-ros.stacked{top:10em}
    .ins-ros::before{content:"";position:absolute;inset:-14% -17%;z-index:-1;pointer-events:none;border-radius:50%;background:radial-gradient(50% 50% at 50% 42%,rgba(4,5,8,.60) 0%,rgba(4,5,8,.42) 42%,rgba(4,5,8,.18) 62%,rgba(4,5,8,0) 78%)}
    .ins-ros svg{display:block;width:100%;height:100%;overflow:visible}
    .ins-ros text{font-family:"Barlow Condensed",sans-serif;text-anchor:middle}
    /* Insert back */
    .ins-back{transform:rotateY(180deg)}
    .ins-back .ins-in{background:radial-gradient(120% 70% at 50% -10%,rgba(217,167,95,.14),transparent 60%),linear-gradient(180deg,#191920,#101014 55%,#0c0c0f)}
    .ins-moves .ins-back .ins-in{background:radial-gradient(120% 70% at 50% -10%,rgba(224,101,79,.16),transparent 60%),linear-gradient(180deg,#1d1712,#12100e 55%,#0c0b0a)}
    .ins-tribal .ins-back .ins-in{background:radial-gradient(120% 70% at 50% -10%,rgba(194,162,75,.15),transparent 60%),linear-gradient(180deg,#1a1811,#11100c 55%,#0c0b09)}
    .ins-back .ins-in{display:flex;flex-direction:column}
    .ins-back .ins-banner{position:relative;top:auto;left:auto;right:auto;flex:none;padding-top:.95em}
    .ins-body{position:relative;z-index:4;display:block;padding:1.05em 1.75em .55em;flex:1 1 auto;min-height:0;overflow:hidden}
    .ins-body.tight{padding-top:.8em}
    .ins-headline{display:block;font-family:"Barlow Condensed",sans-serif;font-weight:800;text-transform:uppercase;font-size:2.08em;line-height:.98;letter-spacing:.01em;color:#f7f2e4}
    .ins-headline .accent{color:#d9a75f}
    .ins-moves .ins-headline .accent{color:#e0654f}
    .ins-tribal .ins-headline .accent{color:#c2a24b}
    .ins-rule{display:block;height:.16em;width:3.6em;background:var(--ifoil);margin:.5em 0 .6em;border-radius:.125em}
    .ins-moves .ins-rule{background:linear-gradient(90deg,#e0654f,#8c3a26)}
    .ins-tribal .ins-rule{background:linear-gradient(90deg,#c2a24b,#6f5c1e)}
    .ins-story{display:block;font-size:.865em;line-height:1.44;color:#d8d2c2;font-weight:500;text-transform:none}
    .ins-story + .ins-story{margin-top:.6em}
    .ins-body.tight .ins-headline{font-size:1.88em}
    .ins-body.tight .ins-story{font-size:.82em;line-height:1.4}
    .ins-body.tight .ins-quote{margin-top:.8em}
    .ins-body.tighter{padding-top:.62em}
    .ins-body.tighter .ins-headline{font-size:1.74em}
    .ins-body.tighter .ins-story{font-size:.79em;line-height:1.37}
    .ins-body.tighter .ins-quote{margin-top:.6em}
    .ins-body.tighter .ins-quote .q{font-size:.96em}
    .ins-body.tighter .ins-rule{margin:.45em 0 .55em}
    .ins-body.tight .ins-quote .q{font-size:1.02em}
    .ins-quote{display:block;margin-top:.85em;border-left:.1875em solid #e0654f;padding:.125em 0 .125em .875em}
    .ins-quote .q{display:block;font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:1.16em;line-height:1.25;color:#f7f2e4;text-transform:uppercase;letter-spacing:.03em}
    .ins-quote .a{display:block;font-size:.75em;letter-spacing:.18em;color:#b9b2a2;text-transform:uppercase;margin-top:.333em}
    .ins-foot{position:relative;flex:none;z-index:4;padding:.3em 1.75em 1.08em;display:flex;justify-content:space-between;align-items:flex-end;gap:.75em}
    .ins-facts{font-size:.71875em;letter-spacing:.14em;text-transform:uppercase;color:#b9b2a2;line-height:1.55}
    .ins-facts b{color:#ece7db;font-weight:700}
    .ins-foot .ins-serial{position:static;flex:none;font-size:1.4375em;padding-bottom:.087em}
    .ins-micro{position:absolute;left:2.947em;bottom:6.947em;z-index:4;font-size:.59375em;letter-spacing:.3em;color:rgba(185,178,162,.66);text-transform:uppercase}
    .ins-back>.ins-in>.ins-micro{position:static;flex:none;padding:.1em 1.75em .45em 2.95em}
    /* Villains category accent -- deep violet foil line work */
    .ins-villains .ins-in::after{border-color:rgba(150,110,220,.6)}
    .ins-villains .ins-in::before{border-color:rgba(150,110,220,.25)}
    .ins-villains .ins-chip{background:linear-gradient(115deg,#3a1c66,#7c4dbc 30%,#cdb1f2 50%,#7c4dbc 72%,#3a1c66);color:#f6efff}
    .ins-villains .ins-eyebrow{color:#cdb1f2}
    .ins-villains .ins-name .accent{color:#a678e8}
    .ins-villains .ins-back .ins-in{background:radial-gradient(120% 70% at 50% -10%,rgba(124,77,188,.15),transparent 60%),linear-gradient(180deg,#181226,#100e16 55%,#0b0a0f)}
    .ins-villains .ins-headline .accent{color:#a678e8}
    .ins-villains .ins-rule{background:linear-gradient(90deg,#8b5fd6,#3a1c66)}
    .ins-villains .ins-quote{border-left-color:#8b5fd6}
    .ins-mini.ins-villains .ins-mini-chip{background:linear-gradient(115deg,#3a1c66,#7c4dbc 30%,#cdb1f2 50%,#7c4dbc 72%,#3a1c66);color:#f6efff}
    /* ===== This. Is. Survivor. — true One of Ones: black-cinematic, gold foil.
       The stamp is the words "One of One" in cursive metallic gold. ===== */
    .ins-tis{--ifoil:linear-gradient(115deg,#8a6420 0%,#d4af37 28%,#f9ecc0 50%,#d4af37 72%,#8a6420 100%)}
    .ins-tis .ins-in{background:#060607;color:#f0e9d6}
    .ins-tis .ins-in::after{inset:.5em;border-color:rgba(244,207,107,.42);border-radius:.5em}
    .ins-tis .ins-in::before{display:none}
    .ins-tis .ins-in::before{border-color:rgba(244,207,107,.3)}
    .ins-tis .ins-chip{background:var(--ifoil);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;font-size:.74em;letter-spacing:.24em;white-space:nowrap;box-shadow:none;padding:0;border-radius:0}
    .ins-tis .ins-brand{font-size:.68em;letter-spacing:.24em;color:rgba(244,207,107,.72)}
    .ins-tis .ins-photo{filter:saturate(.85) contrast(1.08) brightness(.95)}
    .ins-tis .ins-photo::after{background:linear-gradient(180deg,rgba(5,5,6,.40) 0%,rgba(5,5,6,0) 24%,rgba(5,5,6,0) 50%,rgba(5,5,6,.70) 76%,rgba(5,5,6,.93) 100%)}
    .ins-tis .ins-name{font-size:2.9em}
    .card-compact .ins-tis .ins-name,.bb-item .ins-tis .ins-name{font-size:2.45em}
    .tis-stamp{position:absolute;z-index:5;top:auto;bottom:.6em;right:.68em;white-space:nowrap;transform:none;font-family:"Great Vibes","Pinyon Script","Snell Roundhand","Brush Script MT","Apple Chancery","Segoe Script",cursive;font-size:1.3em;line-height:1.15;padding:.05em .25em;text-transform:none;background:linear-gradient(115deg,#a8741a 0%,#f4cf6b 28%,#fff3c4 50%,#f4cf6b 72%,#a8741a 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 3px rgba(0,0,0,.85))}
    /* Cards whose subline ink reaches the corner (per-card data flag):
       the stamp rides up the right edge inside the frame, clear of the text */
    .tis-stamp.st-up{bottom:2.75em}
    .ins-tis .ins-back .ins-in{background:radial-gradient(120% 70% at 50% -10%,rgba(244,207,107,.12),transparent 60%),linear-gradient(180deg,#0d0d10,#060607 55%,#030304)}
    .ins-tis .ins-headline .accent{color:#f4cf6b}
    .ins-tis .ins-rule{background:linear-gradient(90deg,#f4cf6b,#8a6420);height:1px;width:4.4em;border-radius:0}
    .ins-tis .ins-quote{border-left-color:#d4af37}
    .ins-tis .ins-micro{color:rgba(244,207,107,.78)}
    .ins-tis .ins-foot .tis-stamp{position:static;transform:none;font-size:1.3em;padding:0}
    /* TIS back stamp: NO plate/box — the script floats on the card back on
       its own centered row in the foot, level (Tim, 2026-10-15) */
    .tis-back-stamp{flex:1 1 100%;order:2;text-align:center;line-height:1.15}
    .pack-slot.tis-slot .ins-card{filter:drop-shadow(0 0 15px rgba(244,207,107,.5))}
    .pack-summary .tis-tag{color:#f4cf6b;letter-spacing:.12em;text-shadow:0 0 14px rgba(244,207,107,.6)}
    /* TIS binder pocket — black, gold frame, cursive stamp; never stacked */
    .tis-mini{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:6px;aspect-ratio:5/7;border-radius:10px;padding:12% 8% 10%;text-align:center;color:#f0e9d6;background:linear-gradient(165deg,#101013,#060607 60%,#000);border:2px solid #d4af37;box-shadow:inset 0 0 0 1px rgba(244,207,107,.4),0 6px 14px rgba(0,0,0,.4);overflow:hidden}
    .tis-mini-chip{position:relative;font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:clamp(.4rem,1.7vw,.64rem);letter-spacing:.16em;text-transform:uppercase;color:#0a0803;background:linear-gradient(115deg,#8a6420,#d4af37 30%,#f9ecc0 50%,#d4af37 72%,#8a6420);padding:2px 7px;border-radius:3px;white-space:nowrap}
    .tis-mini-name{position:relative;font-family:"Barlow Condensed",sans-serif;font-weight:800;text-transform:uppercase;line-height:1.04;font-size:clamp(.64rem,3vw,1.08rem);color:#f7f2e4}
    .tis-mini-stamp{position:relative;text-transform:none;font-family:"Great Vibes","Pinyon Script","Snell Roundhand","Brush Script MT","Apple Chancery","Segoe Script",cursive;font-size:clamp(1.06rem,4.62vw,1.68rem);line-height:1.15;background:linear-gradient(115deg,#a8741a,#f4cf6b 28%,#fff3c4 50%,#f4cf6b 72%,#a8741a);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
    .tis-mini-tag{position:relative;font-size:clamp(.38rem,1.6vw,.58rem);font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:rgba(244,207,107,.8)}
    /* ===== Winners — bright platinum / white-gold foil, crown motif,
       clean gold-foil serial (NOT cursive — script is reserved for 1/1s) ===== */
    .ins-winners{--ifoil:linear-gradient(115deg,#8a6420 0%,#d4af37 28%,#f9ecc0 50%,#d4af37 72%,#8a6420 100%)}
    .tcard.ins-card.ins-winners .ins-face{background:linear-gradient(115deg,#9a958a 0%,#e9e4d4 30%,#fdfaf0 50%,#e9e4d4 72%,#9a958a 100%)}
    .ins-winners .ins-in{background:linear-gradient(180deg,#f7f3e6,#e9e2cc 60%,#ddd3b4);color:#211d12}
    .ins-winners .ins-in::after{border-color:rgba(156,106,47,.6)}
    .ins-winners .ins-in::before{border-color:rgba(156,106,47,.28)}
    .ins-winners .ins-photo{background-size:contain;background-repeat:no-repeat;background-position:center 26%;filter:none}
    .ins-winners .ins-photo::after{background:linear-gradient(180deg,rgba(247,243,230,.28) 0%,rgba(247,243,230,0) 30%,rgba(247,243,230,0) 50%,rgba(240,234,214,.94) 79%,rgba(240,234,214,1) 100%)}
    .ins-winners .ins-chip{background:linear-gradient(115deg,#c9c2ae,#f4efdd 40%,#fffdf4 55%,#f4efdd 70%,#c9c2ae);color:#211d12}
    .tcard.ins-card.ins-winners .ins-front .ins-chip{background:linear-gradient(115deg,#8a6420 0%,#d4af37 28%,#f9ecc0 50%,#d4af37 72%,#8a6420 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;box-shadow:none;padding:0;border-radius:0}
    .ins-winners .ins-brand{color:rgba(90,70,30,.9);text-shadow:0 1px 6px rgba(255,252,240,.95),0 0 3px rgba(255,252,240,.85)}
    .ins-winners .ins-front .ins-brand{color:#f8f2df;text-shadow:0 1px 4px rgba(24,18,4,.85),0 2px 10px rgba(24,18,4,.55)}
    .ins-winners .ins-eyebrow{color:#7a5c1e;text-shadow:0 1px 5px rgba(255,252,240,.8);font-size:.8em;letter-spacing:.22em}
    .ins-winners .ins-name{color:#211d12;text-shadow:0 2px 8px rgba(255,255,255,.55)}
    .ins-winners .ins-name .accent{color:#9c6a2f}
    .ins-winners .ins-subline{color:#5c5540}
    .ins-winners .ins-subline b{color:#211d12}
    .win-crown{display:block;width:2.5em;height:1.6em;margin-bottom:.28em}
    .win-crown svg{display:block;width:100%;height:100%;overflow:visible}
    .ins-winners .ins-back .ins-in{background:linear-gradient(180deg,#f7f3e6,#ece5cf 55%,#e2d9ba)}
    .ins-winners .ins-headline{color:#211d12}
    .ins-winners .ins-headline .accent{color:#9c6a2f}
    .ins-winners .ins-story{color:#3d382a}
    .ins-winners .ins-facts{color:#5c5540}
    .ins-winners .ins-facts b{color:#211d12}
    .ins-winners .ins-micro{color:rgba(90,70,30,.66)}
    .pack-summary .win-tag{color:#ffe9a8;letter-spacing:.1em;text-shadow:0 0 12px rgba(244,207,107,.45)}
    /* Winners binder pocket — platinum */
    .win-mini{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:6px;aspect-ratio:5/7;border-radius:10px;padding:12% 8% 10%;text-align:center;color:#211d12;background:linear-gradient(165deg,#fdfaf0,#e9e2cc 60%,#d9d0ae);border:2px solid #9c6a2f;box-shadow:inset 0 0 0 1px rgba(156,106,47,.35),0 6px 14px rgba(0,0,0,.3);overflow:hidden}
    .win-mini-chip{position:relative;font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:clamp(.42rem,1.8vw,.68rem);letter-spacing:.22em;text-transform:uppercase;background:linear-gradient(115deg,#8a6420,#d4af37 28%,#f9ecc0 50%,#d4af37 72%,#8a6420);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;padding:0;border-radius:0}
    .win-mini-name{position:relative;font-family:"Barlow Condensed",sans-serif;font-weight:800;text-transform:uppercase;line-height:1.04;font-size:clamp(.66rem,3.1vw,1.12rem);color:#211d12}
    .win-mini-serial{position:relative;font-family:"Barlow Condensed",sans-serif;font-weight:800;letter-spacing:.12em;font-size:clamp(.8rem,3.6vw,1.3rem);line-height:1;background:linear-gradient(115deg,#8a6420,#d4af37 28%,#f9ecc0 50%,#d4af37 72%,#8a6420);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
    .win-mini-tag{position:relative;font-size:clamp(.38rem,1.6vw,.58rem);font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#5c5540}
    /* Binder pocket mini — charcoal/foil treatment, name + serial visible */
    .ins-mini{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:6px;aspect-ratio:5/7;border-radius:10px;padding:12% 8% 10%;text-align:center;color:#ece7db;background:linear-gradient(165deg,#1b1b21,#101014 60%,#0b0b0e);border:2px solid #8a5a2b;box-shadow:inset 0 0 0 1px rgba(217,167,95,.35),0 6px 14px rgba(0,0,0,.35);overflow:hidden}
    .ins-mini::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,12,.1),rgba(10,10,12,.55));pointer-events:none}
    .ins-mini-chip{position:relative;font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:clamp(.42rem,1.8vw,.68rem);letter-spacing:.22em;text-transform:uppercase;color:#14100a;background:linear-gradient(115deg,#8a5a2b,#d9a75f 30%,#f6e2ac 50%,#d9a75f 72%,#8a5a2b);padding:2px 7px;border-radius:3px}
    .ins-moves .ins-mini-chip,.ins-mini.ins-moves .ins-mini-chip{background:linear-gradient(115deg,#8c3a26,#e0654f 30%,#f2a183 50%,#e0654f 72%,#8c3a26);color:#fff4ec}
    .ins-mini.ins-tribal .ins-mini-chip{background:linear-gradient(115deg,#6f5c1e,#c2a24b 30%,#ecd98f 50%,#c2a24b 72%,#6f5c1e);color:#171204}
    .ins-mini-name{position:relative;font-family:"Barlow Condensed",sans-serif;font-weight:800;text-transform:uppercase;line-height:1.04;font-size:clamp(.66rem,3.1vw,1.12rem);color:#f7f2e4}
    .ins-mini-serial{position:relative;font-family:"Barlow Condensed",sans-serif;font-weight:800;letter-spacing:.12em;font-size:clamp(.8rem,3.6vw,1.3rem);line-height:1;background:linear-gradient(115deg,#8a5a2b,#d9a75f 28%,#f6e2ac 50%,#d9a75f 72%,#8a5a2b);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
    .ins-mini-tag{position:relative;font-size:clamp(.4rem,1.7vw,.62rem);font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:#b9b2a2}
    /* ===== Hidden Immunity Card — a distinct special card: deep jungle
       green into charcoal, gold foil frame, SVG idol motif. Same em-scaling
       system as the inserts (font-size driven by container width). ===== */
    .tcard.imm-card{--ifoil:linear-gradient(115deg,#8a5a2b 0%,#d9a75f 28%,#f6e2ac 50%,#d9a75f 72%,#8a5a2b 100%);font-size:16px}
    .pack-slot:has(.imm-card),.cv-card:has(.imm-card){container-type:inline-size}
    .pack-slot .imm-card{font-size:10px;font-size:4.444cqw;filter:drop-shadow(0 0 13px rgba(110,231,160,.4))}
    .cv-card .imm-card{font-size:16.5px;font-size:4.444cqw}
    .tcard.imm-card .imm-face{padding:.1875em;border:0;border-radius:1em;background:var(--ifoil);box-shadow:0 18px 44px rgba(0,0,0,.5)}
    .tcard.imm-card .imm-back{transform:rotateY(180deg)}
    .imm-in{position:relative;display:block;width:100%;height:100%;border-radius:.8125em;overflow:hidden;color:#ece7db;font-family:"Barlow",sans-serif;background:radial-gradient(90% 55% at 50% 30%,rgba(110,231,160,.16),transparent 62%),linear-gradient(168deg,#14532d 0%,#0c3520 42%,#081a11 78%,#0a0d0b 100%)}
    .imm-in::after{content:"";position:absolute;inset:.5625em;border:1px solid rgba(110,231,160,.5);border-radius:.5625em;pointer-events:none;z-index:6}
    .imm-in::before{content:"";position:absolute;inset:.75em;border:1px solid rgba(217,167,95,.28);border-radius:.4375em;pointer-events:none;z-index:6}
    .imm-back .imm-in{background:radial-gradient(120% 70% at 50% -10%,rgba(110,231,160,.13),transparent 60%),linear-gradient(180deg,#10241a,#0a1710 55%,#070d09)}
    .imm-vines{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(38% 30% at 12% 88%,rgba(20,83,45,.55),transparent 70%),radial-gradient(34% 26% at 90% 80%,rgba(20,83,45,.5),transparent 70%),radial-gradient(26% 20% at 84% 8%,rgba(110,231,160,.12),transparent 70%)}
    .imm-banner{position:absolute;top:0;left:0;right:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:1.25em 1.375em 0}
    .imm-chip{font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:1.02em;letter-spacing:.17em;white-space:nowrap;color:#0d2417;background:linear-gradient(115deg,#1f9d63,#4ade80 30%,#bbf7d0 50%,#4ade80 72%,#1f9d63);padding:.263em .632em .211em .789em;border-radius:.1875em;text-transform:uppercase;box-shadow:0 3px 10px rgba(0,0,0,.55)}
    .imm-brand{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:.8125em;letter-spacing:.34em;color:rgba(187,247,208,.92);text-transform:uppercase;text-shadow:0 2px 6px rgba(0,0,0,.8)}
    .imm-idol{position:absolute;z-index:3;left:50%;top:6.2em;transform:translateX(-50%);width:10.5em;height:13.125em;filter:drop-shadow(0 10px 22px rgba(0,0,0,.6))}
    .imm-idol svg{display:block;width:100%;height:100%}
    .imm-gift-ribbon{position:absolute;z-index:7;left:50%;top:45%;transform:translate(-50%,-50%) rotate(-8deg);white-space:nowrap;font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:1.45em;letter-spacing:.22em;text-transform:uppercase;color:#fff7e2;background:linear-gradient(115deg,#8c1f1f,#c9332b 40%,#e26060 55%,#c9332b 70%,#8c1f1f);border:.09em solid rgba(255,217,217,.85);border-radius:.2em;padding:.34em .9em .26em 1.1em;box-shadow:0 8px 22px rgba(0,0,0,.65)}
    .imm-nameblock{position:absolute;left:0;right:0;bottom:0;z-index:4;padding:0 1.5em 1.5em;text-align:center}
    .imm-eyebrow{display:block;font-family:"Barlow Condensed",sans-serif;font-size:.875em;font-weight:600;letter-spacing:.34em;color:#a7f3c7;text-transform:uppercase;margin-bottom:.2em;text-shadow:0 2px 5px rgba(0,0,0,.85)}
    .imm-name{display:block;font-family:"Barlow Condensed",sans-serif;font-weight:800;text-transform:uppercase;line-height:.92;font-size:3.3em;letter-spacing:.01em;color:#f7f2e4;text-shadow:0 3px 14px rgba(0,0,0,.85)}
    .imm-name .accent{background:var(--ifoil);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
    .imm-subline{display:block;margin-top:.66em;font-size:.8125em;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#b9b2a2}
    .imm-subline b{color:#bbf7d0;font-weight:700}
    .imm-body{position:relative;z-index:4;display:block;padding:4.4em 1.75em 3.4em;max-height:100%;overflow:hidden}
    .imm-headline{display:block;font-family:"Barlow Condensed",sans-serif;font-weight:800;text-transform:uppercase;font-size:2.35em;line-height:.98;letter-spacing:.01em;color:#f7f2e4}
    .imm-headline .accent{color:#6ee7a0}
    .imm-rule{display:block;height:.1875em;width:4em;background:var(--ifoil);margin:.875em 0 1em;border-radius:.125em}
    .imm-story{display:block;font-size:.88em;line-height:1.45;color:#d8d2c2;font-weight:500}
    .imm-story + .imm-story{margin-top:.6em}
    .imm-story b{color:#ece7db}
    .imm-foot{position:absolute;left:0;right:0;bottom:0;z-index:4;padding:0 1.75em 1.375em;text-align:center;font-size:.71875em;letter-spacing:.16em;text-transform:uppercase;color:#a7f3c7;line-height:1.7}
    /* Binder pocket mini for the Hidden Immunity Card */
    .imm-mini{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:4px;aspect-ratio:5/7;border-radius:10px;padding:11% 8% 9%;text-align:center;color:#ece7db;background:radial-gradient(90% 55% at 50% 28%,rgba(110,231,160,.18),transparent 62%),linear-gradient(168deg,#14532d,#0c3520 45%,#081a11 80%,#0a0d0b);border:2px solid #d9a75f;box-shadow:inset 0 0 0 1px rgba(110,231,160,.4),0 6px 14px rgba(0,0,0,.35);overflow:hidden}
    .imm-mini-chip{position:relative;font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:clamp(.4rem,1.7vw,.64rem);letter-spacing:.2em;text-transform:uppercase;color:#0d2417;background:linear-gradient(115deg,#1f9d63,#4ade80 30%,#bbf7d0 50%,#4ade80 72%,#1f9d63);padding:2px 7px;border-radius:3px}
    .imm-mini-idol{position:relative;width:54%;flex:1;min-height:0;display:flex;align-items:center;justify-content:center}
    .imm-mini-idol svg{display:block;height:100%;max-width:100%}
    .imm-mini-name{position:relative;font-family:"Barlow Condensed",sans-serif;font-weight:800;text-transform:uppercase;line-height:1.02;font-size:clamp(.62rem,2.9vw,1.05rem);color:#f7f2e4}
    .imm-mini-tag{position:relative;font-size:clamp(.38rem,1.6vw,.58rem);font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#a7f3c7}
    .pocket.imm-pocket{border-color:#d9a75f;background:rgba(110,231,160,.07);box-shadow:0 0 0 1px rgba(217,167,95,.35),0 0 18px rgba(110,231,160,.14)}
    /* Pack-modal gift flow (must-gift Hidden Immunity pulls) */
    .pack-gift{flex:1 1 100%;border-top:1px dashed rgba(217,160,94,.4);padding-top:12px}
    .pack-gift[hidden]{display:none}
    .pack-gift-msg{margin:0 0 10px;font-size:.95rem;color:#f2ecdc}
    .pack-gift-msg strong{color:#ffe9a8}
    .pack-gift-btns{display:flex;flex-wrap:wrap;gap:10px}
    .pack-gift-btns .gift-btn{display:flex;flex-direction:column;align-items:flex-start;gap:1px}
    .pack-gift-btns .gift-btn span{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;opacity:.75}
    .pack-gift-done{margin:2px 0 0;font-size:.95rem;font-weight:700;color:#7fdcab}
    .pack-gift-done:empty{margin:0}
    .pack-foot.gift-lock .pack-foot-actions{display:none}
    .pack-summary .imm-tag{color:#7fdcab;letter-spacing:.08em;text-shadow:0 0 12px rgba(110,231,160,.5)}
    /* Play confirmation toast */
    .sctc-toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,18px);z-index:1200;max-width:min(92vw,480px);background:linear-gradient(160deg,#14532d,#0c3520);border:1.5px solid #d9a75f;color:#f2ecdc;font-size:.95rem;font-weight:600;text-align:center;padding:12px 18px;border-radius:12px;box-shadow:0 16px 40px rgba(0,0,0,.55);opacity:0;pointer-events:none;transition:opacity .3s ease,transform .3s ease}
    .sctc-toast.show{opacity:1;transform:translate(-50%,0)}
    .cv-btn.cv-btn-play{background:linear-gradient(160deg,#1f9d63,#14713f);border-color:#5fd598;color:#eafff3}
    /* Pack modal */
    .pack-modal{position:fixed;inset:0;z-index:999;display:none;align-items:flex-start;justify-content:center;padding:14px;overflow-y:auto}
    .pack-modal.open{display:flex}
    .pack-backdrop{position:fixed;inset:0;background:rgba(5,4,2,.87)}
    .pack-panel{position:relative;width:min(1080px,100%);margin:auto;background:linear-gradient(170deg,#1a1610,#0a0908);border:2px solid #d9a05e;border-radius:18px;padding:24px 20px 20px;color:#f2ecdc;box-shadow:0 30px 80px rgba(0,0,0,.6)}
    .pack-panel h2{margin:0 34px 2px 0;font-family:"Barlow Condensed",sans-serif;font-size:1.9rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#fff7e2;line-height:1}
    .pack-note{margin:0 0 6px;color:rgba(242,236,220,.72);font-size:.88rem}
    .pack-x{position:absolute;top:10px;right:12px;width:38px;height:38px;border-radius:50%;border:1px solid rgba(217,160,94,.6);background:rgba(22,18,12,.85);color:#f2ecdc;font-size:1.25rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
    .pack-x:hover{color:#fff;border-color:#d9a05e}
    .pack-stage{display:grid;place-items:center;padding:22px 0 10px;min-height:330px}
    .pack-stage.done{display:none}
    .pack-foil{position:relative;width:210px;height:294px;cursor:pointer;-webkit-tap-highlight-color:transparent}
    .foil-face{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center;padding:14px 12px;border:3px solid #d9a05e;border-radius:14px;background:repeating-linear-gradient(45deg,rgba(255,255,255,.045) 0 10px,transparent 10px 20px),linear-gradient(165deg,#2b251b,#171310 55%,#0a0908);box-shadow:0 18px 40px rgba(0,0,0,.5);overflow:hidden}
    .foil-face img{width:72px;height:auto}
    .foil-name{font-family:"Barlow Condensed",sans-serif;font-size:1.32rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#fff7e2;line-height:1.05}
    .foil-sub{font-family:"Barlow Condensed",sans-serif;font-size:.95rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#e8c37e}
    .foil-count{font-size:.72rem;letter-spacing:.07em;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(242,236,220,.75);border-top:1px dashed rgba(217,160,94,.55);padding-top:8px}
    .foil-face.shine:after{content:"";position:absolute;top:-30%;bottom:-30%;left:-70%;width:45%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.22),transparent);transform:rotate(8deg);animation:foilshine 2.8s ease-in-out infinite}
    @keyframes foilshine{0%{left:-70%}55%{left:130%}100%{left:130%}}
    .foil-half{position:absolute;inset:0;opacity:0;pointer-events:none;transition:transform .65s ease-in,opacity .65s ease-in}
    .foil-half .foil-face{box-shadow:none}
    .foil-half.top{clip-path:polygon(0 0,100% 0,100% 45%,72% 54%,45% 46%,18% 55%,0 47%)}
    .foil-half.bot{clip-path:polygon(0 47%,18% 55%,45% 46%,72% 54%,100% 45%,100% 100%,0 100%)}
    .pack-foil.tearing .foil-main{animation:foilshake .45s ease-in-out}
    @keyframes foilshake{0%,100%{transform:translateX(0) rotate(0)}20%{transform:translateX(-5px) rotate(-1.6deg)}40%{transform:translateX(5px) rotate(1.4deg)}60%{transform:translateX(-4px) rotate(-1deg)}80%{transform:translateX(4px) rotate(.8deg)}}
    .pack-foil.torn .foil-main{opacity:0;transition:opacity .12s}
    .pack-foil.torn .foil-half{opacity:1}
    .pack-foil.torn .foil-half.top{transform:translate(-16px,-52px) rotate(-8deg);opacity:0}
    .pack-foil.torn .foil-half.bot{transform:translate(14px,56px) rotate(6deg);opacity:0}
    .pack-sparks{position:absolute;inset:0;pointer-events:none}
    .pack-sparks i{position:absolute;left:50%;top:50%;width:7px;height:7px;border-radius:50%;background:#f4cf6b;opacity:0}
    .pack-foil.torn .pack-sparks i{animation:sparkfly .7s ease-out forwards}
    @keyframes sparkfly{0%{opacity:1;transform:translate(0,0) scale(1)}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.35)}}
    .pack-hint{margin:14px 0 0;text-align:center;font-size:.82rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(242,236,220,.65)}
    /* Pack choice — three sealed packs, pick one (the other two are never opened) */
    #pack-choice-wrap{width:100%}
    .pack-choice{display:flex;gap:10px;justify-content:center;align-items:flex-start}
    .pack-pick{position:relative;flex:1 1 0;max-width:150px;aspect-ratio:5/7;padding:0;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .45s ease,opacity .45s ease,filter .45s ease}
    .pack-pick .foil-face{border-width:2px;border-radius:10px;padding:8px 6px;gap:3px}
    .pack-pick .foil-face img{width:36px}
    .pack-pick .foil-name{font-size:.62rem;letter-spacing:.06em}
    .pack-pick .foil-sub{font-size:.5rem;letter-spacing:.12em}
    .pack-pick .foil-count{font-size:.52rem;padding-top:4px}
    .pack-pick:hover{transform:translateY(-4px)}
    .pack-choice.resolved .pack-pick{pointer-events:none}
    .pack-choice.resolved .pack-pick.recede{opacity:0;transform:scale(.82) translateY(10px)}
    .pack-choice.resolved .pack-pick.chosen{transform:scale(1.07)}
    .pack-single{display:none}
    .pack-single.show{display:block;animation:cardin .4s ease both}
    .pack-reveal{display:none}
    .pack-reveal.show{display:block}
    .pack-row{display:flex;gap:14px;overflow-x:auto;padding:16px 2px 18px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
    .pack-slot{position:relative;flex:0 0 224px;scroll-snap-align:center;opacity:0}
    .pack-row.show .pack-slot{animation:cardin .55s cubic-bezier(.2,.7,.3,1.15) forwards;animation-delay:calc(var(--i) * 110ms)}
    @keyframes cardin{0%{opacity:0;transform:translateY(18px) rotateY(88deg)}100%{opacity:1;transform:translateY(0) rotateY(0)}}
    .pack-slot .tcard.par25{filter:drop-shadow(0 0 13px rgba(96,165,250,.5))}
    .pack-slot .tcard.par10{filter:drop-shadow(0 0 13px rgba(74,222,128,.45))}
    .pack-slot .tcard.par5{filter:drop-shadow(0 0 13px rgba(248,113,113,.5))}
    .pack-slot .tcard.par1{filter:drop-shadow(0 0 16px rgba(244,207,107,.65))}
    .pack-foot{display:none;flex-wrap:wrap;gap:12px 16px;align-items:center;justify-content:space-between;border-top:1px solid rgba(217,160,94,.35);padding-top:14px}
    .pack-foot.show{display:flex}
    .pack-summary{margin:0;font-size:.95rem;color:#f2ecdc;min-height:2.9em;opacity:0;transition:opacity .5s ease}
    .pack-summary.show{opacity:1}
    .pack-summary strong{color:#f4cf6b}
    .pack-summary .bonus-tag{color:#ffe9a8;letter-spacing:.1em;text-shadow:0 0 12px rgba(244,207,107,.45)}
    .pack-add-btn{appearance:none;border:2px solid #f6d98c;background:linear-gradient(180deg,#eec27c,#cf9a44);color:#241703;font-family:"Barlow Condensed",sans-serif;font-size:1.1rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;padding:11px 20px;border-radius:10px;cursor:pointer}
    .pack-add-btn:hover{filter:brightness(1.07)}
    .pack-add-btn:disabled{opacity:.55;cursor:default;filter:none}
    .pack-foot-text{flex:1 1 240px;min-width:0}
    .pack-foot-actions{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center}
    .pack-autobb{margin:4px 0 0;font-size:.9rem;font-weight:700;color:#f4cf6b}
    .pack-autobb:empty{margin:0}
    .pack-nav-btn{appearance:none;border:2px solid rgba(217,160,94,.75);background:rgba(22,18,12,.6);color:#f2ecdc;font-family:"Barlow Condensed",sans-serif;font-size:1.1rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;padding:11px 20px;border-radius:10px;cursor:pointer}
    .pack-nav-btn:hover{border-color:#d9a05e;color:#fff}
    .autobb{position:relative;display:inline-flex;align-items:center;gap:9px;cursor:pointer;user-select:none;-webkit-user-select:none}
    .autobb-input{position:absolute;left:0;top:0;width:44px;height:24px;margin:0;opacity:0;cursor:pointer}
    .autobb-track{flex:none;width:44px;height:24px;border-radius:999px;border:2px solid #9a6b1f;background:rgba(128,128,128,.4);position:relative;transition:background .2s ease,border-color .2s ease;pointer-events:none}
    .autobb-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#f2ecdc;box-shadow:0 1px 3px rgba(0,0,0,.45);transition:transform .2s ease,background .2s ease}
    .autobb-input:checked + .autobb-track{background:linear-gradient(180deg,#eec27c,#cf9a44);border-color:#f6d98c}
    .autobb-input:checked + .autobb-track .autobb-knob{transform:translateX(20px);background:#241703}
    .autobb-input:focus-visible + .autobb-track{outline:2px solid #9a6b1f;outline-offset:2px}
    .autobb-label{font-family:"Barlow Condensed",sans-serif;font-size:1rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;line-height:1.05}
    .bb-autobb-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:14px}
    .bb-autobb-note{color:var(--muted);font-size:.88rem}
    .warn-panel{width:min(520px,100%)}
    .warn-body{margin:0 0 10px;font-size:1rem;line-height:1.5;color:#f2ecdc}
    .warn-body strong{color:#f4cf6b}
    .warn-body .warn-cannot{color:#ff9d85;font-weight:800}
    .cv-btn.warn-danger{border-color:#e0654f;background:linear-gradient(180deg,#cf4630,#a52c1c);color:#fff}
    .cv-btn.warn-danger:hover{border-color:#ff8a70;color:#fff;filter:brightness(1.08)}
    @keyframes binderFlash{0%,55%{box-shadow:0 0 0 3px rgba(207,154,68,.95),0 0 38px rgba(207,154,68,.55)}100%{box-shadow:0 0 0 0 rgba(207,154,68,0),0 0 0 rgba(207,154,68,0)}}
    #binder.flash .binder-page{animation:binderFlash 1.8s ease}
    @media(prefers-reduced-motion:reduce){#binder.flash .binder-page{animation:none}}
    /* Binder */
    .binder-wrap{width:min(1240px,calc(100% - 32px));margin:0 auto;padding:4px 0 72px}
    .binder-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px}
    .binder-head h2{margin:0;font-family:"Barlow Condensed",sans-serif;font-size:2.1rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
    .binder-count{color:var(--muted);font-weight:600}
    .binder-sort{margin-left:auto;display:inline-flex;align-items:center;gap:8px;font-family:"Barlow Condensed",sans-serif;font-size:.95rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#1c6b4a}
    .binder-sort select{appearance:none;-webkit-appearance:none;background:#0b241a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23d9a05e' stroke-width='2' fill='none'/%3E%3C/svg%3E") no-repeat right 10px center/10px 6px;color:#f2ecdc;border:1.5px solid #d9a05e;border-radius:8px;padding:7px 30px 7px 12px;font-family:"Barlow Condensed",sans-serif;font-size:1rem;font-weight:700;letter-spacing:.04em;cursor:pointer}
    .binder-note{margin:2px 0 14px;color:var(--muted);font-size:.92rem}
    .binder-page{position:relative;background:linear-gradient(150deg,#123528,#0a2016);border:2px solid #1e4633;border-radius:16px;padding:18px 16px 18px 36px;box-shadow:var(--shadow)}
    .binder-rings{position:absolute;left:11px;top:0;bottom:0;display:flex;flex-direction:column;justify-content:space-evenly}
    .binder-rings i{display:block;width:13px;height:13px;border-radius:50%;border:3px solid #c8cdd2;background:#394048}
    .binder-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
    .pocket{position:relative;border:1.5px dashed rgba(217,160,94,.38);border-radius:12px;padding:5px;background:rgba(255,255,255,.045)}
    .pocket.filled{border-style:solid;border-color:rgba(217,160,94,.5);background:rgba(255,255,255,.08)}
    .pocket.moving-src{outline:3px solid #f4cf6b;outline-offset:1px}
    .pocket.moving-src .tcard{transform:scale(.965)}
    .binder-wrap.move-mode .binder-page{box-shadow:0 0 0 3px rgba(244,207,107,.85),var(--shadow)}
    .pocket .tcard{transition:transform .18s ease}
    .pocket-empty{aspect-ratio:5/7;display:grid;place-items:center;color:rgba(242,236,220,.28);font-family:"Barlow Condensed",sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
    .stack-badge{position:absolute;top:-7px;right:-7px;z-index:6;min-width:26px;height:26px;padding:0 7px;border-radius:999px;background:radial-gradient(circle at 32% 28%,#ff6f61,#e02318 62%,#b91409);border:2px solid #fff;color:#fff;font-family:"Barlow Condensed",sans-serif;font-size:1rem;font-weight:800;line-height:1;display:grid;place-items:center;box-shadow:0 3px 9px rgba(0,0,0,.55);pointer-events:none}
    .binder-nav{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;justify-content:space-between;margin-top:14px}
    .binder-nav-btns{display:flex;gap:8px;align-items:center}
    .binder-btn{appearance:none;border:2px solid var(--line);background:var(--surface);color:var(--ink);border-radius:9px;padding:8px 14px;font:inherit;font-size:.92rem;font-weight:700;cursor:pointer}
    .binder-btn:disabled{opacity:.45;cursor:default}
    .binder-page-label{font-weight:700;color:var(--muted)}
    .binder-reset{appearance:none;border:0;background:none;color:var(--muted);font:inherit;font-size:.85rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:4px}
    @media(max-width:540px){.binder-grid{gap:8px}.binder-page{padding:14px 10px 14px 28px}.binder-rings{left:7px}.pack-slot{flex-basis:208px}}
    /* Full-card view + move mode + BuyBack pile */
    .move-banner{position:fixed;top:0;left:0;right:0;z-index:1001;display:none;align-items:center;justify-content:center;gap:10px 16px;flex-wrap:wrap;background:#0e3a2a;border-bottom:2px solid #d9a05e;color:#f2ecdc;padding:10px 14px;font-weight:700;text-align:center;box-shadow:0 10px 30px rgba(0,0,0,.45)}
    .move-banner.show{display:flex}
    .move-cancel{appearance:none;border:2px solid #f6d98c;background:linear-gradient(180deg,#eec27c,#cf9a44);color:#241703;font-family:"Barlow Condensed",sans-serif;font-size:.95rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:6px 14px;border-radius:8px;cursor:pointer}
    .cv-modal{position:fixed;inset:0;z-index:1000;display:none;align-items:flex-start;justify-content:center;padding:14px;overflow-y:auto}
    .cv-modal.open{display:flex}
    .cv-backdrop{position:fixed;inset:0;background:rgba(4,12,8,.84)}
    .cv-panel{position:relative;width:min(560px,100%);max-width:calc(100vw - 28px);margin:auto;background:linear-gradient(170deg,#0e2b1f,#081a11);border:2px solid #d9a05e;border-radius:18px;padding:24px 20px 20px;color:#f2ecdc;box-shadow:0 30px 80px rgba(0,0,0,.6)}
    .cv-panel.wide{width:min(880px,100%)}
    .cv-panel h2{margin:0 34px 12px 0;font-family:"Barlow Condensed",sans-serif;font-size:1.7rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#fff7e2;line-height:1.05}
    .cv-card{width:min(380px,100%);margin:0 auto}
    .cv-copies{margin:14px auto 0;max-width:400px;text-align:center;color:#eec27c;font-weight:700;font-size:.98rem;letter-spacing:.02em}
    /* Certificate ID line — printed on every card back + shown in card view */
    .t-cert{display:block;text-align:center;font-family:"Barlow Condensed",sans-serif;font-weight:700;letter-spacing:.22em;text-transform:uppercase;font-size:.66rem;line-height:1.5;color:rgba(238,220,170,.55);margin-top:8px;white-space:nowrap}
    .ins-back .t-cert{flex:none;font-size:.6em;margin-top:0;padding:0 1.75em .95em;color:rgba(238,220,170,.5)}
    .ins-winners .t-cert{color:rgba(74,60,25,.55)}
    .imm-cert{position:absolute;left:0;right:0;bottom:.45em;z-index:4;margin:0;font-size:.58em;color:rgba(167,243,199,.55)}
    .cv-cert{margin:8px auto 0;max-width:400px;text-align:center;color:rgba(238,220,170,.78);font-family:"Barlow Condensed",sans-serif;font-weight:700;letter-spacing:.14em;font-size:.88rem;text-transform:uppercase}
    .cv-copies[hidden]{display:none}
    .cv-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:18px}
    .cv-btn{appearance:none;border:2px solid rgba(217,160,94,.75);background:rgba(8,24,17,.6);color:#f2ecdc;font-family:"Barlow Condensed",sans-serif;font-size:1rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:10px 16px;border-radius:10px;cursor:pointer}
    .cv-btn:hover{border-color:#d9a05e;color:#fff}
    .cv-btn-danger{border-color:rgba(224,101,79,.85)}
    .cv-btn-danger:hover{border-color:#e0654f}
    .buyback-box{margin-top:22px;border:2px dashed rgba(154,107,31,.55);border-radius:14px;padding:16px;background:rgba(217,160,94,.07)}
    .buyback-pile{display:flex;align-items:center;gap:16px;width:100%;background:none;border:0;padding:0;cursor:pointer;text-align:left;font:inherit;color:inherit}
    .bb-stack{position:relative;width:52px;height:64px;flex:none}
    .bb-stack i{position:absolute;inset:0;border:2px solid #9a6b1f;border-radius:7px;background:linear-gradient(160deg,#17573c,#0b241a)}
    .bb-stack i:nth-child(1){transform:rotate(-7deg) translate(-3px,2px)}
    .bb-stack i:nth-child(2){transform:rotate(5deg) translate(3px,0)}
    .bb-meta{flex:1;min-width:0}
    .bb-title{display:block;font-family:"Barlow Condensed",sans-serif;font-size:1.5rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;line-height:1}
    .bb-progress{display:block;color:var(--muted);font-weight:600;font-size:.95rem;margin-top:3px}
    .bb-count{flex:none;min-width:54px;height:54px;border-radius:50%;background:linear-gradient(180deg,#eec27c,#cf9a44);color:#241703;font-family:"Barlow Condensed",sans-serif;font-size:1.55rem;font-weight:800;display:grid;place-items:center;padding:0 8px;box-shadow:0 6px 16px rgba(0,0,0,.25)}
    .bb-note{margin:10px 0 0;color:var(--muted);font-size:.88rem}
    .bb-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
    .bb-act-btn{appearance:none;border:2px solid var(--line);background:var(--surface);color:var(--ink);font-family:"Barlow Condensed",sans-serif;font-size:1rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:10px 16px;border-radius:10px;cursor:pointer}
    .bb-act-btn:hover{border-color:#9a6b1f}
    .bb-act-btn:active{transform:scale(.97)}
    .bb-act-btn:disabled{opacity:.45;cursor:default;transform:none}
    .bb-act-btn:disabled:hover{border-color:var(--line)}
    .bb-exchange{border-color:#f6d98c;background:linear-gradient(180deg,#eec27c,#cf9a44);color:#241703;box-shadow:0 6px 18px rgba(0,0,0,.25)}
    .bb-exchange:hover{border-color:#f6d98c;filter:brightness(1.07)}
    .bb-exchange:disabled{background:var(--surface);color:var(--ink);border-color:var(--line);box-shadow:none;filter:none}
    .bb-feedback{margin:10px 0 0;min-height:1.25em;color:#7c5514;font-weight:700;font-size:.95rem}
    .bb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:8px}
    .bb-item{display:flex;flex-direction:column;gap:8px}
    .bb-item .t-name{font-size:.86rem;line-height:1.02}
    .bb-item .t-total .pts{font-size:1.65rem}
    .bb-return{align-self:center;font-size:.85rem;padding:8px 12px}
    .bb-empty{color:rgba(242,236,220,.72);text-align:center;padding:10px 0 2px;margin:0}
    @media(max-width:640px){.bb-grid{grid-template-columns:repeat(2,1fr)}.cv-card{width:min(340px,100%)}}
    @media(prefers-reduced-motion:reduce){.foil-face.shine:after{animation:none}.pack-row.show .pack-slot{animation:none;opacity:1}.pack-foil.torn .pack-sparks i{animation:none}.pack-foil.tearing .foil-main{animation:none}}

    @media(prefers-reduced-motion:reduce){.tcard-inner{transition:none}}

    /* ===== Pack Revamp (Tim, 2026-10-21): opened husk, emergence, exit surprise ===== */
    .pack-stage.done{display:grid;place-items:center;min-height:0;padding:12px 0 4px}
    .pack-stage.done .pack-hint{display:none}
    .pack-stage.done .pack-foil{width:92px;height:128px;cursor:default;pointer-events:none}
    .pack-stage.done .pack-foil.torn .foil-half.top{transform:translate(-8px,-20px) rotate(-9deg);opacity:.95}
    .pack-stage.done .pack-foil.torn .foil-half.bot{transform:translate(7px,18px) rotate(7deg);opacity:.95}
    .pack-stage.done .foil-face{border-width:2px;padding:6px 4px;gap:2px}
    .pack-stage.done .foil-face img{width:34px}
    .pack-stage.done .foil-name{font-size:.58rem;letter-spacing:.05em}
    .pack-stage.done .foil-sub{font-size:.4rem;letter-spacing:.08em}
    .pack-stage.done .foil-count{display:none}
    #pack-row.show .pack-slot{animation-name:emergein;animation-duration:.7s}
    @keyframes emergein{0%{opacity:0;transform:translateY(-120px) scale(.5) rotateY(65deg)}55%{opacity:1}100%{opacity:1;transform:translateY(0) scale(1) rotateY(0)}}
    .pack-super.sealed-mode{background:rgba(2,2,1,.94)}
    .pack-super-sealed{position:relative;text-align:center;padding:22px 18px;animation:superPop .45s cubic-bezier(.2,.7,.3,1.08) both}
    .pack-super-sealed[hidden]{display:none}
    .sealed-kicker{margin:0;font-family:"Barlow Condensed",sans-serif;font-size:1rem;font-weight:800;letter-spacing:.4em;text-transform:uppercase;color:#f4cf6b}
    .sealed-title{margin:10px 0 2px;font-family:"Barlow Condensed",sans-serif;font-size:2.1rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#fff7e2;line-height:1.05}
    .sealed-card{position:relative;width:186px;height:260px;margin:20px auto 6px;border:3px solid #d9a05e;border-radius:14px;background:repeating-linear-gradient(45deg,rgba(255,255,255,.05) 0 10px,transparent 10px 20px),linear-gradient(165deg,#2b251b,#171310 55%,#0a0908);display:flex;align-items:center;justify-content:center;box-shadow:0 24px 60px rgba(0,0,0,.65);animation:sealedPulse 1.7s ease-in-out infinite;overflow:hidden}
    .sealed-card img{width:100px;height:auto}
    .sealed-card::after{content:"";position:absolute;top:-30%;bottom:-30%;left:-70%;width:45%;background:linear-gradient(100deg,transparent,rgba(255,246,214,.28),transparent);transform:rotate(8deg);animation:foilshine 2.6s ease-in-out infinite}
    @keyframes sealedPulse{0%,100%{box-shadow:0 24px 60px rgba(0,0,0,.65),0 0 20px rgba(244,207,107,.22);transform:scale(1)}50%{box-shadow:0 24px 60px rgba(0,0,0,.65),0 0 58px rgba(244,207,107,.55);transform:scale(1.025)}}
    .sealed-count{margin:12px 0 0;font-family:"Barlow Condensed",sans-serif;font-size:.95rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:rgba(242,236,220,.75)}
    @media(prefers-reduced-motion:reduce){.sealed-card{animation:none}.sealed-card::after{animation:none}#pack-row.show .pack-slot{animation:none}}
    /* ================= Phase 3 — Executive Polish (2026-10-15) ================= */
    /* Holographic sheen sweeps — transform-only, compositor-friendly */
    .ins-sheen{overflow:hidden}
    .ins-sheen::after{content:"";position:absolute;inset:-14%;background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.20) 50%,transparent 58%);transform:translateX(-125%);animation:p3Holo 7.5s ease-in-out infinite;animation-delay:calc(var(--i,0)*.4s);pointer-events:none}
    .ins-tis .ins-sheen::after{background:linear-gradient(105deg,transparent 40%,rgba(244,207,107,.38) 50%,transparent 60%)}
    .ins-winners .ins-sheen::after{background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.45) 50%,transparent 60%);animation-duration:5.8s}
    .tcard.par25 .t-photo::before,.tcard.par10 .t-photo::before,.tcard.par5 .t-photo::before,.tcard.par1 .t-photo::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.26) 50%,transparent 58%);transform:translateX(-125%);animation:p3Holo 8.5s ease-in-out infinite;animation-delay:calc(var(--i,0)*.4s)}
    .tcard.par1 .t-photo::before{background:linear-gradient(105deg,transparent 40%,rgba(244,207,107,.4) 50%,transparent 60%)}
    @keyframes p3Holo{0%{transform:translateX(-125%)}24%{transform:translateX(125%)}100%{transform:translateX(125%)}}
    /* Escalating reveal glows by tier */
    .pack-slot{position:relative}
    .pack-slot .tcard.par5{filter:drop-shadow(0 0 13px rgba(248,113,113,.55))}
    .pack-slot .tcard.par10{filter:drop-shadow(0 0 13px rgba(74,222,128,.5))}
    .pack-slot .tcard.par1{filter:drop-shadow(0 0 19px rgba(244,207,107,.8))}
    .pack-slot .ins-winners{filter:drop-shadow(0 0 15px rgba(245,242,230,.55))}
    /* Tier-coloured ambience on the pack panel */
    .pack-panel{transition:box-shadow .8s ease}
    .pack-panel.amb-tis{box-shadow:0 0 0 2px rgba(244,207,107,.5),0 30px 90px rgba(0,0,0,.6),0 0 110px rgba(244,207,107,.20)}
    .pack-panel.amb-gold{box-shadow:0 0 0 2px rgba(244,207,107,.4),0 30px 90px rgba(0,0,0,.6),0 0 90px rgba(244,207,107,.16)}
    .pack-panel.amb-win{box-shadow:0 0 0 2px rgba(240,238,228,.45),0 30px 90px rgba(0,0,0,.6),0 0 90px rgba(240,238,228,.15)}
    .pack-panel.amb-red{box-shadow:0 30px 90px rgba(0,0,0,.6),0 0 90px rgba(248,113,113,.16)}
    .pack-panel.amb-green{box-shadow:0 30px 90px rgba(0,0,0,.6),0 0 90px rgba(74,222,128,.14)}
    .pack-panel.amb-ins{box-shadow:0 30px 90px rgba(0,0,0,.6),0 0 90px rgba(217,167,95,.16)}
    .pack-panel.amb-blue{box-shadow:0 30px 90px rgba(0,0,0,.6),0 0 90px rgba(96,165,250,.15)}
    /* Modal entries */
    .pack-modal.open .pack-panel,.cv-modal.open .cv-panel{animation:p3PanelIn .32s cubic-bezier(.2,.8,.3,1.08) both}
    @keyframes p3PanelIn{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
    /* --- Signature moment 1: The One Of One Ceremony --- */
    .pack-modal.ceremony::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.55);opacity:0;animation:p3PageDim 2.1s ease both;pointer-events:none}
    @keyframes p3PageDim{0%{opacity:0}12%{opacity:1}82%{opacity:1}100%{opacity:0}}
    .pack-modal.ceremony .pack-panel::before{content:"";position:absolute;inset:0;z-index:3;border-radius:inherit;background:radial-gradient(ellipse 78% 62% at 50% 42%,rgba(52,36,6,.93),rgba(5,3,0,.97) 76%);opacity:0;animation:p3Dim 2.1s ease both;pointer-events:none}
    @keyframes p3Dim{0%{opacity:0}12%{opacity:1}82%{opacity:1}100%{opacity:0}}
    .pack-modal.ceremony .pack-panel{overflow:hidden}
    .pack-modal.ceremony .pack-panel::after{content:"";position:absolute;top:-22%;bottom:-22%;left:0;width:34%;z-index:5;pointer-events:none;background:linear-gradient(100deg,transparent,rgba(244,207,107,.22) 36%,rgba(255,246,214,.78) 50%,rgba(244,207,107,.22) 64%,transparent);transform:translateX(-190%) skewX(-9deg);animation:p3Sweep 2.1s cubic-bezier(.35,.6,.3,1) both;mix-blend-mode:screen}
    @keyframes p3Sweep{0%{transform:translateX(-190%) skewX(-9deg)}55%{transform:translateX(430%) skewX(-9deg)}100%{transform:translateX(430%) skewX(-9deg)}}
    .pack-modal.ceremony .pack-slot.tis-slot{animation:p3RiseB 2.1s cubic-bezier(.2,.7,.25,1) both;z-index:4}
    .pack-modal.ceremony .tis-slot .tis-stamp{animation:p3Sign 1.15s ease .5s both}
    @keyframes p3Sign{0%{opacity:0;clip-path:inset(0 100% 0 0)}25%{opacity:1}100%{opacity:1;clip-path:inset(0 -12% 0 0)}}
    @keyframes p3RiseB{0%{opacity:0;transform:translateY(14px) scale(.95)}18%{opacity:1}38%{transform:translateY(-10px) scale(1.075);filter:drop-shadow(0 0 60px rgba(244,207,107,1))}78%{transform:translateY(-4px) scale(1.03);filter:drop-shadow(0 0 36px rgba(244,207,107,.85))}100%{opacity:1;transform:translateY(0) scale(1)}}
    /* --- Signature moment 5: The Spotlight Shelf ---
       After the flips, the pack's best card lifts into a soft pool of light
       while the rest of the row dims to ~40%. Light and a slow lift only —
       no bounce, no elastic. Tap skips the hold. */
    .pack-modal.shelf .pack-panel{overflow:hidden}
    .pack-modal.shelf .pack-panel::before{content:"";position:absolute;inset:0;z-index:3;border-radius:inherit;background:radial-gradient(ellipse 54% 62% at var(--sx,50%) 46%,rgba(255,240,196,.15) 0%,rgba(16,10,2,.26) 52%,rgba(0,0,0,.5) 100%);opacity:0;animation:shelfDimIn .55s ease both;pointer-events:none}
    @keyframes shelfDimIn{from{opacity:0}to{opacity:1}}
    .pack-modal.shelf .pack-slot.shelf-dim{animation:shelfDim .55s ease both}
    @keyframes shelfDim{from{opacity:1}to{opacity:.42}}
    .pack-modal.shelf .pack-slot.shelf-best{animation:shelfLift .65s cubic-bezier(.2,.7,.25,1) both;z-index:4}
    @keyframes shelfLift{0%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:1;transform:translateY(-10px) scale(1.09)}}
    .pack-modal.shelf-out .pack-panel::before{animation:shelfDimOut .5s ease both}
    @keyframes shelfDimOut{from{opacity:1}to{opacity:0}}
    .pack-modal.shelf-out .pack-slot.shelf-dim{animation:shelfUndim .5s ease both}
    @keyframes shelfUndim{from{opacity:.42}to{opacity:1}}
    .pack-modal.shelf-out .pack-slot.shelf-best{animation:shelfSettle .55s cubic-bezier(.3,.6,.3,1) both}
    @keyframes shelfSettle{from{opacity:1;transform:translateY(-10px) scale(1.09)}to{opacity:1;transform:translateY(0) scale(1)}}
    /* --- Staged reveal flow (Tim, 2026-10-16; revised same day): scroll
       the base cards (identical pulls stacked under a ×N badge), tap
       "Reveal Parallel" and the stage SWAPS to the parallels at full size
       (Spotlight Shelf), each bonus pull appended as a shadowed silhouette
       whose tap-shake-reveal gates the binder until all are revealed. --- */
    /* The parallel stage (Tim, 2026-10-16): it REPLACES the base view inside
       the same panel — a wrapping stage whose cards sit at full base-card
       size, centered as a group against the panel, its height hugging its
       content. No scroll row, no centering paddings, no void. */
    .pack-par-row{position:relative;margin-top:4px;border-top:1px dashed rgba(217,160,94,.3);flex-wrap:wrap;justify-content:center;align-content:flex-start;overflow:visible;scroll-snap-type:none;padding:20px 6px 22px;row-gap:18px}
    .pack-par-row[hidden]{display:none}
    .pack-par-row .pack-slot{position:relative;z-index:2;scroll-snap-align:none}
    /* The Shelf pool: a lit stage, not a tint — a radial pool of light sits
       in the stage behind the lifted card and spills as an ellipse across
       the stage floor beneath it. Soft white-gold, visible falloff, no
       hard edges, no rings. Positioned by JS from the best slot's rect. */
    .par-pool{position:absolute;border-radius:50%;pointer-events:none;opacity:0;z-index:1;transition:opacity .55s ease;background:radial-gradient(ellipse 50% 50% at 50% 50%,rgba(255,246,214,.52) 0%,rgba(246,217,140,.30) 36%,rgba(244,207,107,.13) 60%,rgba(244,207,107,0) 76%)}
    .par-pool.on{opacity:1}
    .par-pool-floor{position:absolute;border-radius:50%;pointer-events:none;opacity:0;z-index:1;transition:opacity .55s ease;background:radial-gradient(ellipse 50% 50% at 50% 50%,rgba(255,240,200,.42) 0%,rgba(244,207,107,.17) 52%,rgba(244,207,107,0) 76%)}
    .par-pool-floor.on{opacity:1}
    .pack-modal.shelf .pack-par-row .pack-slot.shadow-slot{opacity:.42;transition:opacity .55s ease}
    .pack-modal.shelf-out .pack-par-row .pack-slot.shadow-slot{opacity:1}
    /* Hold-to-animate treat (Tim, 2026-10-17): press-and-hold a 1/1 front —
       TIS One of Ones and gold parallels only, card view + pack reveal —
       and the photo takes a slow Ken Burns drift (scale toward its own
       focal point + a short diagonal travel) while a warm foil sweep
       crosses the card in sync; the frame leans in a hair beneath the
       photo (parallax). Settles into a barely-there breath while the
       press holds; release eases home. Transform/opacity only — the
       gesture logic lives with the pack flow below. */
    .cv-modal .tcard.ins-tis,.cv-modal .tcard.par1,.cv-modal .tcard.ins-legends,.pack-modal .tcard.ins-tis,.pack-modal .tcard.par1,.pack-modal .tcard.ins-legends{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
    /* Native long-press guard (Tim's phone, 2026-10-17): a hold on a
       full-size front belongs to the card gesture, not the browser's
       image selection/callout. The front and everything inside it —
       most importantly the photo <img> — opts out of tap flash,
       selection, callout and native image drag. Scoped to card fronts
       in card view + pack reveal only. */
    .cv-modal .tcard .tfront,.cv-modal .tcard .ins-front,.pack-modal .tcard .tfront,.pack-modal .tcard .ins-front,.cv-modal .tcard .tfront *,.cv-modal .tcard .ins-front *,.pack-modal .tcard .tfront *,.pack-modal .tcard .ins-front *{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
    .cv-modal .tcard .tfront img,.cv-modal .tcard .ins-front img,.pack-modal .tcard .tfront img,.pack-modal .tcard .ins-front img{-webkit-user-drag:none}
    /* Definitive long-press hardening (Tim's S24, 2026-10-17): the modal-
       scoped guard above missed every card surface outside the two
       modals — above all the binder pockets, whose minis are bare text
       (name/serial) a long-press could select and paint blue. This page
       is a card product: NO card element anywhere on it — full cards in
       any context, binder pockets and their minis — ever offers native
       selection, callout, tap flash or image drag. (The contextmenu
       handler below enforces the same line in script.) */
    .tcard,.tcard *,.pocket,.pocket *{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
    .tcard img,.pocket img{-webkit-user-drag:none}
    /* Tim's own snippet (sent 2026-10-17, applied verbatim at his
       instruction): the global img rule he remembered using before —
       every image on the page, not just card photos in the modals.
       The touch-callout half of the stack lives in the rules above. */
    img {
      -webkit-tap-highlight-color: transparent;
      -webkit-user-select: none;
      user-select: none;
      -webkit-user-drag: none;
      user-drag: none;
    }
    .hold-sweep{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;mix-blend-mode:screen;background:linear-gradient(100deg,transparent 36%,rgba(255,238,196,.16) 44%,rgba(255,216,124,.55) 50%,rgba(255,238,196,.16) 56%,transparent 64%);transform:translateX(-125%)}
    .tcard.hold-on .hold-sweep{animation:holdSweep 3.5s cubic-bezier(.22,.61,.21,1) forwards}
    @keyframes holdSweep{0%{transform:translateX(-125%);opacity:0}10%{opacity:1}86%{opacity:1}100%{transform:translateX(125%);opacity:0}}
    .tcard .hold-photo{will-change:transform}
    .tcard.hold-on .hold-photo{animation:holdDrift 3.5s cubic-bezier(.22,.61,.21,1) forwards}
    @keyframes holdDrift{from{transform:scale(1) translate(0,0)}to{transform:scale(1.12) translate(var(--hdx,1.2%),var(--hdy,-1%))}}
    .tcard.hold-on .hold-photo.breathing{animation:holdBreath 3s ease-in-out infinite alternate}
    @keyframes holdBreath{from{transform:scale(1.12) translate(var(--hdx,1.2%),var(--hdy,-1%))}to{transform:scale(1.124) translate(var(--hdx,1.2%),var(--hdy,-1%))}}
    /* Legends pan-zoom (Tim, 2026-10-17; retuned after his live test
       later that night): the /10 Legends inserts get the improved
       treatment he asked for after the disconnect — slower than the 1/1
       drift and a true pan: the photo pushes to 1.16 while travelling
       AROUND the face — transform-origin sits on the card's focal point,
       so the face is the fixed point of the move and the rest of the
       photo sweeps around it (portrait distance, never macro), the foil
       sweep crossing on the same 4.5s clock, then the same micro-breath
       while held. Camera work only — no person animation — and the photo
       moves inside its own frame only, so the Legends bar, name and
       serial are never covered. */
    .tcard.hold-on .hold-photo.hold-panphoto{animation:holdPan 4.5s cubic-bezier(.28,.4,.26,1) forwards}
    @keyframes holdPan{from{transform:scale(1) translate(0,0)}to{transform:scale(1.16) translate(var(--hdx,0%),var(--hdy,0%))}}
    .tcard.hold-on .hold-photo.hold-panphoto.breathing{animation:holdPanBreath 3s ease-in-out infinite alternate}
    @keyframes holdPanBreath{from{transform:scale(1.16) translate(var(--hdx,0%),var(--hdy,0%))}to{transform:scale(1.164) translate(var(--hdx,0%),var(--hdy,0%))}}
    .tcard.hold-on.hold-panning .hold-sweep{animation:holdSweep 4.5s cubic-bezier(.28,.4,.26,1) forwards}
    /* Tilt-shift (Tim, 2026-10-17, Legends profile only): a blurred
       twin of the photo living INSIDE the photo element — same box,
       same inherited background, riding the photo's own transform, so
       registration is pixel-true by construction. V3 (Tim, after his
       live test of the band version): the mask is no longer a
       horizontal band around the face — it is a per-card elliptical
       SUBJECT mask (--tcx/--tcy centre, --trx/--try radii, % of the
       photo box, fitted per Legend in the insert data's tilt field):
       the whole person — and their immediate foreground — stays sharp
       while everything outside the ellipse melts, up to a 7px blur
       ramped on the pan's 4.5s clock via WAAPI in holdStart. The
       ellipse edge is feathered generously (clear to 62% of the ray,
       fully blurred at 118%) so no oval seam can show. This rule is
       only the masked stage. */
    .hold-tilt{position:absolute;inset:0;pointer-events:none;background:inherit;border-radius:inherit;will-change:filter;-webkit-mask-image:radial-gradient(ellipse var(--trx,60%) var(--try,50%) at var(--tcx,50%) var(--tcy,40%),transparent 62%,rgba(0,0,0,.5) 82%,#000 118%);mask-image:radial-gradient(ellipse var(--trx,60%) var(--try,50%) at var(--tcx,50%) var(--tcy,40%),transparent 62%,rgba(0,0,0,.5) 82%,#000 118%)}
    /* Shadowed specials (Tim, 2026-10-16): a bonus pull waits at the end of
       the parallel stage as a dark silhouette — identity hidden — until it
       is tapped: a short, restrained tremble, then a ~1s lightening into
       the full card. The binder stays locked until every shadow is out. */
    .pack-slot.shadow-slot{cursor:pointer}
    .pack-slot.shadow-slot .shadow-card{filter:brightness(.05) saturate(.15) contrast(1.02)}
    .pack-slot.shadow-slot::before{content:"";position:absolute;inset:0;z-index:2;border-radius:12px;background:rgba(3,8,5,.6);pointer-events:none}
    .pack-slot.shadow-slot::after{content:"?";position:absolute;inset:0;z-index:3;display:grid;place-items:center;font-family:"Barlow Condensed",sans-serif;font-size:3.2rem;font-weight:800;letter-spacing:.05em;color:rgba(246,217,140,.8);text-shadow:0 2px 18px rgba(0,0,0,.85);pointer-events:none}
    .pack-par-row .pack-slot.shadow-shake{animation:shadowShake .45s ease both}
    @keyframes shadowShake{0%,100%{transform:translateX(0)}18%{transform:translateX(-5px)}38%{transform:translateX(4px)}58%{transform:translateX(-3px)}78%{transform:translateX(2px)}}
    .pack-slot.shadow-revealing{pointer-events:none}
    .pack-slot.shadow-revealing .shadow-card{animation:shadowReveal 1s ease both}
    @keyframes shadowReveal{from{filter:brightness(.05) saturate(.15) contrast(1.02)}55%{filter:brightness(.62) saturate(.7)}to{filter:brightness(1) saturate(1) contrast(1)}}
    .pack-slot.shadow-revealing::before{animation:shadowFade 1s ease both}
    .pack-slot.shadow-revealing::after{animation:shadowFade 1s ease both}
    @keyframes shadowFade{from{opacity:1}to{opacity:0}}
    @media(prefers-reduced-motion:reduce){
      .pack-slot.shadow-shake{animation:none}
      .pack-slot.shadow-revealing .shadow-card{animation-duration:.01s}
      .pack-slot.shadow-revealing::before{animation-duration:.01s}
      .pack-slot.shadow-revealing::after{animation-duration:.01s}
    }
    /* Footer buttons ride in one wrapper: layout contents on wide screens
       (the pair sits in the actions row as before); a real flex row of its
       own once the footer stacks at phone widths. */
    .pack-foot-btns{display:contents}
    /* Once a row's flip cascade has landed, pin the slots to their natural
       state: when the Shelf classes come off, the slots' winning animation
       would otherwise flip back to cardin and REPLAY the flip-in. */
    .pack-row.landed .pack-slot{animation:none;opacity:1}
    /* Reveal + pack-section button groups: one shared baseline, centered
       as a group on narrow screens instead of wrapping ragged. */
    @media(max-width:700px){
      /* Pack footer stacks in rows so collision is impossible (Tim,
         2026-10-16): the Auto-Send toggle owns a full-width row; the
         action buttons own the row beneath it — one shared baseline,
         equal heights, labels never wrapped or squeezed. At the
         narrowest widths the pair stacks full-width instead. */
      .pack-foot-actions{flex:1 1 100%;flex-direction:column;align-items:stretch;gap:12px}
      .pack-foot-actions .autobb{align-self:flex-start}
      .pack-foot-btns{display:flex;gap:10px;width:100%}
      .pack-foot-btns .pack-nav-btn,.pack-foot-btns .pack-add-btn{flex:1 1 0;min-width:0;padding-left:10px;padding-right:10px;font-size:1.05rem;line-height:1.1;white-space:nowrap}
      .pack-bar-actions{width:100%;justify-content:center;align-items:stretch}
      .pack-bar-link{flex:1 1 100%;text-align:center}
      .pack-bar-actions .pack-open-btn{flex:1 1 0;min-width:0;padding-left:10px;padding-right:10px;font-size:1.08rem;line-height:1.1}
    }
    @media(max-width:480px){
      /* measured: at 412px the shared row leaves "Open Another Pack" a
         ~161px box for ~163px of label — a squeeze, so the pair stacks
         full-width here too rather than clip a label */
      .pack-foot-btns{flex-direction:column}
      .pack-foot-btns .pack-nav-btn,.pack-foot-btns .pack-add-btn{flex:none;width:100%}
    }
    .pack-flowctl{display:flex;justify-content:center;padding:16px 0 2px}
    .pack-flowctl[hidden]{display:none}
    .pack-nav-btn:disabled{opacity:.55;cursor:default}
    .pack-super{position:fixed;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;background:rgba(3,8,5,.84);cursor:pointer;overflow:hidden}
    .pack-super[hidden]{display:none}
    .pack-super-card{position:relative;width:min(320px,80vw);animation:superPop .45s cubic-bezier(.2,.7,.3,1.08) both}
    .pack-super-card.tis-pop{animation:none}
    @keyframes superPop{0%{opacity:0;transform:translateY(16px) scale(.9)}100%{opacity:1;transform:translateY(0) scale(1)}}
    .pack-super-hint{position:absolute;left:0;right:0;bottom:26px;margin:0;text-align:center;font-family:"Barlow Condensed",sans-serif;font-size:.95rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:rgba(242,236,220,.82);pointer-events:none}
    .pack-modal.super-ceremony .pack-super::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 78% 62% at 50% 42%,rgba(52,36,6,.5),rgba(5,3,0,.86) 76%);opacity:0;animation:p3Dim 2.1s ease both;pointer-events:none}
    .pack-modal.super-ceremony .pack-super::after{content:"";position:absolute;top:-22%;bottom:-22%;left:0;width:34%;background:linear-gradient(100deg,transparent,rgba(244,207,107,.22) 36%,rgba(255,246,214,.78) 50%,rgba(244,207,107,.22) 64%,transparent);transform:translateX(-190%) skewX(-9deg);animation:p3Sweep 2.1s cubic-bezier(.35,.6,.3,1) both;mix-blend-mode:screen;pointer-events:none}
    .pack-modal.super-ceremony .pack-super-card.tis-pop{animation:p3RiseB 2.1s cubic-bezier(.2,.7,.25,1) both}
    .pack-modal.super-ceremony .pack-super-card .tis-stamp{animation:p3Sign 1.15s ease .5s both}
    .pack-super-card.win-flash .ins-winners{animation:p3WinFlash 1.1s ease-out both}
    @media(prefers-reduced-motion:reduce){
      .pack-super-card{animation:none}
      .pack-modal.super-ceremony .pack-super::before,.pack-modal.super-ceremony .pack-super::after{animation:none;opacity:0}
      .pack-modal.super-ceremony .pack-super-card.tis-pop{animation:none}
      .pack-modal.super-ceremony .pack-super-card .tis-stamp{animation:none}
    }
    /* --- Signature moment 3: Winners ember burst + platinum flash --- */
    .ember-burst{position:absolute;inset:0;z-index:6;pointer-events:none}
    .ember-burst i{position:absolute;left:50%;top:56%;width:3px;height:3px;border-radius:50%;background:radial-gradient(circle,#fffbeF 0%,#f7dc9a 55%,rgba(247,220,154,0) 78%);filter:blur(.4px);opacity:0;animation:p3Ember .95s ease-out both;animation-delay:var(--dl,0s)}
    @keyframes p3Ember{0%{opacity:0;transform:translate(0,0) scale(.7)}14%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.15)}}
    .pack-slot.win-flash .ins-winners{animation:p3WinFlash 1.1s ease-out both}
    @keyframes p3WinFlash{0%{filter:brightness(1.3) drop-shadow(0 0 26px rgba(255,246,214,.95))}100%{filter:drop-shadow(0 0 15px rgba(245,242,230,.55))}}
    /* --- Signature moment 4: engraved serial plates + TIS data strip --- */
    .engrave{display:inline-flex;align-items:center;padding:.3em .78em .36em;border-radius:.3em;background:linear-gradient(180deg,#0c0c0f,#1a1a1f);border:1px solid rgba(244,207,107,.30);box-shadow:inset 0 2px 6px rgba(0,0,0,.9),inset 0 -1px 0 rgba(255,255,255,.13),0 1px 0 rgba(255,255,255,.05)}
    .engrave{flex:none;margin-left:.6em}
    .engrave .tis-stamp{position:static;transform:none}
    .ins-tis .ins-foot .engrave .tis-stamp{font-size:1.3em;white-space:nowrap}
    .engrave .ins-serial{padding-bottom:0}
    .engrave-win{background:linear-gradient(180deg,#241d10,#171106);border-color:rgba(244,207,107,.38)}
    .ins-foot{flex-wrap:wrap;row-gap:.5em}
    .ins-foot .ins-micro{position:static;flex:1 1 100%;order:-2;margin:0}
    .ins-foot .tis-strip{flex:1 1 100%;order:-1;font-size:.59375em;font-family:"Barlow Condensed",sans-serif;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:rgba(244,207,107,.9);white-space:nowrap}
    .ins-tis .ins-body{padding-top:1.15em;padding-bottom:.25em;font-size:.85em;line-height:1.41}
    .ins-tis .ins-body.tight{padding-top:.95em}
    .ins-card:not(.ins-tis) .ins-chip{font-size:1.02em;letter-spacing:.2em;padding:.25em .55em .2em .68em}
    .ins-card:not(.ins-tis) .ins-brand{white-space:nowrap}
    .ins-tis .ins-banner{padding:1.02em 1.6em 0;align-items:baseline}
    .ins-tis .ins-back .ins-banner{margin:0 1.75em;padding:.95em 0 .55em;border-bottom:1px solid rgba(244,207,107,.28)}
    .ins-tis .ins-nameblock{padding:0 1.6em 1.55em}
    .ins-tis .ins-subline{color:#a79d89}
    .ins-tis .ins-sheen{opacity:.06}
    .ins-tis .ins-story{font-size:.93em;line-height:1.5}
    .ins-tis .ins-body.tight .ins-story{font-size:.88em;line-height:1.48}
    .ins-tis .ins-body.tighter .ins-story{font-size:.84em;line-height:1.44}
    .card-compact .ins-tis .ins-story,.bb-item .ins-tis .ins-story{font-size:.88em;line-height:1.48}
    .ins-tis .ins-foot{border-top:1px solid rgba(244,207,107,.22);padding-top:.45em;padding-bottom:.7em;gap:.4em}
    .ins-tis .ins-headline{font-size:1.98em}
    .ins-body.tighter .ins-quote{margin-top:.5em}
    .ins-winners .ins-body{padding-top:.95em}
    /* --- Signature moment 2: Cinematic Card View (TIS + Winners) --- */
    .cv-modal.cinematic .cv-backdrop{background:radial-gradient(ellipse 92% 66% at 50% 36%,rgba(122,96,40,.30),rgba(2,5,3,.94) 68%)}
    .cv-modal.cinematic .cv-panel{width:min(700px,100%);background:linear-gradient(175deg,#111110,#060606);border-color:#c9a44e;box-shadow:0 0 0 1px rgba(244,207,107,.22),0 40px 110px rgba(0,0,0,.85),0 0 90px rgba(244,207,107,.13)}
    .cv-modal.cinematic .cv-card .tcard{filter:drop-shadow(0 18px 44px rgba(0,0,0,.65))}
    /* --- Binder as gallery (winning finish: gallery dark) --- */
    .binder-page{background:linear-gradient(150deg,#0d1712,#05080a);border-color:#3d4a35}
    @media(min-width:541px){.binder-grid{gap:16px}}
    .pocket.filled{transition:transform .18s ease,box-shadow .18s ease}
    @media(hover:hover){.pocket.filled:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(0,0,0,.38)}}
    .pocket.filled:active{transform:scale(.98)}
    .pocket:has(.tis-mini){box-shadow:0 0 0 2px rgba(244,207,107,.75),0 8px 26px rgba(244,207,107,.25)}
    .pocket:has(.win-mini){box-shadow:0 0 0 2px rgba(240,238,230,.6),0 8px 26px rgba(255,255,255,.16)}
    .pocket:has(.tcard.par1){box-shadow:0 0 0 1.5px rgba(244,207,107,.55),0 5px 18px rgba(244,207,107,.16)}
    /* --- Chrome & type tightening --- */
    .cv-btn,.binder-btn,.pack-btn{transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease}
    @media(hover:hover){.cv-btn:hover,.binder-btn:hover{transform:translateY(-1px)}}
    :focus-visible{outline:2px solid #f4cf6b;outline-offset:2px}
    @media(prefers-reduced-motion:reduce){
      .ins-sheen::after,.tcard .t-photo::before{animation:none}
      .pack-modal.open .pack-panel,.cv-modal.open .cv-panel{animation:none}
      .pack-modal.ceremony::before,.pack-modal.ceremony .pack-panel::after,.pack-modal.ceremony .pack-panel::before{animation:none;opacity:0}
      .pack-modal.ceremony .pack-slot.tis-slot,.pack-modal.ceremony .tis-slot .tis-stamp,.pack-slot.win-flash .ins-winners{animation:none}
      .pack-modal.shelf .pack-panel::before,.pack-modal.shelf .pack-slot.shelf-best,.pack-modal.shelf .pack-slot.shelf-dim{animation:none;opacity:1}
      .ember-burst{display:none}
      .pocket.filled{transition:none}
    }
  