@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(./fredoka-hebrew-wght-normal-DdnsCkLr.woff2)format("woff2-variations");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(./fredoka-latin-ext-wght-normal-CYrqKuxd.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(./fredoka-latin-wght-normal-DM6njrJ3.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--blue:#2f7cf6;--blue-d:#1b55b8;--orange:#ff8a1f;--orange-d:#c95f0b;--panel:#122638e6;--panel-b:#ffffff1a;--text:#f4f8fb;--muted:#a9c2d4;--font:"Fredoka Variable", "Fredoka", system-ui, sans-serif}*{box-sizing:border-box}html,body{height:100%;font-family:var(--font);color:var(--text);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:none;overscroll-behavior:none;background:#9fd9ef;margin:0;overflow:hidden}#c{touch-action:none;outline:none;width:100%;height:100%;display:block;position:fixed;inset:0}#ui{pointer-events:none;font-weight:600;position:fixed;inset:0}.hidden{display:none!important}button{cursor:pointer;font-family:inherit}#loading{z-index:10;background:radial-gradient(at 50% 30%,#6fd0e6,#1d6f99);flex-direction:column;justify-content:center;align-items:center;gap:16px;transition:opacity .4s;display:flex;position:fixed;inset:0}#loading.done{opacity:0;pointer-events:none}#loading .logo{font-size:clamp(40px,9vw,72px)}#loading .bar{background:#00000040;border-radius:8px;width:min(320px,70vw);height:14px;overflow:hidden}#loading .bar i{background:linear-gradient(90deg,#ffd166,#ff8a1f);width:0;height:100%;transition:width .2s;display:block}#loading .msg{color:#e6f6ff;text-align:center;max-width:86vw;font-weight:500}#loading .msg.err{color:#fff;background:#96141499;border-radius:10px;padding:10px 14px}.screen{pointer-events:auto;background:radial-gradient(#05283c1a,#05192880);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.card{background:var(--panel);border:2px solid var(--panel-b);text-align:center;border-radius:22px;width:min(440px,92vw);max-height:94vh;padding:24px 28px 22px;overflow:auto;box-shadow:0 18px 50px #00000059}.card.wide{text-align:left;width:min(680px,94vw)}.logo{letter-spacing:1px;text-shadow:0 3px #164056,0 6px 14px #00000059;margin:2px 0 8px;font-size:clamp(38px,7vw,62px);font-weight:700;line-height:1}.logo .a{color:#8fc4ff}.logo .b{color:#ffab4a}.tag{color:var(--muted);margin:0 0 16px;font-size:15px;font-weight:500}.btn{color:#fff;background:linear-gradient(#35506a,#263c52);border:0;border-radius:14px;width:100%;margin:9px 0;padding:13px 16px;font-size:18px;font-weight:700;transition:transform 80ms,filter .15s;display:block;box-shadow:0 4px #152433,inset 0 1px #ffffff1f}.btn:hover,.btn:focus-visible{filter:brightness(1.15);outline:none}.btn:active{transform:translateY(2px);box-shadow:0 2px #152433}.btn:disabled{filter:grayscale(.8)brightness(.8);cursor:default}.btn.blue{background:linear-gradient(#4a9bff,#2068d6);box-shadow:0 4px #154b96}.btn.orange{background:linear-gradient(#ffa449,#ec7612);box-shadow:0 4px #a9510b}.btn.small{padding:10px 12px;font-size:16px}.row{gap:10px;display:flex}.row .btn{flex:1}h2{margin:0 0 12px;font-size:26px}h2.win{color:#ffd166}h2.lose{color:#9fb4c8}.online-state{color:#ffcf8a;min-height:0;font-size:13px;font-weight:500}.field{text-align:left;color:var(--muted);flex-direction:column;gap:6px;margin:10px 0;font-size:15px;display:flex}.field input,.field select{color:#fff;pointer-events:auto;-webkit-user-select:text;user-select:text;background:#0f2233;border:2px solid #3a5873;border-radius:10px;padding:10px 12px;font-family:inherit;font-size:20px}.field input[type=range]{accent-color:#ffab4a;height:28px;padding:0}#jCode{letter-spacing:8px;text-transform:uppercase;text-align:center;font-size:30px}.check{align-items:center;gap:10px;margin:12px 0;font-size:16px;display:flex}.check input{accent-color:#ffab4a;width:22px;height:22px}.note{color:#ffcf8a;min-height:1em;font-size:13px}.err{color:#ff9c8a;min-height:1.2em}.code{letter-spacing:12px;color:#ffd166;-webkit-user-select:text;user-select:text;margin:6px 0 4px;font-size:54px;font-weight:700}.final{margin:2px 0 6px;font-size:44px;font-weight:700}.howto li{color:#dbe7f1;margin:5px 0;font-size:15px;font-weight:500;line-height:1.45}.howto ul{margin:4px 0 10px;padding-left:20px}.keys{color:var(--muted);margin:6px 0 4px;font-size:13px;font-weight:500}#hud{position:absolute;inset:0}.plate{top:max(8px, env(safe-area-inset-top));align-items:center;gap:8px;display:flex;position:absolute}.plate.p0{left:max(10px, env(safe-area-inset-left))}.plate.p1{right:max(10px, env(safe-area-inset-right));text-align:right}#hud.flip .plate.p0{left:auto;right:max(10px, env(safe-area-inset-right));text-align:right;flex-direction:row-reverse}#hud.flip .plate.p1{right:auto;left:max(10px, env(safe-area-inset-left));text-align:left;flex-direction:row-reverse}#hud.flip .p0 .pips{justify-content:flex-end}#hud.flip .p1 .pips{justify-content:flex-start}.avatar{background:radial-gradient(circle at 50% 35%,#d9f3ff,#8cc9e8);border:3px solid #fff;border-radius:50%;flex:none;width:clamp(40px,5vw,60px);height:clamp(40px,5vw,60px);overflow:hidden;box-shadow:0 3px 10px #0000004d}.p0 .avatar{border-color:var(--blue)}.p1 .avatar{border-color:var(--orange)}.avatar svg{width:100%;height:100%;display:block}.pname{background:var(--panel);white-space:nowrap;text-overflow:ellipsis;border-radius:9px;max-width:34vw;padding:4px 12px;font-size:clamp(13px,1.5vw,19px);font-weight:700;overflow:hidden}.p0 .pname{border-bottom:3px solid var(--blue)}.p1 .pname{border-bottom:3px solid var(--orange)}.pips{gap:5px;margin-top:5px;display:flex}.p1 .pips{justify-content:flex-end}.pips i{background:#0a1e2d8c;border:2px solid #fff9;border-radius:5px;width:16px;height:16px}.p0 .pips i.on{background:var(--blue);border-color:#cfe4ff}.p1 .pips i.on{background:var(--orange);border-color:#ffe0c2}.center-top{top:max(8px, env(safe-area-inset-top));flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.timer{background:var(--panel);font-variant-numeric:tabular-nums;border-radius:10px;padding:4px 14px;font-size:clamp(16px,2vw,22px)}.timer.warn{color:#ffb36b}.collapse{background:#c84614eb;border-radius:10px;padding:5px 14px;font-size:15px;animation:.4s infinite alternate blink}@keyframes blink{to{filter:brightness(1.35)}}.pausebtn{top:max(8px, env(safe-area-inset-top));background:var(--panel);color:#fff;pointer-events:auto;border:0;border-radius:10px;width:38px;height:34px;margin-left:70px;font-size:14px;position:absolute;left:50%}.hint{bottom:max(12px, env(safe-area-inset-bottom));white-space:nowrap;background:#0a1e2d99;border-radius:10px;padding:6px 14px;font-size:14px;font-weight:500;position:absolute;left:50%;transform:translate(-50%)}.hint:empty{display:none}.netinfo{text-align:center;background:#962814e6;border-radius:12px;padding:10px 18px;font-size:17px;position:absolute;top:30%;left:50%;transform:translate(-50%)}#banner{text-align:center;pointer-events:none;position:absolute;top:34%;left:0;right:0}#banner span{color:#fff;text-shadow:0 4px #00000040,0 8px 22px #00000059;font-size:clamp(34px,7vw,76px);font-weight:700;display:inline-block}#banner span.blue{color:#8fc4ff}#banner span.orange{color:#ffb066}#banner span.small{font-size:clamp(22px,4vw,40px)}#banner.pop span{animation:.35s ease-out pop}@keyframes pop{0%{opacity:0;transform:scale(1.6)}to{opacity:1;transform:scale(1)}}#toast{opacity:0;white-space:nowrap;background:#0a1e2dd1;border-radius:12px;padding:8px 16px;font-size:16px;transition:opacity .2s,transform .2s;position:absolute;bottom:22%;left:50%;transform:translate(-50%)translateY(10px)}#toast.on{opacity:1;transform:translate(-50%)}#touch{position:absolute;inset:0}#tMove,#tAim{pointer-events:auto;touch-action:none;position:absolute;bottom:0}#tMove{width:45%;top:22%;left:0}#tAim{width:55%;top:22%;right:0}.aimhint{bottom:max(12px, env(safe-area-inset-bottom));color:#ffffffd9;white-space:nowrap;background:#0a1e2d73;border-radius:8px;padding:4px 9px;font-size:12px;position:absolute;right:230px}#tStick,#tAimRing{background:#0a1e2d2e;border:3px solid #fff9;border-radius:50%;width:120px;height:120px;margin:-60px 0 0 -60px;position:absolute}#tAimRing{border-color:#ffdc78cc}#tStick i,#tAimRing i{background:#ffffffd9;border-radius:50%;width:50px;height:50px;position:absolute;top:35px;left:35px}#tAimRing i{background:#ffd264e6}.tbtn{color:#fff;pointer-events:auto;touch-action:none;border:3px solid #ffffffbf;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;font-weight:700;display:flex;position:absolute;box-shadow:0 4px 12px #00000040}.tbtn.big{width:92px;height:92px;right:max(18px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));background:#2f7cf6bf;font-size:34px}.tbtn.mid{width:76px;height:76px;right:max(122px, calc(env(safe-area-inset-right) + 104px));bottom:max(26px, env(safe-area-inset-bottom));background:#28aa5ad9;font-size:22px}.tbtn.mid span{font-size:12px}.tbtn.small{width:50px;height:50px;right:max(34px, env(safe-area-inset-right));bottom:max(124px, calc(env(safe-area-inset-bottom) + 108px));background:#963228bf;font-size:20px}.tbtn.small.urgent{background:#e63c28f2;animation:.3s infinite alternate blink}.tbtn:active{filter:brightness(1.3)}.cool{right:max(126px, calc(env(safe-area-inset-right) + 108px));bottom:max(112px, calc(env(safe-area-inset-bottom) + 96px));--k:1;opacity:.85;width:44px;height:44px;position:absolute}.cool svg:first-child{position:absolute;inset:0;transform:rotate(-90deg)}.cool circle{fill:#0a1e2d8c;stroke:#ffd166;stroke-width:4px;stroke-dasharray:107;stroke-dashoffset:calc(107 * (1 - var(--k)))}.cool svg:last-child{position:absolute;inset:8px}.cool.ready circle{stroke:#6dff9a}@media (max-height:520px){.card{padding:14px 20px}.btn{margin:6px 0;padding:10px 14px;font-size:16px}.logo{font-size:36px}.tag{margin-bottom:8px}}@media (orientation:portrait){#tMove,#tAim{width:50%;top:55%}.aimhint{bottom:120px;right:12px}.pname{max-width:28vw}.pausebtn{top:calc(max(8px, env(safe-area-inset-top)) + 40px);margin-left:-19px}}
