:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#dce8e7;background:#0e2025;font-synthesis:none;--panel:#12272b;--line:#ffffff18;--muted:#90aaa9;--cyan:#a9d9d1;--amber:#e5bc82;--top:64px;--side:320px}

*{box-sizing:border-box}
body{margin:0;overflow:hidden}
h1,h2,h3,p{margin:0}
button,input,select,textarea{font:inherit}
button,summary{cursor:pointer}
button,input,select,a,summary{-webkit-tap-highlight-color:transparent}
button{transition:background .15s,color .15s;border:0}
button:hover:not(:disabled),summary:hover{background-color:#ffffff12}
button:disabled{opacity:.35;cursor:default}
button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
[hidden]{display:none!important}
input[type=checkbox]{accent-color:var(--cyan);width:16px;height:16px;flex-shrink:0}
input[type=range]{accent-color:var(--cyan);cursor:pointer}
button,input,select{min-height:40px}
.topbar{height:var(--top);padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);background:#102327;position:relative;z-index:12}
.brand{display:flex;align-items:center;gap:12px}
.monogram{font-family:Georgia,serif;font-size:22px;color:#bedbd6;min-width:40px;min-height:40px;display:grid;place-items:center;text-decoration:none;border-radius:7px}.monogram:hover{background:#ffffff12}
.brand h1{font-size:15px;font-weight:550;letter-spacing:.1px}
.brand p{font-size:10px;color:var(--muted);margin-top:4px}
.header-actions{display:flex;align-items:center;gap:10px}
.mode-badge{font-size:10px;color:#afbdab;white-space:nowrap}
.segmented{display:flex;padding:3px;gap:2px;background:#091d2277;border:1px solid var(--line);border-radius:9px}
.segmented button{background:transparent;color:#a8c0bf;border-radius:6px;font-size:12px;padding:0 16px;min-height:34px}
.segmented button.active{background:#bdd8d0;color:#153c3c}
.quiet-button,.icon-button,.text-button,.add-button{background:transparent;color:#c6d9d1;border:1px solid #ffffff26;border-radius:7px;font-size:13px;padding:9px 12px;line-height:1.3}
.icon-button{width:40px;height:40px;padding:0;font-size:19px;display:inline-grid;place-items:center;flex-shrink:0}
.header-actions>.icon-button{border-color:transparent;font-family:Georgia,serif;font-size:17px}
.text-button{border:0;padding:4px 0;min-height:32px;font-size:11px}
.danger-text{color:#e0a89c}
.primary-button{width:100%;background:#b9d8d0;color:#183d3b;border:1px solid #b9d8d0;border-radius:7px;font-size:12px;min-height:42px;padding:10px 12px}
.primary-button:hover:not(:disabled){background:#d1e6df}
.primary-button.placing{background:#ecd0a4;border-color:#ecd0a4}
.eyebrow{font-size:10px;letter-spacing:1.9px;font-weight:500;color:var(--muted)}
main{height:calc(100dvh - var(--top));display:grid;grid-template-columns:var(--side) minmax(0,1fr)}
.panel{min-width:0;overflow:auto;background:var(--panel);border-right:1px solid var(--line);padding:24px 20px;scrollbar-width:thin;scrollbar-color:#446362 transparent}
.panel-closed main{grid-template-columns:minmax(0,1fr)}
.panel-closed .panel{display:none}
.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}
.panel-heading h2{font-family:Georgia,serif;font-weight:400;font-size:25px;letter-spacing:-.3px}
.panel-heading>.icon-button{color:#819d9d;border:0;font-size:23px}
.departure-note{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px}
.departure-note strong{color:#e0c394;font-weight:500}
.departure-note span{color:var(--muted);font-size:9px}
.departure-button{width:100%;margin:12px 0 24px}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.section-heading h3{font-size:13px;font-weight:500;color:#c4d8d3}
.section-heading>span{font-size:10px;color:var(--muted)}
.steps{list-style:none;padding:0;margin:0 0 8px}
.step{margin:3px 0}
.step button{display:flex;align-items:center;gap:11px;width:100%;padding:9px;border:1px solid transparent;background:transparent;border-radius:7px;text-align:left;color:#9eb8b6;min-height:52px}
.step.active button{border-color:#8abeb63b;background:#a0d1c312;color:#e1ede7}
.step-index{display:grid;place-items:center;width:24px;height:24px;font-size:10px;border:1px solid #ffffff24;border-radius:50%;flex-shrink:0}
.step.active .step-index{background:#c5d9c9;border-color:transparent;color:#1d3e39}
.step-label{flex:1;min-width:0}
.step-label strong{display:block;font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .step-label small{display:block;color:#a9c1b7;font-size:11px;margin-top:5px}
.step-time{font-size:10px;color:#8ca5a3;font-variant-numeric:tabular-nums}
.add-button{width:100%;border-style:dashed;color:#8faeaa;font-size:11px}
.panel-section{border:0;border-top:1px solid var(--line);margin:20px 0 0;padding:0;min-width:0}
.panel-section>summary,.coordinates>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;min-height:48px;font-size:12px;color:#aac5bf;gap:8px}
.panel-section>summary::-webkit-details-marker,.coordinates>summary::-webkit-details-marker{display:none}
.panel-section>summary:after,.coordinates>summary:after{content:'+';font-size:17px;color:#7e9e98}
.panel-section[open]>summary:after,.coordinates[open]>summary:after{content:'−'}
.panel-section[open]>summary{margin-bottom:12px}
.field{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#96b2ad;min-width:0}
.field input,.field select,.nudge-heading select,.heading-row>div{width:100%;min-width:0;background:#0e2025;color:#d4e6df;border:1px solid #ffffff25;border-radius:6px;font-size:12px;padding:8px 10px;min-height:38px}
.field-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.heading-row{display:flex;justify-content:space-between;align-items:center;margin:16px 0 10px;font-size:11px;color:#9ebdb8}
.heading-row>div{width:90px;display:flex;gap:6px;align-items:center;padding:0 10px}
.heading-row input{min-width:0;width:100%;background:transparent;border:0;color:#d9e9e3;text-align:right;font-variant-numeric:tabular-nums}
.heading-row span{color:#809d96}
.range{appearance:none;display:block;width:100%;min-height:3px;height:3px;border-radius:8px;background:#3d5d5c;cursor:pointer}
.range::-webkit-slider-thumb{appearance:none;width:12px;height:12px;border-radius:50%;background:#b7d8c8;box-shadow:0 0 0 3px #1c3736}
.nudge-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;color:#9cb6af;margin:20px 0 10px}
.nudge-heading label{display:flex;align-items:center;gap:6px}
.nudge-heading select{width:70px;font-size:11px;padding:5px}
.nudge-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.nudge-controls button{background:#ffffff08;border:1px solid #ffffff20;border-radius:6px;color:#bed3cb;font-size:11px}
.coordinates{margin:12px 0}
.coordinates>summary{font-size:10px;min-height:38px}
.coordinates .field-pair{margin-bottom:12px}
.time-field{flex-direction:row;align-items:center;justify-content:space-between;margin-top:10px;gap:10px}
.time-field input{width:78px}
.confirmation{display:flex;align-items:center;gap:7px;font-size:10px;color:#9cb4ab;margin-top:12px;min-height:32px}
.field-help{font-size:12px;color:#8eaaa3;line-height:1.6;margin-top:10px}
.file-actions,.sim-file-actions{display:flex;gap:8px;margin-top:22px}
.file-actions button,.sim-file-actions button{flex:1;min-width:0;font-size:11px}
.panel-actions{display:flex;justify-content:space-between;margin-top:12px}
.analysis-value{display:block;font-size:22px;font-weight:400;font-variant-numeric:tabular-nums;color:#d0e7da;margin-top:18px}
.contact{color:#efa38a!important}
.analysis-events{list-style:none;padding:0;margin:12px 0;max-height:220px;overflow:auto}
.analysis-events li+li{margin-top:6px}
.analysis-events button{background:#80653a24;border:1px solid #a48c5b35;border-radius:6px;width:100%;text-align:left;padding:10px;color:#dfc492}
.analysis-events strong{display:block;font-size:11px;font-weight:500}
.analysis-events span{display:block;font-size:10px;margin-top:5px;color:#abae96}
.analysis-empty{font-size:10px;line-height:1.6;color:#9eb6ab}
.scene{position:relative;min-width:0;min-height:0;overflow:hidden;background:#1c535a}
#cesiumContainer{position:absolute;inset:0}
.scene-heading{position:absolute;top:26px;left:28px;display:flex;align-items:center;gap:9px;color:#d3e6e0;font-size:12px;pointer-events:none;text-shadow:0 1px 8px #092831}
.location-dot{width:5px;height:5px;border-radius:50%;background:#b2d9c2}
.view-controls{position:absolute;top:18px;right:24px;display:flex;gap:9px;align-items:start}
.view-controls .segmented{background:#143338ed;border-color:#cee0d42b;box-shadow:0 4px 16px #081f2320}
.view-controls .segmented button{padding:0 12px;min-height:36px;font-size:12px}
.layers-menu{position:relative}
.layers-menu>summary{list-style:none;background:#143338ed;border:1px solid #cee0d42b;border-radius:8px;min-height:44px;padding:12px;font-size:12px;color:#b6d3ca}
.layers-menu>summary::-webkit-details-marker{display:none}
.layers-content{position:absolute;right:0;top:50px;width:230px;background:#132d30f7;backdrop-filter:blur(16px);border:1px solid #c3ded126;border-radius:10px;padding:12px 16px;box-shadow:0 12px 38px #07191e45;z-index:6}
.layers-content>label:not(.field){display:flex;align-items:center;gap:9px;min-height:38px;font-size:12px;color:#b9d0c6}
.layers-content>.field{border-top:1px solid var(--line);padding-top:14px;margin-top:8px}
.layers-content .field-help{font-size:9px}
.camera-controls{position:absolute;right:24px;top:78px;display:flex;align-items:center;gap:5px}
.camera-controls>.quiet-button{border:0;min-height:40px;font-size:12px;background:#143338d9;color:#a7c3bc;padding:6px 10px}
.camera-controls>.active{background:#b8d5c7;color:#153a39}
.zoom-controls{display:flex;margin-left:4px;background:#143338d9;border-radius:7px}
.zoom-controls .icon-button{border:0;width:32px;min-height:34px;height:34px;font-size:18px}
.measurements{position:absolute;left:28px;top:75px;display:flex;align-items:start;gap:12px;pointer-events:none;background:#143338e8;backdrop-filter:blur(12px);border:1px solid #cee0d420;border-radius:9px;padding:11px 13px}
.measurement{padding:0}
.measurement>span{display:block;font-size:11px;letter-spacing:.3px;color:#b0cbc2;text-shadow:0 1px 5px #123a3b}
.measurement strong{display:block;font-size:25px;letter-spacing:-.7px;font-weight:400;margin-top:5px;color:#e0efe1;font-variant-numeric:tabular-nums;text-shadow:0 2px 8px #143b3b}
.measurement small{display:block;font-size:10px;color:#9ab8ab;max-width:200px;margin-top:5px;line-height:1.5;text-shadow:0 1px 5px #123a3b}
.depth-unknown{border-left:1px solid #a4c9bd35;padding-left:12px;margin-top:21px;font-size:10px;color:#9db9ae}
.map-meta{position:absolute;left:28px;bottom:134px;pointer-events:none;font-size:11px;color:#a7c7bc;text-shadow:0 1px 5px #143739}
.timeline{position:absolute;bottom:28px;left:28px;right:28px;max-width:760px;margin:auto;padding:13px 18px;background:#112e32ed;backdrop-filter:blur(18px);border:1px solid #c5e2cf30;border-radius:12px;box-shadow:0 12px 40px #06232638}
.timeline-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.timeline-top>strong{font-size:12px;font-weight:500;color:#c8ddd1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.route-summary{font-size:9px;white-space:nowrap;color:#89aaa0}
.transport{display:flex;align-items:center;gap:12px}
.play-button{min-width:40px;height:40px;min-height:40px;border-radius:50%;background:#c1dccb;color:#153e3c;font-size:13px;flex-shrink:0;padding:0 10px}
.transport>.icon-button{border:0;width:26px;font-size:18px}
.transport .range{flex:1;min-width:20px;width:auto;margin:0 3px}
.clock{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;white-space:nowrap;color:#c5ddcd;font-variant-numeric:tabular-nums}
.end-clock{color:#789b90}
.speed-select select{background:transparent;color:#a9ccbc;border:1px solid #a3c8b72b;border-radius:6px;font-size:11px;padding:4px;min-height:34px}
.placement{position:absolute;top:162px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:20px;font-size:12px;padding:8px 16px;background:#e0d4b7;color:#254641;border-radius:8px;z-index:7;max-width:calc(100% - 32px)}
.placement button{background:transparent;color:#425e4e;border-left:1px solid #4c76633a;padding-left:12px;font-size:11px;min-height:32px}
.load-error{position:absolute;top:40%;left:10%;right:10%;background:#233d3d;border:1px solid #cc9f82;border-radius:9px;padding:25px;font-size:13px;line-height:1.6}
.cesium-viewer-bottom{bottom:7px!important;left:14px!important;right:12px!important}
.cesium-widget-credits{font-size:8px!important;color:#9fb7ac!important}
.cesium-widget-credits img{max-width:72px;height:auto}
.cesium-credit-textContainer{font-size:8px!important}
.sim-exit-button{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;font-size:13px;color:#d7e6ce;border:1px solid #89bba54d;background:#b3d1aa0c;border-radius:7px;padding:10px 12px}
.sim-exit-button>span{font-size:10px;color:#8eac9c}
.sim-status{font-size:12px;line-height:1.5;color:#abc7b6;margin:10px 0 20px}
.sim-actuators{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.sim-actuator{min-width:0;border:1px solid #a8c4b526;border-radius:9px;margin:0;padding:11px 10px 9px;background:#ffffff02}
.sim-actuator legend{font-size:12px;color:#b2cbbc;padding:0 4px}
.sim-command-label{font-size:11px;color:#87a99b;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:9px}
.sim-command-label output{font-size:19px;font-weight:400;color:#d6e5cc;font-variant-numeric:tabular-nums}
.sim-command-label input{width:100%;min-width:0;margin:0;min-height:36px;height:36px;accent-color:#b0d1b6}
.sim-angle{display:flex;flex-direction:row;align-items:center;justify-content:space-between;font-size:12px;margin-top:6px;gap:3px}
.sim-angle input{width:60px;padding:5px 3px;min-height:40px;font-size:13px;text-align:center}
.azimuth-dial{width:24px;height:24px;border:1px solid #81ab9b77;border-radius:50%;position:relative;display:block;flex-shrink:0}
.azimuth-dial:after{content:'';position:absolute;left:6px;top:3px;width:10px;height:16px;background:#c5ddbe;clip-path:polygon(50% 0,100% 48%,63% 40%,63% 100%,37% 100%,37% 40%,0 48%);transform:rotate(var(--azimuth,0deg));transform-origin:50% 58%}
.sim-actual{font-size:11px;color:#a0bdad;margin-top:8px;font-variant-numeric:tabular-nums;white-space:nowrap}
.sim-wide{width:100%;margin-top:10px}
.sim-settings{display:grid;gap:14px;border:0;padding:0;margin:0;min-width:0}
.sim-settings:disabled{opacity:.55}
.sim-model textarea,.import-text-field textarea{width:100%;border:1px solid #92b5a63b;border-radius:6px;padding:10px;background:#0e2025;color:#c7dbca;font:11px/1.5 ui-monospace,monospace;resize:vertical;margin-top:10px}
.sim-model summary{font-size:11px}
.sim-review{display:grid;grid-template-columns:1fr 1fr;gap:16px 10px;font-size:10px;color:#7fa18d}
.sim-review strong{display:block;font-size:19px;font-weight:400;color:#c8dec5;margin-top:5px;font-variant-numeric:tabular-nums}
.sim-review small{grid-column:1/-1;font-size:9px;line-height:1.5}
.sim-hud-values{display:flex;align-items:center;gap:18px}
.sim-hud-values>div{flex:1;min-width:0}
.sim-hud-values>div>span{display:block;font-size:10px;letter-spacing:1px;color:#8bad9d}
.sim-hud-values strong{font-size:18px;font-weight:400;color:#d0e3cb;display:block;margin-top:5px;white-space:nowrap;font-variant-numeric:tabular-nums}
.sim-hud .play-button{border-radius:7px;min-width:92px;font-size:12px}
.timeline-note{font-size:11px;line-height:1.5;color:#a2b59f;margin-top:9px}
.timeline-note:empty{display:none}
dialog{background:#152e30;color:#b4cabc;border:1px solid #a8cab43a;border-radius:14px;padding:24px 28px;max-width:610px;width:calc(100% - 28px);max-height:85dvh;box-shadow:0 25px 100px #061c20a0}
dialog::backdrop{background:#061b22a6;backdrop-filter:blur(6px)}
.dialog-header{display:flex;justify-content:space-between;align-items:center}
.dialog-header button{min-width:36px}
dialog h2{font-family:Georgia,serif;font-weight:400;font-size:26px;color:#e0e8d5;margin:16px 0}
dialog p{font-size:12px;line-height:1.7}
.source-row{display:grid;grid-template-columns:80px 1fr;gap:12px;border-top:1px solid var(--line);padding:15px 0}
.source-row:first-of-type{margin-top:20px}
.source-row strong{font-size:11px;font-weight:500;color:#b3d0ba}
.source-row p{font-size:11px}
.source-links{display:flex;flex-wrap:wrap;gap:8px 14px;border-top:1px solid var(--line);padding-top:15px}
.source-links a{color:#a8d0b5;font-size:10px}
.dialog-bottom{color:#7e9e8d;font-size:10px;margin-top:14px}
.import-file-field,.import-text-field{margin-top:18px}
.import-file-field input{font-size:11px;max-width:100%;padding:8px}
.import-error{color:#e0ac8e;font-size:11px;line-height:1.6;margin:10px 0}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:30;padding:12px 20px;border-radius:9px;background:#d4e2cd;color:#294b3d;box-shadow:0 8px 25px #09222655;font-size:12px;line-height:1.5;max-width:min(540px,90vw)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}

@media(min-width:1600px){:root{--side:320px}
.panel{padding:28px 24px}
}

@media(max-width:1100px){.mode-badge{display:none}
.topbar{padding:0 18px;gap:14px}
.scene-heading{left:22px;font-size:11px}
.measurements{left:22px}
.view-controls,.camera-controls{right:18px}
.timeline{left:18px;right:18px}
.sim-hud-values{gap:12px}
.sim-hud-values strong{font-size:13px}
.map-meta{left:22px}
}

.header-actions #toggle-workshop[aria-expanded=true]{border-color:#a3c8b74d;color:#d1e3d3}

@media(max-width:760px){
:root{--top:60px}
.topbar{padding:0 12px;gap:8px}
.brand{gap:4px}
.monogram{display:grid;min-width:36px;min-height:40px}
.brand h1{font-size:12px}
.brand p{font-size:9px;margin-top:3px}

.workflow-tabs{gap:0;padding:2px}
.workflow-tabs button{min-height:34px;padding:0 9px;font-size:11px}
.header-actions{gap:2px}
.header-actions>.quiet-button{font-size:11px;padding:6px 8px;min-height:38px}
.header-actions>.icon-button{width:28px;min-height:38px;height:38px}
.header-actions .mode-badge{display:none}

main,.panel-closed main{display:block;height:calc(100dvh - var(--top))}
.scene{height:100%}

.panel{position:absolute;z-index:9;top:auto;left:10px;right:10px;bottom:126px;width:auto;max-height:46dvh;padding:14px 16px;overflow:auto;border:1px solid #a3c4af36;border-radius:14px;background:#12282bf7;backdrop-filter:blur(20px);box-shadow:0 18px 70px #071b2366}

.panel-heading{margin-bottom:10px;min-height:24px}
.simulating .panel-heading{height:0;min-height:0;margin:0}.simulating .panel-heading>div{display:none}.simulating .panel-heading>.icon-button{position:absolute;right:12px;top:9px}
.panel-heading .eyebrow{display:none}
.panel-heading h2{font:500 13px Inter,ui-sans-serif,sans-serif;margin:0}
.panel-heading>.icon-button{height:28px;min-height:28px;width:28px;font-size:21px}

#simulation-panel{display:flex;flex-direction:column}
#simulation-panel>section{order:0}
#simulation-panel>.sim-status{order:-1;margin:0 32px 10px 0;font-size:11px}
#simulation-panel>.sim-exit-button{order:1;margin-top:16px}
#simulation-panel>details{order:2}

.sim-actuators{gap:8px}
.sim-actuator{padding:7px 10px}
.sim-command-label{font-size:10px}
.sim-command-label input{min-height:36px;height:36px}
.sim-angle{margin-top:2px}
.sim-actual{margin-top:4px}
.sim-actuator legend{font-size:12px}
.sim-actuator input{font-size:12px}
.panel .section-heading{margin-bottom:7px}
.panel-section{margin-top:14px}

.scene-heading{top:21px;left:18px;font-size:11px}
.location-dot{width:4px;height:4px}
.view-controls{top:12px;right:12px;gap:6px}
.view-controls .segmented button{padding:0 10px;min-height:34px}
.layers-menu>summary{padding:12px 9px;font-size:11px}
.camera-controls{top:66px;right:12px;gap:3px}
.camera-controls>.quiet-button{font-size:11px;padding:6px 9px;min-height:40px}
.zoom-controls{display:none}

.measurements{top:62px;left:16px;padding:9px 11px}
.measurement strong{font-size:23px}
.measurement small{max-width:166px;font-size:10px}
.measurement>span{font-size:10px}
.depth-unknown{display:none}
.map-meta{left:18px;bottom:133px;font-size:10px}

.timeline{left:12px;right:12px;bottom:28px;padding:12px;border-radius:10px}
.timeline-top{margin-bottom:9px}
.timeline-top>strong{font-size:10px}
.route-summary{font-size:8px}
.transport{gap:8px}
.transport>.icon-button{width:24px}
.clock{font-size:9px}
.end-clock{display:none}
.transport .range{min-width:15px}
.play-button{height:38px;min-height:38px;min-width:38px}
.speed-select select{font-size:10px;min-height:36px}

.sim-hud-values{gap:8px}
.sim-hud .play-button{min-width:74px;font-size:12px;padding:0 8px}
.sim-hud-values strong{font-size:14px}
.sim-hud-values>div>span{font-size:9px}
.sim-hud-values .clock{font-size:11px}
.sim-hud .speed-select select{max-width:48px}
.timeline-note{font-size:10px}

.placement{top:135px;font-size:10px;gap:10px;padding:6px 10px;white-space:nowrap}
.layers-content{width:224px}
.cesium-viewer-bottom{left:12px!important;bottom:5px!important}
.cesium-widget-credits{font-size:7px!important}
.cesium-widget-credits img{max-width:58px}
.source-row{grid-template-columns:62px 1fr;gap:8px}
.source-row p{font-size:10px}
dialog{padding:20px}
.toast{bottom:140px;font-size:11px}

}

@media(max-width:360px){
.brand>div{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.sim-actuator{padding:5px 8px}.sim-command-label{gap:5px}.sim-actuator legend{font-size:11px}.sim-actual{font-size:10px;margin-top:2px}.sim-angle input{min-height:36px}
.sim-hud-values{gap:5px}.sim-hud .play-button{min-width:64px;padding:0 6px;font-size:11px}.sim-hud-values>.clock{font-size:10px}.sim-hud-values>div{flex:0 0 auto;min-width:48px}.sim-hud-values>div+div{min-width:60px}.sim-hud-values strong{font-size:12px}.sim-hud-values .speed-select{margin-left:auto}.sim-hud .speed-select select{max-width:40px;font-size:10px;padding:4px 0}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}
}


.scene-loading{position:absolute;inset:0;z-index:8;display:flex;justify-content:center;align-items:center;gap:12px;background:#183d43;color:#b9d5cb;font-size:13px}.loading-ring{width:19px;height:19px;border:1px solid #92b6a54d;border-top-color:#c8dfca;border-radius:50%;animation:sg-loading 1s linear infinite}.load-error{z-index:9}@keyframes sg-loading{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.loading-ring{animation:none}}
