
:root{--navy:#071820;--teal:#65cbd2;--light:#e9f3f1;--muted:#8ca8b0;--edge:#1d3a43;--orange:#f99653}*{box-sizing:border-box}html,body{height:100%;padding:0;margin:0;background:var(--navy);color:var(--light);font-family:'DM Sans',Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--orange);outline-offset:2px}#app{min-height:100dvh;display:flex;flex-direction:column}.topbar{height:78px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;background:#07151c;border-bottom:1px solid #2c4548;padding:0 32px 0 26px;z-index:4;position:relative}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff;font-family:'Barlow Condensed',sans-serif;font-weight:800;letter-spacing:1.2px;font-size:24px;line-height:1}.brandmark{width:43px;height:43px;border:2px solid #d5f1e9;display:grid;place-items:center;color:var(--orange);font-size:28px;transform:rotate(-8deg)}.thin{font-weight:400;color:#b9d9dc}.brand small{display:block;font-size:10px;margin-top:7px;letter-spacing:2px;color:#8aafb5;font-weight:500}.mid{font-size:10px;letter-spacing:2.5px;color:#8fa9af}.mid b{color:var(--orange);margin-left:9px}.top-right{display:flex;gap:13px;align-items:center;font-size:10px;font-weight:600;letter-spacing:1.3px}.seed{color:#90e1e3;padding-left:14px;border-left:1px solid #31515c}.pulse{width:7px;height:7px;border-radius:50%;background:#62f0d7;box-shadow:0 0 12px #62f0d7}.content{display:flex;flex:1;min-height:calc(100dvh - 78px)}.viewport{flex:1;min-width:0;min-height:600px;height:calc(100dvh - 78px);position:sticky;top:0;overflow:hidden;background:radial-gradient(circle at 52% 46%,#1b3e48 0,#0a222c 50%,#061923 100%)}.canvasWrap{position:absolute;inset:0;z-index:1}.canvasWrap canvas{display:block;width:100%;height:100%;cursor:grab}.canvasWrap canvas:active{cursor:grabbing}.backdrop-copy{position:absolute;z-index:0;top:12%;left:5.5%;pointer-events:none;color:#b5cdd5;opacity:.23}.backdrop-copy span{font-size:11px;letter-spacing:4px;font-weight:600}.backdrop-copy h1{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(70px,10vw,154px);letter-spacing:-3px;line-height:.78;margin:26px 0}.backdrop-copy h1 em{font-style:normal;color:#60c8cf}.backdrop-copy p{letter-spacing:3px;font-size:12px}.scene-left{position:absolute;z-index:2;left:5%;bottom:14%;pointer-events:none;text-shadow:0 2px 15px #051a22}.eyebrow,.smallcaps{font-size:10px;color:var(--teal);letter-spacing:2.5px;font-weight:700}.scene-left h2{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:clamp(34px,4.6vw,70px);line-height:.92;letter-spacing:1px;margin:17px 0}.subline{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:1px;color:#adc7cd;max-width:390px}.dash{width:28px;height:2px;background:var(--orange);flex-shrink:0}.scene-bottom{position:absolute;z-index:2;left:0;bottom:0;right:0;display:flex;align-items:center;gap:24px;padding:21px 5%;background:linear-gradient(0deg,rgba(3,19,26,.8),transparent);font-size:9px;font-weight:700;letter-spacing:1.6px;color:#79949b}.modeTag{margin-right:auto;color:#ebf8f8;display:flex;align-items:center;gap:8px}.modeDot{height:7px;width:7px;background:#5ae0bf;border-radius:50%;box-shadow:0 0 9px #5ae0bf}.compass{position:absolute;right:27px;top:26px;color:#8eafb6;font-size:10px;font-weight:700;letter-spacing:2px;z-index:2}.sidebar{width:392px;flex:0 0 392px;background:#0b1e26;border-left:1px solid #24404b;height:calc(100dvh - 78px);position:sticky;top:0;display:flex;flex-direction:column;overflow:auto;scrollbar-color:#38525b transparent;scrollbar-width:thin}.side-header{padding:28px 28px 24px;border-bottom:1px solid var(--edge)}.side-header h2{font-family:'Barlow Condensed',sans-serif;font-size:32px;font-weight:700;letter-spacing:.4px;margin:7px 0}.side-header p{color:var(--muted);font-size:12px;line-height:1.65;margin:8px 0 0}.indicator{font:700 10px 'DM Sans',sans-serif;color:#75e4c6;border:1px solid #286354;border-radius:4px;padding:4px 5px;vertical-align:middle;float:right;margin-top:9px}.sections{flex:1}section{padding:24px 28px;border-bottom:1px solid var(--edge)}section h3{font:700 12px 'DM Sans',sans-serif;letter-spacing:1.4px;margin:0 0 23px}.snum{color:var(--orange);margin-right:13px;font-size:11px}.control-label{display:flex;justify-content:space-between;align-items:center;color:#acc3c9;font-size:11px;margin:17px 0 9px}.control-label output{font:700 11px 'DM Sans',sans-serif;color:#eea676}select,input[type="search"]{width:100%;color:#d9ebed;background:#102832;padding:11px 12px;border:1px solid #2c4a53;border-radius:3px;font-size:12px}select:focus,input:focus{border-color:var(--teal)}input[type="range"]{appearance:none;-webkit-appearance:none;display:block;width:100%;height:3px;margin:13px 0 24px;background:#254551;cursor:pointer;accent-color:var(--orange)}input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:13px;height:13px;background:var(--orange);border:3px solid #102530;border-radius:50%;box-shadow:0 0 0 1px #f99653}.segmented{display:flex;background:#08171e;border:1px solid #31505b;padding:4px;gap:4px;border-radius:4px}.segmented button{flex:1;padding:9px 4px;border:0;border-radius:2px;background:transparent;color:#8fafb8;letter-spacing:1.1px;font-size:10px;font-weight:700}.segmented button.selected{background:#25545b;color:#e5fbf8}.line-control{margin-top:17px;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1px;color:#afc8cd}input[type="checkbox"]{appearance:none;width:32px;height:18px;border-radius:12px;border:1px solid #41636e;background:#1a343e;position:relative;cursor:pointer;transition:.2s}input[type="checkbox"]:after{position:absolute;content:"";width:12px;height:12px;border-radius:50%;background:#bdd7d9;left:2px;top:2px;transition:.2s}input[type="checkbox"]:checked{background:#2c756f}input[type="checkbox"]:checked:after{transform:translateX(14px);background:#b9ffe9}.buttonrow{display:flex;gap:8px}.buttonrow button,.presetgrid button{border:1px solid #37535b;background:#112e38;color:#b9d4db;padding:12px 8px;border-radius:3px;font-size:10px;letter-spacing:.9px;font-weight:700}.buttonrow button{flex:1}.buttonrow button.primary{background:#e88c4b;color:#10232a;border-color:#e88c4b}.buttonrow button.primary.alt{background:#1e5360;color:#e1f7fa;border-color:#408090}.presetgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px}.presetgrid button:hover,.buttonrow button:hover{filter:brightness(1.2)}#partSelect{height:125px;overflow:auto;padding:5px;background:#102631}#partSelect option{padding:7px}.info{background:linear-gradient(135deg,#15343f,#102630);border:1px solid #32515a;margin-top:16px;padding:17px;min-height:128px}.info strong{display:block;font-family:'Barlow Condensed',sans-serif;font-size:23px;letter-spacing:.3px;line-height:1.1;margin-top:8px}.info p{font-size:12px;color:#adc9d0;line-height:1.6;margin:8px 0 0}.info .micro{font:700 10px 'DM Sans',sans-serif;color:#e0a56f;letter-spacing:1px;margin-top:12px}.sidebar footer{padding:22px 28px;font-size:10px;letter-spacing:.8px;line-height:1.7;color:#91b2bd}.sidebar footer small{display:block;color:#638895;margin-top:5px}.loadOverlay{position:absolute;z-index:5;inset:0;background:rgba(4,21,29,.92);display:flex;flex-direction:column;gap:17px;align-items:center;justify-content:center;transition:opacity .7s}.loadOverlay.hidden{opacity:0;pointer-events:none}.loadOverlay strong{font-size:13px;letter-spacing:3px}.loadOverlay small{font-size:11px;color:#8da9b2}.radar{font-size:65px;color:var(--teal);animation:spin 4s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.progress{height:3px;width:240px;background:#164152}.progress i{display:block;height:100%;background:var(--orange);width:7%;transition:width .2s}.annotation{position:absolute;top:0;left:0;z-index:3;pointer-events:none;border-left:2px solid #fba261;padding:4px 8px;background:rgba(7,31,38,.84);font-size:9px;color:#e4f3f3;letter-spacing:1.1px;white-space:nowrap;box-shadow:0 3px 16px #04131c88}@media(max-width:1170px){.sidebar{width:330px;flex-basis:330px}.mid{display:none}.side-header,section{padding-left:20px;padding-right:20px}}@media(max-width:850px){.content{display:block}.viewport{height:68vh;min-height:420px;position:relative}.sidebar{height:auto;position:relative;width:100%;max-height:none}.scene-bottom span:not(.modeTag){display:none}.scene-left{bottom:15%}.topbar{padding:0 15px}.seed{display:none}}@media(prefers-reduced-motion:reduce){.radar{animation:none}}
