:root{color:#edf1ee;font-synthesis:none;text-rendering:optimizelegibility;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#10191c;font-family:SF Pro Display,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button,input,select{font:inherit}.app-shell{background:#10191c;width:100%;min-width:720px;height:100%;position:relative}.canvas-shell{position:absolute;inset:0}.canvas-shell canvas{display:block}.title-block,.status-panel,.scale-note,.canvas-help,.maneuver-panel,.camera-dock{z-index:10;pointer-events:none;position:absolute}.camera-dock{z-index:12;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:auto;background:#0d181bad;border:1px solid #e5ebe729;align-items:center;gap:4px;max-width:calc(100% - 340px);padding:5px;display:flex;top:181px;left:auto;right:30px}.camera-dock>span{color:#edf1ee6b;letter-spacing:.11em;text-transform:uppercase;padding:0 7px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px}.camera-dock>i{background:#e5ebe726;width:1px;height:17px;margin:0 3px}.camera-dock button{color:#edf1ee99;letter-spacing:.04em;cursor:pointer;background:0 0;border:1px solid #0000;min-height:25px;padding:4px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px}.camera-dock button:hover,.camera-dock button:focus-visible,.camera-dock button[aria-pressed=true]{color:#fff;background:#d7c58d1c;border-color:#d7c58da6;outline:none}.title-block{text-shadow:0 2px 18px #00000059;max-width:560px;top:30px;left:34px}.mode-switcher{pointer-events:auto;gap:4px;margin-top:17px;display:inline-flex}.mode-switcher button{color:#edf1ee9e;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:#0d181b8c;border:1px solid #e5ebe72e;min-height:27px;padding:5px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px}.mode-switcher button:hover,.mode-switcher button:focus-visible,.mode-switcher button[aria-pressed=true]{color:#fff;background:#d7c58d1f;border-color:#d7c58d;outline:none}.eyebrow,.phase-label,.canvas-help,.status-panel dt,.scale-note>span{letter-spacing:.13em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.eyebrow{color:#d7c58d;margin:0 0 9px;font-size:11px;font-weight:650}h1{letter-spacing:-.055em;margin:0;font-size:clamp(38px,5vw,72px);font-weight:420;line-height:.92}.phase-label{color:#edf1eeb8;margin:14px 0 0;font-size:10px}.status-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0d181bb8;border:1px solid #e5ebe733;width:220px;padding:16px;top:30px;right:30px}.status-heading{align-items:center;gap:8px;margin-bottom:13px;font-size:12px;display:flex}.status-dot{background:#d7c58d;border-radius:50%;width:7px;height:7px;box-shadow:0 0 12px #d7c58d}.status-panel dl{margin:0}.status-panel dl>div{border-top:1px solid #e5ebe71c;justify-content:space-between;gap:16px;padding:6px 0;display:flex}.status-panel dt{color:#edf1ee8c;font-size:8px}.status-panel dd{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.status-panel>p{color:#edf1ee8c;margin:12px 0 0;font-size:10px}.scale-note{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0d181b9e;border-left:2px solid #d7c58d;align-items:flex-start;gap:13px;max-width:420px;padding:14px 17px;display:flex;bottom:205px;left:34px}.scale-note>span{color:#d7c58d;font-size:9px}.scale-note strong{margin-bottom:5px;font-size:13px;display:block}.scale-note p{color:#edf1ee9e;margin:0;font-size:11px}.canvas-help{color:#edf1eea8;margin:0;font-size:9px;bottom:28px;right:31px}.maneuver-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);pointer-events:auto;background:#0d181bd1;border:1px solid #e5ebe733;width:min(720px,100% - 68px);padding:15px 17px 13px;bottom:28px;left:50%;transform:translate(-50%)}.maneuver-summary{grid-template-columns:26px 1fr auto;align-items:start;gap:12px;display:grid}.maneuver-summary>span,.maneuver-summary time,.maneuver-controls,.maneuver-controls button,.maneuver-controls kbd{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.maneuver-summary>span{color:#d7c58d;letter-spacing:.13em;padding-top:2px;font-size:9px}.maneuver-summary strong{margin-bottom:3px;font-size:12px;display:block}.maneuver-summary p{color:#edf1ee94;margin:0;font-size:10px;line-height:1.35}.maneuver-summary time{color:#edf1eea8;white-space:nowrap;padding-top:2px;font-size:9px}.maneuver-progress{background:#edf1ee24;height:2px;margin:12px 0 10px;overflow:hidden}.maneuver-progress span{background:#d7c58d;height:100%;transition:width .12s linear;display:block}.timeline-progress{height:33px;margin:10px 0 8px;position:relative}.timeline-progress .maneuver-progress{margin:0;position:absolute;top:4px;left:0;right:0}.timeline-stations{pointer-events:none;position:absolute;inset:0}.timeline-station{color:#edf1ee6b;cursor:pointer;pointer-events:auto;background:0 0;border:0;justify-items:center;min-width:44px;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;display:grid;position:absolute;top:0;transform:translate(-50%)}.timeline-station[data-edge=start]{justify-items:start;transform:none}.timeline-station[data-edge=end]{justify-items:end;transform:translate(-100%)}.timeline-station>span{background:#6d7673;border:2px solid #172326;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 1px #edf1ee3d}.timeline-station small{letter-spacing:.02em;white-space:nowrap;margin-top:6px;font-size:7px}.timeline-station:hover,.timeline-station:focus-visible,.timeline-station[aria-current=step]{color:#fff;outline:none}.timeline-station:hover>span,.timeline-station:focus-visible>span,.timeline-station[aria-current=step]>span{background:#d7c58d;box-shadow:0 0 0 1px #d7c58d,0 0 10px #d7c58d85}.maneuver-controls{align-items:center;gap:7px;display:flex}.crane-telemetry{grid-template-columns:repeat(6,1fr);gap:8px;margin:0 0 10px;display:grid}.crane-telemetry>div{background:#edf1ee08;border:1px solid #e5ebe71c;min-width:0;padding:6px 8px}.crane-telemetry dt,.crane-telemetry dd{text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden}.crane-telemetry dt{color:#edf1ee73;letter-spacing:.11em;text-transform:uppercase;margin-bottom:3px;font-size:7px}.crane-telemetry dd{color:#edf1eec7;margin:0;font-size:8px}.maneuver-controls button{color:#edf1eed6;cursor:pointer;background:#edf1ee0d;border:1px solid #e5ebe72e;align-items:center;gap:12px;min-height:27px;padding:5px 9px;font-size:9px;display:inline-flex}.maneuver-controls button:hover,.maneuver-controls button:focus-visible,.maneuver-controls button[aria-pressed=true]{color:#fff;background:#d7c58d1f;border-color:#d7c58d;outline:none}.maneuver-controls kbd{color:#edf1ee66;font-size:8px}.speed-control{gap:4px;margin-left:auto;display:flex}.speed-control button{justify-content:center;min-width:35px}.batch-control{color:#edf1ee73;letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:6px;margin-left:6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;display:inline-flex}.batch-control select{color:#edf1ee;background:#172326;border:1px solid #e5ebe72e;border-radius:0;min-height:27px;padding:4px 22px 4px 7px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px}.fatal-state{text-align:center;place-content:center;min-height:100%;padding:40px;display:grid}.fatal-state h1{max-width:700px}.fatal-state button{color:inherit;cursor:pointer;pointer-events:auto;background:0 0;border:1px solid #d7c58d;justify-self:center;margin-top:20px;padding:10px 18px}.hud-compact .status-panel,.hud-compact .scale-note,.hud-compact .crane-telemetry,.hud-compact .maneuver-summary p{display:none}.hud-compact .title-block{max-width:500px}.hud-compact h1{font-size:clamp(36px,4.2vw,60px)}.hud-compact .camera-dock{max-width:calc(100% - 650px);top:30px;right:30px}.hud-compact .maneuver-panel{width:min(640px,100% - 68px);padding:12px 14px 11px}.hud-compact .maneuver-progress{margin:9px 0}.hud-compact .timeline-progress .maneuver-progress{margin:0}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (max-width:900px){.scale-note,.maneuver-summary p,.canvas-help{display:none}.crane-telemetry{grid-template-columns:1fr 1fr}.crane-telemetry>div:last-child{display:none}.camera-dock{max-width:none;inset:auto 24px 150px;overflow-x:auto}.camera-dock>span{display:none}}
