/* SI Trading Cards — "Saturday at the card shop" theme.
   Light binder-page base, sticker bursts, chunky hard shadows, toy-box energy.
   DESIGN ONLY: every selector the JS depends on is preserved from the original sheet. */
:root{
  --paper:#FBF3E2; --paper2:#FFFDF6; --panel:#FFFDF6; --panel2:#FFF3D6;
  --ink:#211D2E; --dim:#5C5570;
  --coral:#FF5A4E; --yellow:#FFC61A; --teal:#0FB5A8; --grape:#7C4DFF; --green:#43C04B; --sky:#4FB0FF; --pink:#FF7BAC;
  --gold:#F5B301; --gold2:#B97E00;
  --line:#211D2E;
  --shadow:5px 5px 0 var(--ink); --shadow-sm:3px 3px 0 var(--ink);
  --radius:18px;
  --font-d:"Arial Rounded MT Bold","Trebuchet MS",Verdana,system-ui,sans-serif;
  --font-b:"Trebuchet MS",Verdana,system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:var(--font-b);line-height:1.55;
  background-color:var(--paper);
  background-image:radial-gradient(rgba(33,29,46,.075) 1.2px,transparent 1.3px);
  background-size:22px 22px}
::selection{background:var(--yellow);color:var(--ink)}
a{color:#0B6FA4;font-weight:600}
a:hover{color:var(--coral)}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px dashed var(--coral);outline-offset:2px}
/* ---------- buttons & chips: chunky toy style, every one with explicit background ---------- */
.btn{-webkit-appearance:none;appearance:none;border:2.5px solid var(--ink);background:var(--paper2);color:var(--ink);
  padding:.62rem 1.15rem;border-radius:999px;cursor:pointer;text-decoration:none;display:inline-block;
  font-family:var(--font-d);font-weight:700;letter-spacing:.01em;box-shadow:var(--shadow-sm);
  transition:transform .12s ease,box-shadow .12s ease}
.btn:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ink)}
.btn-gold{background:var(--yellow);color:var(--ink);border-color:var(--ink)}
.btn-ghost{background:var(--paper2);color:var(--ink)}
.btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}
.btn:disabled{opacity:.45;cursor:default;box-shadow:none;transform:none}
.chip{-webkit-appearance:none;appearance:none;background:var(--paper2);border:2px solid var(--ink);color:var(--ink);
  padding:.42rem .9rem;border-radius:999px;cursor:pointer;font-family:var(--font-d);font-weight:700;font-size:.92rem;
  box-shadow:2px 2px 0 var(--ink);transition:transform .12s ease,box-shadow .12s ease}
