
:root{--bg:#07111b;--panel:#0d1a27;--panel2:#0b1825;--line:#233445;--line2:#31465b;--text:#e5f1f7;--muted:#8da4b5;--cyan:#4bd5ee;--cyan2:#2ab5dc;--orange:#e9a96f;--green:#7bdbbb;--danger:#e69389;--header:95px;--bar:53px;--footer:35px;color-scheme:dark}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}body{font-family:'DM Sans',Inter,system-ui,Arial,sans-serif;font-size:12px;line-height:1.5;overflow-x:hidden}button,input,select{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{opacity:.38;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}a{color:var(--cyan)}.app-shell{max-width:1920px;margin:auto;min-height:100vh;background:radial-gradient(ellipse at 50% -25%,#183549 0,#07111b 53%)}.header{min-height:var(--header);display:grid;grid-template-columns:300px 1fr auto;align-items:center;padding:14px 25px;gap:25px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,#0a1823 0,#101f2b 50%,#081724 100%)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:23px;letter-spacing:1px;color:white;line-height:1}.brand-symbol{font-size:49px;color:var(--cyan);line-height:1}.brand-alt{color:var(--cyan)}.brand small{display:block;letter-spacing:4px;font-family:'DM Sans',sans-serif;font-size:8px;font-weight:600;color:#698a9b;margin-top:6px}.header-title h1{font-family:'Barlow Condensed',sans-serif;font-size:33px;letter-spacing:3px;font-weight:700;line-height:1.05;margin:1px 0 2px}.header-title h1 em{color:var(--cyan);font-style:normal}.eyebrow,.header-caption,.panel-heading small,.module-title small,.hud-name,.hud-seed,.educ-label{font-size:9px;letter-spacing:2px;font-weight:700;color:#7794a8}.header-caption{color:#bdcfd8;letter-spacing:1.25px}.top-pill{font-size:9px;border:1px solid #33516a;padding:2px 7px;margin-left:8px;border-radius:3px;color:var(--cyan)}.header-actions{display:flex;gap:8px;align-items:center}.live-indicator{display:flex;align-items:center;gap:9px;font-size:9px;letter-spacing:1px;color:var(--muted);margin-right:10px;max-width:195px}.live-indicator i{display:block;width:6px;height:6px;border-radius:50%;background:#47deaa;box-shadow:0 0 12px #47deaa}.btn{border:1px solid var(--line2);border-radius:3px;background:#132435;color:#dceaf2;font-weight:700;letter-spacing:.7px;font-size:10px;padding:10px 11px;transition:background .15s,border .15s,color .15s}.btn:hover{background:#1b384c;border-color:#3a8095;color:white}.btn.compact{padding:9px 10px}.btn.micro{padding:7px 11px}.btn.primary{background:#133a4e;color:#86ecfc;border-color:#27637a}.btn.secondary-accent{background:#14312d;color:#a8ecd8;border-color:#37675d}.btn.active{border-color:#5ce1ea;background:#204557}.modebar{height:var(--bar);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:stretch;padding:0 20px;background:#0d1b29}.mode-buttons{display:flex;align-items:stretch;min-width:0}.mode{border:0;border-bottom:2px solid transparent;background:transparent;color:#8cabbc;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:15px;letter-spacing:1.4px;padding:0 16px;white-space:nowrap}.mode:hover,.mode.active{color:#c6f5ff;background:#142a3a}.mode.active{border-bottom-color:var(--cyan)}.mode-number{font:600 9px 'DM Sans',sans-serif;margin-right:5px;opacity:.6}.mode-help{display:flex;align-items:center;gap:8px;white-space:nowrap;font:700 9px 'DM Sans',sans-serif;color:#93b2c4;letter-spacing:.5px}.key-label{color:#4b7188}.dot-highlight{color:var(--green)}.workstation{display:grid;grid-template-columns:275px minmax(400px,1fr) 302px;height:clamp(540px,calc(100vh - 420px),880px);min-height:540px;border-bottom:1px solid var(--line)}.side{min-width:0;overflow:hidden;background:#0c1925}.left-panel{border-right:1px solid var(--line)}.right-panel{border-left:1px solid var(--line)}.panel-heading{height:81px;padding:18px 17px 13px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #1c3041}.panel-heading h2{font-family:'Barlow Condensed',sans-serif;font-size:22px;letter-spacing:.8px;margin:0;font-weight:600}.panel-count,.inspector-badge{border:1px solid #2d5265;padding:3px 8px;font-family:monospace;color:#6ed2eb;letter-spacing:1px;font-size:11px}.search-wrap{display:flex;align-items:center;gap:8px;margin:13px 12px 10px;border:1px solid #2b4357;background:#091522;padding:0 10px;color:#6f9ab1;border-radius:3px;font-size:20px}.search-wrap input{min-width:0;flex:1;background:none;border:0;color:#eaf4f9;outline:0;padding:10px 0;font-size:11px}.search-wrap input::placeholder{color:#7891a4}.panel-field{padding:0 12px 11px;border-bottom:1px solid var(--line)}label{font-size:9px;color:#86a7bb;letter-spacing:.8px;font-weight:700}select{padding:8px 9px;border:1px solid #2e465a;border-radius:2px;background:#122334;color:#e0eff5;min-width:0}.panel-field label{display:block;margin-bottom:5px}.panel-field select{width:100%;font-size:11px}.tree-scroll{height:calc(100% - 242px);overflow-y:auto;scrollbar-color:#2f4c5f transparent;scrollbar-width:thin;padding:9px 7px 16px}.tree-group{margin:7px 4px 9px}.tree-group-head{font-size:10px;display:flex;align-items:center;justify-content:space-between;color:#bdd1dd;font-weight:700;padding:7px 5px 7px 10px;border-bottom:1px solid #263948;letter-spacing:.5px}.tree-group-head span:last-child{font:10px monospace;color:#7192a7}.tree-item{width:100%;border:0;background:transparent;color:#9ab3c1;padding:7px 8px 7px 17px;text-align:left;display:flex;align-items:center;gap:7px;font-size:10px;border-left:2px solid transparent}.tree-item:hover{background:#162939;color:white}.tree-item.selected{border-left-color:#69e0ee;background:#184255;color:#defbff}.tree-item.removed{color:#eeb994}.tree-item.hidden-part{opacity:.47}.tree-item .tree-icon{font:10px monospace;color:#7393a6;flex:0 0 14px}.tree-item.removed .tree-icon{color:#ffb887}.tree-item .tree-label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tree-footer{height:43px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:7px 12px;color:#7a93a6;font-size:9px}.view-section{position:relative;min-width:0;background:radial-gradient(ellipse at 52% 55%,#1b3345 0%,#091726 55%,#050d17 100%);overflow:hidden}.view-section canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none;outline:0}.view-section canvas:active{cursor:grabbing}.viewport-hud{position:absolute;top:18px;z-index:3;pointer-events:none}.top-left{left:23px}.top-right{right:23px;text-align:right}.hud-name{color:#a5c6d8}.hud-name span{color:var(--cyan)}.hud-meta{font-size:9px;letter-spacing:1.3px;margin-top:6px;color:#65a7b9}.hud-seed{color:#c4c4d0;font-size:10px}.view-bottom-left,.view-bottom-right{position:absolute;z-index:3;bottom:18px;display:flex;align-items:center;gap:7px}.view-bottom-left{left:22px;color:#5b8399;font-size:8px;letter-spacing:.9px;pointer-events:none}.view-bottom-right{right:17px}.axis{display:inline-grid;place-items:center;width:17px;height:17px;border:1px solid #bd6470;color:#e7a7a9;font:11px monospace}.axis-y{border-color:#569e7f;color:#91d4af}.axis-z{border-color:#558bc6;color:#80bcdf}.viewbtn{border:1px solid #395061;background:rgba(11,25,37,.9);color:#a8c1d0;font-size:9px;font-weight:700;padding:7px 8px;border-radius:3px}.viewbtn:hover,.viewbtn.active{color:#87edff;border-color:#5ccfea}.viewbtn.special{color:#61d5e6;font-size:17px;padding:3px 9px}.touch-hint{position:absolute;top:17px;left:50%;transform:translateX(-50%);white-space:nowrap;color:#53768a;font-size:9px;letter-spacing:1.3px;pointer-events:none}.label-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden}.part-label{position:absolute;transform:translate(-50%,-50%);border:1px solid #37758a;background:rgba(9,22,31,.87);color:#c9faff;padding:4px 7px;font:9px monospace;white-space:nowrap;box-shadow:0 0 15px #0008}.part-label.primary{border-color:#78eeff;background:#104257}.inspector-body{height:calc(100% - 81px);overflow-y:auto;padding:0 14px 17px;scrollbar-color:#2b4c62 transparent;scrollbar-width:thin}.part-title{padding:17px 3px 9px}.part-title h3{font:600 21px/1.02 'Barlow Condensed',sans-serif;margin:8px 0 9px;letter-spacing:.4px}.part-title p{font-size:10px;line-height:1.66;color:#97aebd;margin:0}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:14px 0;background:#263b4d;border:1px solid #263b4d}.stat{padding:11px 9px;background:#101f2e;min-height:61px}.stat small{display:block;color:#7b9eaf;font-size:9px;letter-spacing:.7px;margin-bottom:6px}.stat b{font-size:10px;color:#dceaf0;font-weight:700;overflow-wrap:anywhere}.panel-commands{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:15px}.panel-commands button{font-size:9px;padding:10px 5px}.assembly-mover{border:1px solid #253f50;padding:10px 9px;background:#0d2430;margin:13px 0}.assembly-mover h4{font:700 10px 'DM Sans',sans-serif;letter-spacing:.7px;margin:0 0 9px;display:flex;justify-content:space-between}.assembly-mover h4 span{color:var(--cyan)}.move-rows{display:grid;gap:5px}.move-rows>div{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.move-rows button{padding:7px 2px;background:#172f40;color:#b0d6e3;border:1px solid #2a4d64;border-radius:2px;font-size:9px}.assembly-mover small{display:block;color:#8ba6b5;line-height:1.6;margin-top:8px}.learning-panel{border-top:1px solid var(--line);padding:12px 2px}.educ-label{color:#d7a579}.learning-panel p{font-size:10px;color:#adbcc5;line-height:1.7}.link-btn{background:none;border:0;color:var(--cyan);padding:3px 0;text-align:left;letter-spacing:.5px;font-weight:700;font-size:9px}.dashboard{display:grid;grid-template-columns:1.08fr 1.06fr 1.13fr .95fr;min-height:238px;background:#101d29}.control-column{padding:16px 20px 14px;border-right:1px solid #283848;min-width:0}.control-column:last-child{border-right:0}.module-title{display:flex;align-items:center;gap:10px;margin-bottom:15px}.module-number{display:grid;place-items:center;border:1px solid #32607a;color:var(--cyan);font:600 20px 'Barlow Condensed',sans-serif;width:35px;height:36px}.module-title small{font-size:8px}.module-title h2{font:600 19px 'Barlow Condensed',sans-serif;margin:0}.module-row{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:10px 0}.module-row select{font-size:10px;max-width:190px}.module-row strong{font:600 17px 'Barlow Condensed',sans-serif;color:#c4f7ff}input[type=range]{width:100%;height:3px;appearance:none;background:#365265;accent-color:#62e5ed;border-radius:2px;cursor:pointer}input[type=range]::-webkit-slider-thumb{appearance:none;width:13px;height:13px;background:#69dff0;box-shadow:0 0 0 3px #1a4b5e;border-radius:50%}.mini-scale{display:flex;justify-content:space-between;color:#64849b;font-size:8px;letter-spacing:1px;margin-top:6px}.progress-info{display:flex;justify-content:space-between;align-items:center;color:#92b6c5;letter-spacing:.5px;font-size:10px;margin-top:19px}.progress-info strong{color:#79e6ca;font-size:18px;font-family:'Barlow Condensed',sans-serif}.progress-track{height:7px;background:#263d4c;margin-top:7px;border-radius:2px;overflow:hidden}.progress-track>div{height:100%;background:linear-gradient(90deg,#2babc1,#79eed6);transition:width .3s}.button-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:13px}.button-row button{padding:8px 9px;font-size:9px}.instruction{margin-top:12px;color:#88a0b0;font-size:10px;line-height:1.55}.mechanic-sliders{display:grid;gap:13px;margin-top:9px}.mechanic-sliders>div{display:grid;grid-template-columns:102px minmax(20px,1fr) 38px;align-items:center;gap:10px}.mechanic-sliders label{font-size:9px}.mechanic-sliders output{font:600 11px 'Barlow Condensed',sans-serif;color:var(--cyan);text-align:right}.transport{display:flex;gap:6px;margin-top:19px}.transport button{flex:1;border:1px solid #356075;background:#163044;color:#c5e9f4;border-radius:2px;height:43px;font-size:16px;font-weight:700}.transport button.transport-play{background:#1c6172;color:#c7fcff}.transport button:hover{background:#295a6f}.transport #resetBtn{font-size:9px;letter-spacing:1px}.playback .module-row{margin-top:16px}.muted{display:block;margin-top:11px;color:#7e9bb0;font-size:9px;line-height:1.4}.footer{min-height:var(--footer);padding:9px 19px;display:flex;justify-content:space-between;gap:15px;color:#6a8393;font-size:8px;letter-spacing:.7px;background:#0a1621}.footer a{text-decoration:none;color:#70b8ca}.footer a:hover{text-decoration:underline}#partTree .empty{padding:20px;color:#8295a6}body.mobile .touch-hint{display:none}
@media(max-width:1410px){.header{grid-template-columns:230px 1fr auto}.brand{font-size:20px}.workstation{grid-template-columns:238px minmax(350px,1fr) 260px}.mode{padding:0 11px;font-size:13px}.mode-help{display:none}.control-column{padding:14px}.module-row select{max-width:155px}.button-row button{font-size:8px;padding:7px}.mechanic-sliders>div{grid-template-columns:84px minmax(20px,1fr) 28px;gap:7px}}
@media(max-width:1050px){.header{grid-template-columns:210px 1fr}.header-actions{grid-column:1/-1;justify-content:flex-end}.header{padding:11px 18px;gap:8px}.header-title{grid-column:2;grid-row:1}.workstation{height:auto;grid-template-columns:225px minmax(310px,1fr);grid-template-rows:minmax(480px,62vh) auto}.left-panel{grid-column:1;grid-row:1}.view-section{grid-column:2;grid-row:1}.right-panel{grid-column:1/-1;grid-row:2;border-left:0;border-top:1px solid var(--line)}.inspector-body{height:auto;display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:15px;padding-bottom:12px}.right-panel .panel-heading{height:60px}.part-title{padding-top:10px}.stats-grid{align-self:start;margin-top:10px}.panel-commands{align-self:start;margin-top:10px}.assembly-mover,.learning-panel{grid-column:1/-1}.dashboard{grid-template-columns:1fr 1fr}.control-column:nth-child(2){border-right:0}.control-column:nth-child(-n+2){border-bottom:1px solid var(--line)}.footer{flex-wrap:wrap}.modebar{overflow-x:auto}}
@media(max-width:650px){:root{--header:75px}.header{display:flex;flex-wrap:wrap;align-items:center;padding:9px 12px;gap:7px}.brand{font-size:16px;gap:5px}.brand-symbol{font-size:31px}.brand small{font-size:6px;letter-spacing:2px}.header-title{margin-left:auto}.header-title h1{font-size:22px}.header-title .eyebrow,.top-pill{display:none}.header-caption{font-size:7px;letter-spacing:.4px}.header-actions{width:100%;justify-content:space-between}.header-actions .live-indicator{font-size:8px}.modebar{padding:0 5px;height:49px}.mode-buttons{min-width:max-content}.mode{padding:0 9px;font-size:13px}.workstation{display:flex;flex-direction:column;height:auto;min-height:0}.view-section{order:1;height:55vh;min-height:360px}.left-panel{order:2;border-right:0;border-top:1px solid var(--line);height:240px}.right-panel{order:3}.left-panel .panel-heading{height:54px;padding:8px 12px}.left-panel .panel-heading h2,.right-panel .panel-heading h2{font-size:20px}.tree-scroll{height:calc(100% - 172px)}.panel-field{display:none}.tree-footer{height:33px}.inspector-body{display:block}.stats-grid{margin-top:12px}.panel-commands{margin-top:12px}.view-bottom-right{bottom:13px;right:8px;gap:3px}.viewbtn{font-size:8px;padding:5px}.view-bottom-left{bottom:14px;left:9px}.view-bottom-left>span:last-child{display:none}.viewport-hud{top:13px}.top-left{left:12px}.top-right{right:12px}.touch-hint{top:45px;font-size:7px}.dashboard{display:block}.control-column{border:0;border-bottom:1px solid var(--line)}.module-row select{max-width:65%}.mechanic-sliders>div{grid-template-columns:115px 1fr 35px}.footer{font-size:7px;padding:12px}.mode-number{display:none}}
