:root{--navy:#141a33;--brown:#2b1f1c;--pink:#ff4fa3;--cyan:#38e8e0;--yellow:#ffd93b;--ink:#fff6e8;--px:"Galmuri11", "Press Start 2P", monospace;--kr:"Jua", "Galmuri11", sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}html,body{color:var(--ink);font-family:var(--kr);overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#0b0e1c;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:0}.stage{z-index:10;background:radial-gradient(#0b0e1c 0%,#05060e 100%);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.stage-in{animation:.5s ease-out stageIn}.stage-in:before{content:"";pointer-events:none;z-index:20;opacity:0;background:#fff;animation:.5s ease-out flashOut;position:absolute;inset:0}@keyframes stageIn{0%{opacity:.4}to{opacity:1}}@keyframes flashOut{0%{opacity:.9}to{opacity:0}}.crt{aspect-ratio:3/4;background:#000;border-radius:18px;width:min(92vw,58.5dvh);position:relative;overflow:hidden;box-shadow:0 0 0 10px #1a1d2e,0 0 0 13px #0a0b14,0 0 60px #38e8e040,inset 0 0 40px #000000e6;container-type:inline-size}.crt:after{content:"";pointer-events:none;mix-blend-mode:multiply;z-index:3;background:repeating-linear-gradient(0deg,#0000002e 0 2px,#0000 2px 4px);border-radius:18px;position:absolute;inset:0}.game-host{position:absolute;inset:0}.heat{pointer-events:none;border-radius:18px;transition:box-shadow .3s;animation:.8s ease-in-out infinite heatPulse;position:absolute;inset:0}.chip{height:36px;font:13px/1 var(--px);color:var(--ink);background:#0a0c1cb8;border:2px solid #ffffff1a;align-items:center;padding:0 12px;display:flex}.sound{z-index:5;top:calc(env(safe-area-inset-top) + 8px);min-height:44px;position:fixed;right:12px}.coins{z-index:5;top:calc(env(safe-area-inset-top) + 8px);gap:8px;min-height:44px;font-size:16px;position:fixed;left:12px}.coin{background:var(--yellow);border-radius:50%;width:16px;height:16px;display:inline-block;box-shadow:inset -3px -3px #d9a300,0 0 8px #ffd93b80}.coin:after{content:"";background:#d9a300;width:4px;height:8px;margin:4px auto 0;display:block}.best{text-align:right;color:var(--cyan);pointer-events:none;font-family:var(--px);line-height:1.25;position:absolute;top:1.2cqw;right:2.8cqw}.best small{font-size:2.6cqw;display:block}.best b{font-size:3.9cqw;font-weight:400;display:block}.best.passed{color:var(--pink)}.pass-fx{text-align:center;font:5.6cqw var(--px);color:var(--yellow);pointer-events:none;animation:1s ease-out forwards passFx;position:absolute;top:50%;left:0;right:0}.panel{text-align:center;z-index:2;background:#0d0b24;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:20px;display:flex;position:absolute;inset:0}.panel.dim{background:#05060edb}.brand{font:16px var(--px);color:var(--cyan)}.go{font:clamp(18px, 5vw, 26px) var(--px);color:var(--pink);text-shadow:0 0 12px var(--pink)}.sc{font:clamp(34px, 10vw, 52px)/1.1 var(--px);color:var(--yellow)}.new{font:clamp(20px, 6vw, 30px) var(--px);color:var(--yellow);text-shadow:0 0 16px var(--yellow);animation:.4s step-end infinite blink}.note{font:15px/1.35 var(--kr);color:#ffb3d6;max-width:260px}.row{gap:8px;width:100%;max-width:300px;margin-top:6px;display:flex}.btn{min-height:52px;line-height:1.2;font:18px/1 var(--kr);background:var(--pink);color:#1a0612;border:0;flex:1;padding:0 14px;transition:transform 80ms,box-shadow 80ms;box-shadow:0 4px #a81f63}.btn:active{transform:translateY(3px);box-shadow:0 1px #a81f63}.btn.ghost{color:var(--ink);background:#ffffff14;box-shadow:0 4px #00000080}.btn.ghost:active{box-shadow:0 1px #00000080}.btn[disabled]{opacity:.4;pointer-events:none}.btn.alt{background:var(--cyan);color:#042322;box-shadow:0 4px #148e89}.btn.alt:active{box-shadow:0 1px #148e89}.rk{font:20px var(--kr);color:var(--cyan)}.initials{flex-direction:column;align-items:center;gap:6px;width:100%;display:flex}.initials-title{font:14px var(--px);color:#cfd3ea}.wheels{gap:14px;margin:6px 0;display:flex}.wheel{flex-direction:column;align-items:center;gap:4px;display:flex}.wheel button{width:48px;height:44px;font:14px var(--px);color:var(--cyan);background:#38e8e01f}.wheel button:active{background:#38e8e059}.wheel .ch{width:48px;height:52px;font:32px var(--px);color:var(--ink);border:2px solid var(--pink);background:#12071a;place-items:center;display:grid}.board{z-index:4;background:#0d0b24;justify-content:flex-start;gap:8px;padding:14px}.tabs{gap:8px;width:100%;display:flex}.tabs button{min-height:44px;font:17px var(--kr);color:#cfd3ea;background:#ffffff0f;border-bottom:3px solid #0000;flex:1}.tabs button.on{color:var(--yellow);border-bottom-color:var(--yellow)}.board-rows{flex-direction:column;flex:1;gap:2px;width:100%;min-height:0;display:flex;overflow-y:auto}.board-rows .note{margin:auto}.board-row{font:15px var(--px);color:var(--ink);align-items:center;gap:10px;padding:5px 8px;display:flex}.board-row.first{color:#ff9fd0}.board-row .r{text-align:right;width:24px;color:var(--cyan)}.board-row .i{text-align:left;width:48px}.board-row .s{text-align:right;flex:1}.door-view{background:#0b0e1c;position:fixed;inset:0}.door-canvas{touch-action:none;cursor:grab;width:100%;height:100%;display:block;position:absolute;inset:0}.door-fade{opacity:0;pointer-events:none;background:#000;position:absolute;inset:0}.street-hint{left:50%;top:calc(env(safe-area-inset-top) + 16px);border:2px solid var(--pink);width:max-content;max-width:calc(100% - 24px);color:var(--ink);font:17px/1.3 var(--kr);text-align:center;pointer-events:none;background:#0a0c1cbf;padding:12px 18px;animation:.6s ease-out hintIn;position:absolute;transform:translate(-50%)}.street-hint b{color:var(--yellow);font-weight:400}.loading{font:14px/2 var(--px);color:var(--cyan);text-align:center;z-index:30;background:#0b0e1c;place-items:center;display:grid;position:fixed;inset:0}.loading b{color:var(--pink);text-shadow:0 0 14px var(--pink);margin-bottom:8px;font-size:22px;font-weight:400;display:block}.people{top:calc(env(safe-area-inset-top) + 8px);pointer-events:none;gap:8px;min-height:44px;font-size:16px;position:absolute;left:12px}.room-coins{top:calc(env(safe-area-inset-top) + 8px);pointer-events:none;gap:8px;min-height:44px;font-size:16px;position:absolute;right:12px}.dot{background:#5dff7a;width:8px;height:8px;animation:1.6s infinite dotPulse;box-shadow:0 0 8px #5dff7a}@keyframes dotPulse{50%{opacity:.4}}.room-hint{left:50%;bottom:calc(env(safe-area-inset-bottom) + 28px);border:2px solid var(--cyan);width:max-content;max-width:calc(100% - 24px);color:var(--cyan);font:17px/1.3 var(--kr);text-align:center;pointer-events:none;background:#0a0c1ccc;padding:12px 18px;position:absolute;transform:translate(-50%)}.room-fade{pointer-events:none;background:#000;position:absolute;inset:0}.room-fade.open{opacity:0;transition:opacity 1.2s}.sheet{width:min(420px,100%);padding:16px 16px calc(env(safe-area-inset-bottom) + 16px);border-top:3px solid var(--pink);background:#0c0e20f0;animation:.3s cubic-bezier(.2,.9,.3,1.05) sheetIn;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.sheet h3{font:18px/1.2 var(--px);color:var(--yellow);margin:0 0 4px;font-weight:400}.sheet p{font:16px/1.4 var(--kr);color:#cfd3ea;margin:0 0 12px}.sheet .row{max-width:none}@keyframes sheetIn{0%{transform:translate(-50%,100%)}to{transform:translate(-50%)}}@keyframes hintIn{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}.stage.tall{background:#1a2019}.tall .crt{aspect-ratio:390/690;width:min(100vw,56.5217dvh);box-shadow:none;border-radius:0}.tall .crt:after{display:none}.tall .heat{opacity:.35;clip-path:inset(0);border-radius:0;animation:none}.tall .best{color:#fff;background:#0c0e208c;border-radius:3cqw;padding:.6cqw 2.4cqw;top:16.4cqw;right:2.6cqw}.tall .best.passed{background:var(--pink);color:#fff}.tall .panel.dim{background:#05060ef7}.tall.playing .coins{display:none}.tall .sound{z-index:5;color:#fff;background:#0c0e208c;border-color:#0000;height:32px;min-height:32px;padding:0 9px;font-size:11px;position:absolute;top:16.4cqw;left:2.6cqw;right:auto}@media (aspect-ratio>=3/4){.tall .crt{border-radius:18px;width:min(92vw,53.1304dvh);box-shadow:0 0 0 8px #1a1d2e,0 0 0 11px #0a0b14,0 0 60px #38e8e040}}.panel{justify-content:safe center;overflow-y:auto}@container (width<=340px){.panel{gap:5px;padding:10px}.initials{gap:3px}.wheels{margin:2px 0}.wheel{gap:2px}.wheel .ch{height:38px;font-size:24px}.wheel button{height:40px}.btn{min-height:44px}.row{margin-top:2px}}@keyframes blink{50%{opacity:.2}}@keyframes heatPulse{50%{opacity:.65}}@keyframes passFx{0%{opacity:1;transform:translateY(0)scale(.9)}to{opacity:0;transform:translateY(-40px)scale(1.1)}}@media (prefers-reduced-motion:reduce){.heat,.new,.pass-fx{animation:none}.pass-fx{opacity:1}}
