:root{--color-bg:#05060a;--color-ui-bg:#0f111680;--color-dropdown-bg:#0f1116b3;--color-ui-fg:#e8f0ff;--color-ui-fg-muted:#e8f0ff99;--color-accent:#a5e3ff;--color-accent-surface:#a5e3ff24;--color-accent-surface-active:#a5e3ff3d;--color-border-light:#ffffff1a;--color-border:#ffffff1f;--color-border-strong:#ffffff2e;--color-border-stronger:#fff3;--color-surface:#ffffff0d;--color-surface-active:#ffffff26;--color-surface-border-active:#ffffff40;--color-danger:#ff8080;--color-danger-bg:#ff404014;--color-danger-border:#ff404066;--color-overlay-dark:#00000026;--color-overlay-darker:#00000040;--color-surface-muted:#ffffff0f;--color-shadow-strong:#0009;--color-chart-total:var(--color-accent);--color-chart-worm:#5eff7e;--color-chart-worm-player:#38f4c0;--color-chart-worm-ai:#ff6b2b;--color-chart-worm-ai-move:#7dffa2;--color-chart-worm-remote:#ffe66b;--color-chart-worm-other:#ff87d7;--color-chart-worm-path:#6bdfff;--color-chart-carcass:#ff9c6b;--color-chart-food:#ffd43b;--color-chart-pending:#9c6bff;--color-chart-grid:#6bffda;--color-chart-grid-reset:#34e7ff;--color-chart-grid-heads:#7dffe6;--color-chart-grid-segs:#2bc4ff;--color-chart-cull:#c46bff;--color-chart-collision:#ff6b6b;--color-chart-mass:#ff6bd5;--color-chart-render:#ff6bf2;--color-chart-net:#6bb4ff;--color-chart-overlays:#6bffae;--color-chart-hud:#ffc46b;--color-chart-jitter:var(--color-chart-food);--color-chart-hover:#fff9;--color-vector-nearest:#3af;--color-white:#fff;--color-black:#000;--color-success:#7dffa2;--color-warning:#ffd43b;--color-bench-baseline:#e8f0ff59;--font-sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-mono:monospace;--font-size-sm:12px;--font-size-base:14px;--font-size-lg:16px;--hud-space-unit:4px;--hud-space-xs:calc(var(--hud-space-unit) / 2);--hud-space-sm:calc(var(--hud-space-unit) * 2);--hud-space-md:calc(var(--hud-space-unit) * 3);--hud-space-lg:calc(var(--hud-space-unit) * 4);--hud-space-14x:calc(var(--hud-space-unit) * 14);--hud-leaderboard-name-width:calc(var(--hud-space-unit) * 24);--hud-width-sm:calc(var(--hud-space-unit) * 50);--hud-font-size-sm:12px;--hud-desktop-column-width:360px;--hud-desktop-gutter:24px;--hud-desktop-gap:16px;--hud-safe-top:max(env(safe-area-inset-top,0px), var(--expo-safe-top,0px));--hud-safe-left:max(env(safe-area-inset-left,0px), var(--expo-safe-left,0px));--hud-safe-right:max(env(safe-area-inset-right,0px), var(--expo-safe-right,0px));--hud-safe-bottom:max(env(safe-area-inset-bottom,0px), var(--expo-safe-bottom,0px));--space-unit:4px;--space-xxs:calc(var(--space-unit) / 4);--space-xs:calc(var(--space-unit) / 2);--space-sm:calc(var(--space-unit) * 2);--space-md:calc(var(--space-unit) * 3);--space-lg:calc(var(--space-unit) * 4);--space-xl:calc(var(--space-unit) * 5);--space-3-5x:calc(var(--space-unit) * 3.5);--space-6x:calc(var(--space-unit) * 6);--space-8x:calc(var(--space-unit) * 8);--space-14x:calc(var(--space-unit) * 14);--space-15x:calc(var(--space-unit) * 15);--space-20x:calc(var(--space-unit) * 20);--space-30x:calc(var(--space-unit) * 30);--space-32x:calc(var(--space-unit) * 32);--space-40x:calc(var(--space-unit) * 40);--space-50x:calc(var(--space-unit) * 50);--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--width-xs:calc(var(--space-unit) * 35);--leaderboard-name-width:calc(var(--space-unit) * 24);--leaderboard-line-height:1.4;--width-sm:calc(var(--space-unit) * 50);--width-md:calc(var(--space-unit) * 65);--width-lg:calc(var(--space-unit) * 80);--blur-ui:5px;--blur-dropdown:8px;--fade-duration:1s;--start-control-width:var(--width-lg);--start-control-min-height:0px;--server-option-min-height:48px;--start-font-size:var(--font-size-lg);--start-secondary-font-size:var(--font-size-base);--start-gutter:var(--space-lg);--start-bottom:calc(var(--space-30x) + var(--hud-safe-bottom));--start-header-room:var(--space-15x)}@media (pointer:coarse){:root{--start-control-min-height:48px}}@media (height<=480px){:root{--start-bottom:calc(var(--space-lg) + var(--hud-safe-bottom));--start-control-min-height:44px}}html.narrow{--space-unit:3px;--font-size-sm:10px;--font-size-base:12px;--font-size-lg:14px;--start-control-width:100%;--start-control-min-height:52px;--start-font-size:16px;--start-secondary-font-size:15px;--start-gutter:16px;--start-bottom:calc(24px + var(--hud-safe-bottom))}html.compact-hud{--hud-space-unit:3px;--hud-font-size-sm:10px}html.desktop-hud{--hud-space-unit:calc(4px * var(--hud-desktop-scale,1));--hud-font-size-sm:var(--hud-desktop-font-size,18px);--hud-leaderboard-name-width:calc(var(--hud-space-unit) * 56);--hud-desktop-top:calc(var(--hud-safe-top) + var(--hud-desktop-gutter))}@media (height<=240px) and (orientation:landscape){:root,html.narrow{--start-control-width:min(var(--width-lg), max(0px, calc(100vw - var(--hud-safe-left) - var(--hud-safe-right) - var(--start-gutter) * 2)), max(var(--width-sm), calc(100vw - var(--hud-safe-left) - var(--hud-safe-right) - var(--space-50x) * 2)));--start-control-min-height:44px;--start-header-room:min(var(--space-15x), max(0px, calc(var(--space-50x) * 2 + var(--width-sm) + var(--hud-safe-left) + var(--hud-safe-right) - 100vw)));--start-bottom:calc(var(--space-sm) + var(--hud-safe-bottom))}}html,body{background:var(--color-bg);height:100%;color:var(--color-ui-fg);font:var(--font-size-base)/1.4 var(--font-sans);margin:0;overflow:hidden}#backdrop{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}#game{max-width:100%;max-height:100%;display:block;position:absolute;inset:0}label{cursor:pointer}.btn{font-family:var(--font-sans);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-sm) var(--space-md);cursor:pointer;background:var(--color-surface);color:var(--color-ui-fg);-webkit-user-select:none;user-select:none;transition:background .2s,border-color .2s,color .2s}.btn:active{transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true],.server-option:has(.server-option-control:disabled){opacity:.4;cursor:not-allowed}.btn:hover{background:var(--color-surface-active);border-color:var(--color-border-strong)}.btn.active{background:var(--color-surface-active);border-color:var(--color-surface-border-active)}.btn.meta{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger)}.btn.full{width:100%;margin:var(--space-sm) 0;justify-content:space-between;display:flex}.btn.primary{background:var(--color-accent-surface);border-color:var(--color-accent);color:var(--color-accent);backdrop-filter:blur(var(--blur-ui));font-weight:700}.btn.primary:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-accent-surface-active);border-color:var(--color-accent);color:var(--color-white)}.btn.secondary{border-color:var(--color-border);color:var(--color-ui-fg-muted);background:0 0}.btn.ghost{color:var(--color-ui-fg-muted);background:0 0;border-color:#0000}.btn.ghost:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-surface);color:var(--color-ui-fg);border-color:#0000}.btn .key{opacity:.6;font-size:var(--font-size-sm)}.btn:focus-visible,.panel-select:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.bench-columns-toggle{align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm);font-weight:600;display:flex}.bench-columns-toggle:hover,.bench-columns-toggle.open{background:var(--color-surface-active);border-color:var(--color-surface-border-active)}.bench-columns-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.bench-columns-toggle-text{margin-right:var(--space-sm)}.bench-columns-summary{color:var(--color-accent);white-space:nowrap;text-overflow:ellipsis;max-width:var(--space-32x);font-size:var(--font-size-sm);margin-left:auto;font-weight:500;overflow:hidden}.bench-columns-caret{margin-left:var(--space-xs);font-size:var(--font-size-sm);line-height:1}.bench-columns-dropdown{left:0;top:calc(100% + var(--space-xs));min-width:var(--space-50x);background:var(--color-dropdown-bg);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);padding:var(--space-sm);box-shadow:0 var(--space-sm) var(--space-6x) var(--color-shadow-strong);backdrop-filter:blur(var(--blur-dropdown));z-index:41;display:none;position:absolute}.bench-columns-dropdown.open{display:block}.bench-columns-dropdown[hidden]{display:none}.bench-columns{gap:var(--space-xs);max-height:var(--space-40x);flex-direction:column;display:flex;overflow-y:auto}.bench-columns-option{align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-size-sm);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s,color .2s;display:flex}.bench-columns-option:hover{background:var(--color-overlay-dark)}.bench-columns-option-control{flex-shrink:0;margin:0}.bench-columns-option-label{flex:1}.bench-download-button{font-size:var(--font-size-sm);border-radius:var(--radius-md);justify-content:center;align-items:center;display:inline-flex}.bench-download-button:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-surface-active);border-color:var(--color-surface-border-active)}.bench-download-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.panel-toggle{right:calc(var(--hud-safe-right) + var(--space-md));top:calc(var(--hud-safe-top) + var(--space-md));margin-bottom:var(--space-md);z-index:41;gap:var(--space-sm);display:flex;position:fixed}.panel{top:var(--hud-safe-top);right:var(--hud-safe-right);height:max(0px, calc(100dvh - var(--hud-safe-top) - var(--hud-safe-bottom)));width:min(var(--width-lg), max(0px, calc(100vw - var(--hud-safe-left) - var(--hud-safe-right))));box-sizing:border-box;z-index:40;padding:var(--space-15x) var(--space-md) var(--space-md);background:var(--color-ui-bg);border-left:1px solid var(--color-border-light);backdrop-filter:blur(var(--blur-ui));pointer-events:none;visibility:hidden;transition:transform .25s,visibility 0s linear .25s;position:fixed;overflow:auto;transform:translate(100%)}.panel.open{pointer-events:auto;visibility:visible;transition:transform .25s,visibility;transform:translate(0)}.row{align-items:center;gap:var(--space-sm);margin:var(--space-sm) 0;grid-template-columns:60% 1fr;display:grid}.row[hidden]{display:none}.bench-controls{justify-content:flex-start;align-items:center;gap:var(--space-sm);margin:0 0 var(--space-sm);display:flex;position:relative}.bench-error{margin:0 0 var(--space-sm);padding:var(--space-sm);border-radius:var(--radius-md);background:var(--color-danger-bg);border:1px solid var(--color-danger-border);color:var(--color-danger);font-size:var(--font-size-sm);line-height:1.3;display:none}.bench-error[hidden]{display:none}.slider{width:100%}.inline{gap:var(--space-sm);align-items:center;display:flex}.inline .slider{flex:1}.inline input[type=checkbox]{margin-left:auto}.panel-select{width:100%;min-width:0;padding:var(--space-sm) calc(var(--space-lg) * 2) var(--space-sm) var(--space-md);border-radius:var(--radius-lg);color:var(--color-white);font:700 var(--font-size-base)/normal var(--font-sans);border:1px solid var(--color-border-stronger);box-sizing:border-box;appearance:none;background-color:#0000;background-image:url("data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 6"><path fill="white" d="M0 0l5 6 5-6H0z"/></svg>");background-repeat:no-repeat;background-position:right var(--space-md) center;background-size:var(--space-md) var(--space-sm);display:block}#worldPreset{margin:var(--space-sm) 0}.panel-select option{background:var(--color-bg);color:var(--color-ui-fg)}.panel-input{width:100%;min-width:0;min-height:max(var(--start-control-min-height), calc(var(--font-size-base) + var(--space-md) * 2 + 2px));box-sizing:border-box;appearance:none;box-shadow:none;padding:0 var(--space-lg);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-overlay-darker);color:var(--color-ui-fg);font-family:var(--font-sans);font-size:var(--font-size-base);line-height:normal}.panel-error{margin:var(--space-sm) 0 0;color:var(--color-danger);font-family:var(--font-sans);font-size:var(--font-size-sm)}.panel-input[aria-invalid=true]{border-color:var(--color-danger)}.panel-error[hidden]{display:none}.divider{margin:var(--space-lg) 0;border:0;border-top:1px inset var(--color-border-light)}.panel input[type=checkbox]{justify-self:end}.panel h3{margin:0 0 var(--space-sm)}.keyboard-control-value{color:var(--color-ui-fg-muted);font-family:var(--font-sans);font-size:var(--font-size-base);text-align:right}.minimap,.leaderboard,.activity-feed{--space-unit:var(--hud-space-unit);--space-xs:var(--hud-space-xs);--space-sm:var(--hud-space-sm);--space-md:var(--hud-space-md);--space-lg:var(--hud-space-lg);--space-14x:var(--hud-space-14x);--leaderboard-name-width:var(--hud-leaderboard-name-width);--font-size-sm:var(--hud-font-size-sm)}.minimap{--hud-minimap-top:calc(var(--hud-safe-top) + var(--space-lg));--hud-minimap-bottom:calc(var(--hud-safe-bottom) + var(--space-lg));--hud-minimap-available-size:max(1px, min(calc(100dvh - var(--hud-minimap-top) - var(--hud-minimap-bottom) - 2px), calc(100vw - var(--hud-safe-left) - var(--hud-safe-right) - var(--space-lg) * 2 - 2px)));left:calc(var(--hud-safe-left) + var(--space-lg));top:var(--hud-minimap-top);z-index:19;border:1px solid var(--color-border-strong);background:var(--color-overlay-dark);backdrop-filter:blur(var(--blur-ui));border-radius:50%;position:fixed;overflow:hidden}.minimap canvas{width:100%;height:100%;display:block}.leaderboard{--hud-leaderboard-top:var(--space-14x);right:calc(var(--hud-safe-right) + var(--space-lg));top:var(--hud-leaderboard-top);z-index:21;background:var(--color-ui-bg);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);padding:var(--space-unit);font-size:var(--font-size-sm);line-height:var(--leaderboard-line-height);font-family:var(--font-mono);cursor:pointer;-webkit-user-select:none;user-select:none;backdrop-filter:blur(var(--blur-ui));box-sizing:border-box;max-height:max(0px, calc(100dvh - var(--hud-leaderboard-top) - var(--hud-safe-bottom) - var(--space-lg)));max-width:max(0px, calc(100vw - var(--hud-safe-left) - var(--hud-safe-right) - var(--space-lg) * 2 - var(--space-md) - var(--hud-minimap-size,0px) - 2px));overscroll-behavior:contain;touch-action:pan-x pan-y;position:fixed;overflow:auto}.leaderboard *{pointer-events:none;-webkit-user-select:none;user-select:none}.leaderboard table{border-collapse:collapse;grid-template-columns:max-content minmax(0,max-content) max-content;display:grid}.leaderboard thead,.leaderboard tbody,.leaderboard tr{display:contents}.leaderboard th,.leaderboard td{padding:0 var(--space-unit)}.leaderboard.collapsed table{grid-template-columns:repeat(2,max-content)}.leaderboard.collapsed td.size{padding-left:var(--space-sm)}.leaderboard th{color:var(--color-ui-fg-muted);font-weight:400}.leaderboard th.rank,.leaderboard td.rank{text-align:left}.leaderboard th.size,.leaderboard td.size{text-align:right}.leaderboard th.name,.leaderboard td.name{max-width:var(--leaderboard-name-width);white-space:nowrap;text-overflow:ellipsis;text-align:left;overflow:hidden}.leaderboard tr.me{font-weight:700}.leaderboard tr.me td{background:inherit;--leaderboard-me-sticky-bg:color-mix(in srgb, currentColor 22%, var(--color-bg))}.leaderboard.collapsed thead{display:none}.activity-feed{right:calc(var(--hud-safe-right) + var(--space-lg));bottom:calc(var(--hud-safe-bottom) + var(--space-14x));z-index:39;pointer-events:none;font-size:var(--font-size-sm);line-height:var(--leaderboard-line-height);width:var(--hud-width-sm);max-width:max(0px, calc(100vw - var(--hud-safe-left) - var(--hud-safe-right) - var(--space-md) * 2));max-height:max(0px, calc(100dvh - var(--hud-safe-top) - var(--hud-safe-bottom) - var(--space-14x) - var(--space-lg)));font-family:var(--font-mono);display:none;position:fixed;overflow:hidden}.activity-feed:not(.hidden){flex-direction:column;justify-content:flex-end;display:flex!important}.activity-feed div{overflow-wrap:anywhere;margin-top:var(--space-unit);background:var(--color-ui-bg);border:1px solid var(--color-border-strong);padding:var(--space-unit) var(--space-sm);border-radius:var(--radius-sm);box-sizing:border-box;text-align:left;opacity:1;width:100%;transition:opacity var(--fade-duration);backdrop-filter:blur(var(--blur-ui));flex-shrink:0}@media (height<=240px) and (orientation:landscape),(orientation:landscape) and (pointer:coarse){html .activity-feed{left:calc((100vw + var(--hud-safe-left) - var(--hud-safe-right)) / 2);right:auto;bottom:calc(var(--hud-safe-bottom) + var(--space-sm));max-height:max(0px, calc(100dvh - var(--hud-safe-top) - var(--hud-safe-bottom) - var(--space-sm) - var(--space-lg)));transform:translate(-50%)}html .leaderboard{max-height:max(0px, calc(50dvh - var(--hud-leaderboard-top) - var(--hud-safe-bottom) - var(--space-lg)))}html .leaderboard tr.me td{background:var(--leaderboard-me-sticky-bg);position:sticky;bottom:0}}.charts{left:calc(var(--hud-safe-left) + var(--space-lg));top:calc(var(--hud-safe-top) + var(--space-lg));z-index:39;max-width:max(0px, calc(100vw - var(--hud-safe-left) - var(--hud-safe-right) - var(--space-lg) * 2));max-height:max(0px, calc(100dvh - var(--hud-safe-top) - var(--hud-safe-bottom) - var(--space-8x)));box-sizing:border-box;gap:var(--space-sm);padding:var(--space-sm);background:var(--color-ui-bg);border:1px solid var(--color-border-strong);backdrop-filter:blur(var(--blur-ui));transition:opacity var(--fade-duration);flex-flow:column wrap;display:flex;position:fixed;overflow:auto}.charts>*{width:var(--width-sm);box-sizing:border-box}.chart-block canvas{width:100%;height:var(--space-20x);background:var(--color-overlay-dark);border:1px solid var(--color-border-strong);display:block}.chart-block.collapsed canvas,.chart-block.collapsed .chart-legend,.chart-block.collapsed .chart-note{display:none}.chart-header{font-size:var(--font-size-sm);margin-bottom:var(--space-unit);cursor:pointer;justify-content:space-between;display:flex}.chart-note{font-size:calc(var(--font-size-sm) - 2px);margin-bottom:var(--space-unit);opacity:.75}.chart-note span{font-weight:600}.chart-controls{gap:var(--space-unit);font-size:var(--font-size-sm);flex-direction:column;display:flex}.chart-control{justify-content:space-between;align-items:center;display:flex}.chart-control input[type=checkbox]{margin-left:var(--space-sm)}.chart-divider{margin:var(--space-unit) 0 var(--space-sm);border:0;border-top:1px inset var(--color-border-light)}.chart-legend{gap:var(--space-unit);font-size:calc(var(--font-size-sm) - 2px);margin-top:var(--space-unit);flex-wrap:wrap;display:flex}.chart-legend span{cursor:pointer}.charts table{font-size:var(--font-size-sm);border-collapse:collapse;background:var(--color-overlay-dark);border:1px solid var(--color-border-strong);box-sizing:border-box;table-layout:fixed;width:var(--width-sm)}.charts th,.charts td{border:1px solid var(--color-border-strong);padding:var(--space-xs) var(--space-unit);text-align:center}.charts th{background:var(--color-surface-muted)}#benchmarks>*{width:auto}#benchmarks table{table-layout:auto;width:auto}.bench-cell{align-items:center;gap:var(--space-xxs);flex-direction:column;display:flex}.bench-current{line-height:1.2}.bench-baseline{color:var(--color-bench-baseline);font-size:calc(var(--font-size-sm) - 1px);line-height:1.1;display:none}.bench-current.bench-better{color:var(--color-success)}.bench-current.bench-worse{color:var(--color-danger)}.ticks{font-size:var(--font-size-sm);text-align:left;margin-top:var(--space-sm)}.build-id{font-size:var(--font-size-sm);color:var(--color-ui-fg);opacity:.35;margin-top:var(--space-md);text-align:center;-webkit-user-select:all;user-select:all}.configs{left:calc(var(--hud-safe-left) + var(--space-lg));top:calc(var(--hud-safe-top) + var(--space-lg));z-index:39;max-width:max(0px, calc(100vw - var(--hud-safe-left) - var(--hud-safe-right) - var(--space-lg) * 2));max-height:max(0px, calc(100dvh - var(--hud-safe-top) - var(--hud-safe-bottom) - var(--space-8x)));box-sizing:border-box;gap:var(--space-sm);padding:var(--space-sm);background:var(--color-ui-bg);border:1px solid var(--color-border-strong);backdrop-filter:blur(var(--blur-ui));flex-flow:column wrap;display:none;position:fixed;overflow:auto}.configs>*{width:var(--width-sm);box-sizing:border-box}.configs input[type=text]{box-sizing:border-box;width:100%;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-overlay-darker);color:var(--color-ui-fg);text-align:left}.cfg-block{border:1px solid var(--color-border-strong);padding:var(--space-unit);font-size:var(--font-size-sm)}.cfg-block.dirty{border-color:var(--color-danger)}.cfg-block.dirty .cfg-header{color:var(--color-danger)}.cfg-header{cursor:pointer;justify-content:space-between;display:flex}.cfg-block.collapsed .cfg-body{display:none}.cfg-body{gap:var(--space-unit);margin-top:var(--space-unit);flex-direction:column;display:flex}#intro{z-index:60;touch-action:none;-webkit-user-select:none;user-select:none;background:var(--color-bg);width:100%;height:100%;display:block;position:fixed;inset:0}#intro[hidden]{display:none}#startScreen{z-index:40;background:radial-gradient(circle,#28004600 0%,#28004666 35%,#0009 100%);flex-direction:column;justify-content:flex-end;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}#startTitle{left:calc(var(--hud-safe-left) + var(--space-md));top:calc(var(--hud-safe-top) + var(--space-md));font:bold var(--font-size-lg)/1 var(--font-mono);color:var(--color-ui-fg);z-index:41;margin:0;position:fixed}#startScreen:before{content:"";background:repeating-radial-gradient(circle at center, transparent 0 19px, var(--color-white) 19px 20px);opacity:.15;animation:60s linear infinite spin;position:absolute;inset:-50%}#startScreen.joining:before{animation:.2s linear infinite warp}#startScreen.lobby-waves:not(.joining):before{display:none}.lobby-rings{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}#startScreen.joining .lobby-rings{display:none}.lobby-vibe{z-index:1;pointer-events:none;opacity:var(--lobby-layer-opacity,0);transition:opacity var(--fade-duration);display:block;position:fixed}.lobby-vibe-saturate{mix-blend-mode:saturation}.lobby-vibe-brighten{mix-blend-mode:color-dodge}.lobby-vibe.is-idle{opacity:0}.lobby-vibe.is-gameplay{opacity:var(--lobby-play-opacity,0)}.lobby-wave-control{--wave-mix:calc(var(--vibe,0) * var(--lobby-wave-mix,.7) * 100%);--wave-glow:calc(var(--vibe,0) * var(--lobby-wave-glow,28px))}#startTitle.lobby-wave-control{color:color-mix(in srgb, var(--color-ui-fg), hsl(var(--vhue,200) 100% 74%) var(--wave-mix));text-shadow:0 0 var(--wave-glow) hsl(var(--vhue,200) 100% 64% / calc(var(--vibe,0) * .85))}.btn.primary.lobby-wave-control{border-color:color-mix(in srgb, var(--color-accent), hsl(var(--vhue,200) 100% 70%) var(--wave-mix));color:color-mix(in srgb, var(--color-accent), hsl(var(--vhue,200) 100% 82%) var(--wave-mix));box-shadow:0 0 var(--wave-glow) hsl(var(--vhue,200) 100% 62% / calc(var(--vibe,0) * .45))}.btn.secondary.lobby-wave-control,#settingsBtn.lobby-wave-control{border-color:color-mix(in srgb, var(--color-border), hsl(var(--vhue,200) 90% 72% / .55) var(--wave-mix));box-shadow:0 0 var(--wave-glow) hsl(var(--vhue,200) 100% 62% / calc(var(--vibe,0) * .22))}.btn.secondary.lobby-wave-control{color:color-mix(in srgb, var(--color-ui-fg-muted), hsl(var(--vhue,200) 90% 86%) var(--wave-mix))}#settingsBtn.lobby-wave-control{color:color-mix(in srgb, var(--color-ui-fg), hsl(var(--vhue,200) 90% 86%) var(--wave-mix))}#startScreen .modal{width:100%;max-width:calc(var(--start-control-width) + var(--start-gutter) * 2 + var(--hud-safe-left) + var(--hud-safe-right));max-height:max(0px, calc(100dvh - var(--start-bottom) - var(--hud-safe-top) - var(--start-header-room)));box-sizing:border-box;padding:var(--space-sm) var(--start-gutter);padding-left:calc(var(--start-gutter) + var(--hud-safe-left));padding-right:calc(var(--start-gutter) + var(--hud-safe-right));box-shadow:none;gap:var(--space-sm);text-align:center;margin-bottom:var(--start-bottom);background:0 0;border-radius:0;flex-direction:column;align-items:center;display:flex;position:relative;overflow-y:auto}#startScreen .btn{padding:var(--space-md) var(--space-xl);font-size:var(--start-font-size)}#startScreen button{width:100%;min-height:var(--start-control-min-height);box-sizing:border-box;flex-shrink:0}#startScreen .btn.secondary{width:100%;margin-top:var(--space-xs);padding:var(--space-sm) var(--space-lg);font-size:var(--start-secondary-font-size)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes warp{0%{transform:translate(0)scale(1)rotate(0)}50%{transform:translate(3px,-3px)scale(1.05)rotate(180deg)}to{transform:translate(0)scale(1)rotate(360deg)}}.width-xs{width:var(--width-xs)}.width-sm{width:var(--width-sm)}.width-md{width:var(--width-md)}.width-lg{width:var(--width-lg)}.fade{transition:opacity var(--fade-duration)}.hidden{opacity:0;pointer-events:none}@media (prefers-reduced-motion:reduce){#startScreen:before{animation:none}.fade{transition:none}}.visually-hidden{width:var(--space-xxs);height:var(--space-xxs);clip-path:inset(50%);white-space:nowrap;border:0;margin:0;padding:0;position:absolute;overflow:hidden}.server-picker{text-align:left;flex-shrink:0;width:100%;min-width:0}.server-picker-header{justify-content:space-between;align-items:center;gap:var(--space-sm);font:var(--start-secondary-font-size)/1.4 var(--font-sans);display:flex}#startScreen .server-picker .btn{width:auto;padding:var(--space-sm);font-size:var(--start-secondary-font-size);margin:0}.server-picker .panel-select{min-height:var(--start-control-min-height);font-size:var(--start-font-size)}.server-picker-help{margin:var(--space-sm) 0;color:var(--color-ui-fg-muted);font:var(--font-size-sm)/1.4 var(--font-sans)}.server-picker-toggle{text-align:left;cursor:pointer}.server-picker-summary,.server-option-content{align-items:center;gap:var(--space-sm);width:100%;min-width:0;display:flex}.server-option-copy{flex-direction:column;flex:1;min-width:0;display:flex}.server-picker-summary .server-option-copy,.server-option-content .server-option-copy{flex:1 0 auto}.server-picker-summary .server-option-ping,.server-option-content .server-option-ping{text-overflow:ellipsis;flex-shrink:1;min-width:0;overflow:hidden}.server-option-name{font:700 var(--start-font-size)/1.4 var(--font-sans)}.server-option-ping{font:var(--font-size-sm)/1.4 var(--font-mono);white-space:nowrap;flex-shrink:0}.server-options{z-index:42;box-sizing:border-box;padding:var(--space-sm);border:1px solid var(--color-border-stronger);border-radius:var(--radius-lg);background:var(--color-dropdown-bg);backdrop-filter:blur(var(--blur-dropdown));box-shadow:0 var(--space-sm) var(--space-6x) var(--color-shadow-strong);position:fixed;overflow-y:auto}.server-options[hidden]{display:none}.server-option{align-items:center;gap:var(--space-sm);box-sizing:border-box;min-height:var(--server-option-min-height);padding:var(--space-sm);border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;display:flex;position:relative}.server-option:hover:not(:has(.server-option-control:disabled)){background:var(--color-surface-active)}.server-option:has(:checked){border-color:var(--color-accent);background:var(--color-accent-surface)}.server-option:focus-within{outline:2px solid var(--color-accent);outline-offset:0}.server-option-control{width:var(--space-xxs);height:var(--space-xxs);clip-path:inset(50%);position:absolute;overflow:hidden}.server-signal{align-items:flex-end;gap:var(--space-xs);height:var(--space-lg);color:var(--color-ui-fg-muted);flex-shrink:0;display:inline-flex;position:relative}.server-signal[data-offline=true]:after{content:"";width:var(--space-sm);height:var(--space-sm);background:linear-gradient(45deg, transparent 38%, var(--color-danger) 38%, var(--color-danger) 62%, transparent 62%), linear-gradient(-45deg, transparent 38%, var(--color-danger) 38%, var(--color-danger) 62%, transparent 62%);position:absolute;top:0;left:0}.server-signal[data-strength="4"],.server-signal[data-strength="3"]{color:var(--color-success)}.server-signal[data-strength="2"]{color:var(--color-warning)}.server-signal[data-strength="1"]{color:var(--color-danger)}.server-signal-bar{width:var(--space-unit);opacity:.2;background:currentColor}.server-signal-bar:first-child{height:var(--space-unit)}.server-signal-bar:nth-child(2){height:var(--space-sm)}.server-signal-bar:nth-child(3){height:var(--space-md)}.server-signal-bar:nth-child(4){height:var(--space-lg)}.server-signal-bar.is-filled{opacity:1}.render-diagnostics{left:calc(env(safe-area-inset-left,0px) + var(--space-sm));bottom:calc(env(safe-area-inset-bottom,0px) + var(--space-sm));z-index:42;max-width:calc(100vw - var(--space-lg));padding:var(--space-xs) var(--space-sm);box-sizing:border-box;white-space:pre-wrap;overflow-wrap:anywhere;pointer-events:none;font:var(--font-size-sm)/1.4 var(--font-mono);color:var(--color-ui-fg);background:var(--color-ui-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);backdrop-filter:blur(var(--blur-ui));margin:0;position:fixed}.live-metrics{left:auto;right:calc(var(--hud-safe-right) + var(--space-sm));top:calc(var(--hud-safe-top) + var(--space-15x) + var(--space-sm));max-width:min(var(--width-lg), max(0px, calc(100vw - var(--hud-safe-left) - var(--hud-safe-right) - var(--space-lg))));max-height:max(0px, calc(100dvh - var(--hud-safe-top) - var(--hud-safe-bottom) - var(--space-15x) - var(--space-lg)));bottom:auto;overflow:hidden}.expo-game-host .minimap,.expo-game-host .leaderboard{top:var(--expo-hud-top,var(--space-lg))!important}.expo-game-host .minimap{--hud-minimap-top:var(--expo-hud-top,var(--space-lg))}.expo-game-host .leaderboard{--hud-leaderboard-top:var(--expo-hud-top,var(--space-lg))!important}html.desktop-hud .minimap{--hud-minimap-top:var(--hud-desktop-top);--hud-minimap-available-size:max(1px, min(25dvh, calc(100dvh - var(--hud-minimap-top) - var(--hud-minimap-bottom) - 2px), calc(100vw - var(--hud-safe-left) - var(--hud-safe-right) - var(--hud-desktop-column-width) - var(--hud-desktop-gutter) * 2 - var(--hud-desktop-gap) - 2px)));left:calc(var(--hud-safe-left) + var(--hud-desktop-gutter));right:auto;top:var(--hud-minimap-top)!important}html.desktop-hud .leaderboard{--hud-leaderboard-top:var(--hud-desktop-top);right:calc(var(--hud-safe-right) + var(--hud-desktop-gutter));width:var(--hud-desktop-column-width);max-width:min(var(--hud-desktop-column-width), calc(100vw - var(--hud-safe-left) - var(--hud-safe-right) - var(--hud-desktop-gutter) * 2));padding:var(--space-sm);max-height:max(0px, calc(100dvh - var(--hud-leaderboard-top) - var(--hud-safe-bottom) - var(--hud-desktop-gutter)))}html.desktop-hud .expo-game-host .leaderboard{--hud-leaderboard-top:var(--hud-desktop-top)!important;top:var(--hud-leaderboard-top)!important}html.desktop-hud .leaderboard table{grid-template-columns:max-content minmax(0,1fr) max-content}html.desktop-hud .leaderboard th.name,html.desktop-hud .leaderboard td.name{max-width:none}html.desktop-hud .leaderboard th,html.desktop-hud .leaderboard td{padding:var(--space-xs) var(--space-unit)}html.desktop-hud .leaderboard tr.me td{background:var(--leaderboard-me-sticky-bg);position:sticky;bottom:0}html.desktop-hud .leaderboard.collapsed{width:auto}html.desktop-hud .leaderboard.collapsed table{grid-template-columns:repeat(2,max-content)}html.desktop-hud .activity-feed{left:calc((100vw + var(--hud-safe-left) - var(--hud-safe-right)) / 2);right:auto;bottom:calc(var(--hud-safe-bottom) + var(--hud-desktop-gutter));width:var(--hud-desktop-column-width);max-height:max(0px, min(calc(50dvh - var(--hud-safe-bottom) - var(--hud-desktop-gutter) - var(--hud-desktop-gap)), calc(100dvh - var(--hud-safe-top) - var(--hud-safe-bottom) - var(--hud-desktop-gutter) * 2)));transform:translate(-50%)}.expo-game-host #startTitle,.expo-game-host #startScreen .modal,.expo-game-host #panel,.expo-game-host .panel-toggle,.expo-game-host #regionOptions{opacity:0!important;pointer-events:none!important}.live-metrics-reset{margin-top:var(--space-sm);margin-right:var(--space-sm);pointer-events:auto;font-size:var(--font-size-sm);display:inline-block}.live-metrics-scene{min-height:0;margin-top:var(--space-xs);padding:var(--space-xs);font:inherit;pointer-events:auto;display:block}.observability-debug .render-diagnostics{display:none!important}.observability-world{z-index:38;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.observability-overlay{z-index:39;left:calc(var(--hud-safe-left) + var(--space-sm));bottom:calc(var(--hud-safe-bottom) + var(--space-sm));gap:var(--space-sm);max-width:calc(100vw - var(--hud-safe-left) - var(--hud-safe-right) - var(--space-lg));box-sizing:border-box;border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-bg) 84%, transparent);color:var(--color-ui-fg-muted);pointer-events:none;font:var(--font-size-sm)/1.3 var(--font-mono);flex-wrap:wrap;padding:4px 6px;display:flex;position:fixed}.observability-key{gap:var(--space-sm);flex-wrap:wrap;display:flex}.observability-drawn{color:var(--color-accent)}.observability-local{color:var(--color-ui-fg-muted)}.observability-authority,.observability-overlay[data-warning=true] .observability-status{color:var(--color-warning)}.observability-world[hidden],.observability-overlay[hidden],.observability-overlay [hidden]{display:none}html[data-expo-panel-open]:not([data-expo-panel-open=""]) :is(.observability-overlay,.observability-world),html[data-expo-presented-panels]:not([data-expo-presented-panels=""]) :is(.observability-overlay,.observability-world),body:has(#panel.open) :is(.observability-overlay,.observability-world){visibility:hidden}