:root{--ink:#f7efe0;--dim:#b9a98f;--gold:#ffd45e;--hot:#ff5d8f;--panel:#12081cd1;--font:"Trebuchet MS", "Segoe UI", Avenir, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);font-family:var(--font);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:none;background:#0b0714;margin:0;overflow:hidden}#renderCanvas{touch-action:none;outline:none;width:100%;height:100%;display:block;position:fixed;top:0;bottom:0;left:0;right:0}#overlay{pointer-events:none;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.screen{padding:max(18px, env(safe-area-inset-top)) 18px max(18px, env(safe-area-inset-bottom));pointer-events:auto;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:radial-gradient(at 50% 40%,#180a288c,#06030ced);flex-direction:column;grid-area:1/1;justify-content:center;align-items:center;gap:14px;display:flex}.screen.hidden{display:none}.screen.hud{-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none;background:0 0;justify-content:space-between}.logo{letter-spacing:2px;text-align:center;color:var(--gold);text-shadow:0 0 18px #ffa03c73,0 4px #6b2a00;margin:0;font-size:clamp(30px,7vw,62px);line-height:.92}.logo span{color:var(--hot);text-shadow:0 0 18px #ff5d8f80,0 3px #5a0f2c;display:block}h2{letter-spacing:3px;color:var(--hot);margin:0;font-size:clamp(24px,5vw,40px)}.field{flex-direction:column;align-items:center;gap:6px;display:flex}.field span{letter-spacing:2px;color:var(--dim);font-size:12px}input{width:min(280px,78vw);font:inherit;letter-spacing:3px;text-align:center;text-transform:uppercase;color:var(--ink);background:#ffffff12;border:2px solid #ffd45e66;border-radius:10px;padding:12px 14px;font-size:20px}input:focus{border-color:var(--gold);outline:none}button{font:inherit;letter-spacing:2px;cursor:pointer;border:0;border-radius:999px;padding:13px 30px;font-weight:700;transition:transform 80ms,filter .15s}button:active{transform:translateY(2px)scale(.98)}.primary{color:#40210a;background:linear-gradient(#ffe08a,#ffb02e);font-size:19px;box-shadow:0 5px #a35f00}.secondary{color:var(--ink);background:linear-gradient(#6f3bb5,#4a2280);font-size:15px;box-shadow:0 5px #2a1049}.icon{width:34px;height:34px;color:var(--ink);pointer-events:auto;background:#ffffff1f;border-radius:10px;padding:0}.row{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.muted{color:var(--dim);letter-spacing:1px;margin:0;font-size:14px}.hint{color:var(--dim);text-align:center;margin:0;font-size:13px}.hidden{display:none!important}.leaders{flex-direction:column;gap:4px;width:min(320px,84vw);margin:0;padding:0;list-style:none;display:flex}.leaders li{letter-spacing:1px;background:#ffffff0f;border-radius:7px;justify-content:space-between;gap:12px;padding:6px 12px;font-size:14px;display:flex}.leaders li b{color:var(--gold)}.loader{background:#ffffff1f;border-radius:999px;width:min(300px,76vw);height:10px;overflow:hidden}.loader i{background:linear-gradient(90deg, var(--gold), var(--hot));border-radius:999px;width:5%;height:100%;transition:width .25s;display:block}.hud-top{pointer-events:none;align-items:center;gap:8px;width:100%;display:flex}.hud-bottom{pointer-events:none;flex-direction:column;align-items:center;gap:8px;width:100%;display:flex}.chip{background:var(--panel);letter-spacing:2px;color:var(--dim);border-radius:999px;align-items:baseline;gap:7px;padding:6px 13px;font-size:12px;display:flex}.chip b{color:var(--ink);letter-spacing:1px;font-size:17px}.chip.score{margin-left:auto}.chip.score b{color:var(--gold);font-size:22px}.power{background:var(--panel);border:1px solid #ffffff24;border-radius:999px;width:min(340px,70vw);height:12px;overflow:hidden}.power i{background:linear-gradient(90deg, #58d68d, var(--gold), #ff5b3a);width:0;height:100%;display:block}.popup{letter-spacing:3px;color:var(--gold);text-shadow:0 0 26px #ffb43c99,0 5px #00000073;opacity:0;pointer-events:none;font-size:clamp(42px,12vw,110px);font-weight:900;position:absolute;top:32%;left:50%;transform:translate(-50%)scale(.6)}.popup.show{animation:1.05s ease-out forwards pop}@keyframes pop{0%{opacity:0;transform:translate(-50%,20px)scale(.6)}18%{opacity:1;transform:translate(-50%,-6px)scale(1.12)}38%{transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,-46px)scale(1)}}.final{align-items:baseline;gap:10px;margin:0;display:flex}.final b{color:var(--gold);font-size:clamp(46px,12vw,86px)}.final span{color:var(--dim);letter-spacing:3px;font-size:13px}@media (max-height:430px){.screen{gap:8px}.leaders{display:none}.logo{font-size:clamp(22px,6vw,34px)}}.players{flex-direction:column;gap:8px;width:min(320px,84vw);display:flex}.player-row{align-items:center;gap:8px;display:flex}.player-row .dot{background:currentColor;border-radius:50%;flex:none;width:12px;height:12px;box-shadow:0 0 10px}.player-row input{flex:1;width:auto;padding:10px 12px;font-size:17px}.player-row .remove{width:32px;height:32px;color:var(--dim);background:#ffffff1a;border-radius:9px;padding:0;font-size:18px;line-height:1}.scoreboard{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.sb{background:var(--panel);letter-spacing:1.5px;color:var(--dim);border:2px solid #0000;border-radius:999px;align-items:baseline;gap:7px;padding:6px 12px;font-size:11px;transition:border-color .2s,transform .2s;display:flex}.sb b{color:var(--ink);letter-spacing:1px;font-size:18px}.sb.active{transform:scale(1.06)}.sb.active b{color:inherit}.leaders.big li{padding:9px 14px;font-size:17px}.leaders li .rank{color:var(--dim);width:22px}.leaders li .who{text-align:left;flex:1}.leaders li.win{background:#ffd45e29}.hud-top{flex-wrap:wrap}.scoreboard{flex:160px;min-width:0}.hud-top>.chip{margin-left:auto}.link{color:var(--dim);letter-spacing:1px;background:0 0;padding:4px 10px;font-size:13px;font-weight:400;text-decoration:underline}.link:hover{color:var(--ink)}.policy{text-align:left;background:#ffffff0f;border-radius:12px;width:min(520px,88vw);max-height:min(46vh,360px);padding:14px 18px;overflow-y:auto}.policy p{color:var(--dim);margin:0 0 12px;font-size:14px;line-height:1.6}.policy p:last-child{margin-bottom:0}.field-error{color:var(--hot);letter-spacing:1px;min-height:15px;margin:0;font-size:12px}.player-row input.bad{border-color:var(--hot)}.screen.hud{padding-bottom:max(22px, calc(env(safe-area-inset-bottom) + 10px))}.hud-bottom{gap:10px}.hud-bottom .hint{background:var(--panel);border-radius:999px;padding:3px 12px}.chip.urgent b,#hudBalls.urgent{color:var(--hot)}.hint.urgent{color:var(--hot);letter-spacing:2px;font-weight:700}
