.editor-dialog-backdrop{pointer-events:auto;background:#061018a6;place-items:center;display:grid;position:fixed;inset:0}.editor-dialog{flex-direction:column;gap:12px;min-width:280px;max-width:380px;display:flex}.editor-dialog.editor-save-dialog{min-width:360px;max-width:440px}.editor-dialog-title{margin:0;font-size:16px}.editor-dialog-detail{margin:0;font-weight:500}.editor-dialog-field{flex-direction:column;gap:4px;display:flex}.editor-dialog-actions{justify-content:flex-end;gap:8px;display:flex}.editor-open-dialog{min-width:320px;max-width:420px;max-height:min(72vh,560px)}.editor-open-list{flex-direction:column;gap:4px;min-height:120px;max-height:320px;display:flex;overflow:auto}.editor-open-item{border:1px solid var(--ui-button-border);border-radius:var(--ui-radius-button);background:var(--ui-button-bg);width:100%;color:inherit;cursor:var(--cursor-hover);font:inherit;text-align:left;flex-direction:column;align-items:flex-start;gap:2px;margin:0;padding:8px 10px;display:flex}.editor-open-item:hover,.editor-open-item:focus-visible{border-color:var(--ui-accent-border)}.editor-open-item-label{font-weight:500}.editor-open-error{color:var(--ui-danger)}.editor-open-import{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.color-picker-dialog{width:min(320px,100vw - 32px)}.color-picker-sv{aspect-ratio:1;border:1px solid var(--ui-button-border);border-radius:var(--ui-radius-button);cursor:crosshair;touch-action:none;width:100%;position:relative}.color-picker-sv-thumb{pointer-events:none;border:2px solid #fff;border-radius:50%;width:12px;height:12px;margin:-6px 0 0 -6px;position:absolute;box-shadow:0 0 0 1px #0000008c}.color-picker-slider-group{flex-direction:column;gap:4px;display:flex}.color-picker-hue-spectrum{border:1px solid var(--ui-button-border);border-radius:var(--ui-radius-button);background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red);height:8px}.color-picker-slider-label{color:var(--ui-muted)}.color-picker-slider{width:100%;accent-color:var(--ui-accent-border);margin:0}.color-picker-hex-row{grid-template-columns:44px 1fr;align-items:center;gap:8px;display:grid}.color-picker-preview{border:1px solid var(--ui-button-border);border-radius:var(--ui-radius-button);width:44px;height:28px;overflow:hidden}.color-picker-hex{box-sizing:border-box;border:1px solid var(--ui-button-border);border-radius:var(--ui-radius-button);background:var(--ui-button-bg);width:100%;min-width:0;color:inherit;font:inherit;padding:3px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.color-picker-recents{flex-wrap:wrap;gap:4px;display:flex}.ui-color-swatch{border:1px solid var(--ui-button-border);border-radius:var(--ui-radius-button);width:44px;height:28px;cursor:var(--cursor-hover);background:var(--ui-button-bg);flex:none;padding:0;position:relative;overflow:hidden}.ui-color-swatch-fill,.ui-color-chip-fill{width:100%;height:100%;display:block}.ui-color-swatch.is-mixed .ui-color-swatch-fill{background:repeating-linear-gradient(-45deg, var(--ui-button-border), var(--ui-button-border) 4px, transparent 4px, transparent 8px)}.ui-color-chip{border:2px solid var(--ui-button-border);width:20px;height:20px;cursor:var(--cursor-hover);background:var(--ui-button-bg);border-radius:4px;padding:0;overflow:hidden}.ui-color-check{background-color:#c4c4c4;background-image:linear-gradient(45deg,gray 25%,#0000 25%),linear-gradient(-45deg,gray 25%,#0000 25%),linear-gradient(45deg,#0000 75%,gray 75%),linear-gradient(-45deg,#0000 75%,gray 75%);background-position:0 0,0 4px,4px -4px,-4px 0;background-size:8px 8px}.ui-scrub-number{flex-shrink:0;align-items:center;gap:4px;display:inline-flex}.ui-scrub-label{color:var(--ui-muted);white-space:nowrap;font-size:12px}.ui-scrub-value{box-sizing:border-box;border:1px solid var(--ui-button-border);border-radius:var(--ui-radius-button);background:var(--ui-button-bg);width:44px;min-width:0;color:inherit;font-variant-numeric:tabular-nums;text-align:right;padding:2px 4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.2}.ui-scrub-value:disabled{opacity:.65;cursor:not-allowed}.ui-scrub-slider-toggle{box-sizing:border-box;width:16px;height:24px;color:var(--ui-muted);cursor:var(--cursor-hover);background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.ui-scrub-slider-toggle svg{transition:transform .15s}.ui-scrub-slider-toggle[aria-expanded=true]{color:var(--ui-text)}.ui-scrub-slider-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.ui-scrub-slider-toggle:focus-visible{outline:2px solid var(--ui-accent-border);outline-offset:2px}.ui-scrub-slider-toggle:hover:not(:disabled){color:var(--ui-text)}.ui-scrub-slider-toggle:disabled{opacity:.45;cursor:not-allowed}.ui-scrub-slider-popover{z-index:30;box-sizing:border-box;padding:8px 10px;position:fixed}.ui-scrub-slider-input{width:100%;min-width:0;accent-color:var(--ui-text);margin:0}.ui-scrub-slider-ends{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}:root{--editor-menubar-height:32px;--editor-options-height:40px;--editor-options-control-height:24px;--editor-context-slide:.18s;--editor-rail-width:40px}.editor-toolbar{pointer-events:none;--editor-chrome-top:var(--editor-menubar-height);position:absolute;inset:0}.editor-toolbar:has(.editor-options.is-open){--editor-chrome-top:calc(var(--editor-menubar-height) + var(--editor-options-height))}.editor-menubar.ui-panel{z-index:4;height:var(--editor-menubar-height);box-sizing:border-box;border-top:0;border-left:0;border-right:0;border-radius:0;align-items:center;gap:8px;padding:0 8px;display:flex;position:absolute;top:0;left:0;right:0;overflow:visible}.editor-menubar-menus{align-items:stretch;min-width:0;display:flex}.editor-menu{position:relative}.editor-menu-trigger{color:inherit;cursor:var(--cursor-hover);font:inherit;background:0 0;border:0;align-items:center;gap:6px;margin:0;padding:4px 8px;display:inline-flex}.editor-log-dot{border-radius:50%;flex:none;width:7px;height:7px}.editor-log-dot[data-severity=error]{background:var(--ui-danger)}.editor-log-dot[data-severity=warning]{background:var(--ui-warning)}.editor-menu-trigger[aria-expanded=true]{background:var(--ui-accent);color:var(--ui-text)}.editor-menu-panel{z-index:5;min-width:180px;max-height:calc(100vh - var(--editor-menubar-height) - 30px);pointer-events:auto;flex-direction:column;gap:2px;margin-top:1px;display:flex;position:absolute;top:100%;left:0;overflow:hidden auto}.editor-menu-panel[hidden]{display:none}.editor-menu-panel.is-wide{width:280px}.editor-menu-item{border-radius:var(--ui-radius-button);width:100%;color:inherit;cursor:var(--cursor-hover);font:inherit;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:16px;margin:0;padding:5px 8px;display:flex}.editor-menu-item:hover,.editor-menu-item:focus-visible,.editor-menu-item[aria-pressed=true],.editor-menu-item[aria-expanded=true]{background:var(--ui-accent)}.editor-menu-item:disabled{cursor:default;opacity:.45}.editor-menu-item.is-nested{padding-left:24px}.editor-route-row{align-items:center;gap:2px;display:flex}.editor-route-pick{flex:1;justify-content:flex-start;gap:8px}.editor-route-swatch{border-radius:50%;flex:none;width:10px;height:10px;box-shadow:inset 0 0 0 1px #00000040}.editor-route-delete{border-radius:var(--ui-radius-button);width:24px;height:24px;color:inherit;cursor:var(--cursor-hover);background:0 0;border:0;justify-content:center;align-items:center;margin:0;padding:0;display:flex}.editor-route-delete:hover,.editor-route-delete:focus-visible{background:var(--ui-accent);color:var(--ui-danger)}.editor-menu-keys{border-top:1px solid var(--ui-border);border-radius:0;margin-top:4px}.editor-menu-look{border-top:1px solid var(--ui-border);flex-direction:column;gap:8px;padding:6px 4px 4px;display:flex}.boat-color-menu{gap:6px;width:220px}.boat-color-menu .ui-control-wide{grid-template-columns:minmax(0,1fr) auto}.editor-menu-look>.ui-slider{grid-template-columns:1fr}.editor-map-settings,.editor-map-meta{flex-direction:column;gap:8px;display:flex}.editor-map-settings{padding:4px}.editor-menu-rule{border-top:1px solid var(--ui-border);height:0;margin:4px 0}.editor-menubar-left{flex:none;align-items:center;gap:8px;min-width:0;display:flex}.editor-menubar-history{align-items:center;gap:2px;display:flex}.editor-menubar-action{box-sizing:border-box;height:28px;margin-left:6px;padding:0 8px;font-size:13px;line-height:1}.editor-menubar-center{flex:auto;justify-content:center;align-items:center;min-width:0;display:flex}.editor-menubar-brand{min-width:0;color:var(--ui-muted);font:inherit;text-align:right;white-space:nowrap;flex:none;margin:0;font-weight:600}.editor-map-name{min-width:0;max-width:100%}.editor-map-name-button,.editor-map-name-input{box-sizing:border-box;border-radius:var(--ui-radius-button);width:100%;color:inherit;font:inherit;text-align:center;background:0 0;border:1px solid #0000;margin:0;padding:2px 8px;font-weight:600}.editor-map-name-button{cursor:var(--cursor-hover);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.editor-map-name-button:hover,.editor-map-name-input{border-color:var(--ui-button-border);background:var(--ui-button-bg)}.editor-options.ui-panel{top:var(--editor-menubar-height);z-index:3;height:var(--editor-options-height);box-sizing:border-box;transition:transform var(--editor-context-slide) ease;border-top:0;border-left:0;border-right:0;border-radius:0;align-items:center;gap:8px;padding:8px 10px;display:flex;position:absolute;left:0;right:0;overflow:hidden;transform:translateY(-100%)}#ui-root .editor-options.ui-chrome{pointer-events:none}.editor-options.is-open{transform:translateY(0)}#ui-root .editor-options.is-open{pointer-events:auto}.editor-options-scroll{flex:1;align-items:center;gap:8px;min-width:0;display:flex;overflow:auto hidden}.editor-options-title{color:var(--ui-text);flex-shrink:0;align-items:center;gap:6px;font-size:14px;font-weight:600;display:inline-flex}.editor-options-count{background:var(--ui-button-bg);border:1px solid var(--ui-button-border);font-variant-numeric:tabular-nums;color:var(--ui-muted);border-radius:999px;padding:0 6px;font-size:12px;font-weight:500}.editor-options-field{flex-shrink:0;align-items:center;gap:4px;display:inline-flex}.editor-options-label{color:var(--ui-muted);white-space:nowrap;font-size:12px}.editor-options .ui-button{box-sizing:border-box;height:var(--editor-options-control-height);align-items:center;padding:0 8px;font-size:13px;line-height:1.2;display:inline-flex}.editor-options-input,.editor-options-select,.editor-options .ui-scrub-value{box-sizing:border-box;width:64px;min-width:0;height:var(--editor-options-control-height);border:1px solid var(--ui-button-border);border-radius:var(--ui-radius-button);background:var(--ui-button-bg);color:inherit;font:inherit;padding:0 6px;font-size:13px;line-height:1.2}.editor-options .ui-scrub-value{width:44px}.editor-options .ui-scrub-slider-toggle{height:var(--editor-options-control-height)}.editor-options-select{width:72px}.editor-options-swatch{width:var(--editor-options-control-height);height:var(--editor-options-control-height);flex-shrink:0}.editor-options-goal{flex-shrink:0}.editor-options-divider{border-left:1px solid var(--ui-border);flex-shrink:0;align-self:stretch;width:0;margin:2px 0}.editor-options-actions{flex-shrink:0;gap:4px;display:inline-flex}.editor-options-icon{width:var(--editor-options-control-height);height:var(--editor-options-control-height)}.editor-options-tools{flex-wrap:nowrap;align-items:center;gap:6px;display:flex}.editor-options-step{width:22px;min-width:22px;height:22px;padding:0;line-height:1}.editor-rail.ui-panel{top:var(--editor-chrome-top);z-index:3;width:var(--editor-rail-width);box-sizing:border-box;border-radius:0;border-bottom-right-radius:var(--ui-radius-panel);transition:top var(--editor-context-slide) ease;border-top:0;border-left:0;flex-direction:column;gap:4px;padding:6px 4px;display:flex;position:absolute;left:0;overflow:hidden}.editor-rail-group{flex-direction:column;gap:2px;display:flex}.editor-rail-group.is-divided{border-top:1px solid var(--ui-border);padding-top:4px}.editor-rail-button{border-radius:var(--ui-radius-button);width:32px;height:28px;color:inherit;cursor:var(--cursor-hover);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;margin:0;padding:0;display:flex;position:relative}.editor-rail-flyout-caret{opacity:.75;pointer-events:none;border-top:0 solid #0000;border-bottom:5px solid;border-left:5px solid #0000;border-right:0 solid #0000;width:0;height:0;position:absolute;bottom:3px;right:3px}.editor-prop-flyout{z-index:40;box-sizing:border-box;flex-direction:column;gap:8px;min-width:168px;padding:8px;display:flex;position:fixed}.editor-prop-flyout-group{flex-direction:column;gap:2px;display:flex}.editor-prop-flyout-heading{color:var(--ui-muted);letter-spacing:.03em;text-transform:uppercase;margin:0 4px 2px;font-size:11px;font-weight:600}.editor-prop-flyout-item{border-radius:var(--ui-radius-button);width:100%;color:inherit;cursor:var(--cursor-hover);font:inherit;text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:8px;margin:0;padding:4px 6px;display:flex}.editor-prop-flyout-item:hover,.editor-prop-flyout-item:focus-visible{border-color:var(--ui-button-border);background:var(--ui-button-bg)}.editor-prop-flyout-item[aria-pressed=true]{border-color:var(--ui-accent-border);background:var(--ui-accent)}.editor-prop-flyout-item img{object-fit:contain;background:#0000002e;border-radius:4px;flex:none;width:40px;height:40px;display:block}.editor-rail-button:hover,.editor-rail-button:focus-visible{border-color:var(--ui-button-border);background:var(--ui-button-bg)}.editor-rail-button[aria-pressed=true]{border-color:var(--ui-accent-border);background:var(--ui-accent)}.editor-rail-button:disabled{cursor:default;opacity:.4}.editor-toolbar-message{top:calc(var(--editor-chrome-top) + 8px);z-index:4;transition:top var(--editor-context-slide) ease;position:absolute;left:50%;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.editor-options.ui-panel,.editor-rail.ui-panel,.editor-toolbar-message{transition:none}}.editor-toolbar-message[hidden]{display:none}.editor-shortcut-list{flex-direction:column;gap:8px;min-width:0;max-height:min(360px,45vh);padding:6px 2px 2px;display:flex;overflow:hidden auto}.editor-shortcut-group{flex-direction:column;gap:3px;min-width:0;display:flex}.editor-shortcut-heading{text-transform:uppercase;letter-spacing:.06em;color:var(--ui-muted);margin:0;font-size:11px;font-weight:600}.editor-shortcut-rows{flex-direction:column;gap:1px;margin:0;display:flex}.editor-shortcut-row{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:8px;padding:2px 0;display:grid}.editor-shortcut-row dt{color:var(--ui-text);margin:0;font-size:12px}.editor-shortcut-row dd{border:1px solid var(--ui-button-border);background:var(--ui-button-bg);color:var(--ui-muted);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;border-radius:4px;margin:0;padding:1px 6px;font-size:11px;line-height:1.3}.play-telemetry{box-sizing:border-box;pointer-events:none;border:1px solid var(--hud-border);border-radius:var(--hud-radius);width:min(280px,100vw - 32px);color:var(--hud-text);font:var(--hud-font);box-shadow:var(--hud-shadow);background:#081620d1;flex-flow:row;justify-content:center;align-items:flex-start;gap:4px;padding:12px 8px 10px;display:flex;position:absolute;bottom:16px;right:16px}.play-telemetry.is-pond{width:100%;position:static;bottom:auto;right:auto}.play-telemetry-label{letter-spacing:.08em;text-transform:uppercase;color:var(--hud-muted);font-family:system-ui,sans-serif;font-size:10px;font-weight:600;line-height:1.2}.play-telemetry-value{font-variant-numeric:tabular-nums;color:var(--hud-text);white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:15px;line-height:1.15}.play-telemetry-dial-readout{flex-direction:column;align-items:center;gap:3px;display:flex}.play-telemetry-dial{flex-direction:column;flex:none;align-items:center;gap:0;display:flex}.play-telemetry-dial-svg{flex:none;width:236px;height:134px;display:block;overflow:visible}.play-telemetry-dial-rail{fill:none;stroke:#e8f4ff33;stroke-width:1.15px}.play-telemetry-dial-redline{fill:none;stroke:var(--hud-danger);stroke-width:2.4px;stroke-linecap:round}.play-telemetry-dial-tick{stroke:#e8f4ff61;stroke-width:1.15px;stroke-linecap:square}.play-telemetry-dial-tick.is-mid{stroke:#e8f4ff8c;stroke-width:1.45px}.play-telemetry-dial-tick.is-major{stroke:var(--hud-text);stroke-width:2.2px}.play-telemetry-dial-tick.is-redline{stroke:var(--hud-danger)}.play-telemetry-dial-tick.is-redline.is-major{stroke-width:2.4px}.play-telemetry-dial-needle{fill:var(--hud-danger)}.play-telemetry-dial-hub-ring{fill:var(--hud-text)}.play-telemetry-dial-hub{fill:var(--hud-danger)}.play-telemetry .play-telemetry-dial,.play-telemetry .play-telemetry-compass,.play-telemetry .play-telemetry-wind{flex-direction:column;flex:1 1 0;justify-content:flex-start;align-items:center;gap:6px;width:auto;min-width:0;padding-bottom:0}.play-telemetry .play-telemetry-dial>svg,.play-telemetry .play-telemetry-compass>svg,.play-telemetry .play-telemetry-wind>svg{flex:none;height:40px}.play-telemetry .play-telemetry-dial-svg{width:72px;min-width:0}.play-telemetry .play-telemetry-compass-svg,.play-telemetry .play-telemetry-wind-icon{width:40px}.play-telemetry .play-telemetry-dial-readout{text-align:center;flex:none;align-items:center;margin-top:0}.play-telemetry .play-telemetry-value,.play-telemetry .play-telemetry-speed-num{font-size:13px}.play-telemetry-speed-num{font-size:20px;font-weight:600}.play-telemetry-speed-num.is-redline{color:var(--hud-danger)}.play-telemetry-plane{flex-direction:column;align-items:center;gap:4px;width:100%;margin-top:6px;display:flex}.play-telemetry-plane-track{background:#e8f4ff2e;border-radius:99px;width:72px;height:6px;overflow:hidden}.play-telemetry-plane-fill{background:var(--hud-muted);height:100%;display:block}.play-telemetry-plane.is-full .play-telemetry-plane-fill{background:var(--hud-accent)}.play-telemetry-compass{flex-direction:column;flex:none;align-items:center;gap:6px;width:auto;padding-bottom:2px;display:flex}.play-telemetry-compass-svg{width:56px;height:56px}.play-telemetry-compass-cardinal{fill:#e8f4ff9e}.play-telemetry-compass-cardinal.is-north{fill:var(--hud-danger)}.play-telemetry-compass-ordinal{fill:#e8f4ff47}.play-telemetry-compass-n{fill:var(--hud-danger);letter-spacing:.08em;text-anchor:middle;font-family:Bebas Neue,Arial Narrow,Impact,sans-serif;font-size:9px}.play-telemetry-compass-needle{fill:var(--hud-text)}.play-telemetry-compass-hub{fill:var(--hud-danger)}.play-telemetry-wind{flex-direction:column;flex:none;align-items:center;gap:6px;width:auto;margin:0;padding-bottom:2px;display:flex}.play-telemetry-wind-icon{width:56px;height:56px;display:block}.play-telemetry-wind-arrow{fill:var(--hud-text)}.play-telemetry-wind-hub{fill:var(--hud-danger)}.boat-dock{top:calc(var(--editor-chrome-top) + 12px);z-index:2;pointer-events:none;flex-direction:column;align-items:stretch;gap:6px;width:280px;display:flex;position:absolute;right:12px}.boat-card{box-sizing:border-box;pointer-events:auto;border-radius:0;flex-direction:column;align-items:center;gap:10px;width:100%;margin:0;padding:16px 0 10px;display:flex;position:static}.boat-card-name{text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin:0;padding:0 16px;font-size:15px;font-weight:600;line-height:1.2;overflow:hidden}.boat-card-profile{flex-direction:column;align-items:center;gap:8px;width:100%;margin:0;display:flex}.boat-card-length{font-variant-numeric:tabular-nums;color:var(--ui-text);text-align:center;font-size:13px}.boat-card-pane{width:100%;position:relative}.boat-card-art{width:100%}.boat-card-profile-svg{width:100%;height:auto;display:block}.boat-card-sea{fill:#6eb6d4}.boat-card-waterline{stroke:#143044;stroke-width:1.5px;vector-effect:non-scaling-stroke}.boat-card-draft{font-variant-numeric:tabular-nums;color:#143044;text-align:center;font-size:12px;position:absolute;bottom:8px;left:0;right:0}.ui-scale{flex-direction:column;align-items:center;gap:6px;display:flex}.ui-scale-label{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:16px;line-height:1.2}.ui-scale-bar{border-top:2px solid var(--ui-text);border-left:2px solid var(--ui-text);border-right:2px solid var(--ui-text);box-sizing:border-box;width:100%;height:12px;display:block}.scene-scale{pointer-events:none;position:absolute;bottom:16px;left:16px}.play-scale{color:var(--hud-text)}.play-scale .ui-scale-label{color:var(--hud-text);font-size:13px}.play-scale .ui-scale-bar{border-color:var(--hud-text);height:8px}.bot-knob-menu.editor-menu-panel{gap:10px;width:300px;padding:10px 12px}.bot-knob{flex-direction:column;gap:4px;display:flex}.bot-knob .ui-hint{margin:0}.bot-workshop-body{top:calc(var(--editor-menubar-height) + 24px);pointer-events:none;justify-content:center;align-items:flex-start;gap:16px;padding:0 16px;display:flex;position:absolute;bottom:24px;left:0;right:0}.bot-traits.ui-panel{box-sizing:border-box;flex-direction:column;flex:0 760px;gap:12px;min-width:0;max-height:100%;padding:18px 20px 14px;display:flex;overflow-y:auto}.bot-history.ui-panel{box-sizing:border-box;flex-direction:column;flex:0 0 300px;gap:10px;max-height:100%;padding:14px;display:flex;overflow-y:auto}@media (width<=1100px){.bot-workshop-body{pointer-events:auto;flex-direction:column;align-items:center;overflow-y:auto}.bot-traits.ui-panel,.bot-history.ui-panel{flex:none;width:min(760px,100%);max-height:none}}.bot-history-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.bot-history-title{margin:0;font-size:15px}.bot-history-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.bot-history-entry{border:1px solid var(--ui-border);border-radius:var(--ui-radius-button);background:var(--ui-button-bg);flex-direction:column;gap:6px;padding:8px;display:flex}.bot-history-entry.is-selected{border-color:var(--ui-accent-border);box-shadow:inset 3px 0 0 var(--ui-accent-border)}.bot-history-select{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;gap:3px;padding:0;display:flex}.bot-history-select:disabled{cursor:default}.bot-history-pace{align-items:baseline;gap:6px;display:flex}.bot-history-pace strong{font-variant-numeric:tabular-nums;font-size:26px;line-height:1.1}.bot-history-pace-of{color:var(--ui-muted);font-size:13px}.bot-history-kind{border:1px solid var(--ui-button-border);border-radius:var(--ui-radius-button);color:var(--ui-muted);margin-left:auto;padding:1px 6px;font-size:11px}.bot-history-where{font-size:15px}.bot-history-where strong{font-variant-numeric:tabular-nums}.bot-history-detail{color:var(--ui-muted);font-variant-numeric:tabular-nums;margin-top:2px;font-size:12px}.bot-history-dials{color:var(--ui-muted);font-variant-numeric:tabular-nums;gap:8px;font-size:12px;display:flex}.bot-history-changes{color:var(--ui-muted);font-size:12px}.bot-history-entry.is-current .bot-history-changes{color:var(--ui-success)}.bot-history-actions{flex-wrap:wrap;gap:6px;display:flex}.bot-history-actions .ui-button{font-size:12px}.bot-sketch-modal-title{margin:0;font-size:15px}.bot-traits-chart{flex:none;gap:18px;height:300px;display:flex}.bot-traits-group{flex-direction:column;gap:8px;min-width:0;display:flex}.bot-traits-group.is-draggable{flex:4 1 0}.bot-traits-group.is-readout{border-left:1px dashed var(--ui-border);flex:2 1 0;padding-left:18px}.bot-traits-group-title{color:var(--ui-muted);text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:12px}.bot-traits-bars{flex:1;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:14px;min-height:0;display:grid}.bot-trait{--bot-trait-color:var(--ui-muted);flex-direction:column;align-items:center;gap:6px;min-width:0;display:flex}.bot-trait.is-draggable .bot-trait-track{cursor:ns-resize;touch-action:none}.bot-trait.is-draggable .bot-trait-track:focus-visible{outline:2px solid var(--ui-accent-border);outline-offset:2px}.bot-trait-band{background:#ffffff0f;position:absolute;left:0;right:0}.bot-trait-grip{background:var(--ui-text);border-radius:3px;width:60%;height:6px;position:absolute;top:-3px;left:50%;transform:translate(-50%);box-shadow:0 1px 3px #00000080}.bot-trait.is-readout{opacity:.75}.bot-trait.is-readout .bot-trait-bar{background:repeating-linear-gradient(135deg, var(--bot-trait-color) 0 6px, color-mix(in srgb, var(--bot-trait-color) 55%, transparent) 6px 12px)}.bot-traits-custom{border-left:3px solid var(--ui-warning);background:var(--ui-button-bg);margin:0;padding:6px 10px;font-size:13px}.bot-trait[data-trait=skill]{--bot-trait-color:#e0b64f}.bot-trait[data-trait=foresight]{--bot-trait-color:#5aa7e0}.bot-trait[data-trait=precision]{--bot-trait-color:#6ecf8a}.bot-trait[data-trait=aggression]{--bot-trait-color:#e07a6b}.bot-trait[data-trait=manners]{--bot-trait-color:#4fc4bc}.bot-trait[data-trait=consistency]{--bot-trait-color:#b48ee0}.bot-trait-value{font-variant-numeric:tabular-nums;color:var(--bot-trait-color);font-size:18px;font-weight:600}.bot-trait-track{border:1px solid var(--ui-border);border-radius:var(--ui-radius-button);background:var(--ui-button-bg);flex:1;width:min(56px,100%);position:relative}.bot-trait-bar{border-radius:0 0 var(--ui-radius-button) var(--ui-radius-button);background:var(--bot-trait-color);transition:height 60ms linear;position:absolute;bottom:0;left:0;right:0}.bot-trait-preset{border-top:2px dashed var(--ui-text);opacity:.8;height:0;position:absolute;left:-2px;right:-2px}.bot-trait-label{max-width:100%;color:var(--ui-text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.bot-traits-pace{text-align:center;margin:0}@media (width<=560px){.bot-traits-chart,.bot-traits-bars{gap:6px}.bot-traits-group.is-readout{padding-left:6px}.bot-trait-label{font-size:11px}}.bot-playtest{border-top:1px solid var(--ui-border);flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding-top:10px;display:flex}.bot-playtest-text{text-align:center;margin:0}.bot-playtest-map{align-items:center;gap:6px;display:flex}.bot-playtest-log{text-align:left;flex:1 0 100%}.bot-playtest-log>summary,.bot-playtest-race>summary,.bot-playtest-turns>summary{cursor:pointer}.bot-playtest-log-body{grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:12px;margin-top:8px;display:grid}@media (width<=640px){.bot-playtest-log-body{grid-template-columns:minmax(0,1fr)}}.bot-playtest-sketch{aspect-ratio:1;border:1px solid var(--ui-border);border-radius:var(--ui-radius-button);background:var(--ui-page);width:100%}.bot-playtest-sketch *{vector-effect:non-scaling-stroke}.sketch-land{fill:#6b7a5c;stroke:#a6b48e;stroke-width:1px}.sketch-start{fill:#4fc4bc33;stroke:#4fc4bc;stroke-width:1px}.sketch-gate{stroke:var(--ui-muted);stroke-width:2px}.sketch-gate.is-goal{stroke:var(--ui-text);stroke-dasharray:4 3}.sketch-track{fill:none;stroke-width:1.5px;stroke-linejoin:round;opacity:.85}.sketch-track.is-seed-a{stroke:#5aa7e0}.sketch-track.is-seed-b{stroke:#b48ee0}.sketch-track.is-seed-c{stroke:#e0b64f}.sketch-crash{stroke:var(--ui-page);stroke-width:1.5px;cursor:help}.sketch-crash.is-aim,.bot-playtest-crash.is-aim{--crash-color:#e0b64f}.sketch-crash.is-cornered,.bot-playtest-crash.is-cornered{--crash-color:#e07a6b}.sketch-crash.is-other,.bot-playtest-crash.is-other{--crash-color:var(--ui-muted)}.sketch-crash{fill:var(--crash-color)}.sketch-crash.is-focus{stroke:var(--ui-text);stroke-width:2.5px}.bot-playtest-races{flex-direction:column;gap:8px;min-width:0;display:flex}.bot-playtest-crashes{flex-direction:column;gap:6px;margin:6px 0;padding:0;list-style:none;display:flex}.bot-playtest-crash{border-left:3px solid var(--crash-color);border-radius:0 var(--ui-radius-button) var(--ui-radius-button) 0;background:var(--ui-button-bg);padding:6px 8px}.bot-playtest-crash.is-focus{outline:1px solid var(--crash-color)}.bot-playtest-crash p{margin:0}.bot-playtest-crash-why{margin-top:2px}.bot-playtest-factors{color:var(--ui-muted);margin:4px 0 0;padding-left:18px}.bot-playtest-turns table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:4px;font-size:12px}.bot-playtest-turns th,.bot-playtest-turns td{border-bottom:1px solid var(--ui-border);text-align:right;padding:2px 6px}.bot-playtest-turns th:last-child,.bot-playtest-turns td:last-child{text-align:left}.bot-playtest-turns tr.is-crash td{color:var(--ui-danger)}.bot-playtest-progress{accent-color:#5aa7e0;width:100%;height:6px;margin-top:6px;display:block}.bot-playtest-sketch-open{cursor:zoom-in;background:0 0;border:0;padding:0;display:block}.bot-playtest-sketch-open:focus-visible{outline:2px solid var(--ui-accent-border);outline-offset:2px}.bot-sketch-modal-backdrop{z-index:20;pointer-events:auto;background:#061018bf;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.bot-sketch-modal.editor-log-modal{gap:10px;width:auto;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px)}.bot-sketch-modal .bot-playtest-sketch{width:min(100vw - 64px,100vh - 120px);height:auto}.bot-sketch-modal-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.bot-sketch-legend{flex-wrap:wrap;gap:4px 14px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.bot-sketch-legend li{align-items:center;gap:6px;display:flex}.bot-sketch-swatch.is-track{border-radius:2px;width:16px;height:3px}.bot-sketch-swatch.is-seed-a{background:#5aa7e0}.bot-sketch-swatch.is-seed-b{background:#b48ee0}.bot-sketch-swatch.is-seed-c{background:#e0b64f}.bot-sketch-swatch.is-dot{background:var(--crash-color);border-radius:50%;width:10px;height:10px}.bot-pack-log-body{margin-top:8px;overflow-x:auto}.bot-pack-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:12px}.bot-pack-table th,.bot-pack-table td{border-bottom:1px solid var(--ui-border);text-align:right;white-space:nowrap;padding:2px 6px}.bot-pack-table th{color:var(--ui-muted);font-weight:400}.bot-pack-table th:first-child,.bot-pack-table td:first-child{text-align:left}.editor-perf{z-index:2;pointer-events:none;font-variant-numeric:tabular-nums;flex-direction:column;gap:2px;min-width:190px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.3;display:flex;position:absolute;bottom:72px;left:16px}.editor-perf-row{justify-content:space-between;gap:10px;display:flex}.editor-perf-label{color:var(--ui-muted)}.editor-perf-value{color:var(--ui-text)}.ui-readout,.ui-control{grid-template-columns:72px 1fr;align-items:center;gap:8px;margin:0;display:grid}.ui-readout-label,.ui-control-label{color:var(--ui-muted)}.ui-readout[title] .ui-readout-label,.ui-control[title] .ui-control-label{cursor:help;text-underline-offset:2px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.ui-readout-value,.ui-stepper-value{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:16px;line-height:1.2}.ui-control{grid-template-columns:72px 1fr auto auto}.ui-control-wide{grid-template-columns:72px 1fr}.ui-select{box-sizing:border-box;border:1px solid var(--ui-button-border);border-radius:var(--ui-radius-button);background:var(--ui-button-bg);width:100%;min-width:0;color:inherit;cursor:var(--cursor-hover);font:inherit;padding:3px 6px}.ui-select option{background:var(--ui-page);color:var(--ui-text)}.ui-number-input,.ui-text-input{box-sizing:border-box;border:1px solid var(--ui-button-border);border-radius:var(--ui-radius-button);background:var(--ui-button-bg);width:100%;min-width:0;color:inherit;font:inherit;padding:3px 6px}textarea.ui-text-input{resize:vertical;min-height:4.5em}.ui-control-stack{grid-template-columns:1fr;align-items:start}.ui-range-inputs{grid-template-columns:1fr 1fr;gap:4px;display:grid}.ui-range-inputs .ui-control{display:block}.ui-range-inputs .ui-control-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ui-toggle{text-transform:uppercase;letter-spacing:.06em;justify-self:start;min-width:44px;padding:2px 8px;font-size:12px}.ui-slider{grid-template-columns:72px 1fr}.ui-slider-body{grid-template-columns:1fr auto;align-items:center;gap:8px;min-width:0;display:grid}.ui-slider-input{width:100%;min-width:0;accent-color:var(--ui-text);margin:0}.ui-slider-value{font-variant-numeric:tabular-nums;text-align:right;min-width:4.5ch;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:16px;line-height:1.2}.ui-slider-live{align-items:start}.ui-slider-live .ui-slider-body{grid-template-columns:1fr;gap:6px}.ui-slider-body-ends,.ui-slider-live .ui-slider-body-ends{grid-template-columns:auto 1fr auto;gap:8px}.ui-slider-end{color:var(--ui-muted);font-size:11px}.ui-slider-live .ui-slider-input{accent-color:var(--ui-accent-border)}.ui-control-stepper{grid-template-columns:72px 1fr auto}.ui-stepper-buttons{display:flex}.ui-stepper-field{justify-self:end;align-items:baseline;gap:3px;display:inline-flex}.ui-stepper-input{box-sizing:border-box;border:1px solid var(--ui-button-border);border-radius:var(--ui-radius-button);background:var(--ui-button-bg);width:5ch;min-width:0;color:inherit;font-variant-numeric:tabular-nums;text-align:right;padding:2px 4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:16px;line-height:1.2}.ui-stepper-input:disabled{opacity:.5}.ui-stepper-unit{color:var(--ui-muted);font-size:12px}.ui-step{box-sizing:border-box;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;line-height:1;display:inline-flex}.ui-stepper-buttons .ui-step:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.ui-stepper-buttons .ui-step:last-child{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.lighting-look-group{flex-direction:column;gap:8px;min-width:220px;display:flex}.lighting-look-group .ui-slider{grid-template-columns:1fr}.editor-environment{flex-direction:column;gap:4px;display:flex}.editor-environment-section{flex-direction:column;gap:6px;display:flex}.editor-environment-summary,.editor-environment-randomize{text-align:left;width:100%}.editor-environment-fields{flex-direction:column;gap:6px;padding:2px 0 6px;display:flex}.editor-environment-fields[hidden]{display:none}.editor-validation{box-sizing:border-box;flex-direction:column;gap:6px;width:min(320px,100% - 32px);margin-inline:auto;display:flex;position:absolute;bottom:16px;left:0;right:0}.editor-validation[data-log-open=true],.editor-validation[data-log-open=flash]{width:min(560px,100% - 32px)}.editor-validation[data-log-open=false]{width:auto}.editor-log-chrome{justify-content:flex-end;display:flex}.editor-log-expand{color:var(--ui-muted);cursor:var(--cursor-hover);background:0 0;border:0;justify-content:center;align-items:center;margin:0;padding:2px;display:inline-flex}.editor-log-expand:hover,.editor-log-expand:focus-visible{color:var(--ui-text)}.editor-validation-list{flex-direction:column;gap:4px;max-height:240px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.editor-validation-list[hidden]{display:none}.editor-validation-list.is-flash{animation:2.5s ease-in-out forwards editor-log-flash}@keyframes editor-log-flash{0%{opacity:0}8%{opacity:1}88%{opacity:1}to{opacity:0}}.editor-validation-issue{border-left:3px solid #0000;padding-left:6px;font-size:12px;line-height:1.35;display:flex}.editor-validation-issue[data-severity=error]{border-left-color:var(--ui-danger)}.editor-validation-issue[data-severity=warning]{border-left-color:var(--ui-warning)}.editor-validation-issue[data-resolved=true]{opacity:.5;border-left-color:var(--ui-muted)}.editor-log-empty{color:var(--ui-muted);padding:4px 6px;font-size:12px}.editor-log-entry .editor-validation-text,.editor-log-entry .editor-validation-link{grid-template-columns:auto auto 1fr;align-items:start;gap:8px;width:100%;display:grid}.editor-log-time{color:var(--ui-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.editor-log-level{letter-spacing:.04em;white-space:nowrap;font-weight:650}.editor-validation-issue[data-severity=error] .editor-log-level{color:var(--ui-danger)}.editor-validation-issue[data-severity=warning] .editor-log-level{color:var(--ui-warning)}.editor-log-message{min-width:0}.editor-validation-text,.editor-validation-link{color:var(--ui-muted);text-align:left}.editor-validation-link{font:inherit;cursor:var(--cursor-hover);background:0 0;border:0;padding:0;text-decoration:none}.editor-validation-link:hover .editor-log-message,.editor-validation-link:focus-visible .editor-log-message{color:var(--ui-text);text-decoration:underline;-webkit-text-decoration-color:var(--ui-button-border);text-decoration-color:var(--ui-button-border);text-underline-offset:2px}.editor-validation-issue[data-resolved=true] .editor-log-level,.editor-validation-issue[data-resolved=true] .editor-log-message{color:var(--ui-muted);font-weight:500}.editor-log-modal-backdrop{z-index:20;pointer-events:auto;background:#061018a6;place-items:center;display:grid;position:fixed;inset:0}.editor-log-modal{flex-direction:column;gap:10px;width:min(560px,100vw - 32px);max-height:min(70vh,480px);display:flex}.editor-log-modal-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.editor-log-modal-title{margin:0;font-size:16px}.editor-log-modal .editor-validation-list{flex:auto;min-height:0;max-height:none;overflow-y:auto}.fps-meter{z-index:100;pointer-events:none;color:var(--ui-muted);font-variant-numeric:tabular-nums;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1;position:absolute;top:8px;right:8px}#ui-root:not(:has(.editor-menubar)) .fps-meter{font-size:28px}#ui-root:has(.editor-menubar) .fps-meter{top:calc(var(--editor-menubar-height) + 6px)}.map-select-backdrop{pointer-events:auto;background-color:#008f9f;background-image:url(/assets/splash_2.png);background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.map-select-backdrop:after{content:"";z-index:0;pointer-events:none;background:radial-gradient(at 100% 100%,#050e16b3 0%,#050e1675 26%,#050e1638 50%,#050e1614 74%,#0000 100%);width:68%;height:62%;position:absolute;bottom:0;right:0}.start-shell{pointer-events:none;flex-direction:column;align-items:flex-start;gap:4px;display:flex;position:absolute;inset:20px 24px 24px}.start-shell:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0b1d2a80 0%,#0b1d2a2e 58%,#0000 100%);width:min(640px,56vw);position:absolute;inset:-20px auto -24px -24px}.start-shell>*{pointer-events:auto;position:relative}.map-select-lockup{pointer-events:none;-webkit-user-select:none;user-select:none;width:min(480px,42vw);position:relative}.map-select-lockup:before{content:"";filter:blur(20px);background:#0b1d2aad;border-radius:24px;position:absolute;inset:16% 1% 20%}.map-select-lockup img{filter:drop-shadow(0 1px 1px #0b1d2abf)drop-shadow(0 4px 10px #0b1d2a80);width:100%;height:auto;display:block;position:relative}.start-credit{z-index:1;pointer-events:none;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;bottom:22px;right:28px}.start-credit-kicker{color:#e8f4fff0;letter-spacing:.14em;text-transform:uppercase;text-shadow:0 1px 2px #0b1d2ad9,0 4px 12px #0b1d2a80;margin:0;font-family:Bebas Neue,Arial Narrow,Impact,sans-serif;font-size:16px;font-weight:400;line-height:1}.start-credit img{filter:drop-shadow(0 1px 1px #0b1d2abf)drop-shadow(0 6px 14px #0b1d2a73);width:clamp(148px,16vw,196px);height:auto;display:block}.start-body{flex:1;align-items:flex-start;gap:clamp(28px,4vw,56px);width:min(920px,100%);min-height:0;display:flex}.start-nav-col{flex-direction:column;flex:none;align-items:flex-start;gap:18px;padding:8px 0 0 6px;display:flex}.start-menu{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.start-menu-item,.start-choice{box-sizing:border-box;color:#e8f4ffb3;cursor:var(--cursor-hover);letter-spacing:.08em;text-transform:uppercase;text-align:left;text-shadow:0 1px 2px #0b1d2ad9,0 4px 16px #0b1d2a73;background:0 0;border:0;margin:0;font-family:Bebas Neue,Arial Narrow,Impact,sans-serif;font-style:normal;font-weight:400;transition:color .16s,transform .16s,letter-spacing .16s,border-color .16s,font-size .16s}.start-menu-item{border-left:3px solid #0000;padding:4px 4px 4px 14px;font-size:clamp(28px,3.4vw,42px);line-height:1.05}.start-menu-item:hover,.start-menu-item:focus-visible,.start-menu-item[aria-current=true]{color:var(--ui-text);border-left-color:var(--ui-text);letter-spacing:.12em;outline:none;font-size:clamp(30px,3.7vw,46px);transform:translate(6px)}.start-version{font:var(--ui-font);letter-spacing:.04em;color:#9bb8c9db;text-shadow:0 1px 8px #0b1d2ab3;margin:2px 0 0 14px;font-size:12px}.start-pane{min-width:0;max-width:min(400px,100%);max-height:100%;padding:10px 8px 12px 4px;animation:.2s start-pane-in;overflow:hidden auto}.start-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.start-choice{border-left:3px solid #0000;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:6px 8px 6px 14px;font-size:clamp(22px,2.6vw,32px);line-height:1.05;display:flex}.start-choice:hover,.start-choice:focus-visible,.start-race-mode[aria-pressed=true]{color:var(--ui-text);border-left-color:var(--ui-text);letter-spacing:.12em;outline:none;font-size:clamp(24px,2.85vw,35px);transform:translate(6px)}.map-select-item-name{font:inherit;letter-spacing:inherit;text-transform:inherit;display:block}.start-choice-summary,.start-pane-empty,.start-pane-label,.start-about-copy{font:var(--ui-font);letter-spacing:0;text-transform:none;text-shadow:0 1px 8px #0b1d2ab3}.start-choice-summary{color:var(--ui-muted);font-size:12px}.start-choice:hover .start-choice-summary,.start-choice:focus-visible .start-choice-summary{color:#e8f4ffdb}.start-pane-label{letter-spacing:.08em;text-transform:uppercase;color:var(--ui-muted);margin:18px 0 8px 14px;font-size:12px;font-weight:600}.start-race-pane{flex-direction:column;gap:4px;max-width:min(400px,100%);display:flex}.start-race-pane.is-ready-for-map{flex-direction:row;align-items:flex-start;gap:clamp(20px,3vw,36px);max-width:min(720px,100%)}.start-race-modes{flex-direction:column;flex:none;gap:6px;display:flex}.start-race-hot-seat{flex-direction:column;gap:4px;display:flex}.start-boats{flex-direction:column;gap:6px;margin:2px 0 4px;animation:.2s start-pane-in;display:flex}.start-boats .start-pane-label{margin:0 0 0 14px}.start-boats-options{gap:8px;padding-left:14px;display:flex}.start-movement .start-boats-options,.start-collisions .start-boats-options{flex-wrap:wrap}.start-movement .start-boats-option,.start-collisions .start-boats-option{min-width:0}.start-race-pane .start-boats-option{box-sizing:border-box;border:1px solid var(--ui-border);border-radius:var(--ui-radius-button);background:var(--ui-button-bg);min-width:40px;color:var(--ui-muted);cursor:var(--cursor-hover);font:var(--ui-font);font-variant-numeric:tabular-nums;text-shadow:none;margin:0;padding:6px 12px;transition:color .16s,border-color .16s,background .16s}.start-race-pane .start-boats-option:hover,.start-race-pane .start-boats-option:focus-visible{color:var(--ui-text);border-color:var(--ui-text);outline:none}.start-race-pane .start-boats-option[aria-pressed=true]{border-color:var(--ui-text);color:var(--ui-page);background:var(--ui-text)}.boat-select-box .start-boats-option{box-sizing:border-box;border:1px solid var(--ui-border);border-radius:var(--ui-radius-button);background:var(--ui-button-bg);min-width:40px;color:var(--ui-muted);cursor:var(--cursor-hover);font:var(--ui-font);font-variant-numeric:tabular-nums;text-shadow:none;margin:0;padding:6px 12px}.boat-select-box .start-boats-option:hover,.boat-select-box .start-boats-option:focus-visible{color:var(--ui-text);border-color:var(--ui-button-border);outline:none}.boat-select-box .start-boats-option[aria-pressed=true]{border-color:var(--ui-text);color:var(--ui-page);background:var(--ui-text)}.start-race-maps{flex:1;min-width:0;animation:.2s start-pane-in}.start-race-maps .start-pane-label{margin-top:0}.boat-select-backdrop{z-index:2;pointer-events:auto;background:#040c14d1;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0;overflow:auto}.boat-select-box{box-sizing:border-box;border:1px solid var(--ui-border);border-radius:var(--ui-radius-panel);background:var(--ui-surface);flex-direction:column;flex:0 auto;align-items:center;gap:14px;width:max-content;min-width:0;max-width:min(1040px,100%);max-height:100%;padding:24px 24px 16px;display:flex;box-shadow:0 16px 48px #00000073}.boat-select-heading{flex-direction:column;align-items:center;gap:10px;display:flex}.boat-select-name,.boat-select-name-input{box-sizing:border-box;height:calc(1em + 16px);color:var(--ui-text);letter-spacing:.08em;text-transform:uppercase;text-align:center;border:0;margin:0;padding:8px 0;font-family:Bebas Neue,Arial Narrow,Impact,sans-serif;font-size:clamp(28px,3vw,40px);font-weight:400;line-height:1}.boat-select-name{cursor:var(--cursor-hover);background:0 0;justify-content:center;align-items:center;display:inline-flex;position:relative}.boat-select-name:focus-visible{color:var(--ui-text);outline:none}.boat-select-name-icon{color:var(--ui-muted);display:inline-flex;position:absolute;top:calc(50% - 3px);left:calc(100% + 5px);transform:translateY(-50%)}.boat-select-name-input{max-width:16rem;box-shadow:inset 0 -1px 0 var(--ui-accent-border);background:0 0;border-radius:0}.boat-select-name-input:focus{outline:none}.boat-select-title{color:var(--ui-text);letter-spacing:.08em;text-transform:uppercase;margin:2px 0 0;font-family:Bebas Neue,Arial Narrow,Impact,sans-serif;font-size:clamp(16px,1.8vw,22px);font-weight:400;line-height:1}.boat-select-seat{color:var(--ui-muted);font:var(--ui-font);letter-spacing:.04em;margin:0;font-size:13px}.boat-select-carousel{align-items:center;gap:8px;min-width:0;max-width:100%;transition:opacity .16s;display:flex}.boat-select-box[data-boats-pending=true] .boat-select-carousel,.boat-select-box[data-boats-pending=true] .boat-select-title{opacity:.4}.boat-select-scroller{scroll-snap-type:x mandatory;scrollbar-width:none;flex:0 auto;justify-content:safe center;align-items:stretch;gap:12px;width:max-content;min-width:0;max-width:100%;display:flex;overflow-x:auto}.boat-select-scroller::-webkit-scrollbar{display:none}.boat-select-scroll{border:1px solid var(--ui-border);border-radius:var(--ui-radius-button);background:var(--ui-button-bg);width:36px;height:48px;color:var(--ui-text);cursor:var(--cursor-hover);flex:none;place-items:center;margin:0;padding:0;display:grid}.boat-select-scroll:hover:not(:disabled),.boat-select-scroll:focus-visible:not(:disabled){border-color:var(--ui-text);outline:none}.boat-select-scroll:disabled{opacity:.35;cursor:default}.boat-select-scroll[hidden]{display:none}.boat-select-card{box-sizing:border-box;scroll-snap-align:start;border:1px solid var(--ui-border);border-radius:var(--ui-radius-panel);color:#e8f4ffb3;cursor:var(--cursor-hover);font:inherit;text-align:center;background:#0b1d2a9e;flex-direction:column;flex:0 0 220px;align-items:center;gap:8px;margin:0;padding:12px 12px 10px;display:flex}.boat-select-card:hover,.boat-select-card:focus-visible{color:var(--ui-text);border-color:var(--ui-text);outline:none}.boat-select-card[aria-pressed=true]{border-color:var(--ui-text);color:var(--ui-text);background:#e8f4ff24}.boat-select-card .boat-side-portrait{width:100%}.boat-side-portrait{width:100%;display:block}.boat-side-portrait svg{width:100%;height:auto;display:block}.boat-side-portrait .boat-card-sea,.boat-side-portrait .boat-card-waterline{display:none}.start-choice .boat-side-portrait{width:min(180px,55vw);margin:0 0 2px}.boat-select-card .map-select-item-name{color:inherit;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 1px 2px #0b1d2ad9,0 4px 16px #0b1d2a73;margin:0;font-family:Bebas Neue,Arial Narrow,Impact,sans-serif;font-size:clamp(22px,2.4vw,32px);font-weight:400}.boat-select-card .boat-select-stats{width:100%;font:var(--ui-font);color:var(--ui-muted);text-align:left;text-shadow:none;grid-template-columns:1fr auto;gap:1px 8px;margin:0;font-size:12px;line-height:1.35;display:grid}.boat-select-stat{display:contents}.boat-select-stat dt{margin:0}.boat-select-stat dd{color:var(--ui-text);font-variant-numeric:tabular-nums;margin:0}.boat-select-box .start-boats-option{min-width:140px;padding:8px 18px}.boat-select-helm{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.boat-select-helm .start-boats-option{min-width:0;padding:5px 12px}.boat-select-box .start-boats-option:disabled{opacity:.4;cursor:default}.boat-select-box .start-boats-option:disabled:hover{color:var(--ui-muted);border-color:var(--ui-border)}.start-pane-empty{color:var(--ui-muted);margin:0 0 0 14px}.start-score-list{flex-direction:column;gap:18px;display:flex}.start-score-block{padding-left:14px}.start-score-block .map-select-item-name{color:#e8f4ffeb;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 1px 2px #0b1d2ad9,0 4px 16px #0b1d2a73;margin:0 0 4px;font-family:Bebas Neue,Arial Narrow,Impact,sans-serif;font-size:clamp(22px,2.6vw,32px);font-weight:400}.start-about-lead{color:var(--ui-text);letter-spacing:.1em;text-transform:uppercase;text-shadow:0 1px 2px #0b1d2ad9,0 4px 16px #0b1d2a73;margin:0 0 10px 14px;font-family:Bebas Neue,Arial Narrow,Impact,sans-serif;font-size:clamp(28px,3vw,40px)}.start-about-copy{color:#e8f4ffe0;max-width:34ch;margin:0 0 10px 14px;line-height:1.45}.map-select-item-times{font:var(--ui-font);color:var(--ui-muted);font-variant-numeric:tabular-nums;text-shadow:0 1px 8px #0b1d2ab3;margin:0;padding:0 0 0 1.2em;font-size:13px}.map-select-item-time{padding:2px 0}.map-select-item-time-button{box-sizing:border-box;width:100%;color:inherit;cursor:var(--cursor-hover);font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:6px;margin:0;padding:1px 0;display:inline-flex}.map-select-item-time-value{font-variant-numeric:tabular-nums}.map-select-item-replay-icon{width:14px;height:14px;color:var(--ui-muted);flex:none;display:block}.map-select-item-time-button:hover,.map-select-item-time-button:focus-visible{color:var(--ui-text);outline:none}.map-select-item-time-button:hover .map-select-item-replay-icon,.map-select-item-time-button:focus-visible .map-select-item-replay-icon{color:var(--ui-text)}@keyframes start-pane-in{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:none}}@media (width<=900px){.start-body{flex-direction:column;gap:16px}.start-pane{max-width:min(480px,100%);max-height:min(52vh,100%)}.start-race-pane.is-ready-for-map{flex-direction:column;gap:12px;max-width:min(480px,100%)}}@media (prefers-reduced-motion:reduce){.start-menu-item,.start-choice{transition:none}.start-pane{animation:none}}.pause-backdrop{pointer-events:auto;background:#06121c75;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.pause-stack{pointer-events:none;flex-direction:column;align-items:flex-start;gap:10px;width:min(440px,72vw);display:flex}.pause-stack>*{pointer-events:auto}.pause-lockup{pointer-events:none;width:100%}.pause-lockup:before{content:none}.pause-stack .start-menu-item:focus,.pause-stack .start-menu-item:focus-visible{outline:none}.pause-setting{border-top:1px solid #e8f4ff24;width:100%;margin-top:10px;padding-top:10px}.pause-setting-toggle{font-size:clamp(18px,2vw,24px)}.pause-setting-hint{font:var(--ui-font);letter-spacing:.02em;color:#9bb8c9db;text-shadow:0 1px 8px #0b1d2ab3;margin:2px 0 0 17px;font-size:12px}.play-debug{box-sizing:border-box;pointer-events:none;flex-direction:column;gap:12px;width:max-content;min-width:280px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);display:flex;position:absolute;top:16px;left:16px;overflow:auto hidden}.play-debug-group{flex-direction:column;flex:auto;gap:8px;min-height:0;display:flex;overflow:clip hidden}.play-debug-toolbar{align-items:center;gap:8px;display:flex}.play-debug-debug-toggle{text-align:left;flex:1}.play-debug-toolbar,.play-debug-save-status{flex:none}.play-debug-save-status{margin:0}.play-debug-debug{flex-direction:column;flex:auto;gap:8px;min-height:0;scroll-padding-top:28px;display:flex;overflow:clip auto}.play-debug-section{flex-direction:column;gap:8px;margin:0;display:flex}.play-debug-section-toggle{z-index:1;background:var(--ui-surface);width:100%;color:var(--ui-muted);cursor:var(--cursor-hover);font:inherit;letter-spacing:.06em;text-transform:uppercase;text-align:left;border:0;justify-content:space-between;align-items:center;gap:8px;margin:0;padding:2px 0;font-size:12px;display:flex;position:sticky;top:0}.play-debug-section-toggle:focus-visible{outline:2px solid var(--ui-accent-border);outline-offset:2px}.play-debug-section-body{flex-direction:column;gap:8px;display:flex}.play-debug-section-body[hidden],.play-debug-debug[hidden]{display:none}.play-log-body{pointer-events:auto;min-width:max-content;max-height:9.45em;overflow:visible auto}.play-log-empty{color:var(--ui-muted);margin:0;font-size:12px}.play-log-lines{font-variant-numeric:tabular-nums;min-width:max-content;margin:0;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.35;list-style:none}.play-log-line{white-space:nowrap;align-items:center;gap:6px;width:max-content;min-width:100%;margin:0;display:flex}.play-log-seat-dot{width:8px;height:8px;box-shadow:0 0 0 1px var(--ui-border);border-radius:50%;flex:none}.play-log-text{flex:none}.finish-popup{flex-direction:column;gap:8px;width:100%;display:flex}.finish-popup-actions{flex-flow:row;gap:6px;width:100%;display:flex}.finish-popup-actions .ui-button{box-sizing:border-box;white-space:nowrap;flex:1 1 0;min-width:0;padding:6px 8px;font-size:12px;line-height:1.2}.finish-popup-scores{flex-direction:column;gap:4px;width:100%;padding-top:2px;display:flex}.finish-popup-scores-title{letter-spacing:.14em;text-transform:uppercase;color:var(--hud-muted);margin:0;padding:0 6px;font-family:Bebas Neue,Arial Narrow,Impact,sans-serif;font-size:12px;font-weight:400;line-height:1.1}.finish-popup-scores ol{counter-reset:finish-score;color:var(--hud-muted);font-variant-numeric:tabular-nums;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.finish-popup-score{border-radius:var(--hud-radius);counter-increment:finish-score;align-items:center;gap:8px;margin:0;padding:3px 6px;display:flex}.finish-popup-score:before{content:counter(finish-score) ".";min-width:1.4em;color:var(--hud-muted)}.finish-popup-score[data-current=true]{color:var(--hud-text);background:var(--hud-row-active)}.finish-popup-score-dot{width:8px;height:8px;box-shadow:0 0 0 1px var(--hud-border);border-radius:50%;flex:none}.finish-popup-score-label,.finish-popup-score-button{min-width:0}.finish-popup-score-button{color:inherit;font:inherit;font-variant-numeric:tabular-nums;text-align:left;cursor:pointer;background:0 0;border:0;margin:0;padding:0;display:inline}.finish-popup-score-button:hover{color:var(--hud-text)}.replay-controls{flex-direction:column;gap:8px;width:100%;display:flex}.replay-controls-error{color:var(--hud-warning);margin:0}.replay-controls-row{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.replay-controls-speed,.replay-controls-mode{color:var(--hud-muted);align-items:center;gap:6px;display:flex}.replay-controls-speed .ui-select,.replay-controls-mode .ui-select{width:auto;min-width:5.5em}.replay-controls-mode .ui-select{min-width:8em}.replay-controls-buttons{flex-wrap:wrap;gap:6px;display:flex}.replay-controls-buttons .ui-button{flex:auto;min-width:0;padding:6px 8px;font-size:12px;line-height:1.2}.race-hud{pointer-events:none;max-width:min(26.5rem,100vw - 32px);color:var(--hud-text);font:var(--hud-font);text-shadow:0 1px 2px #0b1d2ad9,0 4px 16px #0b1d2a73;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:absolute;top:16px;left:auto;right:16px;transform:none}.race-hud-hint-anchor{top:var(--race-hud-y);left:var(--race-hud-x);z-index:1;pointer-events:none;color:var(--hud-text);font:var(--hud-font);text-shadow:0 1px 2px #0b1d2ad9,0 4px 16px #0b1d2a73;position:absolute;transform:translate(-50%,calc(-100% - 12px))}.race-hud-hint{text-align:center;border:1px solid var(--hud-border);border-radius:var(--hud-radius);background:var(--hud-film);box-shadow:var(--hud-shadow);flex-direction:column;gap:4px;padding:8px 12px;display:flex}.race-hud-hint p{color:var(--hud-text);margin:0}.race-hud-hint[hidden],.race-hud-body[hidden]{display:none}.race-hud-body{flex-direction:column;display:flex}.race-hud-plate{box-sizing:border-box;border:1px solid var(--hud-border);border-radius:var(--hud-radius);width:26.5rem;max-width:100%;box-shadow:var(--hud-shadow);background:#081620d1;flex-direction:column;gap:10px;padding:12px 14px 14px;display:flex}.race-hud-header{border-bottom:1px solid #e8f4ff1a;justify-content:space-between;align-items:stretch;gap:12px;padding-bottom:0;display:flex}.race-hud-title{flex-direction:column;gap:2px;min-width:0;padding-bottom:8px;display:flex}.race-hud-eyebrow,.race-hud-lap{letter-spacing:.16em;text-transform:uppercase;color:var(--hud-muted);white-space:nowrap;margin:0;font-family:Bebas Neue,Arial Narrow,Impact,sans-serif;font-size:clamp(14px,1.5vw,16px);font-weight:400;line-height:1.1}.race-hud-lap{letter-spacing:.08em;color:var(--hud-text);font-size:clamp(18px,2vw,22px)}.race-hud-header[data-solo=true] .race-hud-eyebrow{letter-spacing:.08em;color:var(--hud-text);font-size:clamp(24px,2.8vw,34px)}.race-hud-turn-line{letter-spacing:.06em;text-transform:uppercase;color:var(--hud-text);white-space:nowrap;margin:0;font-family:Bebas Neue,Arial Narrow,Impact,sans-serif;font-size:clamp(24px,2.8vw,34px);font-weight:400;line-height:1.02}.race-hud-turn-line-pulse{animation:.7s ease-out race-hud-turn-pulse}@keyframes race-hud-turn-pulse{0%{opacity:.35;transform-origin:0;transform:scale(.94)}55%{opacity:1;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.race-hud-turn-line-pulse{animation:none}}.race-hud-stat{text-align:right;flex-direction:column;flex:none;align-items:flex-end;gap:1px;display:flex}.race-hud-stat-label{letter-spacing:.14em;text-transform:uppercase;color:var(--hud-muted);font-family:Bebas Neue,Arial Narrow,Impact,sans-serif;font-size:12px}.race-hud-stat-value{font-variant-numeric:tabular-nums;color:var(--hud-text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:16px}.race-hud-header-aside{flex-direction:row;flex:none;align-items:stretch;gap:8px;display:flex}.race-hud-header-aside .race-hud-stat{align-self:center}.race-hud-header-cues{flex-direction:row;align-items:stretch;gap:6px;display:flex}.race-hud-cue{box-sizing:border-box;letter-spacing:.08em;text-transform:uppercase;min-width:3.35rem;box-shadow:var(--hud-shadow);background:#081620e6;border:1px solid #0000;border-radius:6px;flex-direction:column;justify-content:center;align-self:stretch;align-items:center;gap:2px;padding:4px 6px 5px;font-family:Bebas Neue,Arial Narrow,Impact,sans-serif;font-size:13px;line-height:1;display:flex}.race-hud-cue svg{flex:none}.race-hud-cue-lines{flex-direction:column;align-items:center;gap:1px;display:flex}.race-hud-cue[data-kind=hull]{color:var(--hud-danger);border-color:#e07a6bb3}.race-hud-cue[data-kind=miss]{color:var(--hud-warning);border-color:#e0b64fb3}.race-hud-table{--race-seat-cols:.75rem 1.25rem minmax(5.25rem, 1fr) 3rem 3.25rem 5.75rem;flex-direction:column;gap:2px;display:flex}.race-hud-table[data-multi-lap=true]{--race-seat-cols:.75rem 1.25rem minmax(4rem, 1fr) 2.6rem 3.1rem 3.1rem 5.2rem}.race-hud-table[data-roster=true]{--race-seat-cols:.75rem 1.25rem minmax(5.25rem, 1fr) 3.25rem}.race-hud-thead,.race-hud-seat{grid-template-columns:var(--race-seat-cols);align-items:center;column-gap:8px;display:grid}.race-hud-thead{border-bottom:1px solid #e8f4ff14;padding:0 8px 4px}.race-hud-col{letter-spacing:.12em;text-transform:uppercase;color:var(--hud-muted);font-family:Bebas Neue,Arial Narrow,Impact,sans-serif;font-size:12px}.race-hud-col-swatch,.race-hud-seat-swatch{justify-content:center;align-items:center;display:flex}.race-hud-seat-dot{width:8px;height:8px;box-shadow:0 0 0 1px var(--hud-border);border-radius:50%;flex:none}.race-hud-col-place,.race-hud-seat-place{text-align:center}.race-hud-col-name,.race-hud-seat-name{text-align:left}.race-hud-col-round,.race-hud-seat-round,.race-hud-col-lap,.race-hud-seat-lap,.race-hud-col-gates,.race-hud-seat-gates{text-align:center}.race-hud-col-time,.race-hud-seat-time{text-align:right}.race-hud-seat{border-radius:var(--hud-radius);color:var(--hud-muted);font-variant-numeric:tabular-nums;padding:6px 8px;font-size:16px}.race-hud-seat[data-leader=true]{color:var(--hud-text)}.race-hud-seat[data-active=true]{color:var(--hud-text);background:var(--hud-row-active);box-shadow:inset 3px 0 0 var(--hud-accent)}.race-hud-seat-place{letter-spacing:.02em;color:var(--hud-muted);font-family:Bebas Neue,Arial Narrow,Impact,sans-serif;font-size:19px}.race-hud-seat[data-leader=true] .race-hud-seat-place{color:var(--hud-success)}.race-hud-seat-name{align-items:center;gap:5px;min-width:0;font-weight:600;display:flex}.race-hud-seat-name-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.race-hud-seat-bot{border:1px solid var(--hud-border);border-radius:var(--hud-radius);color:var(--hud-muted);letter-spacing:.06em;text-transform:uppercase;flex:none;padding:0 4px;font-size:10px;font-weight:600;line-height:14px}.race-hud-seat-flag,.race-hud-seat-miss,.race-hud-seat-hull,.race-hud-seat-lock{flex:none;align-items:center;display:inline-flex}.race-hud-flag{flex:none;align-items:flex-start;gap:1px;height:12px;display:inline-flex}.race-hud-flag-pole{background:#e8f4ff;border-radius:1px;width:1.5px;height:12px}.race-hud-checker{outline:1px solid #e8f4ff;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;width:10px;height:10px;display:grid}.race-hud-checker>:first-child,.race-hud-checker>:nth-child(4){background:#e8f4ff}.race-hud-checker>:nth-child(2),.race-hud-checker>:nth-child(3){background:#0b1d2a}.race-hud-seat-miss{color:var(--hud-warning);pointer-events:auto;cursor:default}.race-hud-seat-hull{color:var(--hud-danger)}.race-hud-seat-lock{color:var(--hud-muted)}.race-hud-seat-round,.race-hud-seat-gates,.race-hud-seat-time{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.race-hud-seat-time[data-time=gap]{color:var(--hud-text)}.race-hud-seat-time[data-time=empty]{color:var(--hud-muted)}.race-hud-gates{align-items:center;gap:8px;width:100%;display:flex}.race-hud-gates-label{letter-spacing:.14em;text-transform:uppercase;color:var(--hud-muted);flex:none;font-family:Bebas Neue,Arial Narrow,Impact,sans-serif;font-size:12px}.race-hud-gates-track{flex:1;gap:3px;min-width:0;display:flex}.race-hud-gate-seg{clip-path:polygon(0 0,calc(100% - 7px) 0,100% 50%,calc(100% - 7px) 100%,0 100%,7px 50%);background:#e8f4ff24;flex:1 1 0;min-width:0;height:14px}.race-hud-gate-seg[data-state=done]{background:var(--hud-accent)}.race-hud-gate-seg[data-state=current]{background:var(--hud-text)}.race-hud-gate-seg[data-goal=true]{filter:drop-shadow(1px 0 #e8f4ff)drop-shadow(-1px 0 #e8f4ff)drop-shadow(0 1px #e8f4ff)drop-shadow(0 -1px #e8f4ff);background-color:#0b1d2a;background-image:repeating-conic-gradient(#0b1d2a 0deg 90deg,#e8f4ff 90deg 180deg);background-size:14px 14px}.race-hud-gate-seg[data-goal=true]:not([data-state=done]){opacity:.32}.race-hud-gate-seg[data-goal=true][data-state=done]{opacity:1}.race-hud-gates[data-dense=true] .race-hud-gates-track{gap:2px}.race-hud-gates[data-dense=true] .race-hud-gate-seg{clip-path:none;border-radius:1px}.race-hud-footer{pointer-events:auto;border-top:1px solid #e8f4ff1a;flex-direction:column;gap:8px;padding-top:10px;display:flex}.race-hud-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.race-hud-damage-vignette{pointer-events:none;z-index:1;position:absolute;inset:0;box-shadow:inset 0 0 80px 24px #e07a6b47}.race-hud-damage-vignette[hidden]{display:none}@font-face{font-family:Bebas Neue;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/bebas-neue.woff2)format("woff2")}:root{--ui-page:#0b1d2a;--ui-surface:#0b1d2ae0;--ui-border:#2a4a5c;--ui-text:#e8f4ff;--ui-muted:#9bb8c9;--ui-accent:#3d6b4f;--ui-accent-border:#7db38a;--ui-button-bg:#132736;--ui-button-border:#3d6b7a;--ui-warning:#e0b64f;--ui-danger:#e07a6b;--ui-success:#6ecf8a;--ui-font:14px/1.3 system-ui, sans-serif;--ui-radius-panel:8px;--ui-radius-button:6px;--hud-film:#081620b8;--hud-border:#7db38a59;--hud-text:#e8f4ff;--hud-muted:#9bb8c9;--hud-accent:#7db38a;--hud-danger:#e07a6b;--hud-warning:#e0b64f;--hud-success:#6ecf8a;--hud-row-active:#7db38a24;--hud-font:13px/1.25 system-ui, sans-serif;--hud-radius:4px;--hud-shadow:0 1px 2px #0b1d2a8c, 0 8px 24px #0b1d2a59}#ui-root .ui-chrome{pointer-events:auto;touch-action:auto}#ui-root input,#ui-root textarea,#ui-root select,#ui-root [contenteditable=true]{-webkit-user-select:text;user-select:text}.ui-panel{border:1px solid var(--ui-border);border-radius:var(--ui-radius-panel);background:var(--ui-surface);color:var(--ui-text);font:var(--ui-font);padding:8px 10px}.ui-float{z-index:20;pointer-events:auto;flex-direction:column;gap:12px;display:flex;position:fixed;box-shadow:0 8px 24px #0006}.ui-float-header{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:8px;display:flex}.ui-float-header.is-dragging{cursor:grabbing}.ui-float-title{min-width:0;margin:0;font-size:16px}.ui-close{border-radius:var(--ui-radius-button);width:28px;height:28px;color:var(--ui-muted);cursor:var(--cursor-hover);background:0 0;border:0;flex:none;justify-content:center;align-items:center;margin:0;padding:0;display:flex}.ui-close:hover{color:var(--ui-text)}.ui-close:focus-visible{outline:2px solid var(--ui-accent-border);outline-offset:2px;color:var(--ui-text)}.ui-float-body{flex-direction:column;gap:12px;min-width:0;display:flex}.ui-float-actions{justify-content:flex-end;gap:8px;display:flex}.ui-button{border:1px solid var(--ui-button-border);border-radius:var(--ui-radius-button);background:var(--ui-button-bg);color:inherit;cursor:var(--cursor-hover);font:inherit;margin:0;padding:6px 10px}.ui-button:disabled{cursor:default;opacity:.45}.ui-button[aria-pressed=true],.ui-button[aria-expanded=true]{border-color:var(--ui-accent-border);background:var(--ui-accent)}.ui-button-group{width:max-content;max-width:100%;display:flex}.ui-button-group>.ui-button{white-space:nowrap;border-radius:0;flex:none}.ui-button-group>.ui-button+.ui-button{margin-left:-1px}.ui-button-group>.ui-button:first-child{border-radius:var(--ui-radius-button) 0 0 var(--ui-radius-button)}.ui-button-group>.ui-button:last-child{border-radius:0 var(--ui-radius-button) var(--ui-radius-button) 0}.ui-button-group>.ui-button:only-child{border-radius:var(--ui-radius-button)}.ui-button-group>.ui-button:focus-visible,.ui-button-group>.ui-button[aria-pressed=true]{z-index:1;position:relative}.ui-hint{color:var(--ui-muted);margin:0;font-size:12px}.ui-toast{box-sizing:border-box;border:1px solid var(--ui-border);border-radius:var(--ui-radius-panel);max-width:min(420px,100vw - 48px);color:var(--ui-text);font:var(--ui-font);background:#0b1d2af5;border-left-width:3px;margin:0;padding:12px 16px;font-weight:500;line-height:1.4;box-shadow:0 8px 24px #0006}.ui-toast[data-tone=success]{border-left-color:var(--ui-success);background:color-mix(in srgb, var(--ui-success) 12%, #0b1d2af5)}.ui-toast[data-tone=warning]{border-left-color:var(--ui-warning);background:color-mix(in srgb, var(--ui-warning) 12%, #0b1d2af5)}.ui-toast[data-tone=error]{border-left-color:var(--ui-danger);background:color-mix(in srgb, var(--ui-danger) 12%, #0b1d2af5)}.editor-dock-toggle{width:100%;color:inherit;cursor:var(--cursor-hover);font:inherit;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;margin:0;padding:2px 0;display:flex}.editor-dock-toggle:focus-visible{outline:2px solid var(--ui-accent-border);outline-offset:2px}.editor-dock-chevron{color:var(--ui-muted);flex:none;font-size:12px;line-height:1;transition:transform .15s}[aria-expanded=true]>.editor-dock-chevron{transform:rotate(180deg)}.editor-toolbar-shortcut{color:var(--ui-muted)}.ui-tooltip-host{display:contents}.ui-tooltip{z-index:40;box-sizing:border-box;border:1px solid var(--ui-border);border-radius:var(--ui-radius-button);max-width:min(280px,100vw - 24px);color:var(--ui-text);font:var(--ui-font);pointer-events:none;background:#0b1d2af5;align-items:center;gap:8px;padding:6px 8px;font-size:12px;font-weight:500;line-height:1.35;display:flex;position:fixed;box-shadow:0 8px 24px #0006}.ui-tooltip-label{min-width:0}.ui-tooltip-key{border:1px solid var(--ui-button-border);background:var(--ui-button-bg);color:var(--ui-muted);font:inherit;font-variant-numeric:tabular-nums;border-radius:4px;flex:none;padding:1px 6px;font-size:11px;line-height:1.3}.ui-tooltip-caret{box-sizing:border-box;border:1px solid var(--ui-border);background:#0b1d2af5;width:8px;height:8px;position:absolute;transform:rotate(45deg)}.ui-tooltip[data-side=right] .ui-tooltip-caret{border-top:0;border-right:0;margin-top:-4px;top:50%;left:-5px}.ui-tooltip[data-side=left] .ui-tooltip-caret{border-bottom:0;border-left:0;margin-top:-4px;top:50%;right:-5px}.ui-tooltip[data-side=bottom] .ui-tooltip-caret{border-bottom:0;border-right:0;margin-left:-4px;top:-5px;left:50%}.ui-tooltip[data-side=top] .ui-tooltip-caret{border-top:0;border-left:0;margin-left:-4px;bottom:-5px;left:50%}html,body{background:var(--ui-page);touch-action:none;-webkit-user-select:none;user-select:none;--cursor-arrow:url(/assets/cursors/arrow.svg) 5 6, default;--cursor-arrow-hover:url(/assets/cursors/arrow-hover.svg) 5 6, pointer;--cursor-flag:url(/assets/cursors/flag.svg) 5 29, crosshair;--cursor-flag-hover:url(/assets/cursors/flag-hover.svg) 5 29, pointer;--cursor-eraser:url(/assets/cursors/eraser.svg) 4 19, crosshair;--cursor-eraser-hover:url(/assets/cursors/eraser-hover.svg) 4 19, pointer;--cursor-default:default;--cursor-hover:pointer;height:100%;margin:0;overflow:hidden}html[data-play-cursor]{--cursor-default:var(--cursor-arrow);--cursor-hover:var(--cursor-arrow-hover);cursor:var(--cursor-default)}html[data-play-cursor] #game-container canvas,html[data-play-cursor] #ui-root,html[data-play-cursor] #ui-root *{cursor:var(--cursor-default)}html[data-play-cursor] #ui-root :is(a,button,[role=button],[role=menuitem],[role=tab],[role=option],label[for],summary,.ui-chrome [href],.ui-scrub-slider-toggle,.ui-control button,.editor-rail-button,.editor-menu-item):not(:disabled):not([aria-disabled=true]){cursor:var(--cursor-hover)}html[data-editor-cursor]{--cursor-default:var(--cursor-arrow);--cursor-hover:var(--cursor-arrow-hover)}html[data-editor-cursor=place-checkpoint]{--cursor-default:var(--cursor-flag);--cursor-hover:var(--cursor-flag-hover)}html[data-editor-cursor=erase-prop]{--cursor-default:var(--cursor-eraser);--cursor-hover:var(--cursor-eraser-hover)}html[data-editor-cursor=draw-island],html[data-editor-cursor=draw-rock],html[data-editor-cursor=draw-terrace],html[data-editor-cursor=draw-water]{--cursor-default:crosshair;--cursor-hover:crosshair}html[data-editor-cursor=hand]{--cursor-default:grab;--cursor-hover:grab}html[data-editor-cursor] #ui-root,html[data-editor-cursor] #ui-root *{cursor:var(--cursor-default)}html[data-editor-cursor] #ui-root :is(a,button,[role=button],[role=menuitem],[role=tab],[role=option],label[for],summary,.ui-chrome [href],.ui-scrub-slider-toggle,.ui-control button,.editor-rail-button,.editor-menu-item):not(:disabled):not([aria-disabled=true]){cursor:var(--cursor-hover)}html[data-editor-cursor] #ui-root :is(input:not([type=button]):not([type=submit]):not([type=reset]):not([type=checkbox]):not([type=radio]):not([type=file]):not([type=color]),textarea,select,[contenteditable=true]){cursor:text}html[data-editor-cursor] #ui-root .ui-float-header{cursor:grab}html[data-editor-cursor] #ui-root .ui-float-header.is-dragging{cursor:grabbing}html[data-editor-cursor] #ui-root .color-picker-sv{cursor:crosshair}html[data-editor-cursor] #ui-root :is(:disabled,[aria-disabled=true],.ui-scrub-value:disabled,.ui-scrub-slider-toggle:disabled){cursor:not-allowed}html[data-play-cursor]{--cursor-arrow:url(/assets/cursors/arrow.svg) 3 2, default;cursor:var(--cursor-arrow)}html[data-play-cursor] #game-container canvas,html[data-play-cursor] #ui-root,html[data-play-cursor] #ui-root *{cursor:var(--cursor-arrow)}html[data-play-cursor] #ui-root :is(input:not([type=button]):not([type=submit]):not([type=reset]):not([type=checkbox]):not([type=radio]):not([type=file]):not([type=color]),textarea,select,[contenteditable=true]){cursor:text}html[data-play-cursor] #ui-root .ui-float-header{cursor:grab}html[data-play-cursor] #ui-root .ui-float-header.is-dragging{cursor:grabbing}html[data-play-cursor] #ui-root .color-picker-sv{cursor:crosshair}html[data-play-cursor] #ui-root :is(.ui-readout[title] .ui-readout-label,.ui-control[title] .ui-control-label){cursor:help}html[data-play-cursor] #ui-root :is(:disabled,[aria-disabled=true],.ui-scrub-value:disabled,.ui-scrub-slider-toggle:disabled){cursor:not-allowed}#game-container{touch-action:none;width:100%;height:100%}#game-container canvas{touch-action:none}#ui-root{z-index:1;pointer-events:none;position:fixed;inset:0}
