/* ============ Lucky Lights · game stage (drawn at 1280 x 820, scaled to fit) ============ */
.stage *{box-sizing:border-box}
.ll-top{position:absolute;left:34px;right:34px;top:14px;height:40px;display:flex;align-items:center;justify-content:space-between;color:#fff;font:700 20px 'Fredoka',sans-serif}
.ll-top .pill{background:#ffffff1c;border:2px solid #ffffff33;border-radius:999px;padding:4px 16px}
.ll-top .pill b{color:var(--yellow)}

/* the board frame with chasing marquee bulbs */
.ll-board{position:absolute;left:30px;top:60px;width:1220px;height:544px;padding:16px;border-radius:24px;background:#070b24;border:6px solid var(--red);
  box-shadow:0 0 0 4px #ffc62955,0 0 40px #ef2b3c66,inset 0 0 30px #000;display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(5,1fr);gap:8px}
.ll-board::before{content:"";position:absolute;inset:-6px;border-radius:24px;pointer-events:none;
  background:radial-gradient(circle,#fff6c4 0 3px,#ffc629 3.5px 4.5px,transparent 5px) 0 0/28px 28px;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:6px;animation:bulbs 1s linear infinite;opacity:.9}
.ll-board.spin::before{animation-duration:.25s}
@keyframes bulbs{to{background-position:28px 0}}

/* tiles */
.tile{position:relative;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  background:linear-gradient(160deg,#2563eb,#12307f);border:3px solid #3b6cf0;color:var(--yellow);font-family:'Fredoka',sans-serif;
  box-shadow:inset 0 -6px 0 #0b1f5c88,inset 0 2px 0 #ffffff33;transition:transform .08s,box-shadow .08s,background .08s;overflow:hidden}
.tile .amt{font-weight:700;font-size:38px;line-height:1;text-shadow:0 3px 0 #0b1b5c}
.tile .tag{margin-top:6px;font-size:14px;font-weight:700;letter-spacing:1px;background:var(--yellow);color:#0b1236;border-radius:999px;padding:2px 10px}
.tile.bonus{background:linear-gradient(160deg,#16a34a,#065f46);border-color:#34d399}
.tile.whammy{background:linear-gradient(160deg,#7c3aed,#4c1d95);border-color:#c4b5fd;color:#fff}
.tile.whammy .grem{width:58px;height:58px;margin-top:-4px}
.tile.whammy .wlabel{font-weight:700;font-size:17px;letter-spacing:1px;color:#fde68a;text-shadow:0 2px 0 #2e1065}
.tile.lit{transform:scale(1.07);z-index:2;background:linear-gradient(160deg,#fff7c2,#ffd43b);border-color:#fff;color:var(--red);
  box-shadow:0 0 0 4px #fff,0 0 28px 8px #ffe066,0 0 60px 10px #ffc62999}
.tile.lit .amt{text-shadow:none}
.tile.lit.whammy{background:linear-gradient(160deg,#f472b6,#be185d);color:#fff}
.tile.landed{animation:landed .35s ease-in-out 5}
@keyframes landed{50%{box-shadow:0 0 0 6px #fff,0 0 50px 20px #ffe066;transform:scale(1.12)}}
.ll-board.dim .tile:not(.lit){filter:brightness(.55) saturate(.8)}

/* centre screen */
.ll-center{grid-column:2/6;grid-row:2/5;position:relative;border-radius:18px;border:4px solid var(--yellow);background:radial-gradient(ellipse at 50% 30%,#1d2b7a,#0a1033 75%);
  box-shadow:inset 0 0 40px #000a;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:18px 30px;overflow:hidden}
.ll-logo{font-family:'Fredoka',sans-serif;font-weight:700;line-height:.95;font-size:84px;letter-spacing:2px;color:var(--yellow);text-shadow:0 5px 0 var(--red-d),0 0 30px #ffc62988;transform:rotate(-3deg)}
.ll-logo span{display:block;color:#fff;font-size:92px;text-shadow:0 5px 0 #1e3a8a,0 0 30px #60a5fa88}
.ll-sub{margin-top:14px;font:700 22px 'Fredoka',sans-serif;color:#c7d2fe}
.who{font:700 22px 'Fredoka',sans-serif;color:#c7d2fe;margin-bottom:6px}
.who b{color:var(--yellow);text-transform:uppercase;letter-spacing:1px}
.sent{font:700 34px/1.25 'Fredoka',sans-serif;max-width:720px}
.sent .blank{display:inline-block;min-width:150px;border-bottom:5px solid var(--yellow);margin:0 4px;color:var(--yellow)}
.qform{display:flex;gap:10px;margin-top:18px}
.qform input{width:330px;font:700 32px 'Fredoka',sans-serif;text-align:center;padding:8px 14px;border-radius:14px;border:4px solid #fff;outline:none;color:var(--ink);background:#fff}
.qform input:focus{border-color:var(--yellow);box-shadow:0 0 0 5px #ffc62966}
.qform button,.nextbtn{appearance:none;border:0;cursor:pointer;font:700 26px 'Fredoka',sans-serif;padding:8px 22px;border-radius:14px;background:var(--green);color:#fff;box-shadow:0 5px 0 #15803d}
.qform button:active,.nextbtn:active{transform:translateY(3px);box-shadow:0 2px 0 #15803d}
.nextbtn{margin-top:16px;background:var(--blue);box-shadow:0 5px 0 #1e3a8a}
.bank{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px}
.bank span{font:700 18px 'Fredoka',sans-serif;background:#ffffff1a;border:2px solid #ffffff40;border-radius:999px;padding:3px 14px;color:#e0e7ff}
.big{font:700 54px 'Fredoka',sans-serif;line-height:1.05}
.big.good{color:#4ade80}.big.bad{color:#fb7185}.big.gold{color:var(--yellow)}
.msg{font:700 26px 'Fredoka',sans-serif;margin-top:8px;color:#e0e7ff}
.msg b{color:var(--yellow)}
.meaning{margin-top:8px;font:600 20px 'Nunito',sans-serif;color:#a5b4fc;font-style:italic}
.pressnow{margin-top:12px;font:700 40px 'Fredoka',sans-serif;color:var(--yellow);animation:throb .6s ease-in-out infinite alternate}
@keyframes throb{to{transform:scale(1.08);text-shadow:0 0 24px #ffc629}}
.facebig{margin:6px auto 4px;width:230px;height:150px;border-radius:18px;font-size:1.5em}
.facebig .amt{font-size:62px}
.facebig .tag{font-size:20px}
.facebig.whammy .grem{width:110px;height:110px}

/* player podiums */
.ll-pods{position:absolute;left:30px;right:30px;top:620px;height:188px;display:flex;justify-content:center;align-items:flex-end;gap:16px}
.pod{position:relative;flex:1 1 0;max-width:200px;height:180px;border-radius:18px 18px 10px 10px;background:linear-gradient(#27325f,#101634);border:3px solid #3b4a8a;
  display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:10px 10px 12px;transition:transform .2s,box-shadow .2s,border-color .2s;filter:brightness(.72)}
.pod.on{filter:none;border-color:var(--yellow);transform:translateY(-6px);box-shadow:0 0 0 3px #ffc62955,0 0 30px #ffc62977}
.pscore{width:100%;background:#050814;border-radius:10px;border:2px solid #1f2a55;font:700 30px 'Fredoka',sans-serif;color:#ffe066;text-shadow:0 0 12px #ffc629aa;text-align:center;padding:2px 0}
.pscore.zero{color:#fda4af;text-shadow:0 0 12px #f43f5e99}
.pbtn{appearance:none;cursor:pointer;width:84px;height:46px;border:0;border-radius:50% 50% 14px 14px/80% 80% 20% 20%;
  background:radial-gradient(ellipse at 40% 30%,#ff9a9a 0,#ef2b3c 35%,#a3111f 100%);box-shadow:0 7px 0 #5c0a12,0 10px 12px #0008;transition:transform .06s,box-shadow .06s}
.pbtn:active,.pbtn.hit{transform:translateY(5px);box-shadow:0 2px 0 #5c0a12,0 4px 6px #0008}
.pod.armed .pbtn{animation:arm .45s ease-in-out infinite alternate}
@keyframes arm{to{box-shadow:0 7px 0 #5c0a12,0 0 26px 10px #ff4d5e}}
.pname{position:relative;width:100%;border-radius:8px;background:#04060f;padding:6px 4px;text-align:center;font:700 22px 'Fredoka',sans-serif;letter-spacing:2px;text-transform:uppercase;color:#6ee7b7;text-shadow:0 0 10px #34d399;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:3px solid #f59e0b}
.pod.on .pname{animation:plate 1s steps(2) infinite}
@keyframes plate{50%{border-color:#fde68a}}
.pod.shake{animation:shake .5s ease-in-out 2}
@keyframes shake{20%{transform:translateX(-10px) rotate(-3deg)}40%{transform:translateX(10px) rotate(3deg)}60%{transform:translateX(-8px)}80%{transform:translateX(8px)}}
.pop{position:absolute;z-index:20;font:700 40px 'Fredoka',sans-serif;color:var(--yellow);text-shadow:0 3px 0 #7c2d12,0 0 20px #ffc629;pointer-events:none;animation:pop 1.6s ease-out forwards;transform:translateX(-50%)}
.pop.bad{color:#fb7185;text-shadow:0 3px 0 #4c0519}
@keyframes pop{0%{opacity:0;margin-top:20px}15%{opacity:1}100%{opacity:0;margin-top:-110px}}

/* whammy takeover */
.wham{position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle,#7c3aedcc,#1e0b3acc 70%);pointer-events:none;animation:whamIn 2.3s ease forwards}
.wham .grem{width:330px;height:330px;animation:whamGrem 2.3s ease forwards}
.wham b{font:700 110px 'Fredoka',sans-serif;color:#fde68a;text-shadow:0 7px 0 #be185d,0 0 40px #f472b6;margin-top:-10px;letter-spacing:4px}
@keyframes whamIn{0%{opacity:0}8%{opacity:1}85%{opacity:1}100%{opacity:0}}
@keyframes whamGrem{0%{transform:scale(.1) rotate(-30deg)}20%{transform:scale(1.15) rotate(8deg)}30%{transform:scale(1) rotate(-6deg)}40%{transform:rotate(6deg)}50%{transform:rotate(-6deg)}60%{transform:rotate(4deg)}100%{transform:scale(1) rotate(0)}}

/* setup + final screens */
.ll-over{position:absolute;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;background:#070b24e8}
.card{width:760px;background:#fff;border-radius:26px;padding:28px 34px;box-shadow:0 12px 0 #0b1b5c,0 30px 60px #000a;color:var(--ink)}
.card h2{margin:0 0 4px;font:700 44px 'Fredoka',sans-serif;color:var(--red)}
.card h2 small{display:block;font-size:20px;color:#5a6580;letter-spacing:1px}
.row{display:flex;align-items:center;gap:14px;margin-top:16px;font:700 20px 'Nunito',sans-serif}
.row label{min-width:120px}
.row select{font:700 20px 'Fredoka',sans-serif;padding:6px 12px;border-radius:12px;border:3px solid #cbd5e1}
.names{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}
.names div{display:flex;gap:6px}
.names input{flex:1;font:700 20px 'Fredoka',sans-serif;padding:7px 12px;border-radius:12px;border:3px solid #cbd5e1;text-transform:uppercase}
.names input:focus{border-color:var(--yellow);outline:none}
.names button,.addp{appearance:none;border:0;cursor:pointer;border-radius:12px;font:700 18px 'Fredoka',sans-serif;padding:6px 12px;background:#e2e8f0;color:#334155}
.addp{margin-top:10px;background:#dbeafe;color:#1d4ed8}
.chk{display:flex;align-items:center;gap:10px;cursor:pointer}
.chk input{width:22px;height:22px}
.go{appearance:none;border:0;cursor:pointer;display:block;margin:22px auto 0;font:700 32px 'Fredoka',sans-serif;padding:10px 40px;border-radius:999px;background:var(--red);color:#fff;box-shadow:0 7px 0 var(--red-d)}
.go:hover{transform:translateY(-2px)}
.go:active{transform:translateY(4px);box-shadow:0 3px 0 var(--red-d)}
.words{margin-top:6px;font:600 16px 'Nunito',sans-serif;color:#5a6580}
.stand{margin:14px 0 0;padding:0;list-style:none}
.stand li{display:flex;align-items:center;gap:14px;padding:10px 16px;border-radius:14px;margin-top:8px;background:#f1f5f9;font:700 26px 'Fredoka',sans-serif}
.stand li.first{background:linear-gradient(90deg,#fff3bf,#ffe066);box-shadow:0 0 0 3px var(--yellow)}
.stand .rk{width:44px;text-align:center;font-size:30px}
.stand .nm{flex:1;text-transform:uppercase;letter-spacing:1px}
.stand .sc{color:#15803d}
.btns{display:flex;justify-content:center;gap:14px;margin-top:18px}
.btns .go{margin:0;font-size:26px;padding:10px 28px}
.btns .go.alt{background:var(--blue);box-shadow:0 7px 0 #1e3a8a}
.confetti{position:absolute;top:-20px;width:12px;height:18px;z-index:50;pointer-events:none;animation:fall linear forwards}
@keyframes fall{to{transform:translateY(900px) rotate(720deg)}}
.ll-center>.cw{display:flex;flex-direction:column;align-items:center;transform-origin:50% 50%}
.banklbl{margin-top:14px;font:700 17px 'Nunito',sans-serif;color:#a5b4fc;letter-spacing:.5px}
.bank{margin-top:8px}
.bank span{font-size:24px;padding:4px 18px;background:#ffc6291f;border-color:#ffc62966;color:#fff3bf}

/* ---- ways to play, the game room, remote players ---- */
.modes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}
.mode{appearance:none;border:3px solid #e2e8f0;background:#f8fafc;border-radius:18px;padding:16px 12px;cursor:pointer;text-align:center;transition:transform .12s,border-color .12s,box-shadow .12s}
.mode b{display:block;font:700 22px 'Fredoka',sans-serif;color:var(--ink)}
.mode span{display:block;margin-top:6px;font:700 15px 'Nunito',sans-serif;color:#5a6580}
.mode:hover{transform:translateY(-3px);border-color:var(--yellow);box-shadow:0 6px 0 #ffc62966}
.mode[data-m="game"]{border-color:#fecaca;background:#fff5f5}
.codenote{text-align:center;margin:12px 0 4px;padding:12px;border-radius:18px;background:#eff6ff;border:3px dashed #93c5fd}
.codenote p{margin:0;font:700 18px 'Nunito',sans-serif;color:#1e3a8a}
.bigcode{display:block;font:700 76px/1.05 'Fredoka',sans-serif;letter-spacing:12px;color:var(--red);margin:4px 0}
.joined{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;min-height:44px;align-items:center;margin-top:10px}
.joined .chip{background:#dcfce7;border:2px solid #86efac;border-radius:999px;padding:5px 14px;font:700 20px 'Fredoka',sans-serif;color:#14532d;animation:chipin .35s cubic-bezier(.34,1.56,.64,1)}
@keyframes chipin{from{transform:scale(.4);opacity:0}}
.waiting{font:700 18px 'Nunito',sans-serif;color:#64748b}
.dots::after{content:'';animation:ldots 1.2s steps(4) infinite}
@keyframes ldots{0%{content:''}25%{content:'.'}50%{content:'..'}75%{content:'...'}}
.err{font:700 17px 'Nunito',sans-serif;color:#b91c1c}
.err a{color:#1d4ed8}
.names.one{grid-template-columns:1fr}
.btns .go.small{font-size:20px;padding:10px 22px}
.go:disabled{opacity:.45;cursor:not-allowed;transform:none}
.pname .pav{margin-right:6px;font-size:20px;letter-spacing:0}
.pdev{position:absolute;left:50%;bottom:-20px;transform:translateX(-50%);font:700 12px 'Nunito',sans-serif;color:#93c5fd;white-space:nowrap}
.remote-wait{margin-top:16px;display:flex;align-items:center;gap:14px;font:700 26px 'Fredoka',sans-serif;color:#fde68a}
.skipbtn{appearance:none;border:2px solid #ffffff55;background:transparent;color:#c7d2fe;border-radius:999px;font:700 14px 'Nunito',sans-serif;padding:5px 12px;cursor:pointer}
.ll-top #llCode b{color:var(--yellow)}
.prize{display:inline-block;background:var(--yellow);color:#0b1236;border-radius:999px;padding:0 12px;margin:0 2px;box-shadow:0 3px 0 #b45309}
.prize.b{background:#34d399}
.hostname{flex:0 0 260px;font:700 22px 'Fredoka',sans-serif;padding:7px 12px;border-radius:12px;border:3px solid #cbd5e1;text-transform:uppercase}
.hostname:focus{border-color:var(--yellow);outline:none}
.hint2{font:700 14px 'Nunito',sans-serif;color:#64748b}
.who-list{display:grid;grid-template-columns:1.4fr 1fr;gap:14px;margin-top:12px}
.who-list>div{background:#f8fafc;border:2px solid #e2e8f0;border-radius:16px;padding:8px 12px;min-height:92px}
.who-list h3{margin:0;font:700 17px 'Fredoka',sans-serif;color:#334155}
.who-list h3 span{display:inline-block;min-width:26px;text-align:center;background:#1e3a8a;color:#fff;border-radius:999px;font-size:14px;padding:1px 8px;margin-left:4px}
.who-list .joined{justify-content:flex-start;margin-top:6px;min-height:0}
.joined .chip.host{background:#fef3c7;border-color:#fcd34d;color:#78350f}
.joined .chip.host i{font:700 12px 'Nunito',sans-serif;font-style:normal;opacity:.75;margin-left:4px}
.joined .chip.watch{background:#e0e7ff;border-color:#a5b4fc;color:#312e81}
.card .bigcode{font-size:64px}
.lvl{display:inline-block;margin-left:6px;border-radius:999px;padding:1px 10px;font:700 15px 'Nunito',sans-serif;vertical-align:2px}
.lvl.l1{background:#dcfce7;color:#166534}.lvl.l2{background:#fef3c7;color:#92400e}.lvl.l3{background:#fee2e2;color:#991b1b;box-shadow:0 0 12px #f87171}
.names input.badname,.hostname.badname{border-color:#ef4444!important;background:#fef2f2;animation:shake .4s}
.namemsg{margin:12px 0 0;text-align:center;font:800 17px 'Nunito',sans-serif;color:#b91c1c}

/* ---- the definition pop-up ---- */
.defpop{position:absolute;inset:0;z-index:35;display:flex;align-items:center;justify-content:center;background:#070b24b3;opacity:0;transition:opacity .25s}
.defpop.on{opacity:1}
.defcard{width:760px;background:#fff;border-radius:28px;padding:26px 36px 24px;text-align:center;color:var(--ink);box-shadow:0 12px 0 #0b1b5c,0 30px 60px #000a;border:6px solid var(--yellow);transform:scale(.85);transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
.defpop.on .defcard{transform:scale(1)}
.defhead{font:800 20px 'Nunito',sans-serif;color:#15803d}
.defword{font:700 84px/1 'Fredoka',sans-serif;color:var(--red);margin-top:6px;letter-spacing:1px}
.defpos{display:inline-block;margin-top:8px;font:800 17px 'Nunito',sans-serif;font-style:italic;color:#6d28d9;background:#ede9fe;border-radius:999px;padding:2px 14px}
.defmean{font:700 36px/1.2 'Fredoka',sans-serif;margin-top:14px}
.defsent{font:600 21px/1.4 'Nunito',sans-serif;color:#475569;margin-top:14px}
.defsent .blank{color:var(--red);border-bottom-color:var(--yellow);min-width:0}
.defbar{height:10px;border-radius:99px;background:#e2e8f0;margin-top:18px;overflow:hidden}
.defbar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--yellow),var(--red));transition:width linear}
.defgo{appearance:none;border:0;cursor:pointer;margin-top:14px;font:700 20px 'Fredoka',sans-serif;padding:8px 22px;border-radius:999px;background:#e2e8f0;color:#334155}
.defgo:hover{background:#cbd5e1}
/* ---- players who left ---- */
.pod.gone{opacity:.35;filter:grayscale(1)}
.pod.gone .pbtn{pointer-events:none}
.stand li.left{opacity:.55}
.stand li .nm i{font:800 14px 'Nunito',sans-serif;text-transform:none;letter-spacing:0;color:#64748b;background:#e2e8f0;border-radius:99px;padding:1px 8px;margin-left:6px;vertical-align:middle}
/* ---- the winner's trophy ---- */
.card.wide{width:1060px;padding:22px 30px}
.final{display:flex;align-items:center;gap:26px}
.troph{position:relative;flex:0 0 330px;height:420px;display:flex;align-items:center;justify-content:center}
.troph .rays{position:absolute;inset:-10px;border-radius:50%;background:repeating-conic-gradient(#ffc62955 0 10deg,transparent 10deg 20deg);
  -webkit-mask:radial-gradient(circle,#000 30%,transparent 70%);mask:radial-gradient(circle,#000 30%,transparent 70%);animation:rays 12s linear infinite}
@keyframes rays{to{transform:rotate(360deg)}}
.qq-trophy{position:relative;width:300px;height:auto;filter:drop-shadow(0 12px 16px #0006);animation:trophyIn 1s cubic-bezier(.34,1.56,.64,1) both,trophyBob 2.6s ease-in-out 1s infinite}
@keyframes trophyIn{from{transform:translateY(160px) scale(.3) rotate(-14deg);opacity:0}}
@keyframes trophyBob{50%{transform:translateY(-8px) rotate(1.5deg)}}
.qq-shine{animation:shine 2.8s ease-in-out 1.1s infinite}
@keyframes shine{0%{transform:skewX(-20deg) translateX(0)}45%,100%{transform:skewX(-20deg) translateX(330px)}}
.fright{flex:1;min-width:0}
.fright h2{font-size:48px}
.wline{margin:6px 0 0;font:700 22px/1.25 'Fredoka',sans-serif;color:#334155}
.wline b{color:var(--red)}
.fright .stand{max-height:300px;overflow:auto}
.fright .stand li{font-size:23px;padding:8px 14px}
.fright .btns{justify-content:flex-start}
/* ---- prizes, moves, whammy poses ---- */
.tile.prz{background:linear-gradient(160deg,#db2777,#831843);border-color:#f9a8d4;color:#fff}
.tile .picon{font-size:40px;line-height:1;filter:drop-shadow(0 3px 0 #0005)}
.tile .pzname{margin-top:4px;font-size:15px;font-weight:700;letter-spacing:.5px;line-height:1.05;padding:0 6px;text-shadow:0 2px 0 #500724}
.tile.move{background:linear-gradient(160deg,#0f766e,#064e3b);border-color:#5eead4;color:#fde68a}
.tile .arr{width:46px;height:46px;flex:none}
.tile .arr2{display:flex;gap:4px}
.tile .arr2 .arr{width:36px;height:36px}
.tile .mvl{margin-top:2px;font-size:14px;font-weight:700;letter-spacing:.5px;line-height:1.05;color:#fff;text-shadow:0 2px 0 #022c22}
.tile.lit .pzname,.tile.lit .mvl{color:var(--red);text-shadow:none}
.tile.lit.prz{background:linear-gradient(160deg,#fff7c2,#f9a8d4)}
.tile.whammy .grem{width:64px;height:64px;margin-top:-8px}
.tile.choice{animation:choice .5s ease-in-out infinite alternate;cursor:pointer;filter:none!important;z-index:3}
@keyframes choice{to{box-shadow:0 0 0 5px #22d3ee,0 0 34px 10px #22d3ee;transform:scale(1.06)}}
.facebig .picon{font-size:70px}
.facebig .pzname{font-size:22px}
.facebig.whammy .grem{width:120px;height:120px}
.prize.p{background:#db2777!important;color:#fff!important}
.pickrow{display:flex;justify-content:center;gap:18px;margin-top:14px}
.pickbtn{appearance:none;border:0;cursor:pointer;display:flex;align-items:center;gap:10px;font:700 26px 'Fredoka',sans-serif;padding:10px 22px;border-radius:999px;background:#0d9488;color:#fff;box-shadow:0 6px 0 #064e3b}
.pickbtn .arr{width:38px;height:38px}
.pickbtn:hover{transform:translateY(-2px)}
.pprizes{position:absolute;top:-16px;right:-8px;display:flex;flex-wrap:wrap;justify-content:flex-end;max-width:150px;font-size:24px;line-height:1;filter:drop-shadow(0 2px 2px #0008);z-index:3}
.wham i{font:700 44px 'Fredoka',sans-serif;font-style:normal;color:#fff;margin-top:4px;text-shadow:0 4px 0 #4c1d95}
.big .cap{display:block;font-size:.5em;color:#fde68a}
.stand .fp{font-size:.85em;letter-spacing:0}
.tile.save{background:linear-gradient(160deg,#0891b2,#164e63);border-color:#67e8f9;color:#fff}
.tile.lit.save{background:linear-gradient(160deg,#fff7c2,#67e8f9)}
.wham.saved i{color:#67e8f9}
.nwi{width:1.15em;height:1.15em;vertical-align:-.25em;display:inline-block}
.tile.save .grem{width:64px;height:64px;margin-top:-6px}
.facebig.save .grem,.wham .nowham{width:120px;height:120px}
.wham .nowham{width:330px;height:330px}
.pprizes .nwi{width:26px;height:26px}
.ll-top .cashout{appearance:none;cursor:pointer;font:inherit;color:#fff;background:var(--green);border-color:#86efac;box-shadow:0 4px 0 #15803d}
.ll-top .cashout:hover{filter:brightness(1.1)}
.ll-top .cashout[hidden]{display:none}
/* ---- science picture questions ---- */
.scenepop{position:absolute;inset:0;z-index:36;display:flex;align-items:center;justify-content:center;background:#070b24d9;animation:sceneIn .35s ease-out}
@keyframes sceneIn{from{opacity:0}}
.scard{width:1200px;max-height:780px;background:#fff;border-radius:28px;padding:18px 24px 22px;box-shadow:0 12px 0 #0b1b5c,0 30px 60px #000a;color:var(--ink);animation:scardIn .45s cubic-bezier(.34,1.56,.64,1)}
@keyframes scardIn{from{transform:scale(.85);opacity:0}}
.swho{font:700 24px 'Fredoka',sans-serif;text-align:center;margin-bottom:10px}
.swho b{color:var(--red)}
.sbody{display:grid;grid-template-columns:600px 1fr;gap:22px;align-items:center}
.sart{background:linear-gradient(160deg,#eef6ff,#fdf2f8);border:4px solid #e2e8f0;border-radius:22px;padding:8px}
.sq{font:700 30px/1.25 'Fredoka',sans-serif;margin-bottom:14px}
.sq.small{font-size:20px;color:#475569;margin-bottom:8px}
.pills{display:grid;gap:12px}
.pill{appearance:none;border:0;cursor:pointer;display:flex;align-items:center;gap:14px;text-align:left;font:700 24px/1.2 'Fredoka',sans-serif;color:#fff;padding:12px 22px 12px 12px;border-radius:999px;box-shadow:0 6px 0 #0003;transition:transform .12s}
.pill b{flex:none;width:44px;height:44px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:24px}
.pill.p0{background:#ef2b3c}.pill.p0 b{color:#ef2b3c}
.pill.p1{background:#2563eb}.pill.p1 b{color:#2563eb}
.pill.p2{background:#d97706}.pill.p2 b{color:#d97706}
.pill.p3{background:#16a34a}.pill.p3 b{color:#16a34a}
.pill:hover:not(:disabled){transform:translateY(-3px) scale(1.02)}
.pill:active:not(:disabled){transform:translateY(3px)}
.pill:disabled{cursor:default;opacity:.92}
.shint{margin-top:12px;font:700 16px 'Nunito',sans-serif;color:#64748b;text-align:center}
.scard .remote-wait{margin-top:14px}
.verdict{font:700 34px 'Fredoka',sans-serif;text-align:center;border-radius:18px;padding:8px 14px;margin-bottom:12px}
.verdict.ok{background:#dcfce7;color:#15803d}
.verdict.no{background:#fee2e2;color:#b91c1c}
.verdict .nwi{width:1em;height:1em}
.picked{font:700 20px 'Nunito',sans-serif;color:#b91c1c;margin-bottom:4px}
.answer{font:700 24px 'Fredoka',sans-serif;color:#15803d;margin-bottom:10px}
.answer b{color:#15803d}
.why{font:700 22px/1.45 'Nunito',sans-serif;background:#fffbeb;border:3px solid #fde68a;border-radius:18px;padding:12px 16px}
.why span{display:block;font:700 16px 'Fredoka',sans-serif;color:#b45309;letter-spacing:1px;text-transform:uppercase}
.lockbar{height:12px;border-radius:99px;background:#e2e8f0;overflow:hidden;margin-top:14px}
.lockbar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#22c55e,#facc15,#ef4444);transition:width linear}
.locknote{margin-top:6px;text-align:center;font:700 16px 'Nunito',sans-serif;color:#64748b}
/* the shared end-of-game buttons, sized for the big stage */
.stage .qqg-end{justify-content:flex-start;margin-top:16px}
.stage .qqg-btn{font-size:24px;padding:12px 26px}
/* picking the lessons for a grammar set */
.lltopics{margin:10px 0 6px;background:#f0fdf4;border:3px solid #34d399;border-radius:18px;padding:10px 14px;text-align:left}
.lltop-h{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}
.lltop-h b{font:700 20px Fredoka,sans-serif;color:#065f46}
.lltop-h button{font:800 15px Nunito,sans-serif;border:0;border-radius:99px;padding:5px 14px;margin-left:6px;background:#fff;color:#065f46;box-shadow:0 3px 0 #a7f3d0;cursor:pointer}
.lltop-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:6px 14px}
.lltop-list label{display:flex;align-items:center;gap:10px;cursor:pointer;font:800 18px Nunito,sans-serif;color:#0f172a;padding:4px;border-radius:10px}
.lltop-list input{position:absolute;opacity:0;pointer-events:none}
.lltop-list i{flex:none;width:26px;height:26px;border-radius:8px;border:3px solid #94a3b8;background:#fff;display:grid;place-items:center;transition:transform .15s,background .15s}
.lltop-list label.on i{background:#16a34a;border-color:#16a34a}
.lltop-list label.on i:after{content:"\2713";color:#fff;font-weight:900;font-size:16px}
.lltop-list label:hover i{transform:scale(1.15) rotate(-8deg)}
