:root{--ink:#1b1b2f;--ink2:#2b2d4a;--cream:#fff6e0;--yellow:#ffd166;--red:#e63946;--green:#52e08a;--teal:#2a9d8f;--blue:#8ecae6;--lane0:#4cc9f0;--lane1:#b388ff;--lane2:#ffb703;--mono:"Courier New", ui-monospace, Menlo, monospace;--sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--ink);height:100%;color:var(--cream);font-family:var(--sans);margin:0}[hidden]{display:none!important}.sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}button,input{font:inherit;color:inherit}button{touch-action:manipulation;cursor:pointer}body.game-page{overscroll-behavior:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}#stage{touch-action:none;background:#000;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}#game,#game canvas{position:absolute;top:0;bottom:0;left:0;right:0;width:100%!important;height:100%!important}#game canvas{image-rendering:pixelated;image-rendering:crisp-edges}#hud{pointer-events:none;padding:calc(var(--sat) + 6px) 0 0;position:absolute;top:0;bottom:0;left:0;right:0}.hud-top{justify-content:space-between;align-items:center;padding:0 12%;display:flex}.hud-score{font:700 26px var(--mono);text-shadow:2px 2px 0 var(--ink), -1px -1px 0 var(--ink), 1px -1px 0 var(--ink), -1px 1px 0 var(--ink)}.hud-chips{gap:6px;display:flex}.chip{font:700 13px var(--mono);border:2px solid var(--ink);background:var(--yellow);color:var(--ink);padding:3px 7px}.chip-shield{background:var(--blue)}.chip.bump{animation:.25s bump}.hud-bar{background:#1b1b2f73;height:4px;margin:4px 12% 0}.hud-bar i{background:var(--yellow);width:0;height:100%;display:block}.qpanel{margin-top:6px;animation:.22s ease-out drop}.q-text{background:var(--ink);border:2px solid var(--cream);text-align:center;margin:0 10%;padding:8px 10px;font-size:17px;font-weight:700;line-height:1.2}.q-answers{grid-template-columns:repeat(3,1fr);gap:4px;margin:4px 10% 0;display:grid}.q-card{background:var(--cream);min-height:72px;color:var(--ink);border:3px solid var(--ink);text-align:center;overflow-wrap:anywhere;border-bottom-width:7px;justify-content:center;align-items:center;padding:5px 3px 9px;font-size:13.5px;font-weight:700;line-height:1.15;display:flex;position:relative}.q-card:after{content:"▼";font-size:11px;position:absolute;bottom:-7px;left:50%;transform:translate(-50%,50%)}.q-card.lane0{border-color:var(--lane0)}.q-card.lane0:after{color:var(--lane0)}.q-card.lane1{border-color:var(--lane1)}.q-card.lane1:after{color:var(--lane1)}.q-card.lane2{border-color:var(--lane2)}.q-card.lane2:after{color:var(--lane2)}.qpanel.tutorial .q-card{opacity:.45}.qpanel.tutorial .q-card.hint{opacity:1;animation:.7s ease-in-out infinite alternate glow}.q-card.right{background:var(--green);border-color:var(--green)}.q-card.wrong{border-color:var(--red);background:#ff8a8a}.qpanel.done{opacity:0;transition:opacity .3s .5s}@keyframes bump{50%{transform:scale(1.5)}}@keyframes drop{0%{opacity:0;transform:translateY(-20px)}}@keyframes glow{0%{box-shadow:0 0 0 0 var(--yellow)}to{box-shadow:0 0 0 5px var(--yellow)}}.screen{padding:calc(var(--sat) + 20px) 22px calc(var(--sab) + 22px);text-align:center;touch-action:manipulation;background:#1b1b2fdb;flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}#screen-results{background:var(--ink);justify-content:space-between}.logo{flex-direction:column;align-items:center;gap:6px;display:flex}.logo-prism{border-left:34px solid #0000;border-right:34px solid #0000;border-bottom:58px solid var(--blue);width:0;height:0;filter:drop-shadow(0 0 14px var(--blue));animation:2.2s ease-in-out infinite float}.logo h1{font:700 44px/1 var(--mono);letter-spacing:2px;text-shadow:3px 3px 0 var(--red);margin:0}.logo h1 span{color:var(--yellow);margin-left:10px}.backdrop{opacity:.92;margin:0;font-size:16px;line-height:1.4}.nick{width:100%;max-width:300px;display:flex}.nick input{background:var(--cream);min-width:0;color:var(--ink);border:3px solid var(--ink2);font:700 18px var(--mono);text-align:center;-webkit-user-select:text;-moz-user-select:text;user-select:text;border-radius:0;flex:1;padding:12px}.nick button{background:var(--ink2);border:3px solid var(--ink2);width:52px;font-size:22px}.btn{background:var(--yellow);color:var(--ink);font:700 18px var(--mono);border:0;width:100%;max-width:300px;padding:14px 22px;box-shadow:0 5px #c7962f}.btn:active{transform:translateY(3px);box-shadow:0 2px #c7962f}.btn:disabled{opacity:.5}.btn-big{padding:18px;font-size:30px;animation:1.2s ease-in-out infinite pulse}.btn-ghost{color:var(--cream);box-shadow:none;border:2px solid var(--ink2);background:0 0;font-size:15px}@keyframes float{50%{transform:translateY(-7px)}}@keyframes pulse{50%{transform:scale(1.04)}}.beat{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;width:100%;min-height:0;animation:.3s ease-out beat-in;display:flex}@keyframes beat-in{0%{opacity:0;transform:translate(30px)}}.dots{gap:6px;display:flex}.dots i{background:var(--ink2);width:8px;height:8px}.dots i.on{background:var(--yellow)}.beat h2{font:700 22px var(--mono);color:var(--yellow);margin:0}.beat p{margin:0;line-height:1.4}.big-score{font:700 64px/1 var(--mono);text-shadow:4px 4px 0 var(--red)}.sub{opacity:.8;font-size:15px}.rank{font:700 34px var(--mono);color:var(--yellow);animation:.4s bump}.beatline{font-size:19px;font-weight:700}.king{font:700 20px var(--mono);background:var(--yellow);color:var(--ink);padding:8px 12px;animation:.8s infinite pulse}.saving{opacity:.85;align-items:center;gap:8px;font-size:15px;display:flex}.saving:before{content:"";border:3px solid var(--yellow);border-top-color:#0000;border-radius:50%;width:12px;height:12px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.stats{font:700 14px var(--mono);opacity:.85;gap:18px;display:flex}.check{text-align:left;border:3px solid var(--ink2);align-items:center;gap:12px;width:100%;max-width:320px;padding:14px;font-size:17px;font-weight:700;display:flex}.check.small{border:0;padding:4px 0;font-size:14px;font-weight:400}.check input{width:26px;height:26px;accent-color:var(--yellow);flex:none}.cite-card{background:var(--cream);width:100%;max-width:330px;color:var(--ink);text-align:left;border:3px solid var(--blue);box-shadow:6px 6px 0 var(--ink2)}.cite-card .who{background:var(--ink2);color:var(--cream);font:700 13px var(--mono);align-items:center;gap:8px;padding:8px 12px;display:flex}.cite-card .you{opacity:.7;padding:10px 12px 0;font-size:14px}.cite-card .ans{padding:6px 12px 12px;font-size:17px;font-weight:600;line-height:1.35}.cite-card .src{border-left:4px solid var(--blue);font:700 13px var(--mono);background:#e7f4fb;margin:0 12px 12px;padding:6px 8px}.strip{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;touch-action:pan-x;gap:12px;width:calc(100% + 44px);margin:0 -22px;padding:4px 22px;display:flex;overflow-x:auto}.strip::-webkit-scrollbar{display:none}.pain{scroll-snap-align:center;background:var(--ink2);text-align:left;border-top:5px solid var(--yellow);flex-direction:column;flex:0 0 82%;gap:8px;padding:16px;display:flex}.pain .icon{font-size:34px}.pain h3{font:700 18px var(--mono);margin:0}.pain .p{opacity:.8;font-size:15px}.pain .f{color:var(--green);font-size:15px;font-weight:600}.hint-swipe{opacity:.6;font-size:13px}.field{background:var(--cream);width:100%;max-width:320px;color:var(--ink);border:3px solid var(--ink2);-webkit-user-select:text;-moz-user-select:text;user-select:text;border-radius:0;padding:12px;font-size:17px}.notice{opacity:.75;max-width:320px;font-size:13px}.msg{min-height:20px;color:var(--green);font-size:14px}.msg.err{color:#ff8a8a}.wheel-wrap{aspect-ratio:1;width:min(74vw,290px);position:relative}.wheel-wrap svg{width:100%;height:100%;transition:transform 4.2s cubic-bezier(.12,.7,.1,1)}.wheel-wrap:before{content:"▼";color:var(--yellow);z-index:2;text-shadow:0 2px 0 var(--ink);font-size:28px;position:absolute;top:-16px;left:50%;transform:translate(-50%)}.redeem{background:var(--cream);width:100%;max-width:330px;color:var(--ink);background-image:linear-gradient(var(--cream), var(--cream)), linear-gradient(90deg, #e63946, #ffd166, #52e08a, #8ecae6, #9b5de5, #e63946);background-size:100%,300% 100%;background-origin:border-box;background-clip:padding-box,border-box;border:4px solid #0000;padding:14px;animation:2s linear infinite slide}@keyframes slide{to{background-position:0 0,150% 0}}.redeem .prize{font:700 20px var(--mono)}.redeem .code{font:700 46px var(--mono);letter-spacing:6px;margin:4px 0}.redeem .live{font:700 15px var(--mono);justify-content:center;align-items:center;gap:8px;display:flex}.redeem .live i{background:var(--red);border-radius:50%;width:10px;height:10px;animation:1s steps(2,end) infinite blink}@keyframes blink{50%{opacity:0}}.redeem .qr{image-rendering:pixelated;margin:2px auto 8px;display:block}.redeem small{margin-top:6px;font-size:13px;display:block}.old-prizes{font:13px var(--mono);opacity:.7}.confetti{pointer-events:none;z-index:5;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}#rotate{z-index:99;background:var(--ink);text-align:center;justify-content:center;align-items:center;font-size:20px;line-height:1.6;display:none;position:fixed;top:0;bottom:0;left:0;right:0}@media (orientation:landscape) and (max-height:520px) and (pointer:coarse){#rotate{display:flex}}@media (prefers-reduced-motion:reduce){.btn-big,.logo-prism,.king,.q-card.hint,.beat,.qpanel{animation:none}.wheel-wrap svg{transition-duration:1.2s}}