.chip:hover{transform:translate(-1px,-1px) rotate(-1deg);box-shadow:3px 3px 0 var(--ink)}
.chip-on{background:var(--ink);color:var(--paper)}
/* category color-coding on the filter chips */
.chip[data-cat="MTG"]{background:#E7DEFF}.chip[data-cat="MTG"].chip-on{background:var(--grape);color:#fff}
.chip[data-cat="Pokémon"]{background:#FFF0B3}.chip[data-cat="Pokémon"].chip-on{background:var(--yellow);color:var(--ink)}
.chip[data-cat="NBA"]{background:#FFD9D2}.chip[data-cat="NBA"].chip-on{background:var(--coral);color:var(--ink)}
.chip[data-cat="NFL"]{background:#D9F5DC}.chip[data-cat="NFL"].chip-on{background:var(--green);color:var(--ink)}
.chip[data-cat="MLB"]{background:#D8F5F1}.chip[data-cat="MLB"].chip-on{background:var(--teal);color:var(--ink)}
.chip[data-cat="Soccer"]{background:#E4F9E4}.chip[data-cat="Soccer"].chip-on{background:#2FA84F;color:#fff}
.chip[data-cat="Hockey"]{background:#D8EEFF}.chip[data-cat="Hockey"].chip-on{background:var(--sky);color:var(--ink)}
.chip[data-cat="Stubs"]{background:#FFE0EE}.chip[data-cat="Stubs"].chip-on{background:var(--pink);color:var(--ink)}
.chip[data-universe="mtg"].chip-on{background:var(--grape);color:#fff}
.chip[data-universe="pokemon"].chip-on{background:var(--yellow);color:var(--ink)}
.chip[data-universe="ygo"].chip-on{background:var(--coral);color:var(--ink)}
.chip[data-universe="lorcana"].chip-on{background:var(--teal);color:var(--ink)}
.chip[data-universe="events"].chip-on{background:var(--pink);color:var(--ink)}
/* ---------- header ---------- */
.site-head{position:sticky;top:0;z-index:40;display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;align-items:center;justify-content:space-between;
  padding:.7rem 1.1rem;background:var(--paper);border-bottom:3px solid var(--ink);box-shadow:0 4px 0 rgba(255,90,78,.55)}
.brand{font-family:var(--font-d);font-weight:800;letter-spacing:.03em;font-size:1.06rem}
.brand-mark{display:inline-block;background:var(--coral);color:var(--ink);border:2.5px solid var(--ink);border-radius:10px;
  padding:.08rem .5rem;margin-right:.45rem;transform:rotate(-3deg);box-shadow:2px 2px 0 var(--ink)}
.head-nav a{color:var(--ink);text-decoration:none;margin-left:.85rem;font-size:.92rem;font-weight:700}
.head-nav a:hover{color:var(--coral);text-decoration:underline wavy var(--coral) 1.5px;text-underline-offset:4px}
/* ---------- hero ---------- */
.hero{display:grid;grid-template-columns:1fr;gap:2rem;padding:2.4rem 1.1rem 1.2rem;max-width:1180px;margin:0 auto}
@media(min-width:920px){.hero{grid-template-columns:1.05fr .95fr}}
.eyebrow{display:inline-block;background:var(--ink);color:var(--paper);text-transform:uppercase;letter-spacing:.13em;
  font-size:.76rem;font-weight:800;padding:.32rem .8rem;border-radius:999px;transform:rotate(-1.6deg);box-shadow:var(--shadow-sm)}
h1{font-family:var(--font-d);font-size:clamp(2.1rem,6vw,3.5rem);line-height:1.06;letter-spacing:-.015em;margin:.7rem 0 .8rem}
.gold{display:inline-block;background:var(--yellow);border:2.5px solid var(--ink);border-radius:14px;padding:.02em .28em;
  transform:rotate(-1.2deg);box-shadow:var(--shadow-sm)}
.lede{font-size:1.1rem}
.honesty{color:var(--dim);font-size:.94rem;background:rgba(255,253,246,.75);border:2px dashed rgba(33,29,46,.5);
  border-radius:14px;padding:.6rem .85rem}
.preview-note{color:var(--dim);font-size:.86rem;font-weight:700}
.hero-cta{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.1rem}
.hero-stage{display:flex;flex-direction:column;align-items:center;gap:1.1rem}
.hero-card-slot,.live-card-slot{perspective:1100px}
.hero-speech{position:relative;background:var(--paper2);border:2.5px solid var(--ink);border-radius:20px;
  padding:1rem 1.25rem;max-width:430px;min-height:96px;box-shadow:var(--shadow)}
.hero-speech::before{content:"";position:absolute;top:-13px;left:52px;width:22px;height:22px;background:var(--paper2);
  border-left:2.5px solid var(--ink);border-top:2.5px solid var(--ink);transform:rotate(45deg)}
.speech-who{color:#A84A05;font-family:var(--font-d);font-weight:800;font-size:.85rem;text-transform:uppercase;letter-spacing:.07em}
.type-line{margin:.35rem 0 0;font-size:1.06rem}
.hero-dots{display:flex;gap:.5rem}
.hero-dots button{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;border:2.5px solid var(--ink);background:var(--paper2);cursor:pointer;padding:0}
.hero-dots button.on{background:var(--coral)}
/* ---------- sections ---------- */
.section{max-width:1180px;margin:0 auto;padding:2.6rem 1.1rem}
.section-alt{max-width:none;border-top:3px dashed rgba(33,29,46,.55);border-bottom:3px dashed rgba(33,29,46,.55);
  background-color:#EFF8EC;
  background-image:linear-gradient(rgba(23,110,80,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(23,110,80,.08) 1px,transparent 1px);
  background-size:26px 26px}
.section-alt>*{max-width:1180px;margin-left:auto;margin-right:auto}
.section-head h2{font-family:var(--font-d);font-size:clamp(1.6rem,4vw,2.25rem);letter-spacing:-.01em;margin:.2rem 0 .6rem;
  background:linear-gradient(transparent 64%,rgba(255,198,26,.75) 64%);display:inline-block;padding:0 .15em}
.section-head p{color:var(--dim);max-width:780px}
.count-badge{display:inline-block;background:var(--yellow);color:var(--ink);border:2.5px solid var(--ink);border-radius:999px;
  padding:.08rem .65rem;font-size:.85rem;font-family:var(--font-d);vertical-align:middle;transform:rotate(-2deg);box-shadow:2px 2px 0 var(--ink)}
.demo-tag{display:inline-block;background:var(--pink);color:var(--ink);border:2px solid var(--ink);border-radius:999px;
  padding:.1rem .65rem;font-size:.8rem;font-weight:800;vertical-align:middle;transform:rotate(-1.6deg)}
.binder-tools,.catalog-tools,.versus-tools{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin:1rem 0}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.search-input{background:var(--paper2);border:2.5px solid var(--ink);border-radius:999px;padding:.6rem 1.05rem;flex:1;min-width:200px;color:var(--ink);box-shadow:inset 2px 2px 0 rgba(33,29,46,.12)}
.search-input::placeholder{color:#8A83A0}
.select{background:var(--paper2);border:2.5px solid var(--ink);border-radius:999px;padding:.6rem .9rem;color:var(--ink);font-weight:700}
/* ---------- binder tiles: cards in sleeves ---------- */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:1.1rem}
@media(min-width:720px){.grid{grid-template-columns:repeat(auto-fill,minmax(188px,1fr))}}
.tile{background:var(--paper2);border:2.5px solid var(--ink);border-radius:var(--radius);overflow:hidden;cursor:pointer;text-align:left;
  -webkit-appearance:none;appearance:none;padding:0;color:var(--ink);width:100%;box-shadow:4px 4px 0 rgba(33,29,46,.9);
  transition:transform .16s ease,box-shadow .16s ease}
.tile:hover{transform:translateY(-6px) rotate(-.7deg);box-shadow:7px 10px 0 rgba(33,29,46,.9)}
.tile-art{aspect-ratio:63/88;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;background:#EFE7D2}
.tile-art::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(125deg,rgba(255,255,255,.34) 0%,rgba(255,255,255,.05) 34%,transparent 55%)}
.tile-art img{width:100%;height:100%;object-fit:cover;display:block}
.tile-meta{padding:.65rem .8rem .85rem;border-top:2.5px dashed rgba(33,29,46,.4)}
.tile-meta h3{margin:.25rem 0 .15rem;font-size:.98rem;line-height:1.25;font-family:var(--font-d)}
.tile-meta p{margin:0;color:var(--dim);font-size:.82rem}
.tile-price{color:var(--ink);font-weight:800;font-size:.9rem;margin-top:.35rem}
.tile-price small{color:var(--dim);font-weight:600}
.tile-cat{display:inline-block;font-size:.68rem;font-family:var(--font-d);text-transform:uppercase;letter-spacing:.09em;
  background:var(--teal);color:var(--ink);border:2px solid var(--ink);border-radius:999px;padding:.05rem .5rem;transform:rotate(-1.5deg)}
.tile-type{display:inline-block;font-size:.68rem;font-family:var(--font-d);text-transform:uppercase;letter-spacing:.09em;
  background:var(--grape);color:#fff;border:2px solid var(--ink);border-radius:999px;padding:.05rem .5rem;margin-left:.35rem;transform:rotate(1deg)}
.tile-artifact{background:#F7EFDA}
.tile-artifact .tile-art{background:radial-gradient(circle at 50% 38%,#FBF4DC,#EFE0BC)}
/* artifact pop-out stage: the object's own face, not a person-figure */
.pop-artifact{width:100%;height:240px;border:2.5px solid var(--ink);border-radius:14px;overflow:hidden;background:#EFE7D2;box-shadow:3px 4px 0 rgba(33,29,46,.35)}
.pop-artifact img.face{width:100%;height:100%;object-fit:cover;display:block}
.pop-artifact .css-art{height:100%}
/* trust stack panel (passport) */
.trust-stack .trust-row{border-top:2px dashed rgba(33,29,46,.35);padding:.6rem 0 .2rem}
.trust-row-head{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap}
.trust-row-head h4{margin:0;font-family:var(--font-d);font-size:.95rem}
.trust-state{font-size:.68rem;font-family:var(--font-d);text-transform:uppercase;letter-spacing:.08em;background:var(--teal);color:var(--ink);border:2px solid var(--ink);padding:.1rem .55rem;border-radius:999px;white-space:nowrap}
.trust-row p{margin:.25rem 0 .5rem;color:var(--dim)}
/* hobby collection form groups */
.wake-group{border:2.5px solid var(--ink);border-radius:14px;padding:.4rem .9rem .9rem;display:grid;gap:.85rem;margin:0}
.wake-group legend{font-family:var(--font-d);font-size:.85rem;padding:0 .45rem}
.wake-form select{background:var(--paper2);border:2.5px solid var(--ink);border-radius:14px;padding:.6rem .85rem;color:var(--ink);font:inherit}
.css-art{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;text-align:center;padding:.8rem;color:#FFF9EC}
.css-art .mono{font-family:var(--font-d);font-size:2.6rem;font-weight:800;letter-spacing:.02em;text-shadow:0 2px 10px rgba(0,0,0,.45)}
.css-art .team{font-weight:700;font-size:.85rem}
.css-art .setline{font-size:.72rem;opacity:.88}
.empty-note{color:var(--dim);border:2.5px dashed rgba(33,29,46,.55);border-radius:16px;padding:1rem 1.2rem;background:rgba(255,253,246,.7);max-width:640px}
/* ---------- living card visual ---------- */
.living{width:min(300px,78vw);aspect-ratio:63/88;border-radius:18px;position:relative;transform-style:preserve-3d;color:#FFF9EC;
  transition:transform .25s ease;box-shadow:8px 10px 0 rgba(33,29,46,.9),0 24px 50px rgba(33,29,46,.28);
  border:3px solid var(--ink);overflow:hidden;background:#2A2438}
.living img.face{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.living .css-art{position:absolute;inset:0}
.living::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.30) 46%,rgba(255,215,130,.20) 52%,transparent 66%);
  background-size:250% 250%;background-position:120% 0;mix-blend-mode:screen}
.living.shimmer::after{animation:foil 2.6s ease-in-out infinite alternate}
@keyframes foil{from{background-position:120% 0}to{background-position:-40% 0}}
.living.waking{animation:wake .85s cubic-bezier(.2,1.5,.35,1)}
@keyframes wake{0%{transform:scale(.68) rotate(-7deg);filter:brightness(.55)}55%{transform:scale(1.07) rotate(2deg);filter:brightness(1.25)}100%{transform:scale(1) rotate(0);filter:brightness(1)}}
.living .wake-word{position:absolute;left:0;right:0;bottom:0;padding:.7rem .9rem;color:#FFF7E6;background:linear-gradient(transparent,rgba(10,6,20,.85));font-size:.85rem}
/* ---------- catalog ---------- */
.catalog-counters{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.9rem;margin:1rem 0}
.counter{background:var(--paper2);border:2.5px solid var(--ink);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow-sm)}
.counter strong{display:block;font-family:var(--font-d);font-size:1.75rem;color:var(--ink)}
.counter:nth-child(1) strong{color:#D93A2E}.counter:nth-child(2) strong{color:#6D3FD4}
.counter:nth-child(3) strong{color:#0B7A70}.counter:nth-child(4) strong{color:#B97E00}
.counter:nth-child(5) strong{color:#D6336C}.counter:nth-child(6) strong{color:#1D7A34}
.counter span{color:var(--dim);font-size:.9rem}
.catalog-total{font-size:1.08rem}
.catalog-status{color:var(--dim);font-weight:600}
.catalog-pager{display:flex;gap:1rem;align-items:center;margin-top:1.1rem}
.sets-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.55rem;margin-top:.8rem;max-height:420px;overflow:auto}
.set-item{-webkit-appearance:none;appearance:none;background:var(--paper2);border:2px solid var(--ink);color:var(--ink);
  border-radius:14px;padding:.6rem .8rem;text-align:left;cursor:pointer;font-weight:700;box-shadow:2px 2px 0 rgba(33,29,46,.85)}
.set-item:hover{transform:rotate(-.5deg)}
.set-item small{color:var(--dim);display:block;font-weight:600}
.wake-btn{-webkit-appearance:none;appearance:none;background:var(--coral);color:var(--ink);border:2.5px solid var(--ink);border-radius:999px;
  padding:.42rem .85rem;font-family:var(--font-d);font-weight:700;cursor:pointer;margin:.5rem .75rem .85rem;box-shadow:3px 3px 0 var(--ink)}
.wake-btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}
/* ---------- matchup & team ---------- */
.versus-tools .vs{display:inline-grid;place-items:center;width:2.7rem;height:2.7rem;border-radius:50%;flex:none;
  background:var(--coral);border:2.5px solid var(--ink);box-shadow:var(--shadow-sm);
  font-family:var(--font-d);font-weight:800;color:var(--ink);transform:rotate(-4deg)}
.match-table,.stats-table{width:100%;border-collapse:collapse;margin:1rem 0;background:var(--paper2)}
.match-table td,.match-table th,.stats-table td,.stats-table th{border-bottom:2px solid rgba(33,29,46,.25);padding:.5rem .6rem;text-align:left;vertical-align:top}
.match-table th,.stats-table th{font-family:var(--font-d);background:var(--panel2)}
.hypo{background:#FFF3C2;border:2.5px solid var(--ink);border-radius:var(--radius);padding:1rem 1.2rem;box-shadow:var(--shadow-sm)}
.hypo-tag{color:#A84A05;font-family:var(--font-d);font-weight:800;text-transform:uppercase;letter-spacing:.09em;font-size:.78rem}
.team-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.9rem;margin:1rem 0}
.team-slot{background:rgba(255,253,246,.75);border:2.5px dashed rgba(33,29,46,.6);border-radius:var(--radius);padding:.85rem;min-height:86px}
.team-slot.filled{border-style:solid;border-color:var(--ink);background:#FFF0B3;box-shadow:var(--shadow-sm)}
.team-slot h4{margin:0 0 .2rem;font-size:.95rem;font-family:var(--font-d)}
.team-slot p{margin:0;color:var(--dim);font-size:.82rem}
.slot-clear{-webkit-appearance:none;appearance:none;background:var(--yellow);border:2px solid var(--ink);color:var(--ink);border-radius:999px;padding:.18rem .65rem;cursor:pointer;margin-top:.45rem;font-weight:800;font-size:.8rem}
/* ---------- live stage ---------- */
.live-wrap{display:grid;grid-template-columns:1fr;gap:1.5rem}
@media(min-width:860px){.live-wrap{grid-template-columns:auto 1fr}}
.live-panel{background:var(--paper2);border:2.5px solid var(--ink);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow)}
.live-line{font-size:1.12rem;min-height:3.2em;font-family:var(--font-d)}
.live-qa{color:var(--dim);border-top:2.5px dashed rgba(33,29,46,.4);padding-top:.8rem;min-height:4.5em}
.live-ladder{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;border-top:2.5px dashed rgba(33,29,46,.4);padding-top:1rem;margin-top:.6rem}
/* ---------- meet / venues / trust ---------- */
.toggle-row{display:flex;gap:.6rem;align-items:flex-start;background:var(--paper2);border:2.5px solid var(--ink);border-radius:var(--radius);padding:1rem;max-width:760px;box-shadow:var(--shadow-sm);font-weight:600}
.toggle-row input{width:22px;height:22px;margin-top:.15rem;accent-color:var(--coral)}
.venue-grid,.trust-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin-top:1rem}
.venue,.trust-card{background:var(--paper2);border:2.5px solid var(--ink);border-radius:var(--radius);padding:1.1rem;box-shadow:var(--shadow-sm)}
.venue{border-top:10px solid var(--teal)}.venue:nth-child(2){border-top-color:var(--yellow)}.venue:nth-child(3){border-top-color:var(--pink)}
.trust-card{border-top:10px solid var(--coral)}.trust-card:nth-child(2){border-top-color:var(--grape)}.trust-card:nth-child(3){border-top-color:var(--teal)}.trust-card:nth-child(4){border-top-color:var(--green)}
.venue p,.trust-card p{color:var(--dim);margin:.3rem 0 0}
.venue h3,.trust-card h3{margin:0;font-family:var(--font-d)}
/* ---------- forms ---------- */
.wake-form{display:grid;gap:.85rem;max-width:640px}
.wake-form label{display:grid;gap:.3rem;font-weight:700}
.wake-form input,.wake-form textarea{background:var(--paper2);border:2.5px solid var(--ink);border-radius:14px;padding:.6rem .85rem;color:var(--ink)}
.wake-form input[type="file"]{border-style:dashed;background:rgba(255,253,246,.7)}
.photo-previews{display:flex;gap:.8rem}
.photo-previews img{width:110px;height:150px;object-fit:cover;border-radius:12px;border:2.5px solid var(--ink);box-shadow:var(--shadow-sm)}
/* ---------- footer ---------- */
.site-foot{border-top:3px solid var(--ink);padding:1.7rem 1.1rem 2.4rem;max-width:1180px;margin:0 auto;color:var(--dim)}
.foot-small{font-size:.85rem}
/* ---------- passport modal ---------- */
.modal{position:fixed;inset:0;z-index:80}
.modal[hidden]{display:none}
.modal-backdrop{position:absolute;inset:0;background:rgba(33,29,46,.6);
  background-image:radial-gradient(rgba(255,253,246,.14) 1.2px,transparent 1.3px);background-size:22px 22px}
.modal-sheet{position:absolute;inset:auto 0 0 0;max-height:92vh;overflow:auto;background:var(--paper);border-top:4px solid var(--ink);
  border-radius:24px 24px 0 0;padding:1.2rem;box-shadow:0 -8px 0 rgba(255,90,78,.6)}
@media(min-width:820px){.modal-sheet{inset:4vh 4vw;border-radius:24px;border:3.5px solid var(--ink)}}
.modal-close{position:sticky;top:0;float:right;z-index:2}
.passport{display:grid;grid-template-columns:1fr;gap:1.4rem}
@media(min-width:860px){.passport{grid-template-columns:auto 1fr}}
.passport h2{font-family:var(--font-d);letter-spacing:-.01em;margin:.2rem 0}
.evidence{display:inline-block;background:#DDF5D8;color:var(--ink);border:2px solid var(--ink);border-radius:999px;
  padding:.14rem .7rem;font-size:.8rem;font-weight:800;transform:rotate(-1.4deg);box-shadow:2px 2px 0 var(--ink)}
.price-panel{background:#FFF3C2;border:2.5px solid var(--ink);border-radius:var(--radius);padding:1rem 1.2rem;margin:1rem 0;box-shadow:var(--shadow-sm)}
.price-panel .amt{font-size:1.65rem;font-weight:800;font-family:var(--font-d);color:var(--ink);text-decoration:underline wavy var(--coral) 2.5px;text-underline-offset:6px}
.price-panel p{margin:.3rem 0;color:var(--dim)}
.bio{margin:1.05rem 0}
.bio h3{font-family:var(--font-d);color:var(--ink);margin:.4rem 0 .25rem;
  background:linear-gradient(transparent 66%,rgba(15,181,168,.45) 66%);display:inline-block;padding:0 .12em}
.rel-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0}
.rel-chip{-webkit-appearance:none;appearance:none;background:var(--paper2);border:2px solid var(--ink);color:var(--ink);border-radius:14px;padding:.4rem .8rem;cursor:pointer;font-weight:700;box-shadow:2px 2px 0 var(--ink);text-align:left}
.rel-chip:hover{transform:rotate(-.6deg)}
.rel-chip small{color:#A84A05;display:block;font-size:.68rem;font-family:var(--font-d);text-transform:uppercase;letter-spacing:.08em}
.chat-box{background:var(--paper2);border:2.5px solid var(--ink);border-radius:var(--radius);padding:1rem;margin-top:1rem;box-shadow:var(--shadow-sm)}
.chat-log{display:grid;gap:.55rem;max-height:260px;overflow:auto;margin-bottom:.8rem}
.chat-msg{border-radius:16px;padding:.55rem .85rem;max-width:88%;border:2px solid var(--ink)}
.chat-msg.q{background:var(--yellow);justify-self:end;border-bottom-right-radius:4px}
.chat-msg.a{background:#D9F5F1;justify-self:start;border-bottom-left-radius:4px}
.chat-row{display:flex;gap:.5rem}
.chat-row input{flex:1;background:var(--paper2);border:2.5px solid var(--ink);border-radius:999px;padding:.55rem .95rem;color:var(--ink)}
.offer-row{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-top:.8rem}
.offer-row input{background:var(--paper2);border:2.5px solid var(--ink);border-radius:999px;padding:.55rem .9rem;width:150px;color:var(--ink)}
.offer-result{color:#1D7A34;font-weight:800}
/* ---------- ticket replicas: palettes preserved, they are the artifacts ---------- */
.ticket-art{background:linear-gradient(160deg,#0a4a3e,#003831 55%,#06231d);color:#f3ead2;justify-content:flex-start;padding-top:1.4rem;border:2px dashed rgba(239,178,30,.55)}
.ticket-art .tk-home{font-family:Georgia,'Times New Roman',serif;font-size:1.9rem;font-weight:800;letter-spacing:.12em;color:#EFB21E}
.ticket-art .tk-vs{font-style:italic;opacity:.8;font-size:.9rem}
.ticket-art .tk-away{font-family:Georgia,'Times New Roman',serif;font-size:1.25rem;font-weight:700;letter-spacing:.08em}
.ticket-art .tk-line{font-size:.82rem;opacity:.92}
.ticket-art .tk-seats{display:flex;gap:1rem;margin:.7rem 0;padding:.55rem .8rem;border-top:1px solid rgba(239,178,30,.5);border-bottom:1px solid rgba(239,178,30,.5);font-size:.8rem}
.ticket-art .tk-seats strong{color:#EFB21E;font-size:1rem}
.ticket-art .tk-fine{font-size:.62rem;opacity:.65;margin-top:auto}
.ticket-art .tk-expired{position:absolute;top:44%;left:50%;transform:translate(-50%,-50%) rotate(-16deg);border:3px solid rgba(239,90,90,.85);color:rgba(239,120,120,.95);
  font-weight:800;letter-spacing:.25em;padding:.2rem .8rem;border-radius:8px;font-size:1.15rem;background:rgba(20,0,0,.25)}
/* World Cup stub replica: bold color blocks, type only — no FIFA trophy art or logos */
.ticket-art.wc26{background:linear-gradient(118deg,#5b21b6 0 20%,#e8380d 20% 63%,#8ec90a 63% 100%);color:#ffffff;border:2px solid rgba(255,255,255,.4)}
.ticket-art.wc26 .tk-home{color:#ffffff;font-family:Arial,Helvetica,sans-serif;letter-spacing:.06em}
.ticket-art.wc26 .tk-away{font-family:Arial,Helvetica,sans-serif}
.ticket-art.wc26 .tk-seats{border-top-color:rgba(255,255,255,.65);border-bottom-color:rgba(255,255,255,.65)}
.ticket-art.wc26 .tk-seats strong{color:#ffffff}
.ticket-art.wc26 .tk-expired{top:47%;transform:translate(-50%,-50%) rotate(-3deg);border:3px solid #111111;background:#ffffff;color:#111111;letter-spacing:.08em;border-radius:999px;font-size:.95rem;padding:.3rem .9rem;white-space:nowrap}
.artifact-photo{max-width:250px;width:100%;border-radius:16px;border:2.5px solid var(--ink);display:block;box-shadow:var(--shadow-sm)}
/* ---------- stubs wing ---------- */
.real-tag{display:inline-block;background:var(--coral);color:var(--ink);border:2.5px solid var(--ink);border-radius:999px;
  padding:.22rem .8rem;font-size:.82rem;font-family:var(--font-d);font-weight:800;vertical-align:middle;
  transform:rotate(-2deg);box-shadow:var(--shadow-sm)}
.real-tag::before{content:"★ "}
.tour-map{position:relative;height:300px;border:2.5px solid var(--ink);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);
  background:radial-gradient(circle at 20% 40%,#EAF7E9 0,#DFF3E4 48%,#CDEEDA 100%)}
.tour-map::before{content:"";position:absolute;inset:0;opacity:.5;
  background-image:radial-gradient(rgba(29,122,52,.35) 1.2px,transparent 1.3px);background-size:26px 26px}
.pin{position:absolute;transform:translate(-50%,-50%);-webkit-appearance:none;appearance:none;cursor:pointer;
  background:var(--paper2);color:var(--ink);border:2.5px solid var(--ink);border-radius:999px;box-shadow:2px 2px 0 var(--ink);
  padding:.28rem .65rem;font-size:.74rem;font-family:var(--font-d);font-weight:700;white-space:nowrap;z-index:1}
.pin:hover{transform:translate(-50%,-56%) rotate(-1.5deg)}
.pin::before{content:"";position:absolute;left:50%;top:100%;width:9px;height:9px;margin-left:-4.5px;margin-top:2px;border-radius:50%;background:var(--coral);border:2px solid var(--ink)}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001s !important;transition-duration:.001s !important}
  html{scroll-behavior:auto}
}
/* ---------- pop-out storyteller stage ---------- */
.stage{position:relative;display:flex;flex-wrap:wrap;align-items:flex-end;gap:.4rem 1.2rem;margin-bottom:1.3rem;
  background-color:var(--paper2);border:3px solid var(--ink);border-radius:24px;box-shadow:var(--shadow);
  padding:1.1rem 1.2rem .9rem;overflow:hidden;
  background-image:radial-gradient(rgba(33,29,46,.08) 1.2px,transparent 1.3px);background-size:20px 20px}
.stage-visual{position:relative;width:392px;max-width:92vw;height:322px;flex:none;margin:0 auto}
.stage-pop{position:absolute;left:4px;bottom:30px;width:252px;height:auto;z-index:1;
  animation:popIn .7s cubic-bezier(.2,1.6,.4,1) .12s both}
@keyframes popIn{0%{transform:translateY(52px) scale(.5);opacity:0}55%{transform:translateY(-9px) scale(1.07);opacity:1}100%{transform:translateY(0) scale(1);opacity:1}}
.stage-pop::after{content:"";position:absolute;left:50%;bottom:-16px;transform:translateX(-50%);width:72%;height:15px;
  border-radius:50%;background:rgba(33,29,46,.30);filter:blur(2px)}
.pop-inner{width:100%;height:100%;animation:floaty 5s ease-in-out 1.1s infinite alternate}
@keyframes floaty{from{transform:translateY(0) rotate(-1.3deg)}to{transform:translateY(-8px) rotate(1.3deg)}}
.pop-img{width:100%;height:240px;object-fit:cover;object-position:center 15%;display:block;
  border:3px solid var(--ink);border-radius:48% 48% 16px 16px / 36% 36% 16px 16px;box-shadow:var(--shadow-sm);background:#EFE7D2}
.pop-svg{width:100%;height:100%;display:block;filter:drop-shadow(3px 4px 0 rgba(33,29,46,.35))}
.stage-card{position:absolute;right:0;bottom:0;width:138px;z-index:2;transform:rotate(3deg)}
.stage-card .living{width:138px;border-width:2.5px;box-shadow:4px 5px 0 rgba(33,29,46,.9)}
.stage-card .wake-word{display:none}
.stage-fallback .stage-pop{display:none}
.stage-fallback .stage-card{right:auto;left:50%;transform:translateX(-50%) translateY(-10px) scale(1.18) rotate(-2deg)}
.stage-bubble{flex:1;min-width:250px;max-width:470px;position:relative;background:var(--paper);border:2.5px solid var(--ink);
  border-radius:20px;padding:.95rem 1.1rem;box-shadow:var(--shadow-sm);margin-bottom:.35rem}
.stage-bubble::before{content:"";position:absolute;left:-12px;bottom:34px;width:20px;height:20px;background:var(--paper);
  border-left:2.5px solid var(--ink);border-bottom:2.5px solid var(--ink);transform:rotate(45deg)}
@media(max-width:640px){.stage-bubble::before{left:44px;bottom:auto;top:-12px;transform:rotate(135deg)}}
.stage-text{font-size:1.04rem;margin:.4rem 0 .7rem;min-height:3.1em}
.stage-btns{display:flex;gap:.6rem;flex-wrap:wrap}
.stage-bubble .honesty{margin:.7rem 0 0;font-size:.82rem}

/* ============ EMOTION ENGINE (faces, performances, particles) ============ */
.pop-svg .face{display:none}
.pop-svg .face-happy{display:block}
.stage[data-emo="laughing"] .pop-svg .face{display:none}
.stage[data-emo="laughing"] .pop-svg .face-laughing{display:block}
.stage[data-emo="sad"] .pop-svg .face{display:none}
.stage[data-emo="sad"] .pop-svg .face-sad{display:block}
.stage[data-emo="proud"] .pop-svg .face{display:none}
.stage[data-emo="proud"] .pop-svg .face-proud{display:block}
.stage[data-emo="excited"] .pop-svg .face{display:none}
.stage[data-emo="excited"] .pop-svg .face-excited{display:block}
.stage[data-emo="curious"] .pop-svg .face{display:none}
.stage[data-emo="curious"] .pop-svg .face-curious{display:block}
.stage[data-emo="nostalgic"] .pop-svg .face{display:none}
.stage[data-emo="nostalgic"] .pop-svg .face-nostalgic{display:block}
.stage[data-emo="surprised"] .pop-svg .face{display:none}
.stage[data-emo="surprised"] .pop-svg .face-surprised{display:block}
.pop-inner{display:flex;align-items:flex-end;gap:2px}
.pop-char{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;position:relative}
.pop-char .pop-svg{width:100%;height:auto;position:relative;z-index:1}
.stage[data-pop="band"] .stage-visual{width:min(600px,94vw)}
.stage[data-pop="band"] .stage-pop{width:486px;height:auto;left:0;margin-left:0}
.stage[data-pop="player"] .stage-visual{width:392px}
@keyframes laughBounce{0%,100%{transform:translateY(0) rotate(0)}25%{transform:translateY(-9px) rotate(-3deg)}50%{transform:translateY(0) rotate(2.5deg)}75%{transform:translateY(-6px) rotate(-2deg)}}
@keyframes bubbleShake{0%,100%{transform:rotate(0)}25%{transform:rotate(-1.1deg)}75%{transform:rotate(1.1deg)}}
@keyframes happyBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes hopSpin{0%{transform:translateY(0) rotate(0)}35%{transform:translateY(-16px) rotate(-5deg)}70%{transform:translateY(-4px) rotate(5deg)}100%{transform:translateY(0) rotate(0)}}
@keyframes sadDroop{0%{transform:translateY(0)}100%{transform:translateY(7px) rotate(-1.5deg)}}
@keyframes proudRise{0%{transform:translateY(2px) scale(.99)}100%{transform:translateY(-6px) scale(1.045)}}
@keyframes curiousLean{0%,100%{transform:rotate(0) translateX(0)}50%{transform:rotate(4.5deg) translateX(5px)}}
@keyframes nostSway{0%,100%{transform:rotate(-1.6deg)}50%{transform:rotate(1.6deg)}}
@keyframes surprisePop{0%{transform:scale(1)}40%{transform:scale(1.07) translateY(-8px)}100%{transform:scale(1)}}
@keyframes particleRise{0%{opacity:0;transform:translateY(6px) scale(.6)}25%{opacity:1}100%{opacity:0;transform:translateY(-46px) scale(1.15) rotate(14deg)}}
.stage.emo-laughing .stage-pop{animation:laughBounce .62s ease-in-out 3}
.stage.emo-laughing .stage-bubble{animation:bubbleShake .62s ease-in-out 3}
.stage.emo-happy .stage-pop{animation:happyBob 1.6s ease-in-out 2}
.stage.emo-excited .stage-pop{animation:hopSpin .55s ease-in-out 3}
.stage.emo-sad .stage-pop{animation:sadDroop 1.1s ease forwards;filter:grayscale(.45) brightness(.92)}
.stage.emo-sad .stage-card{filter:grayscale(.3)}
.stage.emo-proud .stage-pop{animation:proudRise .9s ease forwards}
.stage.emo-proud .pop-inner{filter:drop-shadow(0 0 14px rgba(255,198,26,.55))}
.stage.emo-curious .stage-pop{animation:curiousLean 1.2s ease-in-out 2}
.stage.emo-nostalgic .stage-pop{animation:nostSway 2.4s ease-in-out 2}
.stage.emo-nostalgic .pop-inner{filter:sepia(.35) saturate(1.1) drop-shadow(0 0 12px rgba(255,170,60,.35))}
.stage.emo-surprised .stage-pop{animation:surprisePop .5s ease-out 2}
.stage[data-emo="sad"] .stage-bubble{border-color:#8FA3B8}
.stage[data-emo="excited"] .stage-star{background:#FF7BAC}
.stage[data-emo="laughing"] .stage-star{background:#FFC61A}
.stage-particles{position:absolute;left:0;right:0;bottom:52%;height:0;pointer-events:none;z-index:4}
.particle{position:absolute;bottom:0;font-size:1.05rem;color:#7C4DFF;text-shadow:1px 1px 0 rgba(33,29,46,.35);animation:particleRise 1.5s ease-out forwards}
.emo-label{display:none;font-family:"Arial Rounded MT Bold","Trebuchet MS",Verdana,sans-serif;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:#4FB0FF;color:#211D2E;border:2px solid #211D2E;border-radius:999px;padding:.08rem .55rem;margin-left:.5rem;vertical-align:middle}
/* ============ character-led interview ============ */
.iv-live{border:2.5px dashed #211D2E;border-radius:14px;padding:.7rem .9rem;margin:.6rem 0;background:#FFFDF6}
.iv-who{font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;color:#5B3DF0;margin:0}
.iv-q{font-size:1.12rem;font-weight:700;line-height:1.35;margin:.2rem 0}
.iv-react{font-style:italic;color:#4A4460;margin:.3rem 0;min-height:1.1em}
.iv-prog{font-size:.8rem;color:#5C5570;margin:.2rem 0}
.iv-log{margin:.4rem 0 0;padding-left:1.2rem}
.iv-log li{margin:.35rem 0}
.iv-log-q{display:block;font-weight:600}
.iv-log-a{display:block}
@media (max-width:560px){
  .stage-visual{height:306px}
  .stage[data-pop="band"] .stage-visual{width:94vw}
  .stage[data-pop="band"] .stage-pop{width:82vw;height:auto;margin-left:0}
}
@media (prefers-reduced-motion: reduce){
  .stage.emo-laughing .stage-pop,.stage.emo-laughing .stage-bubble,.stage.emo-happy .stage-pop,.stage.emo-excited .stage-pop,.stage.emo-sad .stage-pop,.stage.emo-proud .stage-pop,.stage.emo-curious .stage-pop,.stage.emo-nostalgic .stage-pop,.stage.emo-surprised .stage-pop,.particle{animation:none !important}
  .emo-label{display:inline-block}
}

/* native selects size to their longest option (1,038px) and force sideways
   scroll on phones — cap them at their container */
select{max-width:100%}
.stage-voice{font-size:.78rem;color:#5C5570;margin:.45rem 0 0}

/* stage layout guarantee: full-width row on desktop, stacked column on
   small screens (appended last so it wins the cascade) */
.stage{width:100%}
@media (max-width:640px){
  .stage{flex-direction:column;align-items:center}
  .stage-bubble{min-width:0;width:100%}
}

/* band stages: the performers pop out IN FRONT of the ticket, card steps back */
.stage[data-pop="band"] .stage-pop{z-index:3}
.stage[data-pop="band"] .stage-card{width:112px}
.stage[data-pop="band"] .stage-card .living{width:112px}

/* ============ STAGE POLISH: heroes, name chips, scenes (2026-10-13) ============
   Characters are the heroes of the stage now: chibi rig at hero scale,
   a sticker name chip under every figure, a soft floor shadow at its feet,
   and a flat playful backdrop per stage type. Motion stays transform/
   opacity only; the scenes are static paint (gradients/clip-paths). */
.stage{justify-content:center}
.pop-chip{display:inline-block;margin-top:.18rem;background:#FFC61A;color:#211D2E;border:2px solid #211D2E;
  border-radius:999px;padding:.1rem .6rem;font-family:"Arial Rounded MT Bold","Trebuchet MS",Verdana,sans-serif;
  font-size:.72rem;font-weight:800;letter-spacing:.07em;box-shadow:2px 2px 0 rgba(33,29,46,.9);
  transform:rotate(-2deg);white-space:nowrap;position:relative;z-index:1}
.pop-char:nth-child(2) .pop-chip{background:#7FE3D0;transform:rotate(1.6deg)}
.pop-char:nth-child(3) .pop-chip{background:#FF7BAC;transform:rotate(-1.2deg)}
.pop-char::before{content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:1.72rem;
  width:66%;height:12px;border-radius:50%;background:rgba(33,29,46,.26);filter:blur(2px);z-index:0}
.stage-scene{position:absolute;inset:0;border-radius:16px;overflow:hidden;z-index:0;background:rgba(255,255,255,.35)}
.scene-concert{background:radial-gradient(ellipse 95% 60% at 50% 108%,rgba(255,150,60,.42),rgba(255,150,60,0) 70%),linear-gradient(180deg,rgba(124,77,255,.14),rgba(124,77,255,0) 55%)}
.scene-concert::before,.scene-concert::after{content:"";position:absolute;top:-6px;width:96px;height:230px;
  background:linear-gradient(180deg,rgba(255,224,138,.5),rgba(255,224,138,0));clip-path:polygon(40% 0,60% 0,100% 100%,0 100%)}
.scene-concert::before{left:12%;transform:rotate(13deg);transform-origin:top center}
.scene-concert::after{right:12%;transform:rotate(-13deg);transform-origin:top center}
.scene-pitch{background:linear-gradient(180deg,rgba(79,176,255,.12),rgba(79,176,255,0) 45%)}
.scene-pitch::after{content:"";position:absolute;left:0;right:0;bottom:0;height:66px;
  background:linear-gradient(180deg,#46A758,#2F7D3E);border-top:3px solid rgba(255,249,236,.9)}
.scene-diamond{background:linear-gradient(180deg,rgba(79,176,255,.10),rgba(79,176,255,0) 45%)}
.scene-diamond::before{content:"";position:absolute;left:0;right:0;bottom:0;height:66px;
  background:linear-gradient(180deg,#46A758,#2F7D3E);border-top:3px solid rgba(255,249,236,.85)}
.scene-diamond::after{content:"";position:absolute;left:50%;bottom:2px;width:132px;height:132px;
  background:#D9A066;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);transform:translateX(-50%) scaleY(.4)}
.scene-summon{background:radial-gradient(circle at 50% 80%,var(--sc1) 0,rgba(255,255,255,0) 64%);opacity:.55}
.scene-summon::after{content:"";position:absolute;left:50%;bottom:16px;transform:translateX(-50%);
  width:78%;height:34px;border:3px solid var(--sc1);border-radius:50%;opacity:.75}
.scene-court{background:linear-gradient(180deg,rgba(255,255,255,.15),rgba(255,255,255,0) 50%)}
.scene-court::after{content:"";position:absolute;left:0;right:0;bottom:0;height:58px;background:var(--sc1);
  opacity:.30;border-top:3px solid rgba(33,29,46,.35)}

/* ================================================================
   v2 PROOF — NBA BROADCAST GRAPHICS PACKAGE (2026-10-19)
   Proof passports/stage ONLY. Dark arena, condensed display type,
   per-card world colors, lower-third captions, custom controls.
   The sticker/halftone/cream system does not exist in here.
   ================================================================ */
.modal-sheet.proof-sheet{background:linear-gradient(180deg,#101013,#0B0B0D 340px);color:#F4F2EC}
.modal-sheet.proof-sheet .modal-close{background:#1B1B1F;color:#F4F2EC;border:1.5px solid #3A3A40;box-shadow:none;font-family:"Archivo",sans-serif;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}
.proof-pass{--acc:#CE1141;--acc2:#8E0C2D;font-family:"Archivo","Helvetica Neue",Arial,sans-serif}
.proof-pass[data-pk="timewalk"]{--acc:#2E7FA8;--acc2:#123E5C}
.proof-pass[data-pk="charizard"]{--acc:#E8641B;--acc2:#8A2E05}
.proof-pass h2{font-family:"Archivo",sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.015em;font-size:clamp(1.7rem,4.5vw,2.5rem);color:#fff}
.proof-pass .tile-cat{background:var(--acc);color:#fff;border:none;transform:none;border-radius:3px;letter-spacing:.14em;padding:.28rem .6rem}
.proof-pass .evidence{background:transparent;color:#B9F0B0;border:1px solid #3F7A3A;transform:none;box-shadow:none;border-radius:3px;letter-spacing:.06em}
.proof-pass .bio h3{font-family:"Barlow Condensed","Archivo",sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:1.25rem;color:#fff;background:none;border-left:4px solid var(--acc);padding-left:.55rem;display:block}
.proof-pass .bio p,.proof-pass p{color:#D9D6CE}
.proof-pass .honesty{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.14);color:#A9A69E;border-radius:6px}
.proof-pass .honesty a{color:#9CC7E8}
.proof-pass .stats-table,.proof-pass .match-table{background:#141417;color:#EDEAE2}
.proof-pass .stats-table td,.proof-pass .stats-table th{border-bottom:1px solid rgba(255,255,255,.1)}
.proof-pass .stats-table th,.proof-pass .match-table th{background:#1D1D21;color:#fff;font-family:"Barlow Condensed",sans-serif;letter-spacing:.06em;text-transform:uppercase}
.proof-pass .price-panel{background:#141417;border:1px solid rgba(255,255,255,.16);box-shadow:none;color:#EDEAE2;border-radius:10px}
.proof-pass .price-panel .amt{color:#fff;text-decoration:none;font-family:"Archivo",sans-serif}
.proof-pass .price-panel p{color:#B9B6AE}
.proof-pass .price-panel a{color:#9CC7E8}
.proof-pass .chat-box{background:#141417;border:1px solid rgba(255,255,255,.14);box-shadow:none;border-radius:10px}
.proof-pass .chat-msg{border:1px solid rgba(255,255,255,.18);border-radius:8px;color:#111}
.proof-pass .chat-msg.a{background:#E8E6DF;color:#16161A}
.proof-pass .chat-msg.q{background:var(--acc);color:#fff}
.proof-pass .chat-row input,.proof-pass .offer-row input{background:#1D1D21;border:1.5px solid #3A3A40;color:#F4F2EC;border-radius:6px;box-shadow:none}
.proof-pass .btn{-webkit-appearance:none;appearance:none;background:#1B1B1F;color:#F4F2EC;border:1.5px solid #45454D;border-radius:6px;box-shadow:none;font-family:"Archivo",sans-serif;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.8rem;padding:.6rem 1rem}
.proof-pass .btn:hover{background:#26262C;transform:none;box-shadow:none}
.proof-pass .btn-gold{background:var(--acc);border-color:var(--acc);color:#fff}
.proof-pass .btn-gold:hover{background:var(--acc2)}
.proof-pass .rel-chip{background:#1B1B1F;border:1px solid #3A3A40;color:#EDEAE2;box-shadow:none;border-radius:6px}
.proof-pass .rel-chip small{color:#C8A24A}
.proof-pass .rel-chip:hover{transform:none;background:#26262C}
.proof-pass select{background:#1D1D21;border:1.5px solid #3A3A40;color:#F4F2EC}
.proof-pass .living{border:2px solid rgba(255,255,255,.25);box-shadow:0 30px 60px rgba(0,0,0,.6)}
.proof-pass .offer-result{color:#8FE388}
.proof-pass .trust-state{background:#1B1B1F;color:#EDEAE2;border-color:#3A3A40}
/* ---- the stage ---- */
.stage-proof{position:relative;display:block;background:radial-gradient(120% 90% at 50% 0%,#232328 0%,#131316 52%,#0A0A0B 100%);border:none;border-radius:14px;box-shadow:0 24px 60px rgba(0,0,0,.45);padding:0;overflow:hidden;color:#F4F2EC;min-height:520px}
.stage-proof::before{content:"";position:absolute;inset:0;background:radial-gradient(closest-side at 18% 78%,rgba(255,255,255,.10),transparent 70%),radial-gradient(closest-side at 82% 70%,rgba(255,255,255,.08),transparent 70%),radial-gradient(closest-side at 64% 30%,rgba(255,255,255,.05),transparent 70%);pointer-events:none}
.sp-ghost{position:absolute;right:-10px;top:-38px;font-family:"Archivo",sans-serif;font-weight:900;font-size:19rem;line-height:1;color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.09);pointer-events:none;z-index:0}
.sp-timewalk .sp-ghost{font-size:9.5rem;top:2px;right:18px}
.sp-spot{position:absolute;left:50%;top:-12%;width:560px;height:640px;transform:translateX(-50%);background:linear-gradient(180deg,rgba(255,244,214,.20),rgba(255,244,214,.05) 55%,transparent 78%);clip-path:polygon(38% 0,62% 0,96% 100%,4% 100%);pointer-events:none;z-index:0}
/* floor band REMOVED (v2 polish): the hard horizontal stripe read as a
   rendering glitch. The stage floor is now only the soft radial glow in
   .sp-floor, localized under the card + figure, fading in all directions. */
.sp-scene{display:none}
.sp-visual{position:relative;z-index:1;height:400px;max-width:860px;margin:0 auto}
.sp-cardwrap{position:absolute;left:6%;bottom:34px;width:196px;transform:rotate(-5deg);z-index:1;animation:spCardIn 1s cubic-bezier(.2,1.2,.3,1) both}
.sp-cardwrap .living{width:196px}
.sp-cardwrap .wake-word{display:none}
@keyframes spCardIn{0%{transform:rotate(-5deg) translateY(46px) scale(.85);opacity:0}100%{transform:rotate(-5deg) translateY(0) scale(1);opacity:1}}
.sp-cardwrap::after{content:"";position:absolute;inset:0;border-radius:18px;background:linear-gradient(115deg,transparent 32%,rgba(255,255,255,.28) 48%,transparent 62%);background-size:260% 260%;animation:spGlint 4.5s ease-in-out infinite;pointer-events:none}
@keyframes spGlint{0%,55%{background-position:130% 0}85%,100%{background-position:-60% 0}}
.sp-floor{position:absolute;left:9%;right:5%;bottom:-16px;height:176px;background:radial-gradient(50% 50% at 50% 50%,rgba(255,255,255,.13),transparent 70%);z-index:0;pointer-events:none}
.sp-floor::after{content:"";position:absolute;left:20%;right:12%;top:46%;height:36px;border-radius:50%;background:radial-gradient(50% 50% at 50% 50%,rgba(0,0,0,.48),transparent 70%)}
.sp-jordan .sp-floor{background:radial-gradient(50% 50% at 50% 50%,rgba(255,166,88,.15),transparent 70%)}
.sp-timewalk .sp-floor{background:radial-gradient(50% 50% at 50% 50%,rgba(84,186,235,.16),transparent 70%)}
.sp-charizard .sp-floor{background:radial-gradient(50% 50% at 50% 50%,rgba(255,122,40,.17),transparent 70%)}
.sp-figwrap{position:absolute;right:2%;bottom:26px;width:min(430px,58%);height:388px;z-index:2;display:flex;align-items:flex-end;justify-content:center}
.sp-fig{position:relative;width:100%;height:100%;display:flex;align-items:flex-end;justify-content:center;animation:spBreathe 4.2s ease-in-out infinite alternate;transform-origin:50% 100%}
@keyframes spBreathe{from{transform:translateY(0) scale(1)}to{transform:translateY(-7px) scale(1.012)}}
.sp-fig-img{display:block;filter:drop-shadow(0 18px 22px rgba(0,0,0,.55))}
.sp-fig-jordan .sp-fig-img{height:372px;width:auto;max-width:100%;object-fit:contain}
.sp-namefig{position:absolute;left:50%;bottom:-4px;transform:translateX(-50%);background:rgba(8,8,10,.82);border-left:4px solid var(--acc);color:#fff;font-family:"Barlow Condensed",sans-serif;font-weight:700;letter-spacing:.22em;font-size:.86rem;padding:.28rem .8rem;white-space:nowrap}
.sp-namefig strong{color:#FF5A4E}
.sp-timewalk{--acc:#2E7FA8}.sp-charizard{--acc:#E8641B}.sp-jordan{--acc:#CE1141}
.sp-namefig strong{color:#fff;background:var(--acc);padding:0 .35rem;margin-left:.3rem}
.sp-ball{position:absolute;width:34px;height:34px;border-radius:50%;right:16%;bottom:-38px;background:radial-gradient(circle at 34% 30%,#F0935C,#C65A1E 70%);border:2px solid rgba(0,0,0,.45);opacity:0}
/* figure choreography — BIG movement when narration starts */
.stage-proof.sp-playing .sp-fig-jordan{animation:spDunk 3.4s cubic-bezier(.3,.7,.3,1) both,spBreathe 4.2s ease-in-out 3.5s infinite alternate}
@keyframes spDunk{0%{transform:translate(-46%,26px) scale(.42);opacity:.4}22%{transform:translate(-30%,-8px) scale(.62)}48%{transform:translate(-6%,-96px) scale(1.04) rotate(-2deg)}62%{transform:translate(0,-112px) scale(1.08) rotate(-1deg)}78%{transform:translate(0,-30px) scale(1.02)}100%{transform:translate(0,0) scale(1)}}
.stage-proof.sp-playing .sp-ball{animation:spBall 1s ease-in 2.6s both}
@keyframes spBall{0%{opacity:0;transform:translateY(-30px)}15%{opacity:1}45%{transform:translateY(38px)}65%{transform:translateY(8px)}82%{transform:translateY(34px)}100%{opacity:1;transform:translateY(22px)}}
.stage-proof.sp-playing .sp-fig-tw .sp-fig-img{animation:spWalk 3.2s ease-out both}
.sp-fig-tw .sp-fig-img{height:356px;width:auto;max-width:100%;object-fit:contain;position:relative;z-index:1}
@keyframes spWalk{0%{transform:translateX(-90px) scale(.55);opacity:.3}30%{transform:translateX(-48px) scale(.75) translateY(-6px)}55%{transform:translateX(-16px) scale(.92) translateY(0)}80%{transform:translateX(4px) scale(1.03) translateY(-5px)}100%{transform:translateX(0) scale(1.06)}}
.sp-ring{position:absolute;left:50%;top:46%;width:340px;height:340px;margin:-170px 0 0 -170px;border-radius:50%;border:3px solid rgba(90,190,255,.16);background:conic-gradient(from 0deg,transparent 0 38%,rgba(90,190,255,.55) 50%,transparent 62% 100%);animation:spSwirl 12s linear infinite;pointer-events:none}
.sp-ring2{width:252px;height:252px;margin:-126px 0 0 -126px;animation-duration:19s;animation-direction:reverse}
@keyframes spSwirl{to{transform:rotate(360deg)}}
.stage-proof.sp-playing .sp-ring{border-color:rgba(90,190,255,.25)}
.sp-fig-cz .sp-fig-img{height:322px;width:auto;max-width:100%;object-fit:contain;position:relative;z-index:1}
.stage-proof.sp-playing .sp-fig-cz{animation:spRise 2.8s cubic-bezier(.25,1.3,.35,1) both,spBreathe 4.2s ease-in-out 2.9s infinite alternate}
@keyframes spRise{0%{transform:translateY(70px) scale(.5);opacity:.3}55%{transform:translateY(-16px) scale(1.05)}100%{transform:translateY(0) scale(1)}}
.sp-flames{position:absolute;left:50%;bottom:-6px;width:340px;height:150px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(255,120,30,.5),rgba(255,60,0,.18) 55%,transparent 72%);pointer-events:none}
.stage-proof.sp-beat .sp-fig{filter:drop-shadow(0 0 26px rgba(255,210,90,.35))}
/* lower third */
.sp-lower{position:relative;z-index:3;max-width:860px;margin:0 auto;padding:0 1.4rem 1.5rem}
.sp-lt{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem 1rem;background:linear-gradient(90deg,var(--acc) 0 6px,rgba(10,10,12,.88) 6px);border-top:3px solid var(--acc);padding:.65rem 1rem .6rem 1.2rem}
.sp-lt-name{font-family:"Archivo",sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:.04em;font-size:clamp(1.25rem,3.4vw,1.8rem);color:#fff}
.sp-lt-sub{font-family:"Barlow Condensed",sans-serif;font-weight:600;letter-spacing:.18em;font-size:.92rem;color:#CFCBC2;text-transform:uppercase}
.sp-caption{font-size:1.13rem;line-height:1.5;color:#F1EEE6;min-height:3.2em;margin:.85rem .2rem .4rem;font-weight:500}
.sp-controls{display:flex;gap:.7rem;flex-wrap:wrap;margin:.7rem 0 .3rem}
.sp-btn{-webkit-appearance:none;appearance:none;cursor:pointer;border-radius:999px;font-family:"Archivo",sans-serif;font-weight:800;letter-spacing:.09em;text-transform:uppercase;font-size:.85rem;padding:.72rem 1.5rem;display:inline-flex;align-items:center;gap:.55rem;transition:transform .12s ease,background .15s ease,border-color .15s ease}
.sp-btn-play{background:var(--acc);border:2px solid var(--acc);color:#fff}
.sp-btn-play:hover{background:var(--acc2,#8E0C2D);transform:translateY(-1px)}
.sp-btn-play:active{transform:translateY(1px)}
.sp-btn-stop{background:transparent;border:2px solid rgba(255,255,255,.55);color:#F4F2EC}
.sp-btn-stop:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.sp-ic{font-size:.8rem}
.stage-proof .sp-voice{font-size:.8rem;color:#A9A69E;margin:.45rem .2rem 0}
.stage-proof .sp-prov{font-size:.72rem;color:#7C7A72;margin:.25rem .2rem 0;max-width:640px}
.stage-proof .emo-label{background:#1B1B1F;color:#EDEAE2;border-color:#3A3A40}
@media (prefers-reduced-motion: reduce){
  .stage-proof .sp-fig,.stage-proof .sp-cardwrap,.stage-proof .sp-ring,.stage-proof .sp-ball{animation:none !important}
  .stage-proof .sp-fig{transform:scale(1)}
  .stage-proof .emo-label{display:inline-block}
}
@media (max-width:640px){
  .stage-proof{min-height:0}
  .sp-ghost{font-size:9rem;top:-16px}
  .sp-visual{height:340px}
  .sp-cardwrap{width:128px;left:2%;bottom:22px}
  .sp-cardwrap .living{width:128px}
  .sp-figwrap{width:72%;height:330px;right:0;bottom:18px}
  .sp-fig-jordan .sp-fig-img{height:312px}
  .sp-fig-tw .sp-fig-img{height:274px}
  .sp-fig-cz .sp-fig-img{height:212px}
  .sp-timewalk .sp-ghost{font-size:6.2rem;right:8px;top:0}
  .sp-ring{width:250px;height:250px;margin:-125px 0 0 -125px}
  .sp-ring2{width:186px;height:186px;margin:-93px 0 0 -93px}
  .sp-caption{font-size:1.02rem}
}
