:root{--ink:#0f0f14;--paper:#fffdf6;--yellow:#ffd23f;--pink:#ff4fa3;--blue:#2b83f6;--red:#e8423f}*{box-sizing:border-box}html,body{color:#fff;-webkit-user-select:none;user-select:none;touch-action:none;background:#8fc8f0;height:100%;margin:0;font-family:Nunito,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;overflow:hidden}#game{width:100%;height:100%;display:block;position:fixed;top:0;bottom:0;left:0;right:0}#labels{pointer-events:none;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}body:not(.in-game) #labels{display:none}#ui{pointer-events:none;position:fixed;top:0;bottom:0;left:0;right:0}#ui>*{pointer-events:auto}h1,h2,.big,.banner,.timer,.who{letter-spacing:1px;margin:0;font-family:Londrina Solid,Arial Black,sans-serif;font-weight:900}button{font:inherit;cursor:pointer;background:var(--paper);color:var(--ink);border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);letter-spacing:.5px;border-radius:12px;padding:8px 16px;font-family:Londrina Solid,sans-serif;font-size:20px;transition:transform 80ms}button:hover:not(:disabled){filter:brightness(1.05);outline:none;transform:translateY(-2px)}button:focus-visible{filter:brightness(1.05);outline:none;transform:translateY(-2px)}button:active:not(:disabled){box-shadow:0 2px 0 var(--ink);transform:translateY(2px)}button:disabled{opacity:.4;cursor:default}button.big{box-shadow:0 5px 0 var(--ink);border-width:4px;padding:10px 26px;font-size:26px}button.go{background:var(--yellow)}.row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.screen{padding:16px max(16px, env(safe-area-inset-right)) 16px max(16px, env(safe-area-inset-left));touch-action:pan-y;background:radial-gradient(at 50% 30%,#ffffff1a,#0f0f148c);flex-direction:column;align-items:center;gap:14px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0;overflow-y:auto}.screen>:first-child{margin-top:auto}.screen>:last-child{margin-bottom:auto}.screen.title{background:linear-gradient(#3d8ef0 0%,#8fd0ff 55%,#2a8fd8 56%,#1f6fb0 100%);overflow-x:hidden}.screen.title:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(at 50% 100%,#6ccf3f 0 45%,#4aa832 46% 52%,#a86e3e 53% 70%,#0000 71%);width:min(900px,140vw);height:22vh;position:absolute;bottom:30%;left:50%;transform:translate(-50%)}body.live .screen.title{background:radial-gradient(at 50% 45%,#0f0f140d,#0f0f1473)}body.live .screen.title:after{display:none}.logo{text-align:center;filter:drop-shadow(0 6px 0 var(--ink))}.logo .nog{color:var(--red);font-size:max(30px,min(6vw,56px));font-weight:900}.logo h1{color:#fff;-webkit-text-stroke:4px var(--ink);paint-order:stroke fill;font-size:max(46px,min(9vw,104px));line-height:.88}.logo h1 em{color:var(--yellow);font-style:normal}.logo p{text-shadow:0 2px 0 var(--ink);margin:10px 0 0;font-size:17px;font-weight:900}.menu{flex-direction:column;align-items:stretch;gap:10px;width:min(420px,100%);display:flex}.foot{opacity:.9;text-shadow:0 1px 0 var(--ink);font-size:14px}.foot a{color:#fff}.screen h2{-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;font-size:40px}.loading{text-shadow:0 3px 0 var(--ink);font-family:Londrina Solid,sans-serif;font-size:34px}.how,.setup{color:var(--ink);border:4px solid var(--ink);box-shadow:0 8px 0 var(--ink);background:#fffdf6f5;border-radius:18px;width:min(860px,100%);padding:14px 18px}.how p{margin:0 0 10px;line-height:1.4}.how table{border-collapse:collapse;width:100%;font-size:15px}.how td,.how th{text-align:left;border-top:1px solid #0002;padding:4px 6px}.field{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.field label{width:130px;font-weight:900}.opts{flex-wrap:wrap;flex:1;gap:6px;display:flex}.opt{box-shadow:0 3px 0 var(--ink);padding:5px 10px;font-size:16px}.opt.on{background:var(--yellow)}.teams{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:start;gap:8px;margin-top:10px;display:grid}.team{border:3px solid var(--tc);background:color-mix(in srgb, var(--tc) 12%, white);border-radius:12px;padding:6px 8px}.team b{color:var(--ink);font-size:14px}.mates{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.mates span{align-items:center;gap:4px;font-size:13px;font-weight:900;display:flex}.mates img{border:2px solid var(--ink);object-fit:cover;background:#fff;border-radius:8px;width:30px;height:30px}.hud{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.hud *{pointer-events:none}.hud.over .top,.hud.over .hint,.hud.over .tc{display:none!important}.hud .top{top:max(8px, env(safe-area-inset-top));left:max(10px, env(safe-area-inset-left));right:max(10px, env(safe-area-inset-right));align-items:flex-start;gap:8px;display:flex;position:absolute}.hud .hbtn{pointer-events:auto;padding:6px 12px;font-size:22px}.hud .wbtn{align-items:center;gap:6px;max-width:46vw;margin-left:auto;display:flex}.hud .wbtn .wi{font-size:24px}.hud .wbtn .wn{white-space:nowrap;text-overflow:ellipsis;font-size:17px;overflow:hidden}.hud .wbtn.dim{opacity:.55}.hud .fuse b{font-size:22px}.turninfo{text-shadow:0 2px 0 var(--ink);flex-direction:column;align-items:center;gap:2px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.turninfo .who{align-items:center;gap:6px;font-size:20px;display:flex}.turninfo .who i{border:2px solid var(--ink);border-radius:50%;width:14px;height:14px}.timer{text-align:center;background:var(--paper);min-width:60px;color:var(--ink);border:3px solid var(--ink);box-shadow:0 3px 0 var(--ink);text-shadow:none;border-radius:12px;padding:2px 10px;font-size:38px;line-height:1}.timer:empty{visibility:hidden}.timer.low{color:#fff;background:#ff5a5a;animation:.5s infinite alternate pulse}@keyframes pulse{to{transform:scale(1.08)}}.wind{background:#0f0f1499;border-radius:10px;justify-content:center;align-items:center;gap:2px;min-width:120px;padding:1px 8px;font-size:13px;display:flex}.wind span{color:#9fe6ff;letter-spacing:-2px;width:52px}.wind .wl{text-align:right}.wind .wr{text-align:left}.banner{opacity:0;text-align:center;color:#fff;-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;filter:drop-shadow(0 4px 0 var(--ink));white-space:nowrap;font-size:max(28px,min(5vw,50px));line-height:1;transition:transform .25s cubic-bezier(.3,1.6,.5,1),opacity .2s;position:absolute;top:26%;left:50%;transform:translate(-50%,-50%)scale(.6)}.banner.show{opacity:1;transform:translate(-50%,-50%)scale(1)}.banner small{font-size:.5em}.banner.warn{color:#9fe6ff}.bars{left:50%;bottom:max(8px, env(safe-area-inset-bottom));flex-direction:column;gap:3px;width:min(320px,40vw);display:flex;position:absolute;transform:translate(-50%)}.bar{border:2px solid var(--ink);background:#0f0f1488;border-radius:8px;grid-template-columns:1fr;height:16px;display:grid;position:relative;overflow:hidden}.bar i{height:100%;transition:width .6s;display:block}.bar span,.bar b{text-shadow:0 1px 0 var(--ink);font-size:11px;font-weight:900;position:absolute;top:-1px}.bar span{left:6px}.bar b{right:6px}.bar.out{opacity:.4}.hint{left:50%;bottom:calc(max(8px, env(safe-area-inset-bottom)) + 76px);text-shadow:0 2px 0 var(--ink);white-space:nowrap;font-size:16px;font-weight:900;position:absolute;transform:translate(-50%)}.tc{display:none}body.is-touch.my-turn .tc{display:block}.tc .pad{bottom:max(12px, env(safe-area-inset-bottom));align-items:flex-end;gap:10px;display:flex;position:absolute}.tc .pad.l{left:max(14px, env(safe-area-inset-left))}.tc .pad.r{right:max(14px, env(safe-area-inset-right));flex-direction:column;align-items:flex-end}.tc button{pointer-events:auto;touch-action:none;background:#fffdf6dd;border-radius:50%;width:68px;height:68px;padding:0;font-size:26px}.tc button.down{background:var(--yellow);box-shadow:0 2px 0 var(--ink);transform:translateY(2px)}.tc .aim{gap:10px;display:flex}.tc .aim button{width:56px;height:56px;font-size:20px}.tc .acts{align-items:flex-end;gap:10px;display:flex}.tc .acts .sm{width:48px;height:48px;font-size:20px}.tc .acts button[data-t=jump]{font-size:16px}.tc .fire{color:#fff;background:#ff5a5add;width:86px;height:86px;font-size:22px}.tc .fire.down{background:#ff2a2a}body.is-touch .bars{width:min(240px,30vw)}body.is-touch .hint{bottom:calc(max(8px, env(safe-area-inset-bottom)) + 70px)}.panel{background:#0f0f1488;place-items:center;display:grid;position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:auto!important}.panel *{pointer-events:auto!important}.panel.hidden{display:none}.pgrid{background:var(--paper);border:4px solid var(--ink);width:min(760px,94vw);max-height:70vh;box-shadow:0 8px 0 var(--ink);border-radius:18px;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px;padding:12px;display:grid;overflow-y:auto}.wpn{box-shadow:0 3px 0 var(--ink);grid-template-rows:auto auto auto;justify-items:center;gap:2px;padding:6px 4px;font-size:14px;display:grid}.wpn i{font-size:30px;font-style:normal}.wpn b{text-align:center;font-size:15px;line-height:1}.wpn small{opacity:.7;font-family:Nunito,sans-serif;font-size:12px;font-weight:900}.wpn.on{background:var(--yellow)}.ptip{background:var(--paper);color:var(--ink);border:3px solid var(--ink);text-align:center;border-radius:12px;max-width:94vw;margin-top:8px;padding:6px 12px;font-weight:900}.pausebox{z-index:5;background:#0f0f14aa;place-items:center;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.pausebox .box{background:var(--paper);color:var(--ink);border:4px solid var(--ink);box-shadow:0 8px 0 var(--ink);text-align:center;border-radius:18px;flex-direction:column;align-items:center;gap:12px;width:min(560px,92vw);padding:18px 22px;display:flex}.pausebox h2{font-size:40px}.pausebox.results .box{border-color:var(--tc)}.pausebox.results h2{color:var(--tc);-webkit-text-stroke:2px var(--ink);paint-order:stroke fill}.pausebox form.code{gap:6px;display:flex}.pausebox form.code input{width:9em;font:inherit;border:3px solid var(--ink);text-transform:uppercase;color:var(--ink);background:#fff;border-radius:10px;padding:6px 10px;font-size:15px}.pausebox form.code button{padding:6px 12px;font-size:15px}.pausebox p{opacity:.7;margin:0;font-weight:900}.star{background:color-mix(in srgb, var(--sc) 14%, white);border:3px solid var(--sc);text-align:left;border-radius:12px;align-items:center;gap:10px;padding:6px 12px;font-size:14px;font-weight:900;display:flex}.star img{border:2px solid var(--ink);background:#fff;border-radius:10px;width:46px;height:46px}.star b{font-size:18px}.nlabel{text-shadow:0 1px 0 var(--ink), 0 0 3px var(--ink);white-space:nowrap;will-change:transform;flex-direction:column;align-items:center;font-weight:900;line-height:1;display:flex;position:absolute;top:0;left:0}.nlabel b{color:var(--tc);font-size:12px}.nlabel i{background:var(--tc);color:#fff;border:2px solid var(--ink);text-shadow:0 1px 0 var(--ink);border-radius:6px;margin-top:1px;padding:0 5px;font-size:13px;font-style:normal}.nlabel.on b:before{content:"▼ "}.nlabel.on{animation:.6s infinite alternate bob}@keyframes bob{to{margin-top:-4px}}.poptext{-webkit-text-stroke:2px var(--ink);paint-order:stroke fill;white-space:nowrap;will-change:transform, opacity;font-family:Londrina Solid,sans-serif;font-size:24px;font-weight:900;position:absolute;top:0;left:0}.poptext.big{font-size:34px}@media (max-height:520px){.screen h2{font-size:30px}.screen.title{flex-direction:row;justify-content:center;gap:4vw;padding-bottom:34px}.screen.title>*{margin-top:auto;margin-bottom:auto}.screen.title .foot{text-align:center;margin:0;position:absolute;bottom:8px;left:0;right:0}.logo h1{font-size:52px}.logo .nog{font-size:30px}.logo p{max-width:300px;margin-left:auto;margin-right:auto;font-size:14px}.menu{gap:8px;width:min(360px,48vw)}.menu button.big{padding:7px 16px;font-size:21px}.menu button{padding:5px 12px;font-size:17px}.setup,.how{padding:10px 12px}.teams{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.field{margin-bottom:4px}.field label{width:110px;font-size:14px}.opt{padding:3px 8px;font-size:14px}.timer{font-size:28px}.turninfo .who{font-size:16px}.hud .hbtn{padding:4px 10px;font-size:18px}.tc button{width:58px;height:58px;font-size:22px}.tc .fire{width:74px;height:74px}.tc .aim button{width:48px;height:48px}.banner{top:30%}}@media (orientation:portrait) and (pointer:coarse){html{height:100%}body{width:100vh;transform-origin:0 0;width:100dvh;height:100vw;position:fixed;top:0;left:0;transform:translate(100vw)rotate(90deg)}}.screen.setup{gap:0;padding:0;overflow:hidden}.screen.setup>:first-child,.screen.setup>:last-child{margin:0}.wiz{padding:max(10px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));flex-direction:column;gap:8px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.wiz-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.wiz-head h2{font-size:32px}.dots{gap:6px;display:flex}.dot{box-shadow:0 3px 0 var(--ink);padding:4px 10px;font-size:15px}.dot.on{background:var(--yellow)}.dot.done{background:#d8f5c8}.wiz-body{touch-action:pan-y;min-height:0;color:var(--ink);border:4px solid var(--ink);box-shadow:0 6px 0 var(--ink);background:#fffdf6f5;border-radius:18px;flex:1;padding:12px 14px;overflow-y:auto}.wiz-body h3{margin:10px 0 6px;font-family:Londrina Solid,sans-serif;font-size:22px}.wiz-foot{justify-content:space-between;align-items:center;gap:10px;display:flex}.wiz-foot .big{min-width:180px}.mapbig{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.mapbig canvas{aspect-ratio:720/250;border:3px solid var(--ink);border-radius:12px;width:min(560px,100%);display:block}.mapinfo{flex-direction:column;flex:1;gap:6px;min-width:180px;display:flex}.mapinfo b{font-size:18px}.mapinfo span{opacity:.75;font-size:14px}.mapinfo button{align-self:flex-start}.cards{touch-action:pan-x pan-y;gap:10px;padding:2px 2px 8px;display:flex;overflow-x:auto}.card{width:150px;box-shadow:0 3px 0 var(--ink);flex-direction:column;flex:none;gap:4px;padding:4px;font-size:15px;display:flex}.card img,.card canvas{aspect-ratio:16/9;object-fit:cover;background:#cfe4f5;border-radius:8px;width:100%;display:block}.card canvas{aspect-ratio:240/84}.card.on{background:var(--yellow);outline:3px solid var(--ink)}.roomcode{border:3px solid var(--ink);background:#fff3c4;border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;padding:8px 12px;font-weight:900;display:flex}.roomcode b{letter-spacing:6px;font-family:Londrina Solid,sans-serif;font-size:38px}.roomcode span{opacity:.8;flex:1;min-width:200px;font-size:13px}.summary{opacity:.75;margin-top:10px;font-weight:900}.how.online{flex-direction:column;align-items:stretch;gap:12px;width:min(520px,100%);display:flex}.join{gap:8px;display:flex}.join input{letter-spacing:8px;text-align:center;text-transform:uppercase;border:3px solid var(--ink);min-width:0;color:var(--ink);-webkit-user-select:text;user-select:text;background:#fff;border-radius:12px;flex:1;padding:6px;font-family:Londrina Solid,sans-serif;font-size:30px}.err{color:#c62828;font-weight:900}.wait{text-align:center;font-weight:900;animation:.8s infinite alternate pulse}.how.lobby .mapbig canvas{width:min(480px,100%)}@media (max-height:520px){.wiz{gap:6px}.wiz-head h2{font-size:24px}.dot{padding:2px 8px;font-size:13px}.wiz-body{padding:8px 10px}.wiz-body h3{margin:6px 0 4px;font-size:18px}.mapbig canvas{width:min(380px,60%)}.card{width:118px;font-size:13px}.wiz-foot .big{min-width:140px;padding:6px 16px;font-size:20px}.roomcode b{font-size:28px}}.emobar{top:calc(max(8px, env(safe-area-inset-top)) + 56px);left:max(10px, env(safe-area-inset-left));border:3px solid var(--ink);background:#fffdf6f2;border-radius:14px;flex-wrap:wrap;gap:6px;max-width:260px;padding:6px;display:flex;position:absolute;pointer-events:auto!important}.emobar.hidden{display:none}.emobar button{box-shadow:0 3px 0 var(--ink);padding:2px 6px;font-size:26px;pointer-events:auto!important}.poptext.emo{-webkit-text-stroke:0;filter:drop-shadow(0 3px #0f0f1499);font-size:46px}.banner.info{white-space:normal;color:#fff3b0;width:min(620px,90vw);font-size:max(22px,min(3.4vw,34px))}.banner.info small{-webkit-text-stroke:0;text-shadow:0 2px 0 var(--ink);margin-top:4px;font-family:Nunito,sans-serif;font-size:.5em;display:block}@media (max-height:520px){.pgrid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:5px;width:min(820px,96vw);max-height:76vh;padding:8px}.wpn{gap:0;padding:3px 2px}.wpn i{font-size:22px}.wpn b{font-size:12px}.wpn small{font-size:10px}.ptip{margin-top:4px;padding:4px 10px;font-size:13px}}.poptext.say{-webkit-text-stroke:0;border:2px solid var(--ink);background:#fff;border-radius:12px;padding:2px 8px;font-family:Nunito,sans-serif;font-size:14px;font-weight:900;color:var(--ink)!important}body.is-touch .screen,body.is-touch .wiz-body,body.is-touch .cards,body.is-touch .pgrid{touch-action:none}body:not(.is-touch).my-turn .tc{display:block}body:not(.is-touch) .tc button{opacity:.8;width:50px;height:50px;font-size:18px}body:not(.is-touch) .tc button:hover{opacity:1}body:not(.is-touch) .tc .aim button{width:44px;height:44px;font-size:16px}body:not(.is-touch) .tc .acts .sm{width:40px;height:40px;font-size:16px}body:not(.is-touch) .tc .fire{width:64px;height:64px;font-size:17px}.tc button[data-t=jump]{font-size:15px;line-height:1}.row.icons{gap:8px}.row.icons button{border-radius:50%;place-items:center;width:46px;height:46px;padding:0;font-size:20px;display:grid}.row.icons button.off{opacity:.55}details.rules{border-top:3px dashed #0002;margin-top:10px;padding-top:8px}details.rules summary{cursor:pointer;padding:4px 0 8px;font-family:Londrina Solid,sans-serif;font-size:20px;list-style:none}details.rules summary::-webkit-details-marker{display:none}details.rules[open] summary{opacity:.7}.pausebox form.code.hidden{display:none}.pausebox button.key{opacity:.7;padding:4px 10px;font-size:16px}@media (max-height:500px){.row.icons button{width:40px;height:40px;font-size:18px}}.screen.setup{background:var(--paper);color:var(--ink);box-shadow:none;border:0;border-radius:0;width:auto}.wiz{gap:6px}.wiz-head{border-bottom:3px solid #0f0f1414;flex-wrap:nowrap;gap:8px;padding-bottom:6px}.wiz-head h2{min-width:0;color:var(--ink);-webkit-text-stroke:0;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:26px;overflow:hidden}.wiz-head .nav{flex:none;padding:5px 12px;font-size:17px}.wiz-head .big{flex:none;min-width:0;padding:6px 16px;font-size:20px}.wiz-body{box-shadow:none;background:0 0;border:0;border-radius:0;padding:4px 2px 10px}@media (max-height:520px){.wiz-head{gap:6px;padding-bottom:4px}.wiz-head h2{font-size:19px}.wiz-head .nav span{display:none}.wiz-head .nav{padding:3px 10px;font-size:16px}.wiz-head .big{padding:4px 12px;font-size:17px}.wiz-body{padding:2px 0 8px}}@media (max-width:640px){.wiz-head h2{display:none}.dots{flex:1;justify-content:center}}@media (max-height:520px){.pausebox .box{gap:8px;padding:10px 16px}.pausebox h2{font-size:28px}.pausebox .big{padding:6px 18px;font-size:20px}.pausebox .row button:not(.icons button){padding:5px 12px;font-size:16px}}
