.uplot,.uplot *,.uplot :before,.uplot :after{box-sizing:border-box}.uplot{width:min-content;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{-webkit-user-select:none;user-select:none;position:relative}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{width:100%;height:100%;display:block;position:relative}.u-axis{position:absolute}.u-legend{text-align:center;margin:auto;font-size:14px}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{pointer-events:none;background:#00000012;position:absolute}.u-cursor-x,.u-cursor-y{pointer-events:none;will-change:transform;position:absolute;top:0;left:0}.u-hz .u-cursor-x,.u-vt .u-cursor-y{border-right:1px dashed #607d8b;height:100%}.u-hz .u-cursor-y,.u-vt .u-cursor-x{border-bottom:1px dashed #607d8b;width:100%}.u-cursor-pt{pointer-events:none;will-change:transform;border:0 solid;border-radius:50%;position:absolute;top:0;left:0;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font-sans:"Inter", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--font-mono:"JetBrains Mono", "SFMono-Regular", ui-monospace, Menlo, Consolas, monospace;--bg:#0b1220;--bg-elev:#111a2c;--bg-elev-2:#17233a;--bg-input:#0d1626;--border:#2a3a57;--border-strong:#3d5276;--text:#e6edf7;--text-muted:#a9b6cc;--text-faint:#8796b0;--accent:#38bdf8;--accent-strong:#7dd3fc;--accent-contrast:#04263a;--focus:#fbbf24;--success:#4ade80;--warning:#fbbf24;--danger:#f87171;--chart-1:#38bdf8;--chart-2:#f59e0b;--chart-3:#a78bfa;--chart-4:#34d399;--chart-grid:#233149;--shadow:0 8px 28px #00000073;--radius:8px;--radius-sm:6px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--panel-w:280px;--inspector-w:320px;--dock-h:200px;--header-h:56px}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef3f9;--bg-elev:#fff;--bg-elev-2:#f4f7fb;--bg-input:#fff;--border:#c9d5e6;--border-strong:#9fb1cb;--text:#0f1a2c;--text-muted:#3d4d66;--text-faint:#56657d;--accent:#0369a1;--accent-strong:#075985;--accent-contrast:#fff;--focus:#b45309;--success:#15803d;--warning:#a16207;--danger:#b91c1c;--chart-1:#0369a1;--chart-2:#c2410c;--chart-3:#6d28d9;--chart-4:#047857;--chart-grid:#dbe3ef;--shadow:0 8px 28px #0f1a2c26}@media (prefers-color-scheme:light){:root:not([data-theme=dark]):not([data-theme=light]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef3f9;--bg-elev:#fff;--bg-elev-2:#f4f7fb;--bg-input:#fff;--border:#c9d5e6;--border-strong:#9fb1cb;--text:#0f1a2c;--text-muted:#3d4d66;--text-faint:#56657d;--accent:#0369a1;--accent-strong:#075985;--accent-contrast:#fff;--focus:#b45309;--success:#15803d;--warning:#a16207;--danger:#b91c1c;--chart-1:#0369a1;--chart-2:#c2410c;--chart-3:#6d28d9;--chart-4:#047857;--chart-grid:#dbe3ef;--shadow:0 8px 28px #0f1a2c26}}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}#root{height:100vh;height:100dvh}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{left:var(--space-3);z-index:100;padding:var(--space-2) var(--space-3);background:var(--accent);color:var(--accent-contrast);border-radius:var(--radius-sm);font-weight:600;text-decoration:none;position:absolute;top:-100px}.skip-link:focus{top:var(--space-2)}.app{grid-template-columns:var(--panel-w) 6px minmax(0, 1fr) 6px var(--inspector-w);grid-template-rows:var(--header-h) minmax(0, 1fr) 6px var(--dock-h);grid-template-areas:"header header header header header""scene split-v viewport split-i inspector""scene split-v split-d split-i inspector""scene split-v dock split-i inspector";height:100%;display:grid}.app__header{grid-area:header}.app__scene{grid-area:scene}.app__viewport{grid-area:viewport}.app__inspector{grid-area:inspector}.app__dock{grid-area:dock}.panel{background:var(--bg-elev);border-color:var(--border);border-style:solid;border-width:0;min-height:0;overflow:auto}.app__scene.panel{border-right-width:1px}.app__inspector.panel{border-left-width:1px}.app__dock.panel{border-top-width:1px;flex-direction:column;display:flex;overflow:hidden}.splitter{z-index:4;touch-action:none;background:0 0;border:0;padding:0;position:relative}.splitter--scene{cursor:ew-resize;grid-area:split-v}.splitter--inspector{cursor:ew-resize;grid-area:split-i}.splitter--dock{cursor:ns-resize;grid-area:split-d}.splitter:after{content:"";background:var(--border);pointer-events:none;position:absolute}.splitter--scene:after,.splitter--inspector:after{width:2px;top:0;bottom:0;left:2px}.splitter--dock:after{height:2px;top:2px;left:0;right:0}.splitter:hover:after,.splitter:focus-visible:after{background:var(--accent)}.splitter:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.panel__header-actions{align-items:center;gap:var(--space-1);display:flex}@media (min-width:901px){.app[data-scene-collapsed=true] .app__scene,.app[data-inspector-collapsed=true] .app__inspector{visibility:hidden;pointer-events:none}.app[data-dock-collapsed=true] .dock__panel,.app[data-dock-collapsed=true] .tabs,.app[data-dock-collapsed=true] .app__dock .btn--hide-panel{display:none}}.layout-reveal{z-index:6;color:#e6edf7;cursor:pointer;background:#080e1adb;border:1px solid #94a3b859;justify-content:center;align-items:center;width:28px;height:44px;padding:0;display:inline-flex;position:absolute}.layout-reveal--left{border-radius:0 var(--radius-sm) var(--radius-sm) 0;border-left:0;top:50%;left:0;transform:translateY(-50%)}.layout-reveal--right{border-radius:var(--radius-sm) 0 0 var(--radius-sm);border-right:0;top:50%;right:0;transform:translateY(-50%)}.layout-reveal--bottom{border-radius:var(--radius-sm) var(--radius-sm) 0 0;border-bottom:0;width:44px;height:28px;bottom:0;left:50%;transform:translate(-50%)}.panel__title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:12px;font-weight:700}.panel__header{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);background:var(--bg-elev);z-index:1;display:flex;position:sticky;top:0}.panel__body{padding:var(--space-3) var(--space-4) var(--space-5)}.topbar{align-items:center;gap:var(--space-3);padding:0 var(--space-4);background:var(--bg-elev);border-bottom:1px solid var(--border);min-width:0;display:flex}.brand{align-items:center;gap:var(--space-2);white-space:nowrap;margin:0;font-size:16px;font-weight:700;display:flex}.brand svg{color:var(--accent)}.topbar__name{flex:auto;min-width:120px;max-width:420px}.topbar__name input{border-radius:var(--radius-sm);text-overflow:ellipsis;background:0 0;border:1px solid #0000;width:100%;padding:6px 8px;font-weight:600}.topbar__name input:hover{border-color:var(--border)}.topbar__name input:focus-visible{background:var(--bg-input)}.toolbar{align-items:center;gap:var(--space-1);flex-wrap:nowrap;display:flex}.toolbar__sep{background:var(--border);width:1px;height:24px;margin:0 var(--space-1)}.btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elev-2);min-width:32px;min-height:32px;color:var(--text);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-weight:500;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--border-strong);background:color-mix(in srgb, var(--bg-elev-2) 70%, var(--accent) 12%)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast);font-weight:650}.btn--primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}.btn--ghost{background:0 0;border-color:#0000}.btn--danger{color:var(--danger)}.btn--icon{width:32px;padding:0}.btn[aria-pressed=true]{background:color-mix(in srgb, var(--accent) 25%, var(--bg-elev-2));border-color:var(--accent)}.btn svg{flex:none}.chip-grid{margin-bottom:var(--space-3);flex-wrap:wrap;gap:6px;display:flex}.btn--chip{border-radius:999px;padding:0 12px;font-size:.85rem}.tree-section+.tree-section{margin-top:var(--space-4)}.tree-section__head{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.tree-section__head h3{margin:0;font-size:13px;font-weight:650}.tree{gap:2px;margin:0;padding:0;list-style:none;display:grid}.tree__item{align-items:center;gap:var(--space-1);display:flex}.tree__select{align-items:center;gap:var(--space-2);text-align:left;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #0000;flex:1;min-width:0;min-height:36px;padding:4px 8px;display:flex}.tree__select:hover{background:var(--bg-elev-2)}.tree__select[aria-current=true]{background:color-mix(in srgb, var(--accent) 18%, var(--bg-elev));border-color:color-mix(in srgb, var(--accent) 60%, transparent)}.tree__label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tree__meta{color:var(--text-faint);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-size:12px}.tree__health{font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-size:12px;font-weight:600}.tree__health--ok{color:var(--success)}.tree__health--warning{color:var(--warning)}.tree__health--danger{color:var(--danger)}.tree__icon{color:var(--accent);flex:none}.tree__item--disabled .tree__label{color:var(--text-faint);text-decoration:line-through}.empty{color:var(--text-faint);padding:var(--space-2) 0;margin:0;font-size:13px}.field{margin-bottom:var(--space-3);gap:4px;display:grid}.field__label-row{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.field label,.field__label{color:var(--text);font-size:13px;font-weight:550}.field__hint{color:var(--text-faint);margin:0;font-size:12px}.field__row{gap:var(--space-2);grid-template-columns:minmax(0,1fr) 92px;align-items:center;display:grid}.input,.select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);font-variant-numeric:tabular-nums;width:100%;min-height:32px;padding:4px 8px}.input:hover,.select:hover{border-color:var(--border-strong)}.input[aria-invalid=true]{border-color:var(--danger)}.number-input{position:relative}.number-input .input{text-align:right;padding-right:34px}.number-input__unit{color:var(--text-faint);pointer-events:none;font-size:12px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}input[type=range]{width:100%;accent-color:var(--accent);min-height:24px;margin:0}.switch{align-items:center;gap:var(--space-2);cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:13px;font-weight:550;display:inline-flex}.switch__track{background:var(--border-strong);border-radius:10px;flex:none;width:36px;height:20px;transition:background .12s;position:relative}.switch__thumb{background:var(--bg-elev);border-radius:50%;width:16px;height:16px;transition:transform .12s;position:absolute;top:2px;left:2px}.switch[aria-checked=true] .switch__track{background:var(--accent)}.switch[aria-checked=true] .switch__thumb{transform:translate(16px)}.fieldset{border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-3);margin:0 0 var(--space-3)}.fieldset legend{padding:0 var(--space-1);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:12px;font-weight:700}.grid-2{gap:0 var(--space-3);grid-template-columns:1fr 1fr;display:grid}.health{gap:var(--space-2);margin:0 0 var(--space-3);padding:var(--space-2) var(--space-3);background:var(--bg-elev-2);border:1px solid var(--border);border-radius:var(--radius-sm);display:grid}.health__head{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.health__title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:11px;font-weight:600}.health__value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:15px}.health__value--ok,.health__fill--ok{color:var(--success)}.health__value--warning,.health__fill--warning{color:var(--warning)}.health__value--danger,.health__fill--danger{color:var(--danger)}.health__meter{background:var(--bg-input);border:1px solid var(--border-strong);border-radius:999px;height:8px;overflow:hidden}.health__fill{background:currentColor;height:100%;transition:width .2s ease-out;display:block}.health__status{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:13px;display:flex}.health .btn{justify-self:start}@media (prefers-reduced-motion:reduce){.health__fill{transition:none}}.flooding .readout{margin:0}.flooding__bays{grid-auto-columns:1fr;grid-auto-flow:column;gap:3px;margin:0;padding:0;list-style:none;display:grid}.flooding__bay{background:var(--bg-input);border:1px solid var(--border-strong);border-radius:3px;align-items:flex-end;height:28px;display:flex;position:relative;overflow:hidden}.flooding__water{background:var(--accent);opacity:.8;width:100%;transition:height .2s ease-out;display:block}@media (prefers-reduced-motion:reduce){.flooding__water{transition:none}}.readout{gap:var(--space-2);margin:0 0 var(--space-3);grid-template-columns:repeat(auto-fill,minmax(104px,1fr));display:grid}.readout>div{background:var(--bg-elev-2);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:0;padding:6px 8px}.readout dt{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.readout dd{font-family:var(--font-mono);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0;font-size:14px}.badge{border:1px solid;border-radius:999px;align-items:center;gap:4px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-flex}.badge--warning{color:var(--warning)}.badge--danger{color:var(--danger)}.badge--ok{color:var(--success)}.callout{border:1px solid var(--border);border-left:4px solid var(--warning);background:var(--bg-elev-2);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);margin:0 0 var(--space-3);font-size:13px}.callout--info{border-left-color:var(--accent)}.callout--danger{border-left-color:var(--danger)}.callout ul{margin:4px 0 0;padding-left:18px}.prose p{margin:0 0 var(--space-2);color:var(--text-muted)}.viewport{background:#04070d;min-height:0;position:relative;overflow:hidden}.viewport canvas{touch-action:none;width:100%;height:100%;display:block}.hud{pointer-events:none;padding:var(--space-3);flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:0}.hud>*{pointer-events:auto}.hud__row{justify-content:space-between;align-items:flex-start;gap:var(--space-2);flex-wrap:wrap;display:flex}.hud__card{color:#e6edf7;border-radius:var(--radius);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-variant-numeric:tabular-nums;background:#080e1ac7;border:1px solid #94a3b840;padding:6px 10px;font-size:13px}.hud__stats{gap:var(--space-3);margin:0;display:flex}.hud__stats div{gap:6px;display:flex}.hud__stats dt{color:#a9b6cc}.hud__stats dd{font-family:var(--font-mono);margin:0}.segmented{border-radius:var(--radius-sm);background:#080e1ac7;border:1px solid #94a3b859;display:inline-flex;overflow:hidden}.segmented button{color:#e6edf7;cursor:pointer;background:0 0;border:none;min-height:32px;padding:6px 10px;font-size:13px}.segmented button+button{border-left:1px solid #94a3b840}.segmented button[aria-checked=true]{color:#04263a;background:#38bdf8;font-weight:650}.segmented button:disabled{color:#6b7a93;cursor:not-allowed}.hud__plane{color:#e6edf7;border-radius:var(--radius-sm);cursor:pointer;background:#080e1ac7;border:1px solid #94a3b859;align-items:center;gap:6px;min-height:32px;padding:6px 10px;font-size:13px;display:inline-flex}.hud__plane[aria-pressed=true]{color:#04263a;background:#38bdf8;font-weight:650}.hud__depth{font-variant-numeric:tabular-nums;color:#7dd3fc}.hud__ride{flex-direction:column;gap:2px;display:flex}.hud__ride span{opacity:.75;font-size:12px}@media (max-width:600px){.hud__ride span{display:none}}.hud select{color:#e6edf7;border-radius:var(--radius-sm);background:#080e1ad9;border:1px solid #94a3b859;min-height:32px;padding:0 8px}.hud__corner{align-items:flex-end;gap:var(--space-2);margin-left:auto;display:flex}.minimap{gap:4px;width:236px;padding:6px 8px 8px;display:grid}.minimap__bar{align-items:center;gap:6px;display:flex}.minimap__title{letter-spacing:.04em;text-transform:uppercase;color:#a9b6cc;margin:0;font-size:12px;font-weight:650}.minimap__range{font-family:var(--font-mono);white-space:nowrap;font-size:12px}.minimap__tools{gap:2px;margin-left:auto;display:flex}.minimap__tools button,.minimap__recentre,.minimap__show{color:#e6edf7;border-radius:var(--radius-sm);min-width:24px;min-height:24px;font:inherit;cursor:pointer;background:0 0;border:1px solid #94a3b859;padding:0 4px;font-size:12px}.minimap__tools button:hover,.minimap__recentre:hover{background:#38bdf82e}.minimap__tools button[aria-pressed=true]{color:#04263a;background:#38bdf8}.minimap__tools button:disabled{color:#6b7a93;cursor:not-allowed}.minimap__canvas{cursor:crosshair;touch-action:manipulation;border-radius:50%;justify-self:center;width:210px;height:210px;display:block}.minimap__canvas:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.minimap__foot{justify-content:space-between;align-items:center;gap:4px;display:flex}.minimap__readout{font-family:var(--font-mono);color:#cbd5e1;white-space:nowrap;margin:0;font-size:11px;line-height:1.35;display:grid}.minimap__recentre{white-space:nowrap;padding:0 6px}.minimap__show{background:#080e1ac7;align-items:center;gap:6px;min-height:32px;padding:0 10px;display:inline-flex}.legend{gap:4px;min-width:200px;display:grid}.legend__bar{border-radius:3px;height:10px}.legend__ticks{font-size:11px;font-family:var(--font-mono);justify-content:space-between;display:flex}.viewport__message{padding:var(--space-5);text-align:center;color:#e6edf7;background:radial-gradient(circle at 50% 40%,#13233d,#04070d 70%);place-items:center;display:grid;position:absolute;inset:0}.viewport__message>div{max-width:520px}.spinner{width:28px;height:28px;margin:0 auto var(--space-3);border:3px solid #94a3b84d;border-top-color:#38bdf8;border-radius:50%;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.transport{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.transport__time{font-family:var(--font-mono);font-variant-numeric:tabular-nums;min-width:96px;font-size:15px}.tabs{gap:2px;margin-left:auto;display:flex}.tabs [role=tab]{cursor:pointer;min-height:32px;color:var(--text-muted);background:0 0;border:none;border-bottom:2px solid #0000;padding:6px 10px;font-weight:550}.tabs [role=tab][aria-selected=true]{color:var(--text);border-bottom-color:var(--accent)}.dock__panel{min-height:0;padding:var(--space-2) var(--space-3);flex:1;overflow:auto}.chart{flex-direction:column;height:100%;min-height:160px;margin:0;display:flex}.chart figcaption{color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;gap:2px 12px;margin-bottom:4px;font-size:12px;display:flex}.chart__key{color:var(--text);flex-wrap:wrap;gap:2px 10px;display:flex}.chart__key-item{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.chart__swatch{border-top:2px solid;width:14px;display:inline-block}.chart__swatch--dash{border-top-style:dashed}.chart__plot{flex-direction:column;flex:1;min-height:110px;display:flex;overflow:hidden}.u-legend{flex:none}.charts-row{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));height:100%;display:grid}.data-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}.data-table caption{text-align:left;padding:4px 0 8px;font-weight:650}.data-table th,.data-table td{border-bottom:1px solid var(--border);text-align:right;white-space:nowrap;padding:6px 8px}.data-table th:first-child,.data-table td:first-child{text-align:left}.data-table thead th{color:var(--text-muted);font-size:12px;font-weight:600}.uplot{font-family:var(--font-sans);color:var(--text-muted)}.u-legend{color:var(--text);font-size:12px}.u-legend .u-marker{border-radius:2px}dialog.dialog{border:1px solid var(--border);background:var(--bg-elev);color:var(--text);width:min(760px,100vw - 32px);max-height:min(84vh,900px);box-shadow:var(--shadow);border-radius:12px;padding:0}dialog.dialog::backdrop{background:#02060f99}.dialog__header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);background:var(--bg-elev);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.dialog__header h2{margin:0;font-size:17px}.dialog__body{padding:var(--space-4)}.dialog__body h3{margin:var(--space-4) 0 var(--space-2);font-size:14px}.dialog__body h3:first-child{margin-top:0}kbd{font-family:var(--font-mono);border:1px solid var(--border-strong);background:var(--bg-elev-2);border-bottom-width:2px;border-radius:4px;padding:0 5px;font-size:12px}.preset-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin:0;padding:0;list-style:none;display:grid}.preset-card{text-align:left;width:100%;height:100%;padding:var(--space-3);border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elev-2);cursor:pointer;align-content:start;gap:6px;display:grid}.preset-card:hover{border-color:var(--accent)}.preset-card strong{font-size:14px}.preset-card span{color:var(--text-muted);font-size:13px}.notices{right:var(--space-4);bottom:calc(var(--dock-h) + var(--space-4));gap:var(--space-2);z-index:50;width:min(380px,100vw - 32px);margin:0;padding:0;list-style:none;display:grid;position:fixed}.notice{gap:var(--space-2);background:var(--bg-elev);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);box-shadow:var(--shadow);align-items:flex-start;display:flex}.notice--success{border-left-color:var(--success)}.notice--warning{border-left-color:var(--warning)}.notice--error{border-left-color:var(--danger)}.notice p{flex:1;margin:0}.menu{position:relative}.menu__list{z-index:20;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);min-width:200px;box-shadow:var(--shadow);margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);right:0}.menu__list [role=menuitem]{color:var(--text);text-align:left;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;width:100%;padding:8px 10px;display:block}.menu__list [role=menuitem]:hover,.menu__list [role=menuitem]:focus-visible{background:var(--bg-elev-2)}.mobile-only{display:none!important}.mobile-tabs{display:none}@media (max-width:1280px){.topbar .btn__label{display:none}}@media (max-width:900px){.desktop-only{display:none!important}.mobile-only{display:inline-flex!important}.app{--header-h:52px;height:100%;padding-bottom:env(safe-area-inset-bottom);grid-template:"header""viewport"minmax(220px,50%)"mtabs""panel"minmax(0,1fr)/minmax(0,1fr)}.splitter,.layout-reveal{display:none!important}.topbar{padding:env(safe-area-inset-top) max(var(--space-3), env(safe-area-inset-right)) 0 max(var(--space-3), env(safe-area-inset-left));min-height:var(--header-h);gap:var(--space-2)}.brand span{display:none}.topbar__name{min-width:0}.app__scene.panel,.app__inspector.panel,.app__dock.panel{grid-area:panel;display:none;border-width:0!important}.app[data-mobile-panel=scene] .app__scene.panel,.app[data-mobile-panel=inspector] .app__inspector.panel{display:block}.app[data-mobile-panel=data] .app__dock.panel{display:flex}.mobile-tabs{background:var(--bg-elev);border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-area:mtabs;grid-template-columns:repeat(3,1fr);display:grid}.mobile-tabs [role=tab]{min-height:44px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;font-weight:600}.mobile-tabs [role=tab][aria-selected=true]{color:var(--text);border-bottom-color:var(--accent)}.transport{flex-wrap:wrap}.tabs{grid-template-columns:repeat(4,minmax(0,1fr));width:100%;margin-left:0;display:grid}.tabs [role=tab]{padding:6px 2px;font-size:13px;line-height:1.2}.hud{padding:var(--space-2)}.hud__row{gap:6px}.hud__card{padding:4px 8px;font-size:12px}.legend{min-width:150px}.minimap{width:164px;padding:4px 6px 6px}.minimap__readout{font-size:10px}.minimap__recentre{font-size:11px}.minimap__canvas{width:142px;height:142px}.minimap__range{display:none}.charts-row{grid-template-columns:minmax(0,1fr)}.chart{min-height:200px}.data-table{display:block;overflow-x:auto}.notices{right:var(--space-3);left:var(--space-3);width:auto;bottom:calc(var(--space-3) + env(safe-area-inset-bottom))}dialog.dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 32px)}}@media (max-width:900px) and (orientation:landscape) and (max-height:520px){.app{grid-template:"header header""viewport mtabs""viewport panel"minmax(0,1fr)/minmax(0,1.4fr) minmax(280px,1fr)}}@media (pointer:coarse){.btn,.select,.input,.tree__select,.tabs [role=tab],.segmented button,.hud__plane,.hud select{min-height:44px}.btn--icon{width:44px}.input,.select,.hud select,.topbar__name input{font-size:16px}input[type=range]{min-height:36px}}@media (max-width:900px) and (pointer:coarse){.hud .segmented button,.hud__plane{min-height:32px;padding:2px 8px;font-size:13px}.hud select{min-height:32px;padding:2px 8px;font-size:16px}}
