:root{--ink:#000;--dim:#3a5560;--line:#00000024;--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}[hidden]{display:none!important}html,body{background:var(--cyan);height:100%;color:var(--ink);font-family:var(--body);-webkit-text-size-adjust:100%;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;margin:0;overflow:hidden}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:fixed;inset:0}#game,#touch,#ui{position:fixed;inset:0}#game{background:#0c0a12}#game canvas{display:block}#touch{z-index:2;touch-action:none;pointer-events:none}#ui{z-index:3;pointer-events:none;top:var(--vvt,0px);height:var(--vvh,100%);bottom:auto}#ui .screen,#ui button,#ui input,#ui a{pointer-events:auto}button{font:inherit;color:inherit;cursor:pointer}.screen{padding-top:var(--safe-t);background:var(--cyan);grid-template-rows:auto minmax(0,1fr) auto;display:none;position:absolute;inset:0;overflow:hidden;container:scr/size}.screen:before{content:"";pointer-events:none;opacity:.07;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 120' fill='none' stroke='%23000' stroke-width='5' stroke-linecap='round'%3E%3Cellipse cx='50' cy='12' rx='23' ry='7'/%3E%3Ccircle cx='50' cy='71' r='43'/%3E%3Cpath d='M28 63q8 9 16 0M56 63q8 9 16 0M29 82q21 24 42 0'/%3E%3C/svg%3E") 0 0/64px 77px;position:absolute;inset:-30%;transform:rotate(-8deg)}.screen>.checker{--ck:clamp(10px, 2.8cqh, 24px);z-index:1;height:var(--ck);background-size:var(--ck) var(--ck);border-width:clamp(2px,.4cqh,3px);position:relative}.screen-body{min-height:0;padding:clamp(6px, 2cqh, 22px) calc(clamp(10px, 2.4cqw, 28px) + var(--safe-r)) calc(clamp(6px, 2cqh, 22px) + var(--safe-b)) calc(clamp(10px, 2.4cqw, 28px) + var(--safe-l));grid-row:2;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}body[data-screen=home] .home,body[data-screen=lobby] .lobby,body[data-screen=results] .results{display:grid}body[data-screen=connecting] #ui:after{content:"CONNECTING…";font:400 24px var(--head);letter-spacing:.06em;background:var(--cyan);place-items:center;display:grid;position:absolute;inset:0}.busy{pointer-events:none}.busy .btn{opacity:.6}@container scr (height<=300px){.screen>.checker{display:none}}.sticker{aspect-ratio:1;width:5.4em;font:400 1em / .95 var(--head);letter-spacing:.02em;text-align:center;color:#000;flex:none;place-items:center;display:inline-grid;position:relative}.sticker .burst{fill:#fff;stroke:#000;stroke-width:3px;stroke-linejoin:round;filter:drop-shadow(2px 3px #000);width:100%;height:100%;position:absolute;inset:0;overflow:visible}.sticker.yellow .burst{fill:var(--yellow)}.sticker.pink .burst{fill:var(--pink)}.sticker-text{position:relative;transform:rotate(-8deg)}.card{background:var(--cream);border:3px solid #000;border-radius:22px;box-shadow:6px 6px #000}.mascot{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none;filter:drop-shadow(4px 5px #0000002e);height:auto;display:block}.kicker{font:800 13px var(--body);letter-spacing:.14em;text-transform:uppercase}.screen{--ctl:clamp(38px, 7.6cqh, 62px);--ctl-font:clamp(17px, 3.4cqh, 28px)}.field{width:100%;height:var(--ctl,52px);color:#000;min-width:0;font:700 max(16px, calc(var(--ctl,52px) * .36)) var(--body);-webkit-user-select:text;user-select:text;touch-action:manipulation;background:#fff;border:3px solid #000;border-radius:999px;outline:none;padding:0 .9em;transition:box-shadow .12s}.field:focus{box-shadow:0 0 0 4px var(--yellow)}.field::placeholder{color:#8b8b8b}.btn{width:100%;min-height:var(--ctl,52px);font:400 var(--ctl-font,22px) / 1 var(--head);letter-spacing:.03em;text-transform:uppercase;color:#000;touch-action:manipulation;white-space:nowrap;border:3px solid #000;border-radius:999px;padding:0 .9em;transition:transform 60ms,box-shadow 60ms,filter .12s;display:block;box-shadow:0 4px #000}@media (hover:hover){.btn:not(:disabled):hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 5px #000}}.btn:not(:disabled):active{transform:translateY(3px);box-shadow:0 1px #000}.btn:disabled{cursor:default;color:#6b6b6b;box-shadow:0 3px #000;background:#e7e2d6!important}.btn-primary{background:var(--yellow)}.btn-secondary{background:#fff}.btn-pink{background:var(--pink-soft)}.btn-link{min-height:34px;font:700 15px var(--body);letter-spacing:0;text-transform:none;color:#000;text-underline-offset:3px;background:0 0;border:0;text-decoration:underline;box-shadow:none!important}.btn-link:active{transform:none}.fs-open{align-self:center;font-size:14px}:root[data-orient=portrait] .lobby .fs-open{display:none}@container scr (height<=359px){.lobby .fs-open{display:none}}.fsguide{z-index:60;padding:calc(10px + var(--safe-t)) calc(14px + var(--safe-r)) calc(10px + var(--safe-b)) calc(14px + var(--safe-l));background:#0000008c;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.fsguide.on{display:flex}.fs-card{flex-direction:column;gap:clamp(4px,1.4vh,12px);width:min(460px,100%);max-height:100%;padding:clamp(12px,3vh,24px) clamp(14px,3vw,26px);display:flex;overflow:hidden}.fs-title{font:400 clamp(22px, 5.5vh, 34px) / 1 var(--head)}.fs-why{font:700 clamp(12px, 3vh, 15px) / 1.3 var(--body);margin:0}.fs-steps{font:800 clamp(12px, 3.2vh, 16px) / 1.25 var(--body);flex-direction:column;gap:clamp(2px,.8vh,6px);margin:0;padding-left:1.3em;display:flex}.fs-ok{flex:none}.btn-back{min-height:34px;font:800 14px var(--body);touch-action:manipulation;background:#fff;border:2.5px solid #000;border-radius:999px;flex:none;align-self:flex-start;padding:0 14px;box-shadow:0 3px #000}.btn-back:active{transform:translateY(2px);box-shadow:0 1px #000}.err:empty{display:none}.err{font:800 14px var(--body);text-align:center}.err:not(:empty){background:var(--pink-soft);border:2px solid #000;border-radius:999px;padding:6px 12px}.waiting{font:700 clamp(13px, 2.6cqh, 16px) var(--body);text-align:center;padding:.6em 0}.dot{background:#d8d3c7;border:2.5px solid #000;border-radius:50%;flex:none;width:14px;height:14px;display:inline-block}.hint-rotate{text-align:center;font:700 13px var(--body);display:none}.home-inner{grid-template-columns:minmax(0,1.15fr) minmax(0,.7fr) minmax(260px,.95fr);align-items:center;gap:clamp(10px,2.4cqw,34px);width:min(1240px,100%);max-height:100%;display:grid}.home-hero{flex-direction:column;align-items:flex-start;gap:clamp(4px,1.4cqh,14px);min-width:0;display:flex}.home-hero .brand-logo{align-items:flex-start;font-size:clamp(30px,min(10cqh,6.6cqw),112px)}.tagline{font:400 clamp(17px, min(5cqh, 3.2cqw), 44px) / 1 var(--head);letter-spacing:.01em;margin:0}.subline{max-width:34ch;font:600 clamp(12px, 2.5cqh, 19px) / 1.3 var(--body);margin:0}.home-mascot{justify-self:center;width:100%;min-width:0;position:relative}.home .mascot-raptor{object-fit:contain;width:100%;max-height:62cqh;animation:2.8s ease-in-out infinite bob;transform:rotate(-4deg)}@keyframes bob{50%{translate:0 -8px}}.home-mascot .sticker{font-size:clamp(10px,2.2cqh,19px);position:absolute;top:-2%;left:-6%;transform:rotate(-12deg)}.home-card{flex-direction:column;gap:clamp(6px,1.5cqh,14px);min-width:0;padding:clamp(10px,2.6cqh,26px);display:flex}.home-card .kicker{margin:0 0 -2px 6px}.stack{flex-direction:column;gap:clamp(6px,1.5cqh,14px);display:flex}.home-card .mode-join,.home-card.joining .mode-main{display:none}.home-card.joining .mode-join{display:flex}.join-row{gap:8px;display:flex}.code-field{text-transform:uppercase;text-align:center;font-family:var(--head);letter-spacing:.3em;flex:1;font-weight:400}.btn-go{flex:none;width:auto;padding:0 1.1em}@container scr (width<=720px){:root[data-orient=landscape] .home-inner{grid-template-columns:minmax(0,1fr) minmax(250px,1fr)}:root[data-orient=landscape] .home-mascot{display:none}}@container scr (width<=600px){:root[data-orient=landscape] .home-hero{display:none}:root[data-orient=landscape] .home-inner{grid-template-columns:minmax(0,1fr);width:min(460px,100%)}}@container scr (height<=360px){:root[data-orient=landscape] .subline{display:none}}:root[data-orient=portrait] .home-inner{grid-template-columns:minmax(0,1fr);align-content:center;justify-items:center;gap:clamp(4px,1.4cqh,16px);width:min(440px,100%)}:root[data-orient=portrait] .home-hero{text-align:center;align-items:center}:root[data-orient=portrait] .home-hero .brand-logo{align-items:center;font-size:clamp(30px,min(8cqh,14cqw),80px)}:root[data-orient=portrait] .home-mascot{width:auto}:root[data-orient=portrait] .home .mascot-raptor{width:auto;height:clamp(90px,22cqh,220px);max-height:none;margin:0 auto}:root[data-orient=portrait] .home-mascot .sticker{top:10%;left:-40%}:root[data-orient=portrait] .home-card{width:100%}@container scr (height<=620px){:root[data-orient=portrait] .subline{display:none}:root[data-orient=portrait] .home .mascot-raptor{height:clamp(70px,16cqh,140px)}}@container scr (height<=470px){:root[data-orient=portrait] .home-mascot,:root[data-orient=portrait] .tagline{display:none}}@container scr (height<=300px){.home-hero,.home-mascot{display:none}:root[data-orient] .home-inner{grid-template-columns:minmax(0,1fr);width:min(460px,100%)}.home-card .kicker{display:none}}.lobby-inner{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:clamp(10px,2.4cqw,36px);width:min(1240px,100%);height:100%;max-height:760px;display:grid}.lobby-left,.lobby-right{flex-direction:column;gap:clamp(6px,1.6cqh,16px);min-width:0;min-height:0;max-height:100%;display:flex}.code-card{flex:none;grid-template-columns:auto 1fr;grid-template-areas:"label label""code code""share share";justify-items:start;gap:clamp(2px,.8cqh,8px);padding:clamp(8px,2cqh,22px) clamp(12px,2cqw,24px);display:grid;position:relative;overflow:hidden}.code-label{font:800 clamp(11px, 2.2cqh, 14px) var(--body);letter-spacing:.16em;grid-area:label}.code{font:400 clamp(32px, min(13cqh, 8cqw), 104px) / 1 var(--head);letter-spacing:.08em;color:#000;background:var(--yellow);-webkit-user-select:all;user-select:all;border:3px solid #000;border-radius:14px;grid-area:code;padding:.05em .25em .06em;transform:rotate(-2deg);box-shadow:4px 4px #000}.btn-share{width:auto;min-height:max(36px, calc(var(--ctl) * .82));font-size:max(16px, calc(var(--ctl-font) * .85));grid-area:share;margin-top:clamp(2px,1cqh,10px)}.code-card .mascot-berry{width:auto;height:92%;position:absolute;bottom:-8%;right:-2%;transform:rotate(4deg)}.squad{flex-direction:column;gap:clamp(4px,1cqh,10px);min-height:0;display:flex;overflow:hidden}.squad-head{align-items:baseline;gap:10px;display:flex}.lobby-title{font:400 clamp(18px, 4.4cqh, 36px) / 1 var(--head)}.count{font:800 clamp(12px, 2.4cqh, 15px) var(--body);letter-spacing:.1em}.roster{flex-wrap:wrap;gap:clamp(4px,1cqh,8px);margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.roster li{height:clamp(26px,5.4cqh,40px);font:800 clamp(12px, 2.5cqh, 17px) var(--body);background:#fff;border:2.5px solid #000;border-radius:999px;align-items:center;gap:6px;min-width:0;max-width:100%;padding:0 .8em;display:flex}.roster li.me{background:var(--sky);box-shadow:0 3px #000}.roster li.empty{color:#0000008c;background:0 0;border-style:dashed;border-color:#0006}.roster li.gone{opacity:.45}.roster .dot{border-width:2px;width:12px;height:12px}.pname{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tag{font:800 10px var(--body);letter-spacing:.08em;color:var(--yellow);background:#000;border-radius:999px;flex:none;padding:3px 7px 2px}.start-wrap{flex-direction:column;flex:none;gap:4px;display:flex}.btn-start,.btn-rematch{min-height:calc(var(--ctl) * 1.1);font-size:calc(var(--ctl-font) * 1.12)}.btn-rematch{background:var(--pink)}:root[data-orient=portrait] .lobby-inner{grid-template-columns:minmax(0,1fr);align-content:center;width:min(480px,100%);height:auto;max-height:100%}:root[data-orient=portrait] .code-card{grid-template-columns:auto auto 1fr;grid-template-areas:"label label label""code share.";align-items:center;column-gap:14px}:root[data-orient=portrait] .btn-share{margin-top:0}:root[data-orient=portrait] .hint-rotate{display:block}@container scr (height<=640px){:root[data-orient=portrait] .code-card .mascot-berry,:root[data-orient=portrait] .mv-hint{display:none}:root[data-orient=portrait] .mv-thumb{height:clamp(30px,9cqh,80px)}}@container scr (height<=340px){.code-label,.mv-head,.squad-head,.code-card .mascot-berry{display:none}}@container scr (height<=480px){:root[data-orient=portrait] .mv-thumb,:root[data-orient=portrait] .squad-head,:root[data-orient=portrait] .code-label,:root[data-orient=portrait] .hint-rotate,:root[data-orient=portrait] .results-head .sticker{display:none}:root[data-orient=portrait] .results-title{font-size:24px}}@container scr (width<=560px) and (height>=421px){:root[data-orient=landscape] .lobby-inner{grid-template-columns:minmax(0,1fr);height:auto}:root[data-orient=landscape] .results-inner{height:auto}}.mapvote{flex-direction:column;flex:none;gap:clamp(4px,1cqh,10px);min-height:0;display:flex}.mv-head{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.mv-title{font:400 clamp(18px, 4.4cqh, 36px) / 1 var(--head)}.mv-hint{font:700 clamp(11px, 2.2cqh, 14px) var(--body)}.mv-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(6px,1.2cqw,14px);display:grid}.mv-card{text-align:left;touch-action:manipulation;background:#fff;border:3px solid #000;border-radius:16px;flex-direction:column;min-width:0;padding:0;transition:transform 80ms,box-shadow 80ms;display:flex;overflow:hidden;box-shadow:0 4px #000}.mv-card:active{transform:translateY(3px);box-shadow:0 1px #000}.mv-card.mine{background:var(--yellow);outline-offset:2px;outline:3px solid #000}.mv-thumb{background:#1a1420;border-bottom:3px solid #000;height:clamp(36px,15cqh,150px);display:block;position:relative}.mv-thumb img{object-fit:cover;width:100%;height:100%;display:block}.mv-badge{background:var(--pink);font:400 clamp(11px, 2.2cqh, 15px) / 1.2 var(--head);letter-spacing:.04em;border:2px solid #000;border-radius:999px;padding:2px 8px 1px;display:none;position:absolute;top:6px;left:6px}.mv-card.next .mv-badge{display:block}.mv-meta{flex-direction:column;gap:2px;min-width:0;padding:clamp(4px,1cqh,10px) clamp(6px,1cqw,12px);display:flex}.mv-name{font:400 clamp(13px, 3cqh, 22px) / 1.05 var(--head);letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mv-size{font:800 clamp(9px, 1.9cqh, 12px) var(--body);letter-spacing:.06em;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mv-dots{flex-wrap:wrap;gap:3px;min-height:12px;display:flex}.mv-dots .dot{border-width:2px;width:11px;height:11px}@container scr (height<=420px){.mv-thumb{height:clamp(30px,13cqh,70px)}.mv-hint{display:none}}@container scr (height<=300px){.mv-thumb{display:none}}.modevote{flex-direction:column;flex:none;gap:clamp(4px,.8cqh,8px);display:flex}.mode-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(6px,1.2cqw,14px);display:grid}.mode-card{text-align:left;touch-action:manipulation;background:#fff;border:3px solid #000;border-radius:16px;flex-wrap:wrap;align-items:center;gap:1px 8px;min-width:0;min-height:34px;padding:clamp(4px,1.1cqh,10px) clamp(8px,1.2cqw,14px);transition:transform 80ms,box-shadow 80ms;display:flex;box-shadow:0 4px #000}.mode-card:active{transform:translateY(3px);box-shadow:0 1px #000}.mode-card.mine{background:var(--yellow);outline-offset:2px;outline:3px solid #000}.mode-card.next{box-shadow:0 4px 0 #000, inset 0 0 0 3px var(--pink)}.mode-teams{background-image:linear-gradient(100deg,#f06ec0 0 8px,#0000 8px),linear-gradient(-80deg,#33d4ff 0 8px,#0000 8px)}.mode-name{font:400 clamp(14px, 3.2cqh, 24px) / 1.05 var(--head);letter-spacing:.02em;white-space:nowrap}.mode-hint{font:700 clamp(9px, 1.8cqh, 12px) var(--body);white-space:nowrap;text-overflow:ellipsis;flex-basis:100%;order:3;overflow:hidden}.mode-card .mv-dots{min-height:0}.side-row{align-items:center;gap:6px;display:flex}.side-row[hidden]{display:none}.side-label{font:800 clamp(10px, 2cqh, 12px) var(--body);letter-spacing:.1em}.side-btn{min-height:32px;font:400 clamp(13px, 2.8cqh, 18px) / 1.1 var(--head);letter-spacing:.04em;color:#000;touch-action:manipulation;border:2.5px solid #000;border-radius:999px;padding:3px 14px 2px;box-shadow:0 3px #000}.side-btn.mine{outline-offset:2px;outline:3px solid #000}.side-btn.mine:before{content:"✓ "}.teamcols{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(6px,1cqw,12px);min-height:0;display:grid;overflow:hidden}.teamcols[hidden],.roster[hidden],.team-hint[hidden]{display:none}.teamcol{flex-direction:column;gap:clamp(4px,.8cqh,8px);min-width:0;min-height:0;display:flex}.team-join{width:100%;min-height:max(32px, calc(var(--ctl) * .72));font-size:max(15px, calc(var(--ctl-font) * .78));color:#000}.team-join.mine{outline-offset:2px;outline:3px solid #000}.team-roster li.auto{border-style:dashed}.team-hint{font:700 clamp(10px, 2cqh, 13px) var(--body);white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}@container scr (height<=420px){.mode-hint{display:none}}:root[data-orient=portrait] .mode-hint,:root[data-orient=portrait] .team-hint{display:none}:root[data-orient=portrait] .mode-card{padding-block:3px}:root[data-orient=portrait] .lobby-title{white-space:nowrap}:root[data-orient=portrait] .team-roster li{height:clamp(24px,4.2cqh,34px);font-size:clamp(11px,2.1cqh,15px)}:root[data-orient=portrait] .lobby .mv-thumb{height:clamp(26px,7cqh,110px)}:root[data-orient=portrait] .team-roster{gap:4px}:root[data-orient=portrait] .team-join{min-height:32px}:root[data-orient=portrait] .results .mv-thumb{display:none}@container scr (height<=480px){:root[data-orient=portrait] .results .mv-size,:root[data-orient=portrait] .results .side-label,:root[data-orient=portrait] .results .podium .rank{display:none}}@container scr (height<=520px) and (width>=760px){:root[data-orient=landscape] .lobby-left:has(.teamcols:not([hidden])) .code-card{grid-template-columns:auto auto 1fr;grid-template-areas:"label label label""code share.";align-items:center;column-gap:12px}:root[data-orient=landscape] .lobby-left:has(.teamcols:not([hidden])) .btn-share{margin-top:0}:root[data-orient=landscape] .lobby-left:has(.teamcols:not([hidden])) .mascot-berry{display:none}:root[data-orient=landscape] .team-roster{gap:4px}}@container scr (height<=380px){:is(:root[data-orient=landscape] .lobby-left:has(.teamcols:not([hidden])) .squad-head,:root[data-orient=landscape] .team-roster .tag){display:none}:root[data-orient=landscape] .team-roster li{height:22px;padding:0 .6em;font-size:12px}}.results-heads{flex-direction:column;gap:4px;min-width:0;display:flex}.win-team{border:3px solid #000;border-radius:.3em;padding:0 .25em;display:inline-block;box-shadow:3px 3px #000}.results-teams{align-items:center;gap:6px;display:flex}.results-teams[hidden]{display:none}.rt{font:400 clamp(14px, 3cqh, 22px) / 1.15 var(--head);letter-spacing:.03em;border:2.5px solid #000;border-radius:999px;padding:1px 10px 0}.rt-x{font:400 clamp(14px, 3cqh, 22px) var(--head)}.results{background:var(--yellow)}.results-inner{z-index:1;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);align-items:center;gap:clamp(10px,2.4cqw,34px);width:min(1100px,100%);max-height:100%;display:grid;position:relative}.results-board,.results-next{flex-direction:column;gap:clamp(5px,1.3cqh,12px);min-width:0;min-height:0;display:flex}.results-head{align-items:center;gap:10px;display:flex}.results-head .sticker{font-size:clamp(9px,2cqh,15px);transform:rotate(-10deg)}.results-title{min-width:0;font:400 clamp(26px, min(9cqh, 6cqw), 72px) / .95 var(--head);letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;transform:rotate(-2deg)}.podium{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:clamp(5px,1cqw,10px);display:grid}.place{background:#fff;border:3px solid #000;border-radius:16px;flex-direction:column;order:2;align-items:center;gap:2px;min-width:0;padding:clamp(4px,1.2cqh,12px) 6px;display:flex;box-shadow:4px 4px #000}.place-1{background:var(--cyan);order:2;padding-block:clamp(6px,2.2cqh,20px);box-shadow:5px 5px #000}.place-1 .rank:before{content:"♛ "}.place-2{order:1}.place-3{order:3}.place .rank{font:400 clamp(12px, 2.6cqh, 17px) var(--head);letter-spacing:.06em}.place .pname{font:800 clamp(12px, 2.6cqh, 16px) var(--body);align-items:center;gap:5px;max-width:100%;display:flex}.place .pn{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.place .score{font:400 clamp(18px, 5cqh, 36px) / 1 var(--head)}.place-1 .score{font-size:clamp(22px,7cqh,50px)}.place.me{outline-offset:3px;outline:3px dashed #000}.rest{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:4px 8px;margin:0;padding:0;list-style:none;display:grid}.rest li{height:clamp(22px,4.6cqh,32px);font:800 clamp(11px, 2.3cqh, 14px) var(--body);background:#fff;border:2.5px solid #000;border-radius:999px;align-items:center;gap:6px;min-width:0;padding:0 10px;display:flex}.rest li.me{background:var(--sky)}.rest .rank{width:2.4em;font:400 1em var(--head);flex:none}.rest .dot{border-width:2px;width:10px;height:10px}.rest .score{font:400 1.2em var(--head);margin-left:auto}.results .mascot-dragon{z-index:0;right:calc(4px + var(--safe-r));opacity:.95;width:auto;height:clamp(110px,34cqh,260px);position:absolute;bottom:0;transform:rotate(4deg)}.results-board .btn-back,.lobby-left .btn-back{margin-bottom:clamp(0px,.4cqh,4px)}@container scr (width<=900px) or (height<=520px){.results .mascot-dragon{display:none}}:root[data-orient=portrait] .results-inner{grid-template-columns:minmax(0,1fr);width:min(480px,100%)}@container scr (height<=330px){.rest li{height:22px}.results-head .sticker{display:none}}.hud{pointer-events:none;display:none;position:absolute;inset:0}body[data-screen=game] .hud{display:block}.shot{--p:0;--fill:var(--yellow);top:calc(6px + var(--safe-t));left:calc(8px + var(--safe-l));aspect-ratio:1;background:conic-gradient(var(--fill) calc(var(--p) * 1turn), #2a2333 0);border:2.5px solid #000;border-radius:50%;place-items:center;width:clamp(44px,12.5vh,62px);display:grid;position:absolute;box-shadow:0 3px #000}.shot-core{background:#15101c;border:2px solid #000;border-radius:50%;place-items:center;width:68%;height:68%;display:grid}.shot-t{font:400 clamp(12px, 3.6vh, 18px) / 1 var(--head);color:#fff;letter-spacing:.02em;font-variant-numeric:tabular-nums}.shot.ready .shot-core{background:var(--yellow)}.shot.ready .shot-t{color:#000;font-size:clamp(8px,2.4vh,11px)}.shot.charge{--fill:var(--pink)}.shot.off{opacity:.35}.shot.shot-pop{animation:.24s ease-out shot-pop}@keyframes shot-pop{40%{transform:scale(1.16)}}.timer{top:calc(6px + var(--safe-t));font:400 24px / 1.1 var(--head);letter-spacing:.04em;font-variant-numeric:tabular-nums;white-space:nowrap;background:#fff;border:2.5px solid #000;border-radius:999px;padding:3px 16px 2px;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 3px #000}.timer.hot{background:var(--pink)}.timer.sd{background:var(--yellow);font-size:19px}.timer.dark{color:var(--yellow);box-shadow:0 0 0 2px var(--pink), 0 3px 0 #000, 0 0 18px #f06ec0b3;background:#15101c}.hudmid{top:calc(44px + var(--safe-t));flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.teambar{border:2.5px solid #000;border-radius:999px;display:flex;overflow:hidden;box-shadow:0 3px #000}.teambar[hidden]{display:none}.ts{font:400 18px / 1.15 var(--head);color:#000;align-items:center;gap:6px;padding:1px 10px 0;display:flex}.ts-pink{border-right:2.5px solid #000}.ts-name{font:800 10px var(--body);letter-spacing:.1em}.ts-n{font-variant-numeric:tabular-nums;text-align:center;min-width:1ch;font-weight:400}.pchips{gap:4px;display:flex}.pchip{font:800 11px / 1.3 var(--body);letter-spacing:.06em;color:#fff;text-shadow:0 1px #000;white-space:nowrap;font-variant-numeric:tabular-nums;border:2px solid #000;border-radius:999px;padding:2px 9px 1px;box-shadow:0 2px #000}.pchip[hidden]{display:none}.board{top:calc(6px + var(--safe-t));right:calc(8px + var(--safe-r));background:var(--cream);border:2.5px solid #000;border-radius:12px;min-width:136px;max-width:190px;margin:0;padding:4px 0;list-style:none;position:absolute;overflow:hidden;box-shadow:3px 3px #000}.board li{height:clamp(16px,4.6vh,24px);font:800 clamp(11px, 3.1vh, 14px) var(--body);align-items:center;gap:6px;padding:0 9px;display:flex}.board li.me{background:var(--sky)}.board li.gone{opacity:.4}.board li.lead{background:var(--yellow)}.board .rank{width:12px;font:400 clamp(11px, 3vh, 14px) var(--head)}.board .dot{border-width:1.5px;width:10px;height:10px}.board .score{font:400 clamp(13px, 3.6vh, 17px) var(--head);font-variant-numeric:tabular-nums;margin-left:auto;padding-left:8px}.feed{top:calc(clamp(56px, 15.5vh, 76px) + var(--safe-t));left:calc(10px + var(--safe-l));flex-direction:column;align-items:flex-start;gap:4px;display:flex;position:absolute}.feed-row{font:800 12.5px var(--body);white-space:nowrap;background:#fff;border:2px solid #000;border-radius:999px;align-items:center;gap:5px;padding:3px 9px 2px;transition:opacity .35s;display:flex}.feed-row .dot{border-width:1.5px;width:9px;height:9px}.feed-row.out{opacity:0}.feed-x{color:#555}.feed-bank{background:var(--yellow)}.feed-bank .feed-x{color:#000;font:400 12px var(--head);letter-spacing:.05em}.callout{opacity:0;font:400 clamp(40px, 11vmin, 88px) / 1 var(--head);letter-spacing:.02em;color:var(--yellow);-webkit-text-stroke:.09em #000;paint-order:stroke fill;text-shadow:.06em .07em #000;white-space:nowrap;transition:transform .14s cubic-bezier(.2,1.6,.4,1),opacity .14s;position:absolute;top:26%;left:50%;transform:translate(-50%,-50%)rotate(-4deg)scale(.6)}.callout.on{opacity:1;transform:translate(-50%,-50%)rotate(-4deg)scale(1)}.bigcount{font:400 clamp(80px, 22vmin, 170px) / 1 var(--head);color:#fff;-webkit-text-stroke:.07em #000;paint-order:stroke fill;text-shadow:.05em .06em 0 var(--pink);opacity:0;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%)}.bigcount.on{opacity:1}.death{opacity:0;flex-direction:column;align-items:center;transition:opacity .12s;display:flex;position:absolute;top:62%;left:50%;transform:translate(-50%)}.death.on{opacity:1}.death-by{font:800 13px var(--body);letter-spacing:.08em;color:#fff;background:#000;border-radius:999px;padding:5px 14px 4px}.death-t{font:400 26px var(--head);color:var(--yellow);-webkit-text-stroke:.12em #000;paint-order:stroke fill;margin-top:4px}.netbanner{bottom:calc(12px + var(--safe-b));background:var(--yellow);font:800 14px var(--body);border:2.5px solid #000;border-radius:999px;padding:6px 16px;display:none;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 3px #000}.netbanner.on{display:block}.joy-base,.aim-ring{pointer-events:none;opacity:0;transition:opacity 80ms;position:absolute;top:0;left:0}.joy-base{background:#33d4ff24;border:3px solid #ffffff8c;border-radius:50%;width:112px;height:112px;margin:-56px 0 0 -56px}.joy-knob{background:var(--yellow);border:3px solid #000;border-radius:50%;width:48px;height:48px;margin:-24px 0 0 -24px;position:absolute;top:50%;left:50%}.aim-ring{border:3px dashed #ffffff8c;border-radius:50%;width:64px;height:64px;margin:-32px 0 0 -32px}.joy-base.on,.aim-ring.on{opacity:1}.rotate{text-align:center;background:var(--cyan);z-index:10;pointer-events:auto;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;display:none;position:absolute;inset:0}.rotate .checker{position:absolute;left:0;right:0}.rotate .checker.top{top:0}.rotate .checker.bottom{bottom:0}.rotate .mascot-cobra{width:130px;margin-bottom:-6px}.rotate-phone{background:#fff;border:5px solid #000;border-radius:11px;width:50px;height:84px;animation:1.6s ease-in-out infinite rot;box-shadow:4px 4px #000}.rotate-text{font:400 34px / 1 var(--head);letter-spacing:.02em}.rotate-sub{font:600 15px var(--body)}@keyframes rot{0%,25%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}@media (orientation:portrait) and (pointer:coarse){body[data-screen=game] .rotate{display:flex}}.labels-root{z-index:1;pointer-events:none;position:fixed;inset:0;overflow:hidden}body:not([data-screen=game]) .labels-root{display:none}.labels{position:absolute;inset:0}.ntag{will-change:transform;flex-direction:column;align-items:center;gap:2px;display:flex;position:absolute;top:0;left:0}.ntag span{font:800 clamp(10.5px, 1.85vh, 16px) / 1.15 var(--body);color:#000;white-space:nowrap;background:#fff;border:1.5px solid #000;border-radius:999px;padding:1px 7px}.ntag i{border:1.5px solid #000;border-radius:3px;width:clamp(26px,4vh,40px);height:5px;display:block}.ntag.me span{background:var(--yellow)}.pop{font:400 22px var(--head);letter-spacing:.02em;color:#fff;-webkit-text-stroke:4px #000;paint-order:stroke fill;white-space:nowrap;animation:.9s ease-out forwards pop-up;position:absolute;transform:translate(-50%,-100%)rotate(-4deg)}.pop-bank,.pop-big{color:var(--yellow);font-size:28px;animation-duration:1.3s}.pop-big{color:var(--pink);font-size:34px}.pop-pickup{color:var(--sky);font-size:19px;animation-duration:1.3s}@keyframes pop-up{0%{opacity:0;margin-top:8px;scale:.6}12%{opacity:1;margin-top:0;scale:1.08}20%{scale:1}75%{opacity:1}to{opacity:0;margin-top:-26px}}.hitflash{z-index:2;pointer-events:none;opacity:0;background:radial-gradient(ellipse at center, transparent 55%, var(--flash,#fff) 140%);position:fixed;inset:0}.hitflash.on{animation:.22s ease-out hitflash}@keyframes hitflash{0%{opacity:.9}to{opacity:0}}@keyframes shimmer{to{background-position:-200% 0}}.code.skel{color:#0000;background:linear-gradient(90deg,#ffd007 25%,#ffeb80 50%,#ffd007 75%) 0 0/200% 100%;min-width:4.4ch;animation:1s linear infinite shimmer}.roster li.skel .skel-line{background:linear-gradient(90deg,#e9e4d8 25%,#f7f4ee 50%,#e9e4d8 75%) 0 0/200% 100%;border-radius:6px;width:60%;height:12px;animation:1.1s linear infinite shimmer;display:block}.dot.skel-dot{background:var(--pink)}.lobby.is-pending .modevote,.lobby.is-pending .mapvote{pointer-events:none;opacity:.55}.lobby.is-pending .count{opacity:.7}
