html,body{overscroll-behavior:none;color:#fff;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:#000;height:100%;margin:0;font-family:system-ui,sans-serif;overflow:hidden}#app{top:var(--visible-top,0);width:100%;height:100%;height:var(--visible-height,100dvh);justify-content:center;align-items:center;display:flex;position:fixed;left:0}.shell{width:640px;height:480px;position:relative}.shell-canvas{image-rendering:auto;background:#000;width:100%;height:100%;display:block}.shell-canvas.shell-pixelated{image-rendering:pixelated}.shell-overlay{background:#000c;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:auto}.shell-overlay[hidden]{display:none}.shell-status{font-size:1.2rem}.mobile-rotate{z-index:30;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);color:#ffffffeb;letter-spacing:-.01em;text-align:center;background:#000;flex-direction:column;justify-content:center;align-items:center;gap:20px;font:500 17px/1.3 -apple-system,BlinkMacSystemFont,system-ui,sans-serif;display:none;position:fixed;inset:0}.mobile-rotate-icon{fill:none;stroke:currentColor;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;width:72px;height:72px;animation:2.4s cubic-bezier(.65,0,.35,1) infinite mobile-rotate-turn}.mobile-rotate-text{max-width:260px;margin:0}@keyframes mobile-rotate-turn{0%,25%{transform:rotate(0)}55%,to{transform:rotate(-90deg)}}@media (orientation:portrait) and (pointer:coarse){.mobile-rotate{display:flex}}.mobile-hint{left:50%;top:max(12px, env(safe-area-inset-top));z-index:20;-webkit-backdrop-filter:blur(24px)saturate(180%);backdrop-filter:blur(24px)saturate(180%);color:#fff;background:#1e1e20b8;border:.5px solid #ffffff38;border-radius:18px;align-items:center;gap:14px;max-width:min(420px,100vw - 32px);padding:12px 12px 12px 18px;font:400 15px/1.3 -apple-system,BlinkMacSystemFont,system-ui,sans-serif;transition:opacity .35s,transform .35s cubic-bezier(.2,.8,.2,1);display:flex;position:fixed;transform:translate(-50%);box-shadow:0 8px 32px #00000059}.mobile-hint.mobile-hidden{opacity:0;pointer-events:none;transform:translate(-50%,-24px)}.mobile-hint-text{flex-direction:column;gap:2px;display:flex}.mobile-hint-title{font-weight:600}.mobile-hint-body{color:#ebebf599}.mobile-hint-close{color:#ebebf5b3;background:#7676803d;border:0;border-radius:22px;flex:none;width:44px;height:44px;font:600 15px -apple-system,BlinkMacSystemFont,system-ui,sans-serif}@media (prefers-reduced-transparency:reduce){.mobile-hint{-webkit-backdrop-filter:none;backdrop-filter:none;background:#1e1e20}}@media (prefers-reduced-motion:reduce){.mobile-rotate-icon{animation:none;transform:rotate(-90deg)}.mobile-hint{transition:opacity .2s}}.soft-keyboard-input{opacity:0;pointer-events:none;border:0;width:1px;height:1px;padding:0;font-size:16px;position:fixed;top:0;left:0}.touch{z-index:10;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;--touch-left:max(var(--touch-margin), env(safe-area-inset-left));--touch-right:max(var(--touch-margin), env(safe-area-inset-right));--touch-top:max(calc(var(--touch-margin) * .6), env(safe-area-inset-top));--touch-bottom:max(var(--touch-margin), env(safe-area-inset-bottom));--touch-fill:#ffffff24;--touch-fill-pressed:#ffffff57;--touch-edge:#ffffff4d;--touch-ink:#ffffffeb;--touch-spring:cubic-bezier(.2, .9, .3, 1.2);position:fixed;inset:0}.touch[data-layout=hidden],.touch[data-layout=menu] .touch-play-only{display:none}.touch-system{top:var(--touch-top);left:var(--touch-left);gap:10px;display:flex;position:absolute}.touch-button{width:var(--touch-system);height:var(--touch-system);border:1px solid var(--touch-edge);background:var(--touch-fill);color:var(--touch-ink);pointer-events:auto;touch-action:none;transition:transform .18s var(--touch-spring), background-color .12s ease;border-radius:50%;place-items:center;padding:0;display:grid;box-shadow:0 2px 10px #00000040}.touch-button.touch-pressed,.touch-button:active{background:var(--touch-fill-pressed);transform:scale(.92)}.touch-glyph{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 1px #00000059);width:46%;height:46%}.touch-stick-zone{pointer-events:auto;touch-action:none;width:45%;height:75%;position:absolute;bottom:0;left:0}.touch-stick-base{left:var(--touch-left);bottom:var(--touch-bottom);width:var(--touch-stick-base);height:var(--touch-stick-base);border:1px solid var(--touch-edge);background:var(--touch-fill);transition:transform .25s var(--touch-spring), background-color .12s ease;border-radius:50%;place-items:center;display:grid;position:absolute;box-shadow:inset 0 0 24px #0000002e}.touch-stick-base.touch-dragging{background:#fff3;transition:background-color .12s}.touch-stick-knob{width:var(--touch-stick-knob);height:var(--touch-stick-knob);transition:transform .2s var(--touch-spring);background:#ffffffd1;border-radius:50%;box-shadow:0 3px 12px #00000059}.touch-stick-base.touch-dragging .touch-stick-knob{transition:none}.touch-actions{right:var(--touch-right);bottom:var(--touch-bottom);align-items:center;gap:var(--touch-gap);flex-direction:column;display:flex;position:absolute}.touch-weapons{gap:12px;display:flex}.touch-weapon{width:var(--touch-weapon);height:var(--touch-weapon)}.touch-fire{width:var(--touch-fire);height:var(--touch-fire);background:#ffffff2e}.touch-fire .touch-glyph{width:50%;height:50%}@media (prefers-reduced-motion:reduce){.touch-button,.touch-stick-base,.touch-stick-knob{transition:none}}@media (prefers-contrast:more){.touch{--touch-fill:#0000008c;--touch-edge:#fffc}}.shell{container-type:size}.player-list{--u:calc(100cqw / 640);--player-list-alive:#34c759;--player-list-dead:#ff453a;--player-list-offline:#8e8e93;top:calc(var(--u) * 54);box-sizing:border-box;width:calc(var(--u) * 300);padding:calc(var(--u) * 8) calc(var(--u) * 12) calc(var(--u) * 6);border-radius:calc(var(--u) * 14);box-shadow:0 calc(var(--u) * 8) calc(var(--u) * 24) #00000059;color:#fff;font-family:var(--player-list-detail-font);font-size:calc(var(--u) * 11);font-variant-numeric:tabular-nums;pointer-events:none;background:#121216ad;border:1px solid #ffffff24;line-height:1;animation:.16s cubic-bezier(.2,.9,.3,1.2) player-list-in;position:absolute;left:50%;transform:translate(-50%)}.player-list[hidden]{display:none}@keyframes player-list-in{0%{opacity:0;transform:translate(-50%)scale(.96)}}.player-list-header{padding-bottom:calc(var(--u) * 6);border-bottom:1px solid #ffffff29;justify-content:space-between;align-items:baseline;display:flex}.player-list-title{font-family:var(--player-list-title-font);font-size:calc(var(--u) * 14);letter-spacing:.04em;text-transform:uppercase}.player-list-count{color:#ffffff9e;font-size:calc(var(--u) * 12)}.player-list-rows{margin:0;padding:0;list-style:none}.player-row{grid-template-columns:calc(var(--u) * 12) 1fr calc(var(--u) * 92) calc(var(--u) * 44);height:calc(var(--u) * 19);margin:0 calc(var(--u) * -6);padding:0 calc(var(--u) * 6);border-bottom:1px solid #ffffff12;align-items:center;display:grid}.player-row:last-child{border-bottom:0}.player-row[data-local=true]{border-radius:calc(var(--u) * 6);background:#ffffff1a}.player-dot{width:calc(var(--u) * 7);height:calc(var(--u) * 7);background:var(--player-list-alive);border-radius:50%}.player-row[data-presence=dead] .player-dot{background:var(--player-list-dead)}.player-row[data-presence=offline] .player-dot{background:var(--player-list-offline)}.player-name{gap:calc(var(--u) * 2);min-width:0;padding-right:calc(var(--u) * 6);flex-direction:column;display:flex}.player-name-text{font-family:var(--player-list-title-font);font-size:calc(var(--u) * 12);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.player-row[data-presence=offline] .player-name-text{opacity:.5}.player-life{height:max(1px, calc(var(--u) * 2));border-radius:calc(var(--u) * 1);background:#ffffff24;overflow:hidden}.player-life-fill{background:var(--player-list-alive);height:100%;display:block}.player-status{color:#ffffffb8}.player-row[data-presence=dead] .player-status{color:#ff6961}.player-row[data-presence=offline] .player-status{color:var(--player-list-offline)}.player-latency{color:#ffffff73;text-align:right}@media (prefers-reduced-motion:reduce){.player-list{animation:none}}@media (prefers-reduced-transparency:reduce),(prefers-contrast:more){.player-list{background:#121216f0}}
