/* Top Answers. A game-show stage: TV board = team podium | flip-tile board | team podium;
   host = one-thumb phone console. One dark look on purpose, scoped under .crsa so themes don't leak in. */
.crsa{
  --stage:#0a0f2c; --stage-2:#111a46; --panel:#16235f; --tile:#1b3cc0; --tile-hi:#3a63ff; --edge:#8fb0ff;
  --gold:#ffc63d; --gold-deep:#d99a00; --red:#ef3b3b; --green:#2fd38a;
  --g:#2fbf71; --pg:#3b82f6; --pg13:#f59e0b; --r:#ef4444;
  --ink:#f3f5ff; --muted:#a3add9; --line:#2a3678;
  --f-display:"Bungee","Impact","Arial Black",sans-serif;
  --f-tile:"Barlow Condensed","Arial Narrow","Helvetica Neue",sans-serif;
  --f-body:"Barlow","Helvetica Neue",Arial,sans-serif;
  color-scheme:dark;
  background:radial-gradient(120% 80% at 50% -10%,#1e2f86 0%,var(--stage) 55%),var(--stage);
  color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.45;text-align:left;
}
.crsa *,.crsa *::before,.crsa *::after{box-sizing:border-box}
.crsa h1,.crsa h2,.crsa h3,.crsa p{margin:0;color:inherit;letter-spacing:normal;text-transform:none}
.crsa button{font:inherit;color:inherit;cursor:pointer;background:none;border:0;margin:0;text-transform:none;letter-spacing:normal;box-shadow:none}
.crsa a{color:var(--gold)}
.crsa :focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.crsa [hidden]{display:none!important}
html:has(body.crsa-page),body.crsa-page{height:100%;margin:0;background:#0a0f2c}
body.crsa-page .crsa{min-height:100%;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
.crsa-embed{border-radius:20px;overflow:hidden;margin-block:16px}
.crsa-embed.alignwide{max-width:min(1100px,100%);margin-left:auto!important;margin-right:auto!important}

/* shared bits */
.crsa .logo{font-family:var(--f-display);font-weight:400;font-size:clamp(40px,8vw,88px);line-height:.95;color:var(--gold);text-shadow:0 4px 0 var(--gold-deep),0 10px 30px rgba(255,198,61,.25);text-wrap:balance}
.crsa .logo small{display:block;font-size:.26em;color:var(--ink);text-shadow:none;letter-spacing:.18em;margin-top:12px}
.crsa .rate{display:inline-grid;place-items:center;min-width:3.2em;padding:2px 8px;border-radius:6px;font-family:var(--f-tile);font-weight:800;letter-spacing:.06em;color:#0a0f2c;font-size:14px;line-height:1.3}
.crsa .rate.r-G{background:var(--g)}.crsa .rate.r-PG{background:var(--pg);color:#fff}.crsa .rate.r-PG-13{background:var(--pg13)}.crsa .rate.r-R{background:var(--r);color:#fff}
.crsa .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 12px;border-radius:12px;border:2px solid var(--line);background:var(--stage-2);font-weight:600;font-size:16px;line-height:1.15;min-height:52px;text-align:center;text-decoration:none;color:var(--ink)}
.crsa .btn:hover:not(:disabled){border-color:var(--edge)}
.crsa .btn:disabled{opacity:.4;cursor:not-allowed}
.crsa .btn.sel{border-color:var(--gold);color:var(--gold)}
.crsa .btn.gold{background:var(--gold);border-color:var(--gold);color:var(--stage);font-weight:700}
.crsa .btn.x{background:var(--red);border-color:#ff8a8a;font-family:var(--f-display);font-weight:400;font-size:22px;letter-spacing:.04em}
.crsa .btn.warn{border-color:var(--red);color:#ffb3b3}
.crsa .btn.sm{min-height:40px;padding:6px 12px;font-size:14px}
.crsa .btn.wide{grid-column:1/-1}
.crsa .btns{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.crsa label{display:grid;gap:6px;font-size:14px;color:var(--muted)}
.crsa input[type=text],.crsa input[type=search],.crsa input[type=number],.crsa textarea{width:100%;padding:12px;border-radius:10px;border:1px solid var(--line);background:#070b26;color:var(--ink);font:inherit;font-size:16px;margin:0;box-shadow:none}
.crsa textarea{min-height:170px;resize:vertical;line-height:1.5}
.crsa .card{padding:20px;border-radius:18px;border:1px solid var(--line);background:rgba(17,26,70,.7);display:grid;gap:14px;align-content:start;min-width:0}
.crsa .card h2{font-family:var(--f-display);font-weight:400;font-size:24px;color:var(--gold)}
.crsa .muted{color:var(--muted)}
.crsa .notice{padding:12px 14px;border-radius:12px;border:1px solid var(--gold-deep);background:rgba(255,198,61,.08);font-size:14px}
.crsa .notice.bad{border-color:var(--red);background:rgba(239,59,59,.1)}
.crsa .row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.crsa .row>*{min-width:0}
.crsa .two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.crsa .check{display:flex;gap:10px;align-items:flex-start;color:var(--ink);font-size:15px}
.crsa .check input{width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--gold)}
.crsa .toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%) translateY(20px);opacity:0;transition:.2s;padding:12px 18px;border-radius:12px;background:var(--ink);color:var(--stage);font-weight:600;z-index:100;max-width:calc(100vw - 32px);pointer-events:none}
.crsa .toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ---------- Start screen ---------- */
.crsa .start{max-width:1040px;margin:0 auto;padding:40px 16px 48px;display:grid;gap:28px}
.crsa .start-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px;align-items:start}
.crsa .ratings{display:grid;gap:10px}
.crsa .rcard{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;width:100%;padding:12px 14px;border-radius:14px;border:2px solid var(--line);background:var(--stage-2);text-align:left}
.crsa .rcard:hover{border-color:var(--edge)}
.crsa .rcard.sel{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold)}
.crsa .rcard .rate{font-size:16px;min-width:3.6em}
.crsa .rcard span.note{color:var(--muted);font-size:14px;line-height:1.3}
.crsa .rcard small{color:var(--muted);font-size:12px;white-space:nowrap}
.crsa .ecard{grid-template-columns:1fr auto;gap:4px 12px}
.crsa .ecard .ename{font-family:var(--f-tile);font-weight:800;font-size:20px;text-transform:uppercase;letter-spacing:.03em;line-height:1.1}
.crsa .ecard .note{grid-column:1/-1}
.crsa .ecard .erates{grid-column:1/-1;display:flex;gap:6px;margin-top:4px}
.crsa .ecard .rate{font-size:12px;min-width:3.4em}
.crsa .code-in{font-family:var(--f-display)!important;font-size:34px!important;letter-spacing:.3em;text-transform:uppercase;text-align:center}
.crsa .resume{display:grid;gap:8px}
.crsa .resume-row{display:grid;grid-template-columns:1fr auto;gap:8px}
.crsa .resume-row .btn{justify-content:flex-start}
.crsa .resume-row .end-btn{justify-content:center;min-width:52px;font-size:22px;line-height:1}
.crsa .resume-row .end-btn.warn{font-size:15px}
.crsa .filebox{display:grid;gap:10px;padding:14px;border-radius:14px;border:1px dashed var(--line);background:rgba(7,11,38,.5)}
@media (max-width:760px){.crsa .start-grid{grid-template-columns:1fr}.crsa .two{grid-template-columns:1fr}}

/* ---------- Board (TV): the game-show set ----------
   Sunburst stage, gold chrome frame with marquee bulbs, oval logo,
   blue panels with numbered ovals, bank on top, score boxes either side. */
.crsa .board{--ff-blue:#1546d6;--ff-blue-hi:#5d8dff;--ff-blue-lo:#0a2681;--ff-navy:#04113a;--ff-chrome:linear-gradient(180deg,#fff8c9 0%,#ffd84a 22%,#c98a00 52%,#ffe27a 78%,#a86c00 100%);
  position:relative;isolation:isolate;overflow:hidden;min-height:100vh;display:grid;grid-template-rows:auto 1fr auto;gap:clamp(8px,1.6vh,20px);padding:clamp(10px,2vh,28px) clamp(14px,2.2vw,40px);
  background:radial-gradient(ellipse 70% 60% at 50% 42%,#2f6bff 0%,#0f3cc0 35%,#061b66 70%,#020a2c 100%)}
.crsa-embed .board{min-height:86vh}
.crsa .ff-rays{position:absolute;left:50%;top:45%;width:150vmax;height:150vmax;margin:-75vmax 0 0 -75vmax;z-index:-1;pointer-events:none;opacity:.35;
  background:center/100% 100% no-repeat;will-change:transform;animation:ff-spin 120s linear infinite}
@keyframes ff-spin{to{transform:rotate(360deg)}}

/* logo */
.crsa .ff-head{display:flex;justify-content:center}
.crsa .ff-logo{display:inline-grid;justify-items:center;padding:.3em 1.6em .4em;border-radius:50%;max-width:min(92vw,980px);text-align:center;
  background:radial-gradient(ellipse at 50% 30%,#4f86ff 0%,#1c4fdc 45%,#0a2681 100%);
  box-shadow:0 0 0 clamp(3px,.35vw,6px) #ffd84a,0 0 0 clamp(6px,.7vw,11px) #8a5a00,0 0 0 clamp(8px,.9vw,14px) #ffe27a,0 10px 40px rgba(0,0,0,.55),0 0 60px rgba(255,216,74,.35)}
.crsa .ff-logo-t{font-family:var(--f-display);font-size:clamp(26px,4.4vw,72px);line-height:1;text-transform:uppercase;letter-spacing:.02em;overflow-wrap:anywhere;
  background:linear-gradient(180deg,#fffbd0 0%,#ffe14a 38%,#ffaa00 62%,#ff6a00 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 .05em 0 #7a1d00) drop-shadow(0 0 .02em #2a0800) drop-shadow(0 .1em .12em rgba(0,0,0,.45))}
.crsa .ff-logo-sub{margin-top:.25em;font-family:var(--f-tile);font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#fff;font-size:clamp(11px,1.1vw,18px);text-shadow:0 2px 0 #0a2681}
.crsa .ff-logo-sub:empty{display:none}

/* stage: score box | bank + frame + question | score box */
.crsa .ff-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,4.6fr) minmax(0,1fr);gap:clamp(10px,1.6vw,30px);align-items:center;min-height:0}
.crsa .ff-center{display:grid;grid-template-rows:auto 1fr auto;gap:clamp(8px,1.4vh,16px);min-height:0;min-width:0;justify-items:center}
.crsa .ff-bankrow{position:relative;z-index:2;display:flex;align-items:center;gap:clamp(10px,1.4vw,22px);margin-bottom:calc(-1 * clamp(18px,2.4vh,34px))}
.crsa .ff-bankrow .ff-bank{margin-bottom:0}
.crsa .ff-join{text-align:center;font-family:var(--f-tile);font-weight:700;font-size:clamp(14px,1.4vw,24px);color:#fff;padding:.3em .9em;border-radius:99px;background:rgba(47,211,138,.18);box-shadow:inset 0 0 0 2px #2fd38a}
.crsa .ff-join span{color:#ffd84a}
.crsa .ff-team.won .sc{box-shadow:0 0 0 clamp(3px,.35vw,6px) #fff6a8,0 0 0 clamp(5px,.55vw,9px) #2fd38a,0 0 40px rgba(47,211,138,.8)}
.crsa .ff-team.won .tag{background:#2fd38a}
.crsa .winover{position:fixed;inset:0;display:grid;place-items:center;background:rgba(2,10,44,.7);opacity:0;pointer-events:none;transition:opacity .3s;z-index:95;overflow:hidden}
.crsa .winover.show{opacity:1}
.crsa .winover .winlogo{transform:scale(.6);transition:transform .5s cubic-bezier(.3,1.6,.5,1)}
.crsa .winover.show .winlogo{transform:scale(1.25)}
.crsa .confetti i{position:absolute;top:-4vh;width:1vw;height:1.8vw;min-width:8px;min-height:14px;border-radius:2px;animation:ff-fall linear infinite}
@keyframes ff-fall{to{transform:translateY(110vh) rotate(720deg)}}
.crsa .ff-bank{position:relative;z-index:2;min-width:clamp(120px,13vw,230px);padding:.1em .6em .15em;text-align:center;border-radius:12px;background:linear-gradient(180deg,#0a1f6e,#030b33);
  border:clamp(3px,.35vw,6px) solid transparent;background-clip:padding-box;box-shadow:0 0 0 clamp(3px,.35vw,6px) #ffd84a,0 0 0 clamp(5px,.55vw,9px) #8a5a00,0 6px 24px rgba(0,0,0,.5);margin-bottom:calc(-1 * clamp(18px,2.4vh,34px))}
.crsa .ff-bank b{display:block;font-family:var(--f-tile);font-weight:800;font-size:clamp(40px,5.4vw,96px);line-height:1;color:#fff;font-variant-numeric:tabular-nums;text-shadow:0 0 18px rgba(140,190,255,.9),0 3px 0 #0a2681}
.crsa .ff-bank small{display:block;font-family:var(--f-tile);font-weight:700;letter-spacing:.2em;font-size:clamp(10px,.9vw,14px);color:#ffd84a;margin-top:-.2em}
.crsa .ff-frame{position:relative;width:100%;padding:clamp(16px,2vw,34px);border-radius:clamp(26px,3vw,56px);background:var(--ff-chrome);box-shadow:0 18px 60px rgba(0,0,0,.6),inset 0 2px 0 rgba(255,255,255,.7)}
.crsa .ff-lights{position:absolute;inset:clamp(2px,.25vw,4px);border-radius:inherit;padding:clamp(10px,1.3vw,22px);pointer-events:none;
  background:radial-gradient(circle,#ffffff 0 18%,#fff3a0 30%,#ffb800 44%,rgba(255,170,0,.35) 52%,rgba(255,170,0,0) 64%) 0 0/clamp(18px,1.9vw,32px) clamp(18px,1.9vw,32px);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
.crsa .board.chase .ff-lights{animation:ff-chase .25s steps(2) infinite}
@keyframes ff-chase{to{background-position:clamp(9px,.95vw,16px) 0}}
.crsa .grid8{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(4,minmax(54px,1fr));grid-auto-flow:column;gap:clamp(6px,.8vw,12px);padding:clamp(8px,1vw,16px);
  border-radius:clamp(14px,1.8vw,34px);background:#020a2c;box-shadow:inset 0 0 0 3px #3a2600,inset 0 0 30px rgba(0,0,0,.9);min-height:clamp(260px,46vh,560px)}
.crsa .tile{perspective:1000px;min-height:54px}
.crsa .tile .in{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.3,1.35,.5,1)}
.crsa .tile.on .in{transform:rotateX(-180deg)}
.crsa .face{position:absolute;inset:0;display:flex;align-items:center;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:6px;overflow:hidden}
.crsa .front{justify-content:center;background:linear-gradient(180deg,var(--ff-blue-hi) 0%,#2d62f0 14%,var(--ff-blue) 50%,var(--ff-blue-lo) 100%);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.9),inset 0 0 0 5px #0a2681,inset 0 10px 18px rgba(255,255,255,.18)}
.crsa .front .num{display:grid;place-items:center;height:68%;aspect-ratio:1.7;border-radius:50%;font-family:var(--f-tile);font-weight:800;font-size:clamp(20px,2.4vw,44px);line-height:1;color:#fff;
  background:radial-gradient(ellipse at 50% 30%,#2a5be8,#061a66 75%);box-shadow:0 0 0 clamp(2px,.25vw,4px) #fff,0 3px 8px rgba(0,0,0,.5);text-shadow:0 2px 0 #020a2c}
.crsa .tile.blank .front{background:linear-gradient(180deg,#123a9e,#0a2470);box-shadow:inset 0 0 0 2px rgba(255,255,255,.25),inset 0 0 0 5px #071c5c}
.crsa .tile.blank .num{display:none}
.crsa .back{transform:rotateX(180deg);justify-content:space-between;background:linear-gradient(180deg,#6f9bff 0%,#3a6df5 16%,#1d4fe0 55%,#0d2f9e 100%);box-shadow:inset 0 0 0 2px rgba(255,255,255,.95),inset 0 0 0 5px #0a2681}
.crsa .back .t{flex:1;min-width:0;padding:0 .7em;font-family:var(--f-tile);font-weight:800;text-transform:uppercase;font-size:clamp(17px,2.2vw,42px);letter-spacing:.01em;line-height:1;color:#fff;
  text-shadow:0 2px 0 #071c5c,0 0 8px rgba(0,0,0,.35);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crsa .back .p{align-self:stretch;display:grid;place-items:center;min-width:clamp(54px,5.4vw,104px);margin:5px 5px 5px 0;border-radius:3px;font-family:var(--f-tile);font-weight:800;font-size:clamp(20px,2.4vw,46px);color:#fff;
  background:linear-gradient(180deg,#0d2f9e,#051560);box-shadow:inset 0 0 0 2px rgba(255,255,255,.9);font-variant-numeric:tabular-nums;text-shadow:0 2px 0 #020a2c}
.crsa .tile.dead .back{filter:saturate(.55) brightness(.8)}
.crsa .ff-q{max-width:100%;text-align:center;padding:.35em 1em;border-radius:10px;background:rgba(2,10,44,.72);box-shadow:0 0 0 2px rgba(255,216,74,.55);
  font-family:var(--f-tile);font-weight:700;font-size:clamp(20px,2.4vw,44px);line-height:1.12;color:#fff;text-wrap:balance}

/* team score boxes */
.crsa .ff-team{display:grid;justify-items:center;gap:clamp(6px,1vh,12px);text-align:center;transition:transform .3s}
.crsa .ff-team .sc{min-width:2.4em;padding:.05em .3em;border-radius:12px;font-family:var(--f-tile);font-weight:800;font-size:clamp(40px,5vw,96px);line-height:1.1;color:#fff;font-variant-numeric:tabular-nums;
  background:linear-gradient(180deg,#0a1f6e,#030b33);box-shadow:0 0 0 clamp(3px,.35vw,6px) #ffd84a,0 0 0 clamp(5px,.55vw,9px) #8a5a00,0 8px 24px rgba(0,0,0,.5);text-shadow:0 0 16px rgba(140,190,255,.8)}
.crsa .ff-team .nm{max-width:100%;padding:.2em .6em;border-radius:8px;background:#fff;color:#0a2681;font-family:var(--f-tile);font-weight:800;text-transform:uppercase;letter-spacing:.03em;font-size:clamp(14px,1.6vw,28px);line-height:1.1;overflow-wrap:anywhere;box-shadow:0 4px 0 #8a5a00}
.crsa .ff-team .tag{font-family:var(--f-tile);font-weight:800;font-size:clamp(11px,1vw,16px);letter-spacing:.2em;text-transform:uppercase;color:#020a2c;background:#ffd84a;padding:.2em .6em;border-radius:5px}
.crsa .ff-team.ctl{transform:scale(1.06)}
.crsa .ff-team.ctl .sc{box-shadow:0 0 0 clamp(3px,.35vw,6px) #fff6a8,0 0 0 clamp(5px,.55vw,9px) #ffb400,0 0 40px rgba(255,216,74,.8)}

/* footer: strike boxes, round, room, controls */
.crsa .b-foot{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}
.crsa .b-foot .ff-ctl{justify-self:end}
.crsa .strikes{display:flex;gap:8px}
.crsa .strikes i{display:grid;place-items:center;width:clamp(34px,3vw,54px);aspect-ratio:1;border-radius:6px;font-style:normal;font-family:var(--f-tile);font-weight:800;font-size:clamp(26px,2.4vw,44px);line-height:1;color:transparent;
  background:rgba(2,10,44,.75);box-shadow:inset 0 0 0 2px rgba(255,255,255,.25)}
.crsa .strikes i.on{color:#ff2b2b;box-shadow:inset 0 0 0 3px #ff2b2b,0 0 14px rgba(255,43,43,.6);text-shadow:0 0 2px #fff}
.crsa .ff-info{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;font-family:var(--f-tile);font-weight:700;letter-spacing:.12em;color:#cfe0ff;font-size:clamp(13px,1.1vw,18px);text-transform:uppercase}
.crsa .ff-info .mult{color:#020a2c;background:#ffd84a;padding:1px 8px;border-radius:5px;margin-left:6px;letter-spacing:.06em}
.crsa .roomtag b{font-family:var(--f-display);font-weight:400;color:#fff;letter-spacing:.2em}
.crsa .pill{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:99px;border:1px solid rgba(255,255,255,.25);background:rgba(2,10,44,.6);font-size:14px;color:#cfe0ff;text-decoration:none}
.crsa .ff-ctl{display:flex;gap:10px;align-items:center}
.crsa .ff-icon{display:grid;place-items:center;width:clamp(42px,3.4vw,56px);aspect-ratio:1;border-radius:50%;padding:0;color:#cfe0ff;text-decoration:none;
  background:rgba(2,10,44,.6);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.3);transition:color .15s,box-shadow .15s,background .15s}
.crsa .ff-icon svg{width:52%;height:52%}
.crsa .ff-icon:hover{color:#fff;box-shadow:inset 0 0 0 2px #ffd84a;background:rgba(2,10,44,.85)}
.crsa .ff-icon.off{color:#ffd84a;animation:ff-nudge 2.4s ease-in-out infinite}
@keyframes ff-nudge{0%,100%{box-shadow:inset 0 0 0 1.5px rgba(255,216,74,.5)}50%{box-shadow:inset 0 0 0 2px #ffd84a,0 0 16px rgba(255,216,74,.55)}}
@media (prefers-reduced-motion:reduce){.crsa .ff-icon.off{animation:none}}
.crsa button.pill:hover,.crsa a.pill:hover{border-color:#fff;color:#fff}

/* big strike, award banner */
.crsa .xover{position:fixed;inset:0;display:flex;justify-content:center;align-items:center;gap:2.5vw;background:rgba(2,10,44,.45);pointer-events:none;opacity:0;transition:opacity .12s;z-index:90}
.crsa .xover.show{opacity:1}
.crsa .xover span{display:grid;place-items:center;width:min(26vw,44vh);aspect-ratio:1;border-radius:14px;background:rgba(0,0,0,.72);box-shadow:inset 0 0 0 clamp(5px,.6vw,10px) #ff2b2b,0 0 60px rgba(255,43,43,.7);
  font-family:var(--f-tile);font-weight:800;font-size:min(30vw,50vh);line-height:1;color:#ff2b2b;text-shadow:0 0 30px rgba(255,43,43,.9),0 0 3px #fff;transform:scale(.5);transition:transform .22s cubic-bezier(.3,1.7,.5,1)}
.crsa .xover.show span{transform:scale(1)}
.crsa .banner{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%) scale(.6);padding:.4em 1.2em;border-radius:50%;text-align:center;font-family:var(--f-display);font-size:clamp(34px,6vw,110px);line-height:1;color:#fff;
  background:radial-gradient(ellipse at 50% 30%,#4f86ff,#0a2681 80%);box-shadow:0 0 0 8px #ffd84a,0 0 0 14px #8a5a00,0 20px 80px rgba(0,0,0,.6);text-shadow:0 4px 0 #020a2c;
  opacity:0;transition:opacity .2s,transform .35s cubic-bezier(.3,1.6,.5,1);pointer-events:none;z-index:91;max-width:calc(100vw - 32px)}
.crsa .banner.show{opacity:1;transform:translate(-50%,-50%) scale(1)}
.crsa .banner small{display:block;font-family:var(--f-tile);font-weight:800;font-size:.32em;letter-spacing:.14em;text-transform:uppercase;color:#ffd84a;text-shadow:none}
.crsa .lost{display:grid;place-items:center;align-content:center;gap:18px;text-align:center;min-height:70vh;padding:24px 16px}
.crsa .lost.board-end{min-height:100vh;background:radial-gradient(ellipse 70% 60% at 50% 42%,#2f6bff 0%,#0f3cc0 35%,#061b66 70%,#020a2c 100%)}
.crsa .lost p{max-width:46ch;color:#cfe0ff}

@media (max-width:760px){
  .crsa .ff-stage{grid-template-columns:1fr 1fr;row-gap:22px}
  .crsa .ff-center{grid-column:1/-1;grid-row:1}
  .crsa .grid8{grid-template-columns:1fr;grid-template-rows:none;grid-auto-flow:row;grid-auto-rows:54px;min-height:0}
  .crsa .ff-logo{padding:.35em 1.1em .45em}
}
@media (prefers-reduced-motion:reduce){.crsa .ff-rays,.crsa .board.chase .ff-lights,.crsa .confetti i{animation:none}}

/* ---------- Host console ---------- */
.crsa .host{max-width:720px;margin:0 auto;padding:12px 16px 80px;display:grid;gap:16px}
.crsa .h-bar{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;display:grid;grid-template-columns:1fr auto 1fr;gap:8px;padding:10px;border-radius:16px;background:rgba(10,15,44,.94);backdrop-filter:blur(8px);border:1px solid var(--line)}
.crsa .h-team{display:grid;gap:2px;padding:8px 10px;border-radius:12px;border:2px solid transparent;background:var(--stage-2);min-width:0}
.crsa .h-team:last-child{text-align:right}
.crsa .h-team.ctl{border-color:var(--gold)}
.crsa .h-team .nm{font-family:var(--f-tile);font-weight:700;text-transform:uppercase;font-size:15px;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crsa .h-team .sc{font-family:var(--f-display);font-size:26px;color:var(--gold);line-height:1;font-variant-numeric:tabular-nums}
.crsa .h-bank{display:grid;align-content:center;justify-items:center;padding:4px 12px;border-radius:12px;background:#050820;border:2px solid var(--gold)}
.crsa .h-bank small{font-size:11px;letter-spacing:.18em;color:var(--gold);font-weight:600}
.crsa .h-bank b{font-family:var(--f-display);font-weight:400;font-size:26px;line-height:1;font-variant-numeric:tabular-nums}
.crsa .h-room{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:14px;border:1px dashed var(--line)}
.crsa .ed-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 10px 8px 8px;border-radius:12px;border:2px solid var(--line);background:var(--stage-2);color:var(--ink);font-size:15px;text-align:left;min-height:44px}
.crsa .ed-chip:hover{border-color:var(--edge)}
.crsa .ed-go{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
.crsa .ecard .erates .btn{min-height:40px;padding:4px 10px}
.crsa .player{max-width:520px;margin:0 auto;padding:20px 16px 40px;display:grid;gap:18px;min-height:100vh;align-content:start;background:radial-gradient(ellipse 80% 50% at 50% 30%,#2f6bff 0%,#0f3cc0 40%,#061b66 75%,#020a2c 100%)}
.crsa .player .ff-logo-t{font-size:clamp(26px,9vw,44px)}
.crsa .pteam{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0;font-family:var(--f-tile);font-weight:700;font-size:20px;text-transform:uppercase}
.crsa .buzzer{display:grid;place-items:center;width:min(78vw,340px);aspect-ratio:1;margin:8px auto;border-radius:50%;font-family:var(--f-display);font-size:clamp(28px,10vw,52px);line-height:1.05;text-align:center;padding:24px;color:#fff;
  background:radial-gradient(circle at 50% 35%,#ff6b6b,#c41818 60%,#7a0b0b);box-shadow:0 12px 0 #5a0808,0 18px 40px rgba(0,0,0,.6),inset 0 6px 18px rgba(255,255,255,.35);transition:transform .08s,box-shadow .08s;touch-action:manipulation}
.crsa .buzzer:active:not(:disabled){transform:translateY(10px);box-shadow:0 2px 0 #5a0808,0 6px 18px rgba(0,0,0,.6),inset 0 6px 18px rgba(255,255,255,.35)}
.crsa .buzzer:disabled{cursor:default}
.crsa .buzzer.closed{background:radial-gradient(circle at 50% 35%,#55608f,#2a3466 60%,#151b3d);box-shadow:0 12px 0 #0c1130,0 18px 40px rgba(0,0,0,.5);font-size:clamp(20px,6vw,30px)}
.crsa .buzzer.won{background:radial-gradient(circle at 50% 35%,#6ff0b4,#16a865 60%,#0a5e37);box-shadow:0 12px 0 #073d24,0 0 40px rgba(47,211,138,.7);font-size:clamp(22px,7vw,34px)}
.crsa .buzzer.lost{background:radial-gradient(circle at 50% 35%,#55608f,#2a3466 60%,#151b3d);box-shadow:0 12px 0 #0c1130;font-size:clamp(20px,6vw,30px)}
.crsa .pq{margin:0;text-align:center;font-family:var(--f-tile);font-weight:700;font-size:22px;line-height:1.15}
.crsa .pscore{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.crsa .pscore div{display:grid;justify-items:center;gap:2px;padding:10px;border-radius:12px;background:rgba(2,10,44,.6);box-shadow:inset 0 0 0 2px rgba(255,216,74,.5)}
.crsa .pscore span{font-family:var(--f-tile);font-weight:700;text-transform:uppercase;font-size:14px;color:#cfe0ff}
.crsa .pscore b{font-family:var(--f-display);font-size:28px;color:var(--gold)}
.crsa .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.crsa .sheet-wrap{position:fixed;inset:0;z-index:80;display:grid;align-items:end;justify-items:center}
.crsa .sheet-bg{position:absolute;inset:0;background:rgba(2,6,24,.7);cursor:pointer}
.crsa .sheet{position:relative;width:min(100%,560px);display:grid;gap:14px;padding:22px 18px calc(22px + env(safe-area-inset-bottom,0px));border-radius:22px 22px 0 0;background:var(--stage-2);box-shadow:0 -10px 40px rgba(0,0,0,.6),inset 0 2px 0 var(--gold);animation:crsa-up .18s ease-out}
.crsa .sheet h2{margin:0;font-family:var(--f-display);font-weight:400;font-size:24px;color:var(--gold)}
@keyframes crsa-up{from{transform:translateY(40px);opacity:0}}
@media (prefers-reduced-motion:reduce){.crsa .sheet{animation:none}}
.crsa .reminder{margin:0;padding:10px 12px;border-radius:10px;background:rgba(255,198,61,.12);box-shadow:inset 0 0 0 2px var(--gold);font-size:15px}
.crsa .card.status{border:2px solid var(--gold);background:rgba(255,198,61,.08)}
.crsa .card.status.steal{border-color:var(--red);background:rgba(239,59,59,.12)}
.crsa .card.status.done{border-color:var(--green);background:rgba(47,211,138,.1)}
.crsa .card.status .big{font-family:var(--f-tile);font-weight:800;font-size:26px;text-transform:uppercase;letter-spacing:.03em}
.crsa .buzzed{margin:0;padding:10px 12px;border-radius:10px;background:rgba(47,211,138,.15);box-shadow:inset 0 0 0 2px var(--green)}
.crsa .btn.buzzwin{box-shadow:0 0 0 3px var(--green),0 0 18px rgba(47,211,138,.6)}
.crsa details.fix{border:1px solid var(--line);border-radius:14px;padding:10px 14px}
.crsa details.fix summary{cursor:pointer;color:var(--muted);font-weight:600;padding:4px 0}
.crsa details.fix[open] summary{margin-bottom:10px}
.crsa .h-room .code{font-family:var(--f-display);font-size:30px;letter-spacing:.2em;line-height:1}
.crsa .sec{display:grid;gap:10px}
.crsa .sec>h2,.crsa .eyebrow{font-family:var(--f-tile);font-weight:700;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.crsa .hq{font-family:var(--f-tile);font-weight:700;font-size:24px;line-height:1.15;text-wrap:balance}
.crsa .ans{display:grid;gap:8px}
.crsa .arow{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center;padding:12px 14px;border-radius:12px;border:2px solid var(--line);background:var(--stage-2);text-align:left;width:100%}
.crsa .arow .n{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-family:var(--f-display);font-size:15px;background:var(--tile);border:2px solid var(--edge)}
.crsa .arow .t{font-family:var(--f-tile);font-weight:700;font-size:20px;text-transform:uppercase;min-width:0;overflow-wrap:anywhere;line-height:1.1}
.crsa .arow .p{font-family:var(--f-display);font-size:20px;color:var(--gold);font-variant-numeric:tabular-nums}
.crsa .arow.on{background:var(--tile);border-color:var(--edge)}
.crsa .arow.on .n{background:var(--green);border-color:#bff5dc;color:#05301c}
.crsa .arow.dead{opacity:.72;border-style:dashed}
.crsa .arow em{font-style:normal;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-family:var(--f-body)}
.crsa .xcount{display:flex;gap:6px;justify-content:center;align-items:center;font-family:var(--f-display);color:var(--red);font-size:22px}
.crsa .xcount i{font-style:normal;opacity:.2}.crsa .xcount i.on{opacity:1}
.crsa .empty{text-align:center;color:var(--muted);padding:28px 16px}
.crsa .empty b{display:block;font-family:var(--f-tile);font-size:22px;color:var(--ink);margin-bottom:4px}
.crsa .picker{display:grid;gap:8px;max-height:60vh;overflow:auto;padding-right:4px}
.crsa .qopt{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--stage-2);text-align:left;width:100%}
.crsa .qopt:hover{border-color:var(--edge)}
.crsa .qopt.used{opacity:.5}
.crsa .qopt small{color:var(--muted);font-size:12px;white-space:nowrap}
.crsa .qopt .rate{font-size:12px;min-width:3.4em}
.crsa .score-adj{display:grid;grid-template-columns:auto 1fr auto;gap:6px;align-items:center}
.crsa .score-adj button{width:44px;height:44px;border-radius:10px;border:1px solid var(--line);background:var(--stage-2);font-size:20px}
.crsa .score-adj input{text-align:center;font-family:var(--f-display);color:var(--gold)}
.crsa .back-link{font-size:14px;color:var(--muted);text-decoration:none}
@media (prefers-reduced-motion:reduce){.crsa *{transition:none!important;animation:none!important}}
/* License (desktop app) */
.crsa #crsa-lic{min-height:84px;font-family:ui-monospace,Menlo,monospace;font-size:13px;word-break:break-all}
.crsa .licfoot{display:grid;gap:8px;padding-top:10px;border-top:1px solid var(--line)}
.crsa .linkbtn{background:none;border:0;padding:0;color:var(--gold);font:inherit;text-decoration:underline;cursor:pointer}
.crsa .ff-tapsound{position:fixed;top:14px;left:50%;transform:translateX(-50%);z-index:30;border:0;border-radius:999px;padding:10px 20px;background:#ffd84a;color:#020a2c;font-family:var(--f-tile);font-weight:800;font-size:clamp(14px,1.3vw,20px);letter-spacing:.04em;box-shadow:0 6px 24px rgba(0,0,0,.45);cursor:pointer}
.crsa .ff-tapsound[hidden]{display:none}
