
:root{color-scheme:dark;--bg:#070e1a;--surface:#0c1627;--surface2:#111e31;--line:rgba(122,167,195,.14);--ink:#e5f2fa;--muted:#7894a9;--cyan:#46d8f3;--orange:#eda164;--danger:#ef896d;--card:#102036}*{box-sizing:border-box}html,body{width:100%;min-height:100%;margin:0;background:#070e1a;color:var(--ink);font-family:'DM Sans',Inter,system-ui,sans-serif;font-size:13px}button,input,select{font:inherit}button{cursor:pointer;border:1px solid rgba(109,157,184,.18);color:#bed9e9;background:linear-gradient(180deg,#172b42,#101e30);border-radius:5px;transition:background .16s,border .16s,color .16s,transform .12s}button:hover{border-color:#4dbad4;color:white;background:#1c3b50}button:active{transform:translateY(1px)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}a{color:inherit}input[type=range]{accent-color:var(--cyan);width:100%;cursor:pointer}select{background:#111f32;border:1px solid #2d4762;color:#cae5f2;border-radius:4px;padding:8px 9px;min-width:0}input[type=search]{background:transparent;border:0;color:#eef8ff;outline:none;width:100%;padding:11px 3px;font-size:12px}input[type=search]::placeholder{color:#6a879b}.app-shell{display:flex;flex-direction:column;height:100dvh;min-height:620px;overflow:hidden;background:radial-gradient(circle at 46% 20%,#12223b,#071020 61%,#060b13)}.topbar{height:68px;flex:0 0 68px;display:flex;align-items:center;justify-content:space-between;background:#091321;border-bottom:1px solid #20354c;padding:0 23px;gap:15px}.brand{display:flex;align-items:center;gap:11px}.brand-symbol{width:42px;height:42px;display:grid;place-items:center;border:1px solid #2d6683;background:linear-gradient(145deg,#112a42,#0b1725);font-family:'Barlow Condensed',sans-serif;font-size:29px;font-weight:700;color:#dceffb;position:relative;border-radius:4px}.brand-symbol span{position:absolute;font-size:12px;right:2px;top:0;color:var(--cyan)}.brand-eyebrow{letter-spacing:2px;font-weight:700;font-size:8px;color:#6d9ab4}.brand strong{display:block;font-family:'Barlow Condensed',sans-serif;font-size:25px;font-weight:600;line-height:1.05;letter-spacing:2.2px}.brand em{font-style:normal;color:var(--cyan)}.header-meta,.header-actions{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:1px}.header-meta .pulse,.status-led,.footer-dot{display:inline-block;background:#49dcb3;width:7px;height:7px;box-shadow:0 0 12px #45edac;border-radius:50%}.header-divider{width:1px;height:18px;background:#354b60;margin:0 8px}.header-actions button{padding:9px 13px}.header-actions a{text-decoration:none;color:#d7eaf2}.header-actions a span{color:var(--cyan)}.modebar{display:flex;height:51px;min-height:51px;align-items:stretch;background:#0b182b;border-bottom:1px solid #20364e;padding:0 19px;gap:6px;overflow-x:auto}.modebar>button{border:0;border-bottom:2px solid transparent;background:none;border-radius:0;color:#849eb5;font-weight:700;font-size:12px;min-width:104px;padding:0 13px}.modebar>button.active{color:var(--cyan);border-color:var(--cyan);background:linear-gradient(180deg,rgba(73,170,197,.07),rgba(53,172,204,.15))}.modebar-right{margin-left:auto;display:flex;align-items:center;gap:9px}.tiny-tag{color:#6495b0;font-size:9px;border:1px solid #1c394e;padding:5px 8px;letter-spacing:1px;white-space:nowrap}.workbench{flex:1;display:grid;grid-template-columns:minmax(235px,20%) minmax(300px,1fr) minmax(260px,24%);min-height:0}.sidebar{background:linear-gradient(180deg,#0d1c2d,#091524);min-height:0;display:flex;flex-direction:column}.sidebar-left{border-right:1px solid #23374e}.sidebar-right{border-left:1px solid #23374e}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:22px 20px 17px;border-bottom:1px solid var(--line)}.panel-head small,.deck-heading small{color:#5f8ba5;font-size:9px;letter-spacing:2px;font-weight:800}.panel-head h2{font-family:'Barlow Condensed',sans-serif;font-size:23px;font-weight:500;letter-spacing:.4px;margin:3px 0 0}.search-wrap{display:flex;align-items:center;border:1px solid #24415a;background:#0b192b;margin:17px 16px 10px;padding-left:12px;border-radius:5px;color:var(--cyan);font-size:20px}.tree-summary{display:flex;justify-content:space-between;color:#718da1;font-size:10px;padding:0 19px 12px}.tree-scroll{overflow-y:auto;flex:1;padding:0 8px 15px;scrollbar-width:thin;scrollbar-color:#2b485d transparent}.tree-group>button{border:0;background:transparent;display:flex;align-items:center;justify-content:space-between;text-align:left;width:100%;padding:12px 10px 8px;color:#bdd5e7;font-family:'Barlow Condensed',sans-serif;font-size:15px;letter-spacing:.25px}.tree-group>button:hover{background:#14283b}.tree-group>button small{font-size:10px;color:#6c9cb4}.tree-group .chev{color:#44b2cf;font-size:12px;margin-right:8px}.tree-part{padding:7px 10px 7px 26px;display:flex;gap:10px;width:100%;min-height:34px;text-align:left;border:1px solid transparent;background:transparent;border-radius:3px;font-size:11px;align-items:center;color:#88a5b7}.tree-part:hover,.tree-part.active{background:#15334a;border-color:#23627b;color:#f2fbff}.tree-part .part-indicator{height:7px;width:7px;border-radius:50%;background:#4d6b7d;flex:0 0 7px}.tree-part.removed .part-indicator{background:#e69a65;box-shadow:0 0 5px #b9674f}.tree-part.active .part-indicator{background:#47d7f5;box-shadow:0 0 7px #3fbadc}.tree-part span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-bottom{border-top:1px solid var(--line);padding:13px 17px;color:#66869e;font-size:9px;letter-spacing:.8px}.status-led{width:5px;height:5px;margin-right:6px}.center{min-width:0;min-height:0;display:flex;flex-direction:column;background:#091524}.viewport{position:relative;flex:1;min-height:0;overflow:hidden;background:radial-gradient(circle at 48% 40%,#1a3450,#071626 68%,#07111d)}#scene{width:100%;height:100%;position:absolute;inset:0;display:block;touch-action:none;cursor:grab}#scene:active{cursor:grabbing}.viewport-gradient{pointer-events:none;position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,18,35,.63),transparent 22%,transparent 78%,rgba(5,14,26,.75))}.viewport-top{position:absolute;top:22px;left:23px;right:20px;display:flex;justify-content:space-between;pointer-events:none}.viewport-top button{pointer-events:auto;background:rgba(12,31,49,.8);font-size:9px;font-weight:700;padding:8px 10px;letter-spacing:1px}.holo-badge{font-size:10px;font-weight:700;letter-spacing:1.2px;color:#a3deee}.holo-badge>span:first-child{color:#4ce7a6}.holo-badge .dim{color:#6d91ad;font-weight:400}.top-icon-row{display:flex;gap:7px}.viewport-side{position:absolute;top:50%;right:16px;transform:translateY(-50%);display:flex;flex-direction:column;gap:5px}.viewport-side button{background:rgba(9,25,43,.83);color:#8aacc4;font-size:10px;font-weight:700;min-width:37px;min-height:35px}.viewport-side button:hover{color:var(--cyan)}.bottom-hud{position:absolute;left:23px;right:20px;bottom:17px;display:flex;justify-content:space-between;gap:10px;align-items:end;color:#668ea9;font-size:9px;letter-spacing:1px}.hud-coords{white-space:nowrap;color:#416d86}.world-labels,.tech-lines{position:absolute;inset:0;pointer-events:none}.tech-lines{width:100%;height:100%;overflow:visible}.world-label{position:absolute;background:#081b2a;border:1px solid #357e99;border-radius:3px;box-shadow:0 3px 14px #0008;padding:6px 8px;font-size:10px;color:#d5f4ff;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transform:translate(12px,-30px)}.world-label.selected{border-color:var(--orange);color:#fff}.control-deck{background:linear-gradient(180deg,#0e1d30,#0a1727);border-top:1px solid #263e56;padding:18px 25px 17px;flex:0 0 auto}.deck-top{display:flex;justify-content:space-between;gap:20px;align-items:center}.deck-heading strong{display:block;font:500 21px/1.2 'Barlow Condensed',sans-serif;color:#dcecf7;margin-top:2px}.transport{display:flex;align-items:center;gap:5px}.transport>button{width:34px;height:33px;font-size:16px}.speed{display:flex;align-items:center;gap:7px;margin-left:10px;font-size:9px;letter-spacing:1px;color:var(--muted)}.speed select{padding:6px}.deck-slider{margin-top:15px}.slider-labels{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#7695ab;letter-spacing:1.1px}.slider-value{font:600 20px 'Barlow Condensed',sans-serif;color:var(--cyan)}.deck-slider input{height:16px;margin:8px 0}.deck-options{display:grid;grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) auto;gap:11px;align-items:end;margin-top:5px}.deck-options label{display:flex;flex-direction:column;gap:6px;color:#6c8da6;font-size:9px;letter-spacing:1px}.deck-options select{font-size:11px}.deck-action-row{display:flex;gap:6px}.deck-action-row button{padding:9px 11px;font-size:10px;font-weight:700}.inspector-body{padding:17px 17px 25px;overflow:auto;scrollbar-width:thin;scrollbar-color:#27455c transparent}.inspector-preview{height:91px;border:1px solid #1e4660;background:radial-gradient(circle at 60% 0%,#20435e,#10253b 55%,#0e1b2a);border-radius:4px;position:relative;display:flex;justify-content:center;align-items:center;overflow:hidden}.inspector-preview .orb{color:#4ba9ca;font-size:67px;text-shadow:0 0 30px #31b4ee60}.inspector-preview>span{position:absolute;font-size:8px;letter-spacing:1.2px;font-weight:700;color:#81b0cd}.inspector-preview>span:nth-last-child(2){left:10px;top:9px}.inspector-preview>span:last-child{right:11px;bottom:10px}.inspector-body h3{font-family:'Barlow Condensed',sans-serif;font-size:25px;font-weight:500;line-height:1.1;margin:14px 0 8px}.inspector-body p{color:#91acbf;font-size:11px;line-height:1.6;margin:6px 0 16px}.spec-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid #233d52;margin:15px 0;background:#0c1a2a}.spec-grid>div{padding:11px;min-width:0;border-bottom:1px solid #22394d}.spec-grid>div:nth-child(odd){border-right:1px solid #22394d}.spec-grid>div:nth-last-child(-n+2){border-bottom:0}.spec-grid span,.spec-grid strong{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.spec-grid span{font-size:8px;letter-spacing:1.1px;color:#6f91a8}.spec-grid strong{font-size:11px;color:#ccedf7;margin-top:6px}.section-rule{color:#75a5ba;font-size:9px;letter-spacing:1.2px;border-bottom:1px solid #234059;padding:3px 0 9px;margin:17px 0 10px;font-weight:700}.inspector-body .technical-note{margin:0;color:#88a7bd;font-size:11px}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.action-grid button{font-size:10px;padding:10px 7px;min-width:0}.action-grid .primary{background:linear-gradient(180deg,#0a7288,#08475e);border-color:#2996b2;color:#f1fdff}.assembly-settings label,.mechanisms label{display:flex;flex-direction:column;gap:8px;font-size:9px;letter-spacing:1px;color:#7397ad}.assembly-settings select{width:100%;margin:6px 0 12px}.keyboard-tip{font-size:10px!important;color:#668da3!important;margin-top:11px!important}.mechanisms label{margin:14px 0}.mechanisms label span{float:right;color:var(--cyan)}.mechanisms button{width:100%;padding:10px;font-size:10px;font-weight:700}.progress-header{display:flex;justify-content:space-between;color:#8aacc0;font-size:9px}.progress-header strong{color:var(--cyan)}.progress-track{margin:10px 0;background:#1b3044;height:8px;overflow:hidden;border-radius:5px}.progress-track div{height:100%;width:100%;background:linear-gradient(90deg,#348aa4,#4ad9df);transition:width .25s}.footnote{font-size:10px!important}.footerline{flex:0 0 29px;min-height:29px;background:#06101d;border-top:1px solid #183046;display:flex;justify-content:space-between;gap:15px;align-items:center;padding:0 18px;font-size:8px;letter-spacing:.85px;color:#60829d;white-space:nowrap}.footerline>span:first-child{overflow:hidden;text-overflow:ellipsis}.footer-dot{width:5px;height:5px;margin-right:8px}#toast{position:fixed;left:50%;bottom:48px;transform:translate(-50%,15px);opacity:0;pointer-events:none;color:#defaff;border:1px solid #2c8ca8;background:rgba(7,29,47,.96);box-shadow:0 20px 50px #0009;padding:12px 17px;border-radius:6px;max-width:min(88vw,650px);font-size:11px;z-index:60;transition:opacity .2s,transform .2s}#toast.show{opacity:1;transform:translate(-50%,0)}.mobile-only{display:none!important}
@media(max-width:1240px){.workbench{grid-template-columns:225px minmax(280px,1fr) 255px}.brand strong{font-size:22px}.panel-head{padding:16px 12px}.sidebar-right .inspector-body{padding:10px}.deck-options{grid-template-columns:1fr 1fr}.deck-action-row{grid-column:1/-1}.header-meta .small-label,.header-divider{display:none}.control-deck{padding:13px 15px}}
@media(max-width:970px){.workbench{grid-template-columns:1fr}.sidebar{position:fixed;z-index:25;top:117px;bottom:29px;width:min(325px,86vw);box-shadow:0 0 45px #000a;transition:transform .26s}.sidebar-left{left:0;transform:translateX(-105%)}.sidebar-right{right:0;transform:translateX(105%)}.sidebar.visible{transform:translateX(0)}.mobile-only{display:inline-block!important}.sidebar .panel-head{padding:17px}.sidebar-right .inspector-body{padding:17px}.viewport .drawer-button{position:absolute;bottom:55px;z-index:5;padding:10px 13px;font-weight:700;background:#0c2a40;color:#c5e8fa}.left-button{left:18px}.right-button{right:18px}.modebar-right{display:none}.modebar>button{min-width:86px;padding:0 9px}.header-meta{display:none}}
@media(max-width:630px){.app-shell{min-height:0}.topbar{height:58px;flex-basis:58px;padding:0 12px}.brand-symbol{width:32px;height:32px;font-size:23px}.brand strong{font-size:21px}.brand-eyebrow{font-size:7px;letter-spacing:1.1px}.header-actions{gap:4px}.header-actions button{padding:6px;font-size:10px}.header-actions .link-article{font-size:10px;margin-right:4px}.modebar{height:48px;min-height:48px;padding:0 4px;gap:0}.modebar>button{font-size:10px;min-width:77px}.sidebar{top:106px;bottom:25px}.control-deck{padding:9px 13px}.deck-heading strong{font-size:17px}.deck-heading small{font-size:8px}.transport{gap:2px}.transport>button{width:27px;height:29px;font-size:12px}.speed{margin-left:2px;font-size:7px;gap:3px}.speed select{padding:5px 2px;font-size:9px;width:51px}.deck-slider{margin-top:6px}.deck-slider input{margin:3px 0}.slider-value{font-size:17px}.deck-options{gap:6px;margin-top:1px}.deck-options label{font-size:8px;gap:3px}.deck-options select{padding:6px;font-size:10px}.deck-action-row button{padding:7px;font-size:9px;flex:1}.viewport-top{top:10px;left:10px;right:10px}.viewport-side{right:8px}.viewport-side button{min-width:29px;min-height:29px;font-size:9px}.bottom-hud{left:12px;bottom:12px;max-width:75%}.hud-coords{display:none}.footerline{height:25px;min-height:25px;font-size:7px}.footerline>span:last-child{display:none}.viewport .drawer-button{bottom:46px}.world-label{max-width:105px;font-size:8px;padding:4px}.viewport-guidance{font-size:8px;max-width:88%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
