@font-face{font-family:"Poppins";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/poppins-500.woff2) format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/poppins-600.woff2) format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/poppins-700.woff2) format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/poppins-800.woff2) format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:900;font-display:swap;src:url(../fonts/poppins-900.woff2) format("woff2")}

/* Layout: one phone-sized stage, full-height screens that swap like game scenes; brand orange for play, purple for travel stops. */
:root{
  --orange:#FF5B00; --orange-mid:#FF7711; --orange-pale:#FE9D00;
  --purple:#4D40CC; --purple-light:#6357DB; --purple-dark:#2E2EAD;
  --yellow:#FFE131; --ink:#434343; --grey:#666666; --paper:#FFFFFF; --paper-tint:#FFF1E6;
  --line:#F2D9C8; --good:#1DB37A; --bad:#E5484D;
  --font:"Poppins",ui-rounded,"Segoe UI",system-ui,sans-serif;
  --r-lg:28px; --r-md:18px; --r-pill:999px;
  color-scheme:light;
}
[hidden]{display:none!important}
html,body{height:100%}
body{background:var(--purple-dark);color:var(--ink);font-family:var(--font);overflow:hidden;
  -webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}
*{box-sizing:border-box}
button{font-family:inherit;cursor:pointer;border:0}
button:focus-visible,input:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}

#app{position:relative;height:100%;max-width:520px;margin:0 auto;overflow:hidden;background:var(--orange)}
.screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;
  padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:14px 18px}

/* ---------- shared bits ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:58px;padding:0 30px;border-radius:var(--r-pill);
  font-weight:800;font-size:19px;letter-spacing:.01em;color:var(--ink);background:var(--yellow);
  box-shadow:0 6px 0 rgba(0,0,0,.22);transition:transform .08s ease,box-shadow .08s ease}
.btn:active{transform:translateY(5px);box-shadow:0 1px 0 rgba(0,0,0,.22)}
.btn[disabled]{opacity:.65;cursor:progress}
.btn.purple{background:var(--purple);color:#fff}
.btn.ghost{background:rgba(255,255,255,.18);color:#fff;box-shadow:none;min-height:46px;font-size:15px;padding:0 20px}
.pill{display:inline-block;padding:6px 16px;border-radius:var(--r-pill);font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.dots{position:absolute;inset:0;pointer-events:none;opacity:.16;
  background-image:radial-gradient(circle,#fff 1.6px,transparent 2px);background-size:26px 26px}
#mute{position:absolute;z-index:30;top:calc(10px + env(safe-area-inset-top,0px));right:max(12px,env(safe-area-inset-right,0px));
  width:44px;height:44px;border-radius:50%;background:rgba(0,0,0,.18);color:#fff;font-size:20px;display:grid;place-items:center}
#mute svg{width:22px;height:22px}

/* character motion */
.char{position:relative;display:block;height:auto;object-fit:contain;transform-origin:50% 100%;will-change:transform}
@keyframes bob{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-12px) rotate(2deg)}}
@keyframes hop{0%,58%,100%{transform:translateY(0) scale(1,1)}64%{transform:translateY(0) scale(1.08,.9)}76%{transform:translateY(-26px) scale(.95,1.07)}88%{transform:translateY(0) scale(1.06,.93)}}
@keyframes sway{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}
@keyframes wiggle{0%,80%,100%{transform:rotate(0)}84%{transform:rotate(-8deg)}90%{transform:rotate(7deg)}95%{transform:rotate(-3deg)}}
@keyframes popIn{0%{transform:scale(.2) rotate(-12deg);opacity:0}60%{transform:scale(1.12) rotate(3deg);opacity:1}80%{transform:scale(.96)}100%{transform:scale(1) rotate(0)}}
@keyframes dropIn{0%{transform:translateY(-60px) scale(.9);opacity:0}70%{transform:translateY(6px) scale(1.02,.97);opacity:1}100%{transform:none}}
@keyframes spin{to{transform:rotate(360deg)}}
.bob{animation:bob 2.6s ease-in-out infinite}
.hop{animation:hop 1.9s ease-in-out infinite}
.sway{animation:sway 3s ease-in-out infinite}
.wiggle{animation:wiggle 2.4s ease-in-out infinite}

