:root{--color-page:#07151d;--color-text:#f3f7f8;--color-text-muted:#a9bac2;--color-panel:#0d2029;--color-panel-border:#2d5360;--color-sky:#9ec8d0;--color-light:#fff6dd;--color-water:#0b5b70;--color-water-detail:#83c7d1;--color-hull:#f3ede1;--color-deck:#c8924b;--color-window:#183a47;--color-roof:#e7e2d7;--color-stripe:#273e49;--color-shadow:#032f3b;--color-dock:#a18a6f;--color-dock-fascia:#57483c;--color-dock-cap:#cfb58d;--color-piling:#4a3c33;--color-fender:#1c2730;--color-wake:#b9e5e7;--color-ghost:#7de4ed;--color-force-arrow:#ffb24a;--color-pivot-marker:#ff4f91;--color-line:#f2dcab;--color-line-strain:#ff8b3d;--color-line-snap:#fff5d6;--color-chart-symbol:#d8f0ec;--color-chart-current:#68d6e2;--opacity-water-detail:.14;--opacity-ghost:.42;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--radius-sm:.3rem;--radius-md:.6rem;--radius-lg:.85rem;--font-sans:Inter, ui-sans-serif, system-ui, sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace}*{box-sizing:border-box}html,body,#app{width:100%;min-width:100%;min-height:100%;margin:0}body{background:var(--color-page);color:var(--color-text);font-family:var(--font-sans)}.app-shell{width:100vw;height:100dvh;position:relative;overflow:hidden}.scene-host,.scene-host canvas{width:100%;height:100%;display:block}.chart-furniture{top:5.75rem;right:var(--space-6);z-index:1;justify-items:end;gap:var(--space-3);color:var(--color-chart-symbol);pointer-events:none;filter:drop-shadow(0 .1rem .15rem #00000059);display:grid;position:absolute}.chart-furniture[hidden]{display:none}.chart-north{font:700 .625rem var(--font-mono);letter-spacing:.08em;justify-items:center;display:grid}.chart-north span{transform-origin:50%;font-size:1.45rem;line-height:1;display:block}.chart-scale{justify-items:end;gap:var(--space-1);font:700 .625rem var(--font-mono);display:grid}.chart-scale span{border-bottom:2px solid;border-left:1px solid;border-right:1px solid;min-width:1.5rem;height:.4rem;display:block}.app-title{top:var(--space-6);left:var(--space-6);z-index:2;width:22rem;max-height:calc(100dvh - 2 * var(--space-6));padding:var(--space-3) var(--space-4);border:1px solid var(--color-panel-border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-panel) 88%, transparent);margin:0;position:absolute;overflow:auto;box-shadow:0 .5rem 1.25rem #0003}.app-title h1,.app-title p{margin:0}.app-title-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.mobile-setup-toggle{align-items:center;gap:var(--space-1);min-width:2.75rem;min-height:2.75rem;padding:var(--space-2);border:1px solid var(--color-panel-border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-page) 86%, transparent);color:var(--color-text);cursor:pointer;font:700 .6875rem var(--font-sans);grid-template-columns:auto auto;display:grid}.hud-details-toggle{display:none}.app-title[data-mobile-setup=closed]{width:auto;padding:var(--space-1);border-color:color-mix(in srgb, var(--color-wake) 60%, transparent);background:color-mix(in srgb, var(--color-panel) 76%, transparent);overflow:visible}.app-title[data-mobile-setup=closed] .about-disclosure,.app-title[data-mobile-setup=closed] .setup-panel{display:none}.app-title[data-mobile-setup=closed] .mobile-setup-toggle{background:0 0;border-color:#0000}.app-title[data-mobile-setup=open]~.hud,.app-title[data-mobile-setup=open]~.active-level-card{opacity:0;pointer-events:none}.setup-panel{gap:var(--space-2);margin-top:var(--space-2);display:grid}.setup-panel .controls-help,.setup-panel .curriculum,.setup-panel .lines-panel,.setup-panel .drivetrain-hud{width:auto;min-width:0;padding:var(--space-3);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-page) 72%, transparent);box-shadow:none;position:static;transform:none}.app-title h1{letter-spacing:.08em;text-transform:uppercase;font-size:1rem}.app-title p{margin-top:var(--space-1);color:var(--color-text-muted);font-size:.8125rem}.about-disclosure{margin-top:var(--space-2);color:var(--color-text-muted);font-size:.6875rem}.about-disclosure summary{color:var(--color-wake);cursor:pointer;font-weight:700}.about-disclosure div{gap:var(--space-1);margin-top:var(--space-2);display:grid}.about-disclosure p{margin:0}.about-disclosure output{color:var(--color-text);font-family:var(--font-mono)}.marina-controls button,.wind-controls button,.boat-controls button,.camera-controls button,.top-down-mode-controls button,.coach-controls button,.audio-controls button,.debug-controls button,.mode-controls button,.touch-toggle-controls button{margin-top:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-wake);border-radius:var(--radius-sm);background:var(--color-water);color:var(--color-text);cursor:pointer;font-family:var(--font-sans);font-size:.75rem;font-weight:700;display:block}.marina-editor button{padding:var(--space-2) var(--space-3);border:1px solid var(--color-panel-border);border-radius:var(--radius-sm);background:var(--color-page);color:var(--color-text);cursor:pointer;font:700 .6875rem var(--font-sans)}.marina-controls button:hover,.marina-controls button:focus-visible,.marina-controls button[aria-pressed=true],.wind-controls button:hover,.wind-controls button:focus-visible,.wind-controls button[aria-pressed=true],.boat-controls button:hover,.boat-controls button:focus-visible,.boat-controls button[aria-pressed=true],.camera-controls button:hover,.camera-controls button:focus-visible,.camera-controls button[aria-pressed=true],.top-down-mode-controls button:hover,.top-down-mode-controls button:focus-visible,.top-down-mode-controls button[aria-pressed=true],.coach-controls button:hover,.coach-controls button:focus-visible,.coach-controls button[aria-pressed=true],.audio-controls button:hover,.audio-controls button:focus-visible,.audio-controls button[aria-pressed=true],.debug-controls button:hover:not(:disabled),.debug-controls button:focus-visible,.debug-controls button[aria-pressed=true],.mode-controls button:hover,.mode-controls button:focus-visible,.mode-controls button[aria-pressed=true],.touch-toggle-controls button:hover,.touch-toggle-controls button:focus-visible,.touch-toggle-controls button[aria-pressed=true]{background:var(--color-panel-border)}.marina-editor button:hover,.marina-editor button:focus-visible,.marina-editor button[aria-pressed=true]{border-color:var(--color-wake);background:var(--color-panel-border)}.marina-editor button:disabled{cursor:not-allowed;opacity:.45}.marina-controls,.wind-controls,.boat-controls,.camera-controls,.top-down-mode-controls,.coach-controls,.audio-controls,.debug-controls,.mode-controls,.touch-toggle-controls{gap:var(--space-1);margin-top:var(--space-2);grid-template-columns:repeat(3,1fr);display:grid}.marina-editor{top:var(--space-6);right:var(--space-6);z-index:4;gap:var(--space-2);width:min(27rem,100vw - 2rem);max-height:calc(100dvh - 2 * var(--space-6));padding:var(--space-4);border:1px solid var(--color-wake);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--color-panel) 96%, transparent);display:grid;position:absolute;overflow:auto;box-shadow:0 1rem 3rem #00000059}.marina-editor[hidden]{display:none}.marina-editor-heading{justify-content:space-between;align-items:start;gap:var(--space-3);display:flex}.marina-editor h2,.marina-editor h3,.marina-editor p{margin:0}.marina-editor h2{margin-top:var(--space-1);font-size:1rem}.marina-editor h3{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.6875rem}.marina-editor-name,.marina-editor-share label{gap:var(--space-1);color:var(--color-text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.6875rem;font-weight:700;display:grid}.marina-editor input,.marina-editor textarea{border:1px solid var(--color-panel-border);border-radius:var(--radius-sm);background:var(--color-page);width:100%;color:var(--color-text);font:.75rem var(--font-mono)}.marina-editor input{min-height:2.5rem;padding:var(--space-2)}.marina-editor textarea{min-height:3.5rem;padding:var(--space-2);resize:vertical}.marina-editor-instructions,.marina-editor-share p{color:var(--color-text-muted);font-size:.75rem;line-height:1.35}.marina-editor-tools,.marina-editor-actions{gap:var(--space-1);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.marina-editor-validation,.marina-editor-share{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-panel-border);border-radius:var(--radius-sm);background:var(--color-page);display:grid}.marina-editor-validation ul{gap:var(--space-1);color:var(--color-text-muted);margin:0;padding-left:1rem;font-size:.75rem;line-height:1.35;display:grid}.marina-editor-message{min-height:1rem;color:var(--color-wake);font:.6875rem var(--font-mono)}.marina-editor-delete{border-color:var(--color-pivot-marker)!important;color:var(--color-pivot-marker)!important}.scene-host[data-editor-open=true] canvas{cursor:crosshair;touch-action:none}.scene-host[data-editor-open=true]~.app-title,.scene-host[data-editor-open=true]~.hud,.scene-host[data-editor-open=true]~.pause-banner,.scene-host[data-editor-open=true]~.controls-help,.scene-host[data-editor-open=true]~.curriculum,.scene-host[data-editor-open=true]~.coach-guidance{display:none}.marina-controls button,.wind-controls button,.boat-controls button,.camera-controls button,.top-down-mode-controls button,.coach-controls button,.audio-controls button,.debug-controls button,.mode-controls button,.touch-toggle-controls button{padding:var(--space-1) var(--space-2);border-color:var(--color-panel-border);background:var(--color-page);margin:0;font-size:.6875rem}.boat-controls,.marina-controls,.mode-controls,.top-down-mode-controls{grid-template-columns:repeat(3,1fr)}.coach-controls,.audio-controls,.touch-toggle-controls{grid-template-columns:1fr}.debug-controls{grid-template-columns:repeat(2,1fr)}.debug-controls button:disabled{cursor:not-allowed;opacity:.45}.debug-controls output{color:var(--color-text-muted);font-family:var(--font-mono);text-align:center;grid-column:1/-1;font-size:.625rem}.challenge-controls{gap:var(--space-1);margin-top:var(--space-2);display:grid}.challenge-controls label,.challenge-controls output,.challenge-share output{color:var(--color-text-muted);font-size:.625rem}.challenge-controls textarea,.challenge-share textarea{resize:vertical;border:1px solid var(--color-panel-border);border-radius:var(--radius-sm);background:var(--color-page);width:100%;color:var(--color-text);font:.625rem/1.35 var(--font-mono)}.challenge-controls button{min-height:2rem;padding:var(--space-1) var(--space-2);border:1px solid var(--color-panel-border);border-radius:var(--radius-sm);background:var(--color-page);color:var(--color-text);cursor:pointer;font:700 .6875rem var(--font-sans)}.challenge-controls button:hover,.challenge-controls button:focus-visible{background:var(--color-panel-border)}.mode-controls[hidden],.top-down-mode-controls[hidden]{display:none}.touch-controls{right:max(var(--space-6), env(safe-area-inset-right));bottom:max(var(--space-6), env(safe-area-inset-bottom));left:max(var(--space-6), env(safe-area-inset-left));z-index:2;pointer-events:none;position:absolute}.touch-controls[hidden]{display:none}.touch-direct,.touch-docking{justify-content:space-between;align-items:flex-end;gap:var(--space-4);display:flex}.touch-direct[hidden],.touch-docking[hidden]{display:none}.touch-left-cluster,.touch-helm,.touch-pad,.touch-yaw,.touch-thrusters{pointer-events:auto}.touch-left-cluster{align-items:end;gap:var(--space-2);grid-template-columns:auto auto;display:grid}.touch-throttle{position:relative}.touch-control,.touch-thrusters button{color:var(--color-text);touch-action:none;-webkit-user-select:none;user-select:none}.touch-control{--touch-offset:0%;align-items:center;gap:var(--space-1);padding:var(--space-2);border:1px solid var(--color-wake);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-panel) 94%, transparent);outline-offset:.2rem;display:grid;position:relative;box-shadow:0 .5rem 1.25rem #0000004d}.touch-control:focus-visible,.touch-thrusters button:focus-visible{outline:2px solid var(--color-force-arrow)}.touch-control-label{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.625rem;font-weight:700}.touch-track{border:1px solid var(--color-panel-border);border-radius:var(--radius-lg);background:var(--color-page);display:block;position:relative;overflow:hidden}.touch-thumb,.touch-pad-thumb{border:2px solid var(--color-page);background:var(--color-wake);border-radius:50%;width:1.35rem;height:1.35rem;display:block;position:absolute;box-shadow:0 .15rem .4rem #00000073}.touch-lever{grid-row:span 2;grid-template-rows:auto 8rem auto;justify-items:center;min-width:4.25rem}.touch-lever .touch-track{width:1.9rem;height:8rem}.touch-lever .touch-track:before,.touch-helm .touch-track:before,.touch-yaw .touch-track:before{background:var(--color-panel-border);content:"";height:1px;position:absolute;top:50%;left:0;right:0}.touch-lever .touch-thumb{top:calc(50% + var(--touch-offset));left:50%;transform:translate(-50%,-50%)}.touch-gear{pointer-events:none;border:1px solid var(--color-panel-border);border-radius:var(--radius-sm);background:var(--color-page);min-width:2.6rem;min-height:2.6rem;color:var(--color-wake);font:700 .875rem var(--font-mono);place-items:center;display:grid}.touch-thrusters{gap:var(--space-1);display:grid}.touch-thruster-label{color:var(--color-text-muted);letter-spacing:.08em;text-align:center;text-transform:uppercase;font-size:.625rem;font-weight:700}.touch-thruster-arrow{font:1rem/1 var(--font-mono)}.touch-thrusters button{border:1px solid var(--color-panel-border);border-radius:var(--radius-sm);background:var(--color-page);min-width:3rem;min-height:2.75rem;font:700 .6875rem var(--font-sans)}.touch-thrusters button[aria-pressed=true]{border-color:var(--color-force-arrow);background:var(--color-water)}.touch-helm,.touch-yaw{grid-template-columns:auto 10rem auto;min-height:4.25rem}.touch-helm .touch-track,.touch-yaw .touch-track{width:10rem;height:1.9rem}.touch-helm .touch-thumb,.touch-yaw .touch-thumb{top:50%;left:calc(50% + var(--touch-offset));transform:translate(-50%,-50%)}.touch-pad{--touch-surge-offset:0%;--touch-sway-offset:0%;border:1px solid var(--color-wake);border-radius:var(--radius-md);background:linear-gradient(var(--color-panel-border), var(--color-panel-border)) center / 1px 100% no-repeat, linear-gradient(90deg, var(--color-panel-border), var(--color-panel-border)) center / 100% 1px no-repeat, color-mix(in srgb, var(--color-panel) 94%, transparent);width:9.5rem;height:9.5rem;display:block;box-shadow:0 .5rem 1.25rem #0000004d}.touch-pad-thumb{top:calc(50% + var(--touch-surge-offset));left:calc(50% + var(--touch-sway-offset));transform:translate(-50%,-50%)}.touch-pad-axis{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.625rem;font-weight:700;position:absolute}.touch-pad-ahead,.touch-pad-astern{left:50%;transform:translate(-50%)}.touch-pad-ahead{top:var(--space-2)}.touch-pad-astern{bottom:var(--space-2)}.touch-pad-port,.touch-pad-starboard{top:50%;transform:translateY(-50%)}.touch-pad-port{left:var(--space-2)}.touch-pad-starboard{right:var(--space-2)}.hud{top:var(--space-4);z-index:1;gap:var(--space-1);width:auto;min-width:0;padding:var(--space-2);border:1px solid var(--color-panel-border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-panel) 88%, transparent);grid-template-columns:repeat(8,minmax(4.25rem,1fr));display:grid;position:absolute;left:15.5rem;right:12rem;transform:none;box-shadow:0 .5rem 1.25rem #0003}.hud-readout{min-height:2.5rem;padding:var(--space-1) var(--space-2);border:1px solid var(--color-panel-border);border-radius:var(--radius-sm);background:var(--color-page);grid-template-columns:1fr;align-content:center;gap:.1rem;display:grid}.hud-readout output{color:var(--color-text);font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:left;font-size:.875rem}.hud-label{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.6875rem;font-weight:700}.hud-readout-compact output{text-align:left;min-width:1.5rem}.hud-wind,.hud-current{grid-template-columns:auto 1fr}.hud-wind .hud-label,.hud-current .hud-label{grid-column:1/-1}.drivetrain-hud{gap:var(--space-2);grid-column:1/-1;grid-template-columns:repeat(3,1fr);display:grid}.setup-panel .drivetrain-hud{grid-template-columns:repeat(3,minmax(0,1fr))}.active-level-card{bottom:var(--space-6);left:var(--space-6);z-index:1;gap:var(--space-2);width:20rem;padding:var(--space-3) var(--space-4);border:1px solid var(--color-panel-border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-panel) 88%, transparent);display:grid;position:absolute;box-shadow:0 .5rem 1.25rem #0003}.active-level-summary p,.active-level-summary h2,.active-level-summary small{margin:0;display:block}.active-level-summary p{color:var(--color-force-arrow);letter-spacing:.1em;text-transform:uppercase;font-size:.625rem;font-weight:700}.active-level-summary h2{margin-top:var(--space-1);font-size:.875rem}.active-level-summary small{margin-top:var(--space-1);color:var(--color-text-muted);font-size:.6875rem}.drivetrain-hud[hidden]{display:none}.drivetrain-hud .hud-readout{grid-template-columns:1fr}.drivetrain-hud .hud-readout output{text-align:left}.wind-telltale,.current-indicator{color:var(--color-wake);font-family:var(--font-mono);transform-origin:50%;display:inline-block}.controls-help{bottom:var(--space-6);left:var(--space-6);z-index:1;width:18rem;padding:var(--space-3) var(--space-4);border:1px solid var(--color-panel-border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-panel) 88%, transparent);position:absolute;box-shadow:0 .5rem 1.25rem #0003}.controls-help h2{margin:0 0 var(--space-2);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem}.controls-help dl{gap:var(--space-1);margin:0;display:grid}.controls-help dl div{align-items:center;gap:var(--space-2);grid-template-columns:4.5rem 1fr;display:grid}.controls-help [hidden]{display:none}.controls-help dt,.controls-help dd{margin:0}.controls-help dt{color:var(--color-text-muted);font-size:.75rem}.controls-help dd{color:var(--color-text);text-align:right;font-size:.75rem}.controls-help kbd{min-width:1.4rem;padding:var(--space-1);border:1px solid var(--color-panel-border);border-radius:var(--radius-sm);background:var(--color-page);font-family:var(--font-mono);text-align:center;font-size:.6875rem;line-height:1;display:inline-block}.steering-legend dd,.coach-legend dd{justify-content:flex-end;align-items:center;gap:var(--space-1);display:flex}.force-swatch{border-radius:var(--radius-sm);background:var(--color-force-arrow);width:.8rem;height:.15rem}.pivot-swatch{border:.15rem solid var(--color-pivot-marker);border-radius:50%;width:.55rem;height:.55rem}.command-vector,.actual-vector{border-radius:var(--radius-sm);width:1rem;height:.15rem;display:inline-block}.command-vector{background:var(--color-wake);opacity:.45}.actual-vector{background:var(--color-deck)}.pause-banner{z-index:2;padding:var(--space-3) var(--space-6);border:1px solid var(--color-panel-border);border-radius:var(--radius-lg);background:var(--color-panel);letter-spacing:.12em;text-transform:uppercase;font-size:1rem;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 .5rem 1.25rem #0003}.pause-banner[hidden]{display:none}.curriculum{right:var(--space-6);bottom:var(--space-6);z-index:1;width:18rem;padding:var(--space-3) var(--space-4);border:1px solid var(--color-panel-border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-panel) 88%, transparent);position:absolute;box-shadow:0 .5rem 1.25rem #0003}.coach-guidance{padding-top:var(--space-2);border-top:1px solid var(--color-force-arrow)}.coach-guidance[hidden]{display:none}.coach-guidance-heading{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.coach-guidance h2,.coach-guidance p{margin:0}.lines-panel{bottom:var(--space-6);z-index:2;gap:var(--space-2);width:18rem;min-width:18rem;padding:var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-panel) 92%, transparent);display:grid;position:absolute;left:55%;transform:translate(-50%);box-shadow:0 .5rem 1.25rem #0003}.lines-panel[hidden]{display:none}.lines-panel-heading{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.lines-panel h2,.lines-panel p{margin:0}.lines-panel h2{color:var(--color-line);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem}.lines-panel-heading output,.line-readout output{font:700 .6875rem var(--font-mono)}.lines-panel p{color:var(--color-text-muted);font-size:.6875rem;line-height:1.3}.line-cleats,.reachable-bollards,.line-actions{gap:var(--space-1);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.lines-panel button{min-height:2rem;padding:var(--space-1) var(--space-2);border:1px solid var(--color-panel-border);border-radius:var(--radius-sm);background:var(--color-page);color:var(--color-text);cursor:pointer;font:700 .625rem var(--font-sans);touch-action:none}.lines-panel button:hover,.lines-panel button:focus-visible,.lines-panel button[aria-pressed=true]{border-color:var(--color-line);background:var(--color-panel-border)}.lines-panel button:disabled{cursor:not-allowed;opacity:.4}.reachable-bollards:empty{display:none}.reachable-bollards button{border-color:var(--color-line)}.active-lines{gap:var(--space-1);display:grid}.active-line{gap:var(--space-1) var(--space-2);padding:var(--space-1);border:1px solid var(--color-panel-border);border-radius:var(--radius-sm);background:var(--color-page);grid-template-columns:1fr auto;display:grid}.active-line[data-strain=loaded]{border-color:var(--color-line-strain)}.active-line[data-strain=near]{border-color:var(--color-line-snap);box-shadow:0 0 0 .12rem color-mix(in srgb, var(--color-line-snap) 25%, transparent)}.line-readout{align-items:center;gap:.1rem;min-width:5.5rem;display:grid}.line-readout output{text-align:right}.line-readout meter{width:100%;height:.35rem;accent-color:var(--color-line-strain)}.line-actions{grid-column:1/-1}.coach-guidance h2{color:var(--color-force-arrow);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem}.coach-guidance-heading span{color:var(--color-text-muted);font:.6875rem var(--font-mono);text-align:right}.coach-guidance p{margin-top:var(--space-2);font-size:.8125rem;line-height:1.35}.curriculum h2,.curriculum p{margin:0}.curriculum h2{letter-spacing:.08em;text-transform:uppercase;font-size:.75rem}.curriculum p{margin-top:var(--space-1);color:var(--color-text-muted);font-size:.6875rem}.curriculum ol{gap:var(--space-1);margin:var(--space-2) 0 0;padding:0;list-style:none;display:grid}.curriculum button{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2);border:1px solid var(--color-panel-border);border-radius:var(--radius-sm);background:var(--color-page);color:var(--color-text);cursor:pointer;font-family:var(--font-sans);text-align:left;grid-template-columns:auto 1fr auto;display:grid}.curriculum button:hover,.curriculum button:focus-visible,.curriculum button[aria-pressed=true]{border-color:var(--color-wake);background:var(--color-panel-border)}.curriculum button[data-first-run-nudge=true]{border-color:var(--color-force-arrow);animation:1.6s ease-in-out infinite first-level-nudge;box-shadow:0 0 0 .2rem #ffb24a40}@keyframes first-level-nudge{50%{box-shadow:0 0 0 .45rem #ffb24a0d}}@media (prefers-reduced-motion:reduce){.curriculum button[data-first-run-nudge=true]{animation:none}}.curriculum button strong,.curriculum button small{display:block}.curriculum button strong{font-size:.75rem}.curriculum button small{color:var(--color-text-muted);margin-top:.1rem;font-size:.625rem}.level-number{background:var(--color-water);width:1.5rem;height:1.5rem;font:700 .6875rem var(--font-mono);border-radius:50%;place-items:center;display:grid}.level-status{color:var(--color-text-muted);font-size:.625rem;font-weight:700}.level-status.is-complete{color:var(--color-wake)}.results-card{z-index:3;width:min(24rem,100vw - 2rem);padding:var(--space-6);border:1px solid var(--color-wake);border-radius:var(--radius-lg);background:var(--color-panel);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 1rem 3rem #00000059}.results-card:has(.results-debrief[open]){top:var(--space-4);width:min(42rem,100vw - 2rem);max-height:calc(100dvh - 2 * var(--space-4));overflow:auto;transform:translate(-50%)}.results-card[hidden]{display:none}.results-card h2,.results-kicker,.results-card dl{margin:0}.results-card h2{margin-bottom:var(--space-4);font-size:1.25rem}.results-kicker{color:var(--color-wake);letter-spacing:.1em;text-transform:uppercase;font-size:.6875rem;font-weight:700}.results-card dl{gap:var(--space-2);display:grid}.results-card dl>div,.results-overall{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-panel-border);border-radius:var(--radius-sm);background:var(--color-page);grid-template-columns:1fr auto;display:grid}.results-card dt,.results-card dd{margin:0}.results-card dt,.results-overall span{color:var(--color-text-muted);font-size:.75rem}.results-card dd{align-items:center;gap:var(--space-3);font-family:var(--font-mono);font-size:.8125rem;display:flex}.results-card strong{background:var(--color-water);width:1.5rem;height:1.5rem;color:var(--color-text);border-radius:50%;place-items:center;display:grid}.results-overall{margin-top:var(--space-3);border-color:var(--color-wake)}.results-overall output{font-family:var(--font-mono);font-weight:700}.results-debrief{margin-top:var(--space-3);border:1px solid var(--color-panel-border);border-radius:var(--radius-sm);background:var(--color-page)}.results-debrief summary{min-height:2.5rem;padding:var(--space-2) var(--space-3);color:var(--color-text);cursor:pointer;font-size:.8125rem;font-weight:700}.results-debrief summary:focus-visible{outline:2px solid var(--color-force-arrow);outline-offset:.15rem}.debrief-grid{gap:var(--space-3);padding:0 var(--space-3) var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.debrief-panel h3{margin:0 0 var(--space-1);color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.6875rem}.debrief-panel svg{border:1px solid var(--color-panel-border);border-radius:var(--radius-sm);width:100%;height:auto;display:block}.debrief-markers{gap:var(--space-1);padding:0 var(--space-3) var(--space-3);color:var(--color-text-muted);font:.6875rem var(--font-mono);margin:0;list-style-position:inside;display:grid}.debrief-markers [data-debrief-marker=first-touch]::marker{color:var(--color-pivot-marker)}.debrief-markers [data-debrief-marker=coach-stage]::marker{color:var(--color-force-arrow)}.debrief-scrubber{align-items:end;gap:var(--space-2);padding:0 var(--space-3) var(--space-3);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.debrief-scrubber label{gap:var(--space-1);color:var(--color-text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.6875rem;font-weight:700;display:grid}.debrief-scrubber input{width:100%;accent-color:var(--color-force-arrow)}.debrief-scrubber button,.debrief-markers button,.debrief-insights button{width:auto;min-height:2.75rem;padding:var(--space-2) var(--space-3);margin-top:0}.debrief-scrub-tick,.debrief-scrubber output{color:var(--color-text-muted);font:.6875rem var(--font-mono);text-align:center;grid-column:1/-1}.debrief-basics{margin:0 var(--space-3) var(--space-3);border:1px solid var(--color-panel-border);border-radius:var(--radius-sm);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.debrief-basics div{padding:var(--space-2);background:var(--color-panel);gap:.1rem;display:grid}.debrief-basics [hidden]{display:none}.debrief-basics dt{color:var(--color-text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.5625rem}.debrief-basics dd{margin:0}.debrief-basics output{font:700 .6875rem var(--font-mono)}.debrief-force-ledger,.debrief-insights{gap:var(--space-1);padding:0 var(--space-3) var(--space-3);margin:0;list-style:none;display:grid}.debrief-force-ledger li{align-items:center;gap:var(--space-2);min-height:1.75rem;color:var(--color-text-muted);font-size:.6875rem;display:flex}.debrief-force-ledger .force-swatch{background:var(--color-force-arrow);width:1.25rem;height:.15rem}.debrief-force-ledger output{color:var(--color-text);font:.6875rem var(--font-mono);margin-left:auto}.debrief-insights button{width:100%;color:var(--color-text);text-align:left}[data-debrief-jump-tick]{cursor:pointer}.results-card button{width:100%;margin-top:var(--space-4);padding:var(--space-3);border:1px solid var(--color-wake);border-radius:var(--radius-sm);background:var(--color-water);color:var(--color-text);cursor:pointer;font:700 .8125rem var(--font-sans)}.results-card button:hover,.results-card button:focus-visible{background:var(--color-panel-border)}.challenge-share{gap:var(--space-2);margin-top:var(--space-3);display:grid}.challenge-share button{margin-top:0}.challenge-share textarea[hidden]{display:none}@media (width<=44rem),(pointer:coarse){.chart-furniture{top:5.25rem;right:max(var(--space-3), env(safe-area-inset-right))}.app-title{top:max(var(--space-3), env(safe-area-inset-top));right:max(var(--space-3), env(safe-area-inset-right));left:max(var(--space-3), env(safe-area-inset-left));width:min(25rem, calc(100vw - 2 * var(--space-3)));max-height:calc(100dvh - max(var(--space-3), env(safe-area-inset-top)) - var(--space-3));background:color-mix(in srgb, var(--color-panel) 94%, transparent);overflow:auto}.app-title[data-mobile-setup=closed]{width:auto;padding:var(--space-1);border-color:color-mix(in srgb, var(--color-wake) 60%, transparent);background:color-mix(in srgb, var(--color-panel) 76%, transparent);right:auto;overflow:visible}.app-title[data-mobile-setup=closed] .app-title-copy,.app-title[data-mobile-setup=closed] .about-disclosure,.app-title[data-mobile-setup=closed] .setup-panel{display:none}.app-title[data-mobile-setup=closed] .mobile-setup-toggle{background:0 0;border-color:#0000}.setup-panel button{min-height:2.5rem}.marina-editor{top:max(var(--space-3), env(safe-area-inset-top));width:min(32rem, calc(100vw - 2 * var(--space-3)));max-height:calc(100dvh - max(var(--space-3), env(safe-area-inset-top)) - max(var(--space-3), env(safe-area-inset-bottom)));padding:var(--space-3);left:50%;right:auto;transform:translate(-50%)}.marina-editor button,.marina-editor input{min-height:2.5rem}.app-title[data-mobile-setup=open]~.hud{opacity:1;display:none}.hud{top:max(var(--space-3), env(safe-area-inset-top));right:max(var(--space-3), env(safe-area-inset-right));gap:var(--space-1);width:min(25rem, calc(100vw - 6.5rem - env(safe-area-inset-left) - env(safe-area-inset-right)));min-width:0;padding:var(--space-2);background:color-mix(in srgb, var(--color-panel) 72%, transparent);grid-template-columns:repeat(2,minmax(0,1fr));bottom:auto;left:auto;transform:none}.hud-readout{min-height:2rem;padding:var(--space-1) var(--space-2);background:color-mix(in srgb, var(--color-page) 86%, transparent);border:0}.hud-readout output{font-size:.75rem}.hud[data-hud-details=closed] .hud-secondary,.hud .drivetrain-hud{display:none}.hud[data-hud-details=open] .hud-secondary,.hud[data-hud-details=open] .drivetrain-hud:not([hidden]){display:grid}.drivetrain-hud{gap:var(--space-1)}.hud-details-toggle{min-height:2.25rem;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-panel-border) 72%, transparent);color:var(--color-text-muted);font:700 .625rem var(--font-sans);border:0;grid-column:1/-1;display:block}.controls-help,.curriculum{display:none}.active-level-card{top:auto;right:auto;bottom:calc(11.75rem + env(safe-area-inset-bottom));width:min(28rem,100vw - 2rem);padding:var(--space-3) var(--space-4);border-color:var(--color-force-arrow);background:color-mix(in srgb, var(--color-panel) 92%, transparent);left:50%;transform:translate(-50%)}.active-level-card:has(.coach-guidance[hidden]){display:none}.active-level-summary{display:none}.coach-guidance{border-top:0;padding-top:0}.lines-panel{top:calc(max(var(--space-3), env(safe-area-inset-top)) + 8.25rem);width:min(25rem, calc(100vw - 2 * var(--space-3)));min-width:0;max-height:calc(100dvh - 21rem);padding:var(--space-2);background:color-mix(in srgb, var(--color-panel) 88%, transparent);bottom:auto;left:50%;right:auto;overflow:auto;transform:translate(-50%)}.lines-panel button{min-height:2.75rem}.touch-controls{right:max(var(--space-3), env(safe-area-inset-right));bottom:max(var(--space-3), env(safe-area-inset-bottom));left:max(var(--space-3), env(safe-area-inset-left))}.touch-direct,.touch-docking,.touch-left-cluster{gap:var(--space-2)}.touch-control{background:color-mix(in srgb, var(--color-panel) 82%, transparent);box-shadow:0 .35rem 1rem #00000038}.touch-lever{grid-template-rows:auto 7rem auto;min-width:3.75rem}.touch-lever .touch-track{height:7rem}.touch-gear{border-radius:999px;min-width:2rem;min-height:2rem;font-size:.75rem;position:absolute;top:1.35rem;right:-.45rem;box-shadow:0 .2rem .55rem #00000059}.touch-thrusters button{width:3.25rem;min-width:3.25rem;min-height:3.25rem;padding:var(--space-1);background:color-mix(in srgb, var(--color-page) 88%, transparent);place-items:center;display:grid}.touch-thrusters button span:last-child{color:var(--color-text-muted);text-transform:uppercase;font-size:.5625rem}.touch-helm,.touch-yaw{grid-template-columns:auto 8rem auto;min-height:3.75rem}.touch-helm .touch-track,.touch-yaw .touch-track{width:clamp(6.5rem,27vw,8rem)}.touch-pad{width:8rem;height:8rem}.touch-docking{align-items:center}:is(.results-card,.results-card:has(.results-debrief[open])){top:max(var(--space-3), env(safe-area-inset-top));width:min(32rem, calc(100vw - 2 * var(--space-3)));max-height:calc(100dvh - max(var(--space-3), env(safe-area-inset-top)) - max(var(--space-3), env(safe-area-inset-bottom)));padding:var(--space-4);overflow:auto;transform:translate(-50%)}.debrief-grid{grid-template-columns:1fr}.debrief-basics{grid-template-columns:repeat(2,minmax(0,1fr))}}
