:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1d2a2a;background:#d9e7e1;font-synthesis:none;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow:hidden}button,input,select{font:inherit}button{border:1px solid rgba(31,45,43,.16);border-radius:8px;background:#f7f4eb;color:#1d2a2a;cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .16s ease}button:hover:not(:disabled){border-color:#1f2d2b5c;transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.45}.app-shell{display:grid;grid-template-columns:minmax(280px,340px) 1fr;width:100vw;height:100vh}.side-panel{position:relative;z-index:5;display:flex;flex-direction:column;gap:18px;overflow-y:auto;border-right:1px solid rgba(31,45,43,.14);background:#f7f4ebf0;padding:22px;box-shadow:12px 0 32px #212b2c1f}.brand-row{display:flex;align-items:center;gap:12px;padding-bottom:6px}.brand-row svg{color:#d4513f}h1,h2,p{margin:0}h1{font-size:19px;font-weight:780;letter-spacing:0}.brand-row p,.hint,.empty-state,.vessel-row small,.status-strip span,.timeline-header span{color:#61706b}.brand-row p{margin-top:2px;font-size:12px}.control-group{display:flex;flex:0 0 auto;flex-direction:column;gap:10px}.control-group h2{font-size:13px;font-weight:760}.segmented-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.segmented-grid button,.mode-toggle button,.control-group>button,.file-actions button,.speed-buttons button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:8px 10px;white-space:nowrap}button.selected{border-color:#d4513f8c;background:#f1d3b4}.mode-toggle,.file-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hint,.empty-state{font-size:12px;line-height:1.55}.field-control{width:100%;min-height:38px;border:1px solid rgba(31,45,43,.16);border-radius:8px;background:#fffdf7;color:#1d2a2a;padding:8px 10px}.vessel-settings{display:flex;flex-direction:column;gap:10px}.vessel-settings label{display:flex;flex-direction:column;gap:5px;color:#61706b;font-size:12px}.number-field{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.number-field span{color:#61706b;font-size:12px}.stepper-row{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:8px}.stepper-row button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0}.stepper-row strong{display:flex;align-items:center;justify-content:center;min-height:38px;border:1px solid rgba(31,45,43,.12);border-radius:8px;background:#fffdf7;color:#1d2a2a}.danger-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;border-color:#ab352952;background:#f8dfd9;color:#7c271f}.vessel-list{min-height:auto}.vessel-row{display:grid;grid-template-columns:14px 1fr;gap:10px;width:100%;min-height:52px;padding:10px;text-align:left}.vessel-row span:last-child{display:flex;min-width:0;flex-direction:column;gap:3px}.vessel-row strong,.vessel-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vessel-swatch{width:12px;height:12px;margin-top:5px;border-radius:50%;box-shadow:0 0 0 2px #ffffffb8}.file-input{display:none}.scene-shell{position:relative;min-width:0;min-height:0}.scene-shell canvas{display:block;cursor:crosshair}.status-strip,.warning-panel,.timeline-panel{position:absolute;z-index:3;border:1px solid rgba(31,45,43,.16);border-radius:8px;background:#f7f4ebeb;box-shadow:0 16px 42px #212b2c24;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.status-strip{top:18px;right:18px;display:grid;grid-template-columns:repeat(5,auto);align-items:center;gap:16px;padding:12px 14px;font-size:12px}.status-strip div,.status-strip label{display:flex;flex-direction:column;gap:4px}.status-strip label{color:#61706b}.status-strip input{width:110px;accent-color:#d4513f}.warning-panel{top:88px;right:18px;display:flex;max-width:min(360px,calc(100vw - 380px));gap:10px;padding:12px;color:#4a271e;background:#ffe1bef5}.warning-panel svg{flex:0 0 auto;color:#d4513f}.warning-panel div{display:flex;flex-direction:column;gap:4px;font-size:13px}.timeline-panel{right:18px;bottom:18px;left:18px;display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:14px;padding:14px}.play-button{width:48px;height:48px;padding:0;color:#f7f4eb;background:#d4513f}.timeline-main{display:flex;min-width:0;flex-direction:column;gap:8px}.timeline-header{display:flex;justify-content:space-between;gap:18px;font-size:13px}.timeline-header span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-main input{width:100%;accent-color:#d4513f}.speed-buttons{display:grid;grid-template-columns:repeat(5,48px);gap:7px}.speed-buttons button{min-height:34px;padding:6px}@media(max-width:920px){body{overflow:auto}.app-shell{grid-template-columns:1fr;grid-template-rows:auto minmax(620px,1fr);height:auto;min-height:100vh}.side-panel{max-height:none;border-right:0;border-bottom:1px solid rgba(31,45,43,.14)}.scene-shell{min-height:620px}.status-strip{left:14px;right:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.status-strip div:first-child{grid-column:1 / -1}.warning-panel{top:148px;right:14px;left:14px;max-width:none}.timeline-panel{left:14px;right:14px;grid-template-columns:48px 1fr}.speed-buttons{grid-column:1 / -1;grid-template-columns:repeat(5,1fr)}}:root{color:#e7f1f5;background:#071522;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{background:#071522}button,input,select{font-variant-numeric:tabular-nums}button{border:1px solid rgba(173,211,224,.16);border-radius:8px;background:#10283a;color:#e7f1f5;box-shadow:inset 0 1px #ffffff09;transition:border-color .14s ease,background .14s ease,color .14s ease,transform .14s ease}button:hover:not(:disabled){border-color:#6bd7dead;background:#17354a;transform:translateY(-1px)}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #46d7df;outline-offset:2px}button:disabled{opacity:.38}.app-shell{grid-template-columns:minmax(330px,368px) minmax(0,1fr);background:#173c50}.side-panel{gap:0;padding:0 16px 28px;border-right:1px solid rgba(173,211,224,.16);background:#081b2b;box-shadow:none;scrollbar-color:#2d5c71 transparent}.brand-row{position:sticky;top:0;z-index:6;min-height:82px;margin:0 -16px;padding:18px 18px 16px;border-bottom:1px solid rgba(173,211,224,.16);background:#081b2bf5;box-shadow:0 12px 28px #010b1338;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand-row:after{content:"OPERATIONS CONSOLE";position:absolute;right:18px;bottom:17px;color:#6f95a6;font-size:9px;font-weight:700;letter-spacing:.12em}.brand-row svg{color:#46d7df}h1{color:#f4fbfc;font-size:18px;font-weight:720;letter-spacing:0}.brand-row p,.hint,.empty-state,.vessel-row small,.status-strip span,.timeline-header span{color:#8fb0bd}.brand-row p{font-size:12px}.control-group{gap:10px;padding:17px 2px 18px;border-bottom:1px solid rgba(173,211,224,.11)}.control-group h2{display:flex;align-items:center;gap:8px;color:#b8d0d9;font-size:11px;font-weight:760;letter-spacing:.08em;text-transform:uppercase}.control-group h2:before{width:4px;height:4px;border-radius:50%;background:#46d7df;box-shadow:0 0 0 3px #46d7df1f;content:""}.field-control{min-height:42px;border:1px solid rgba(173,211,224,.2);border-radius:7px;background:#0e2638;color:#edf7fa;padding:9px 11px;box-shadow:inset 0 1px 1px #00000029}.field-control::placeholder{color:#6f95a6}.segmented-grid,.mode-toggle,.file-actions{gap:7px}.segmented-grid button,.mode-toggle button,.control-group>button,.file-actions button,.speed-buttons button{min-height:40px;padding:9px 10px;font-size:13px;font-weight:620}button.selected{border-color:#46d7df;background:#0f6470;color:#fff;box-shadow:inset 0 0 0 1px #b7f9fb29,0 0 0 3px #46d7df14}.hint,.empty-state{font-size:11px;line-height:1.6}.vessel-list{gap:8px}.vessel-row{grid-template-columns:12px minmax(0,1fr) auto;min-height:58px;padding:11px 12px;border-color:#add3e026;border-radius:8px;background:#0d2435}.vessel-row:after{align-self:center;color:#6f95a6;content:"EDIT";font-size:9px;font-weight:700;letter-spacing:.08em}.vessel-row.selected{border-color:#46d7dfb8;background:#123d4d}.vessel-row strong{color:#f4fbfc;font-size:13px}.vessel-swatch{box-shadow:0 0 0 2px #0d2435}.vessel-settings{gap:12px;padding:12px;border:1px solid rgba(173,211,224,.14);border-radius:9px;background:#0b2132}.vessel-settings label,.number-field span{color:#8fb0bd;font-size:11px;font-weight:600}.stepper-row strong{border-color:#add3e033;border-radius:7px;background:#0e2638;color:#ecf8fa}.stepper-row button{border-radius:7px}.danger-button{border-color:#ff89747a;background:#8f302a42;color:#ffb3a4}.danger-button:hover:not(:disabled){border-color:#ff8a76;background:#ad382f7a}.scene-shell{background:#0a2233}.scene-shell:before{position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;pointer-events:none;border:1px solid rgba(147,210,224,.18);content:""}.scene-shell canvas{cursor:crosshair}.scene-shell.is-pan-mode canvas{cursor:grab}.status-strip,.warning-panel,.timeline-panel{border:1px solid rgba(169,216,227,.22);border-radius:10px;background:#051b2ae0;color:#e9f5f7;box-shadow:0 16px 40px #00091042;-webkit-backdrop-filter:blur(18px) saturate(130%);backdrop-filter:blur(18px) saturate(130%)}.status-strip{top:16px;right:16px;gap:0;padding:0;overflow:hidden}.status-strip div,.status-strip label{min-height:60px;justify-content:center;gap:4px;padding:10px 14px;border-left:1px solid rgba(169,216,227,.14)}.status-strip div:first-child{border-left:0}.status-strip span,.status-strip label{color:#91b6c2;font-size:10px;font-weight:650;letter-spacing:.04em}.status-strip strong{color:#f1fafb;font-size:13px;font-weight:650;font-variant-numeric:tabular-nums}.status-strip input{width:108px;accent-color:#46d7df}.warning-panel{top:94px;right:16px;max-width:min(380px,calc(100vw - 420px));border-color:#f8b95bad;color:#ffe2a7;background:#3e2608e6}.warning-panel svg{color:#ffbf5e}.timeline-panel{right:16px;bottom:16px;left:16px;grid-template-columns:54px minmax(0,1fr) auto;gap:16px;padding:12px}.play-button{width:48px;height:48px;border-color:#ff9985;border-radius:8px;background:#d45a4f;color:#fff;box-shadow:inset 0 1px #ffffff26}.play-button:hover:not(:disabled){border-color:#ffd0bf;background:#e06a5e}.timeline-main{gap:7px}.timeline-header{font-size:12px}.timeline-header strong{color:#f2fafc;font-size:16px;font-variant-numeric:tabular-nums}.timeline-main input{accent-color:#46d7df}.speed-buttons{gap:6px}.speed-buttons button{min-height:36px;border-radius:7px;background:#0e2638}@media(max-width:1120px){.app-shell{grid-template-columns:minmax(300px,332px) minmax(0,1fr)}.status-strip{grid-template-columns:repeat(3,auto)}.status-strip label{grid-column:1 / -1;border-left:0;border-top:1px solid rgba(169,216,227,.14)}}@media(max-width:920px){body{background:#081b2b}.side-panel{padding:0 14px 18px}.brand-row{margin:0 -14px}.status-strip{top:14px}.warning-panel{top:168px}.timeline-panel{right:14px;bottom:14px;left:14px}}.app-shell{grid-template-rows:64px minmax(0,1fr)}.app-header{z-index:10;display:flex;grid-column:1 / -1;grid-row:1;align-items:center;justify-content:space-between;min-width:0;padding:0 20px;border-bottom:1px solid rgba(173,211,224,.16);background:#061521;color:#e9f6f8}.app-identity,.header-statuses,.header-status{display:flex;align-items:center}.app-identity{min-width:0;gap:10px}.app-mark{display:grid;width:32px;height:32px;place-items:center;border:1px solid rgba(70,215,223,.52);border-radius:8px;color:#46d7df;background:#0b2939}.app-identity strong{display:block;overflow:hidden;color:#f2fbfc;font-size:14px;font-weight:680;text-overflow:ellipsis;white-space:nowrap}.app-eyebrow{display:block;margin-bottom:1px;color:#7fa4b1;font-size:9px;font-weight:750;letter-spacing:.13em}.header-statuses{gap:8px}.header-status{gap:6px;min-height:30px;padding:0 10px;border:1px solid rgba(173,211,224,.14);border-radius:6px;color:#b7d0d8;background:#0a2232;font-size:11px;font-weight:650;letter-spacing:.02em}.header-status svg{color:#46d7df}.header-status.is-live{border-color:#ff9f8975;color:#ffd0c4}.status-dot{width:7px;height:7px;border-radius:50%;background:#7a9fac}.header-status.is-live .status-dot{background:#ff826d;box-shadow:0 0 0 3px #ff826d24}.side-panel{grid-column:1;grid-row:2}.scene-shell{grid-column:2;grid-row:2}@media(max-width:920px){.app-shell{grid-template-columns:1fr;grid-template-rows:58px auto minmax(620px,1fr)}.app-header{padding:0 14px}.header-statuses{gap:5px}.header-status{padding:0 8px;font-size:10px}.side-panel{grid-column:1;grid-row:2}.scene-shell{grid-column:1;grid-row:3}}