/* ---------- title ---------- */
#title{background:var(--orange);justify-content:space-between;color:#fff}
.parade{position:relative;width:100%;height:30%;min-height:150px;display:flex;align-items:flex-end;justify-content:center;gap:0;margin-top:22px}
.parade .char{height:100%;max-height:190px;width:auto;max-width:27%;object-fit:contain;object-position:bottom;margin:0 -4px}
.parade .c2{height:84%}.parade .c4{height:90%}
.logo{position:relative;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}
.wordmark{display:flex;align-items:center;gap:10px;font-weight:900;line-height:1;font-size:clamp(48px,14.5vw,76px);letter-spacing:-.03em}
.num{display:grid;place-items:center;width:1.05em;height:1.05em;border-radius:30%;font-size:.78em;color:#fff;
  box-shadow:inset 0 -6px 0 rgba(0,0,0,.18)}
.num.n1{background:var(--purple);animation:tilt1 1.2s ease-in-out infinite}
.num.n2{background:var(--purple-dark);animation:tilt2 1.2s ease-in-out infinite}
@keyframes tilt1{0%,100%{transform:rotate(-10deg) translateY(0)}25%{transform:rotate(-14deg) translateY(-8px)}50%{transform:rotate(-10deg)}}
@keyframes tilt2{0%,100%{transform:rotate(10deg)}50%{transform:rotate(10deg) translateY(0)}75%{transform:rotate(14deg) translateY(-8px)}}
.comma{margin-left:-6px;color:var(--yellow)}
.word{display:inline-flex}
.word span{display:inline-block;animation:letter 2.4s ease-in-out infinite}
@keyframes letter{0%,70%,100%{transform:translateY(0)}78%{transform:translateY(-14px)}86%{transform:translateY(2px)}}
.word span:nth-child(2){animation-delay:.08s}.word span:nth-child(3){animation-delay:.16s}.word span:nth-child(4){animation-delay:.24s}.word span:nth-child(5){animation-delay:.32s}
.subtitle{background:var(--purple-dark);color:var(--yellow)}
.howto{font-size:14px;font-weight:600;opacity:.95;text-align:center;max-width:30ch;line-height:1.45}
.join{width:100%;max-width:360px;display:flex;flex-direction:column;gap:12px}
.join label{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.9}
.join input{height:54px;border-radius:var(--r-md);border:3px solid rgba(255,255,255,.55);background:rgba(255,255,255,.14);
  color:#fff;font:600 18px var(--font);padding:0 18px;user-select:text;-webkit-user-select:text}
.join input::placeholder{color:rgba(255,255,255,.7)}
.join .btn{width:100%}
.status{min-height:18px;font-size:12px;font-weight:600;text-align:center;opacity:.9}

/* ---------- round intro ---------- */
#intro{background:linear-gradient(160deg,var(--purple-light),var(--purple) 55%,var(--purple-dark));color:#fff;justify-content:center;gap:16px}
#intro .stop{background:var(--yellow);color:var(--ink)}
#intro .city{font-weight:900;font-size:clamp(40px,12vw,58px);line-height:1;letter-spacing:-.02em}
.stamp{--s:min(62vw,280px,36vh);position:relative;width:var(--s);height:var(--s);flex:none;border-radius:50%;background:#fff;
  box-shadow:0 0 0 10px rgba(255,255,255,.18),0 18px 40px rgba(0,0,0,.25)}
.stamp img{position:absolute;inset:13%;width:74%;height:74%;object-fit:contain;animation:bob 2.4s ease-in-out infinite}
.stamp.in{animation:popIn .7s cubic-bezier(.2,.9,.3,1.3) both}
.task{font-size:18px;font-weight:600;text-align:center}
.task b{display:block;font-size:30px;font-weight:900;color:var(--yellow);letter-spacing:-.01em}
.progress{display:flex;gap:8px}
.progress i{width:34px;height:8px;border-radius:4px;background:rgba(255,255,255,.25)}
.progress i.done{background:var(--yellow)}.progress i.now{background:#fff}

/* ---------- draw ---------- */
#draw{background:var(--paper-tint);gap:10px;padding-block:12px 16px}
.hud{width:100%;display:flex;align-items:center;gap:12px;padding-right:48px}
.target{flex:1;min-width:0}
.target small{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--orange)}
.target strong{display:block;font-size:24px;font-weight:900;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.clock{width:62px;height:62px;flex:none;position:relative}
.clock svg{width:100%;height:100%;transform:rotate(-90deg)}
.clock .track{stroke:var(--line)}.clock .ring{stroke:var(--orange);transition:stroke .2s}
.clock.low .ring{stroke:var(--bad)}
.clock span{position:absolute;inset:0;display:grid;place-items:center;font-weight:800;font-size:20px;font-variant-numeric:tabular-nums}
.clock.low span{color:var(--bad);animation:pulse .5s ease-in-out infinite alternate}
@keyframes pulse{to{transform:scale(1.15)}}
.padwrap{position:relative;width:min(100%,calc(100% - 0px),58vh);width:min(100%,58dvh);aspect-ratio:1;max-width:100%;flex:none}
#pad{width:100%;height:100%;display:block;background:#fff;border-radius:var(--r-lg);touch-action:none;
  box-shadow:0 0 0 3px var(--line),0 10px 24px rgba(77,64,204,.12);cursor:crosshair}
.padhint{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;color:#C9B8AA;font-weight:700;font-size:16px;transition:opacity .2s}
.scoutrow{width:100%;display:flex;align-items:flex-end;gap:8px;min-height:92px;flex:1}
.scout{width:84px;flex:none}
.bubble{position:relative;flex:1;min-width:0;background:#fff;border-radius:var(--r-md);padding:12px 16px;margin-bottom:18px;
  box-shadow:0 4px 0 var(--line);font-weight:700;font-size:17px;line-height:1.3}
.bubble::before{content:"";position:absolute;left:-10px;bottom:16px;border:10px solid transparent;border-right-color:#fff;border-left:0}
.bubble small{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--purple);font-weight:700}
.bubble .meter{height:6px;border-radius:3px;background:var(--paper-tint);margin-top:8px;overflow:hidden}
.bubble .meter i{display:block;height:100%;width:0;background:var(--purple);border-radius:3px;transition:width .3s ease}
.tools{display:flex;gap:10px;width:100%}
.tool{flex:1;min-height:48px;border-radius:var(--r-pill);background:#fff;color:var(--ink);font-weight:700;font-size:15px;box-shadow:0 3px 0 var(--line)}
.tool:active{transform:translateY(2px);box-shadow:none}

/* countdown overlay */
#count{position:absolute;inset:0;z-index:20;display:grid;place-items:center;background:rgba(46,46,173,.55);pointer-events:none}
#count b{font-weight:900;font-size:min(46vw,220px);color:var(--yellow);text-shadow:0 10px 0 var(--orange),0 18px 30px rgba(0,0,0,.3);line-height:1}
#count b.go{font-size:min(28vw,130px);color:#fff;text-shadow:0 8px 0 var(--purple)}
#count b.anim{animation:popIn .55s cubic-bezier(.2,.9,.3,1.3) both}

/* result overlay */
#result{position:absolute;inset:0;z-index:25;display:flex;align-items:center;justify-content:center;background:rgba(46,46,173,.62);
  padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.card{width:100%;max-width:380px;background:#fff;border-radius:var(--r-lg);padding:22px 20px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;
  animation:dropIn .55s cubic-bezier(.2,.9,.3,1.2) both;box-shadow:0 20px 50px rgba(0,0,0,.3)}
.card h2{margin:0;font-size:34px;font-weight:900;letter-spacing:-.02em;line-height:1}
.card.win h2{color:var(--orange)}.card.lose h2{color:var(--purple)}
.card .mini{width:150px;height:150px;border-radius:var(--r-md);background:var(--paper-tint)}
.card .pts{font-weight:900;font-size:44px;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.card .pts small{font-size:16px;font-weight:700;color:var(--grey)}
.card p{margin:0;color:var(--grey);font-weight:600;font-size:15px;line-height:1.4;max-width:30ch}
.card .btn{width:100%;margin-top:6px}
.card{position:relative;margin-top:60px}
.card .char{position:absolute;width:78px;top:-80px;right:6px}

/* ---------- final ---------- */
#final{background:var(--purple);color:#fff;gap:10px;overflow-y:auto;padding-block:20px 22px}
#final h1{margin:0;font-size:clamp(34px,10vw,46px);font-weight:900;letter-spacing:-.02em;line-height:1;text-align:center;text-wrap:balance}
.total{display:flex;align-items:baseline;gap:8px;font-weight:900}
.total b{font-size:52px;color:var(--yellow);line-height:1;font-variant-numeric:tabular-nums}
.total span{font-weight:700;font-size:16px;opacity:.85}
.postcards{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;max-width:400px}
.post{background:#fff;color:var(--ink);border-radius:var(--r-md);padding:8px 8px 10px;display:flex;flex-direction:column;gap:6px;transform:rotate(var(--tilt,0deg))}
.post canvas{width:100%;aspect-ratio:1;display:block;border-radius:12px;background:var(--paper-tint)}
.post .meta{display:flex;justify-content:space-between;align-items:baseline;gap:6px;padding:0 4px}
.post .meta b{font-size:14px;font-weight:800;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.post .meta span{font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--orange)}
.post .meta span.miss{color:var(--grey)}
.cheer{display:flex;justify-content:center;align-items:flex-end;height:84px;flex:none}
.cheer .char{height:100%;width:auto;margin:0 -6px}
#final .btn{flex:none}

#fx{position:absolute;inset:0;z-index:40;pointer-events:none;width:100%;height:100%}

@media (min-height:760px){.parade{height:34%}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important}
}

/* ---------- multiplayer additions ---------- */
#conn{position:absolute;z-index:31;top:calc(14px + env(safe-area-inset-top,0px));left:max(12px,env(safe-area-inset-left,0px));
  padding:6px 12px;border-radius:var(--r-pill);background:var(--purple-dark);color:#fff;font-size:12px;font-weight:700;letter-spacing:.02em}
#conn i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--yellow);margin-right:7px;animation:pulse .6s ease-in-out infinite alternate}
.join .btn.purple{background:var(--purple);color:#fff}

/* table picker */
#tables{background:var(--orange);color:#fff;gap:12px;padding-block:18px 18px}
#tables h2{margin:6px 0 0;font-size:28px;font-weight:900;letter-spacing:-.02em;line-height:1.05;text-align:center;text-wrap:balance}
#tables p{margin:0;font-size:14px;font-weight:600;opacity:.92;text-align:center}
.stage{width:100%;max-width:400px;padding:8px;border-radius:12px;background:var(--purple-dark);color:var(--yellow);text-align:center;font-weight:800;font-size:12px;letter-spacing:.24em;text-transform:uppercase}
.tgrid{width:100%;max-width:400px;display:grid;grid-template-columns:repeat(var(--cols,4),1fr);gap:8px;flex:1;min-height:0;align-content:start;overflow-y:auto;padding:2px}
.tbtn{aspect-ratio:1;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.45);padding:4px;min-width:0;max-height:92px;margin:0 auto;width:100%;max-width:92px}
.tbtn b{font-size:22px;font-weight:900;line-height:1}
.tbtn span{font-size:9px;font-weight:700;line-height:1.15;opacity:.9;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 4px}
.tbtn[aria-pressed="true"]{background:var(--yellow);color:var(--ink);box-shadow:0 5px 0 rgba(0,0,0,.2)}
.tbtn:active{transform:scale(.94)}
.pickrow{width:100%;max-width:400px;display:flex;gap:10px}
.pickrow .btn{flex:1;padding:0 18px}
.pickrow .btn.ghost{flex:none}

/* lobby + generic wait */
#lobby,#wait{background:var(--purple);color:#fff;justify-content:center;gap:14px;text-align:center}
#lobby .char,#wait .char{height:min(30vh,210px);width:auto}
#lobby h2,#wait h2{margin:0;font-size:clamp(30px,9vw,40px);font-weight:900;letter-spacing:-.02em;line-height:1.05;text-wrap:balance;max-width:14ch}
#lobby p,#wait p{margin:0;font-size:15px;font-weight:600;opacity:.92;max-width:28ch;line-height:1.45}
.seat{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:var(--r-pill);background:var(--yellow);color:var(--ink);font-weight:800;font-size:15px}
.linkbtn{background:none;color:#fff;text-decoration:underline;text-underline-offset:3px;font-weight:600;font-size:14px;opacity:.85;min-height:40px}
.ready{font-size:12px!important;font-weight:700!important;letter-spacing:.06em;text-transform:uppercase;opacity:.75!important}
.bigscore{display:flex;align-items:baseline;justify-content:center;gap:8px;font-weight:900}
.bigscore b{font-size:56px;color:var(--yellow);line-height:1;font-variant-numeric:tabular-nums}
.bigscore span{font-weight:700;font-size:16px;opacity:.85}
.rankchip{display:inline-block;padding:8px 16px;border-radius:var(--r-md);background:rgba(255,255,255,.14);font-weight:700;font-size:15px}
.lookup{font-size:13px!important;letter-spacing:.14em;text-transform:uppercase;font-weight:800!important;color:var(--yellow);opacity:1!important}

/* result card: no button on the phone, the MC moves everyone on */
.card .note{margin-top:6px;padding:10px 14px;border-radius:var(--r-md);background:var(--paper-tint);color:var(--ink);font-weight:700;font-size:14px;width:100%}
.card .total-line{font-size:14px;font-weight:700;color:var(--purple)}

/* ---------- quiz screens ---------- */
#quiz{color:#fff;gap:14px;padding-block:20px 18px}
#quiz.leg{background:var(--purple-dark)}
#quiz.sort{background:var(--orange)}
.qzhead{width:100%;display:flex;flex-direction:column;gap:6px;padding-right:52px}
.qzhead small{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--yellow)}
#quiz.sort .qzhead small{color:var(--ink)}
.qzhead h2{margin:0;font-size:34px;font-weight:900;letter-spacing:-.02em;line-height:1.05}
#quiz.leg .qzhead h2{font-size:84px;letter-spacing:.08em;color:var(--yellow);line-height:1}
.qzhead p{margin:0;font-size:15px;font-weight:600;opacity:.9}
.qzbar{height:10px;border-radius:5px;background:rgba(255,255,255,.2);overflow:hidden;margin-top:6px}
.qzbar i{display:block;height:100%;width:0;background:var(--yellow)}
#quiz.sort .qzbar i{background:#fff}
.qzgrid{width:100%;flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:center}
#quiz.sort .qzgrid{grid-template-columns:1fr}
.qzbtn{position:relative;min-height:96px;border-radius:var(--r-md);background:#fff;color:var(--ink);font:800 19px/1.2 var(--font);padding:12px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center;box-shadow:0 5px 0 rgba(0,0,0,.22);transition:opacity .25s,transform .1s}
#quiz.sort .qzbtn{min-height:64px;flex-direction:row;justify-content:flex-start;gap:14px;padding:10px 16px;text-align:left}
.qzbtn:active{transform:translateY(3px);box-shadow:0 2px 0 rgba(0,0,0,.22)}
.qzbtn.picked{background:var(--yellow)}
.qzbtn.dim{opacity:.4}
.qzbtn.right{background:var(--good);color:#fff}
.qzbtn.wrong{background:var(--bad);color:#fff}
.qzbtn .ord{width:36px;height:36px;flex:none;border-radius:50%;background:var(--paper-tint);display:grid;place-items:center;font-size:18px;font-weight:900;color:var(--purple)}
.qzbtn.picked .ord{background:var(--purple);color:#fff}
.qzbtn.reveal{flex-direction:row}
.qzbtn.reveal small{margin-left:auto;font-size:15px;font-weight:700;opacity:.9}
.qzbtn.reveal .ord{background:rgba(255,255,255,.3);color:#fff}
.qzfeed{margin:0;min-height:44px;font-size:16px;font-weight:700;text-align:center;line-height:1.35}
.qzundo{flex:none;width:100%;max-width:240px}
.qzintro{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;
  padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));background:inherit}
#quiz.leg .qzintro{background:var(--purple-dark)}#quiz.sort .qzintro{background:var(--orange)}
.qzintro h2{margin:0;font-size:clamp(38px,11vw,52px);font-weight:900;letter-spacing:-.02em;line-height:1;animation:popIn .6s cubic-bezier(.2,.9,.3,1.3) both}
.qzintro p{margin:0;font-size:16px;font-weight:600;max-width:28ch;line-height:1.4}
.qzintro .pill{background:var(--yellow);color:var(--ink)}

/* ---------- Real or AI? ---------- */
#ra{background:var(--purple);color:#fff;gap:14px;padding-block:20px 18px}
.ragrid{width:100%;flex:1;min-height:0;display:grid;grid-template-rows:1fr 1fr;gap:14px;padding:6px 0}
.rabtn{border-radius:var(--r-lg);font:900 54px/1 var(--font);letter-spacing:.02em;color:#fff;box-shadow:0 7px 0 rgba(0,0,0,.3);transition:opacity .25s,transform .1s}
.rabtn.real{background:#fff;color:var(--purple)}.rabtn.ai{background:var(--orange)}
.rabtn:active{transform:translateY(4px);box-shadow:0 2px 0 rgba(0,0,0,.3)}
.rabtn.picked{box-shadow:0 0 0 6px var(--yellow),0 7px 0 rgba(0,0,0,.3)}
.rabtn.dim{opacity:.3}
.rabtn.right{box-shadow:0 0 0 6px #fff,0 7px 0 rgba(0,0,0,.3)}
.rabtn.wrong{opacity:.55;text-decoration:line-through}
#ra .qzintro{background:var(--purple)}

/* ---------- Drop the Pin ---------- */
#pin{background:var(--yellow);color:var(--ink);gap:10px;padding-block:20px 16px}
#pin .qzhead h2{font-size:32px}
#pin .qzhead p{min-height:20px}
.pinwrap{position:relative;width:100%;flex:1;min-height:0;border-radius:var(--r-md);overflow:hidden;box-shadow:0 0 0 3px rgba(255,255,255,.25)}
#pinCv{position:absolute;inset:0;width:100%;height:100%;touch-action:none;display:block}
.pinout{position:absolute;right:10px;bottom:10px;min-height:42px;padding:0 16px;border-radius:var(--r-pill);background:#fff;color:var(--ink);font-weight:800;font-size:14px;box-shadow:0 3px 0 rgba(0,0,0,.25)}
#pin .qzintro{background:var(--yellow);color:var(--ink)}
#pin .qzhead small{color:var(--orange)}
#pin .qzbar{background:rgba(0,0,0,.12)}
#pin .qzbar i{background:var(--purple)}
#pin .qzintro .pill{background:var(--purple);color:#fff}
.pinwrap{box-shadow:0 0 0 3px var(--purple)!important}
#pin #mute{background:rgba(0,0,0,.12);color:var(--ink)}
