:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif;background:#050d14;color:#dbe9ed;--line:#1a3341;--line2:#264455;--panel:#0c1922;--cyan:#65d6d6;--cyan2:#2a8e9a;--dim:#67818b;--gold:#d4b78b;--top:88px}*{box-sizing:border-box}html,body,#app{margin:0;width:100%;min-height:100%;background:#061019}button,select,input{font:inherit}button{border:1px solid #294556;color:#b1c9d2;background:#0e2330;cursor:pointer;transition:.2s;user-select:none}button:hover{color:#e6fffc;border-color:#63c5c5;background:#193745}button:active{transform:scale(.97)}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}select{background:#0e2530;color:#bcd4d9;border:1px solid #335060;padding:7px 9px;border-radius:3px;min-width:0}strong{font-weight:700}.app-shell{display:flex;flex-direction:column;height:100dvh;min-height:670px;overflow:hidden;background:linear-gradient(145deg,#06111a,#07131c 52%,#040a10)}.topbar{height:78px;flex:none;border-bottom:1px solid #1a3b44;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:linear-gradient(90deg,#07141e,#0b1a24 54%,#08141d);gap:18px}.brand{display:flex;align-items:center;gap:11px;min-width:220px}.brand-mark{display:grid;place-items:center;width:39px;height:39px;border:1px solid #4c939b;transform:rotate(45deg);background:#163642;box-shadow:0 0 24px #2db5bb22}.brand-mark span{transform:rotate(-45deg);font-size:28px;color:#92e7e0}.brand-copy{display:flex;flex-direction:column;gap:3px}.brand-copy strong{letter-spacing:.18em;font-size:16px;color:#f1f8fa}.brand-copy strong span{color:#70d5d5}.brand-copy small{letter-spacing:.11em;font-size:8px;color:#708d94}.model-heading{display:flex;flex-direction:column;text-align:center;gap:0}.kicker{font-size:9px;color:#a78d6e;letter-spacing:.22em}.kicker b{color:#2d6f73}.model-heading strong{font-size:31px;letter-spacing:.15em;line-height:1.07;color:#edf8fb;font-weight:650}.model-heading em{font-style:normal;color:#78ccce;font-weight:300}.model-sub{font-size:9px;letter-spacing:.21em;color:#849fa8}.top-actions{display:flex;align-items:center;gap:9px}.top-actions button{width:34px;height:34px;border-radius:3px;font-size:19px}.live-dot,.pulse-dot{color:#63d5b5;font-size:12px;text-shadow:0 0 12px #54ebc2}.live-dot{height:7px;width:7px;border-radius:100%;background:#4ee4b0;box-shadow:0 0 8px #4ee4b0}.live-tag{font-size:9px;color:#8bb4b8;letter-spacing:.12em}.mode-tabs{height:50px;flex:none;display:flex;justify-content:center;background:#0b1821;box-shadow:0 4px 25px #0004;border-bottom:1px solid #213b48;z-index:2}.mode-tabs button{border:0;border-bottom:2px solid transparent;padding:0 22px;background:transparent;font-size:11px;letter-spacing:.10em;font-weight:650;color:#7f9ba7}.mode-tabs button span{font-size:18px;font-weight:400;margin-right:7px;vertical-align:middle;color:#6a9ba4}.mode-tabs button.active{color:#c9fefb;border-bottom-color:#56c4c7;background:linear-gradient(#24535c25,#16515d33)}.mode-tabs button:hover{color:white}.workspace{display:grid;grid-template-columns:274px minmax(0,1fr) 295px;flex:1;min-height:0}.panel{display:flex;flex-direction:column;background:#0b1922;overflow:auto;scrollbar-color:#2c4d58 transparent;scrollbar-width:thin;min-height:0}.tree-panel{border-right:1px solid #24404d}.inspector-panel{border-left:1px solid #24404d}.panel-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 18px 15px}.eyebrow{font-size:9px;letter-spacing:.17em;color:#4bbbc1;font-weight:750}.panel-header h2{margin:5px 0 0;font-size:16px;font-weight:550;color:#e5edf0}.count,.inspector-id{border:1px solid #315360;color:#9ed7d9;font-size:11px;padding:6px 9px;font-variant-numeric:tabular-nums}.search{display:flex;align-items:center;gap:9px;margin:0 16px;padding:0 9px;height:36px;border:1px solid #315361;background:#0a1821;color:#71adb3}.search span{font-size:22px}.search input{border:0;outline:0;background:none;color:#eff;font-size:11px;width:100%;min-width:0}.search kbd{color:#527381;border:1px solid #284957;font-size:10px;padding:2px 5px}.tree-tools{display:flex;justify-content:space-between;padding:12px 17px 8px}.tree-tools button{border:0;background:none;font-size:10px;color:#81a4ad;padding:0}.assembly-tree{flex:1;overflow:auto;padding:0 12px 8px;min-height:0}.tree-group{border-top:1px solid #16313e;padding-top:4px;margin-top:5px}.tree-heading{display:flex;width:100%;align-items:center;gap:7px;background:transparent;border:0;text-align:left;padding:11px 7px;font-size:10px;letter-spacing:.08em;font-weight:700;color:#b4ced4}.tree-heading .group-dot{width:6px;height:6px;border-radius:50%;background:#49a7aa}.tree-heading .chevron{margin-left:auto;font-size:11px;color:#60808c}.tree-part{display:flex;width:100%;align-items:center;text-align:left;gap:8px;border:1px solid transparent;background:transparent;border-radius:3px;padding:8px 6px 8px 13px;font-size:11px;color:#839da9;line-height:1.2}.tree-part .part-index{color:#4b7c87;font-size:9px;font-variant-numeric:tabular-nums}.tree-part .seat-dot{margin-left:auto;border:1px solid #597c86;width:5px;height:5px;flex-shrink:0;border-radius:100%;background:transparent}.tree-part.selected{background:#123945;border-color:#327f84;color:#d6fcf7}.tree-part.selected .part-index{color:#75dddc}.tree-part:not(.unseated) .seat-dot{background:#3eb79b;border-color:#3eb79b}.tree-part.unseated{color:#b6a897}.panel-foot{padding:14px 18px;border-top:1px solid #1c3440;font-size:9px;letter-spacing:.12em;color:#6c8d96}.status-symbol{color:#4aaeb4}.viewport-panel{position:relative;min-width:0;min-height:0;overflow:hidden;background:radial-gradient(ellipse at 60% 45%,#17333e,#070e18 69%)}#viewport{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}#viewport:active{cursor:grabbing}.viewport-wash{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 115px #0009;background:linear-gradient(90deg,#06121c22,transparent 35%,#040d1666)}.vp-top{position:absolute;top:17px;left:19px;right:19px;display:flex;justify-content:space-between;align-items:start;gap:10px;pointer-events:none}.vp-chip{display:inline-flex;align-items:center;gap:6px;background:#081b26d9;border:1px solid #31606b;padding:8px 12px;letter-spacing:.1em;font-size:10px;color:#b9d9db}.viewport-hints{display:flex;gap:8px;flex-wrap:wrap;justify-content:end}.viewport-hints span{border:1px solid #31505a;background:#07151dcf;padding:7px 10px;font-size:9px;color:#7fabb4;letter-spacing:.08em}.vp-bottom{position:absolute;bottom:16px;left:19px;right:20px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.camera-hint{font-size:10px;letter-spacing:.06em;color:#7797a4;text-shadow:0 2px 4px #000}.camera-hint span{color:#65bbbd}.camera-hint b{color:#2d555f}.axis-indicator{display:flex;gap:3px}.axis-indicator span{border:1px solid #245c67;background:#0d313b99;font-size:11px;padding:5px 8px;color:#b3d7d8}.crosshair{position:absolute;inset:50% auto auto 50%;width:20px;height:20px;transform:translate(-50%,-50%);pointer-events:none;opacity:.24}.crosshair:before,.crosshair:after{content:'';position:absolute;background:#85d6d9}.crosshair:before{height:1px;width:100%;top:50%}.crosshair:after{width:1px;height:100%;left:50%}.toast{position:absolute;top:68px;left:20px;max-width:min(450px,75%);font-size:11px;color:#b9d0d8;background:#08202ad9;border-left:2px solid #54d0cc;padding:9px 12px;opacity:0;transition:opacity .28s;pointer-events:none}.toast.visible{opacity:1}.tech-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.tech-label{position:absolute;background:#061b25c9;border:1px solid #4c9099;color:#bbe6e4;font:9px ui-monospace,monospace;white-space:nowrap;padding:4px 6px;max-width:150px;text-overflow:ellipsis;overflow:hidden}.snap-ghost{position:absolute;font-size:27px;color:#5df2c3;pointer-events:none;text-shadow:0 0 20px #23ffc7}.snap-ghost span{font:9px monospace;background:#0e3038;padding:3px 4px}#fallbackNotice{position:absolute;top:20%;left:18%;max-width:65%;border:1px solid #ad945d;background:#282219d9;color:#f4dfad;padding:20px;font-size:13px;line-height:1.6}.part-display{padding:9px 19px 10px;text-align:left}.part-preview-icon{height:62px;border:1px solid #244958;background:radial-gradient(circle at center,#204b56,#10222c 60%,#0a1a24);display:grid;place-items:center;color:#66cccc;font-size:43px;margin-bottom:13px}.part-name{font-size:18px;font-weight:650;color:#e8f4f6;line-height:1.25}.part-sub{font-size:10px;letter-spacing:.15em;color:#51b5bb;margin-top:5px}.part-desc{font-size:11px;color:#8da9b3;line-height:1.65;min-height:52px;margin:11px 0}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 17px 16px}.info-grid div{background:#10232d;border:1px solid #213b47;padding:9px 9px 8px;min-width:0}.info-grid span{display:block;font-size:9px;color:#648792}.info-grid strong{display:block;margin-top:5px;font-size:11px;color:#d2e3e6;overflow-wrap:anywhere}.inspector-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:0 17px 12px}.inspector-actions button{padding:8px 4px;font-size:11px;border-radius:3px}.accent-outline{border-color:#429a9e;color:#8ce8df}.danger-outline{border-color:#804f4b;color:#dca49b}.accent-fill{background:linear-gradient(135deg,#1e7e87,#135566);border-color:#50adb3;color:#e0ffff;font-weight:700}.inspector-actions .accent-fill{grid-column:span 2}.panel-section{border-top:1px solid #243c48;padding:14px 17px}.section-title{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.09em;color:#91aeb4;font-weight:700;margin-bottom:11px}.section-title span{color:#7adbd1}.camera-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.camera-grid button{font-size:10px;padding:7px 2px}.progress-track{width:100%;height:6px;background:#152f39;border:1px solid #285060}.progress-fill{width:100%;height:100%;background:linear-gradient(90deg,#197682,#55cfc9);box-shadow:0 0 8px #4dc7c888}.microcopy{font-size:10px;color:#73929c;line-height:1.5;margin:9px 0 0}.save-actions{display:flex;gap:5px}.save-actions button{font-size:10px;flex:1;padding:8px 3px}.control-deck{flex:none;min-height:155px;display:grid;grid-template-columns:1.2fr .95fr 1.35fr 1.16fr;background:linear-gradient(180deg,#0c1d27,#081722);border-top:1px solid #30515e;z-index:1}.deck-group{padding:15px 18px;min-width:0;border-right:1px solid #24404d}.deck-header{display:flex;justify-content:space-between;gap:8px;margin-bottom:15px;color:#72a9b3;font-size:9px;letter-spacing:.12em;font-weight:700}.deck-header span:last-child{color:#c3a880}.slider-row{display:flex;align-items:center;gap:8px;font-size:8px;letter-spacing:.05em;color:#648d95}.slider-row input{width:100%;min-width:30px}.preset-row{display:flex;gap:6px;margin-top:12px;align-items:center}.preset-row select{flex:1;max-width:42%;font-size:11px}.tiny{padding:7px 6px;font-size:10px}.transport{display:flex;align-items:center;gap:7px}.transport>button{width:33px;height:37px;font-size:19px;flex-shrink:0}.transport .play-primary{border-color:#5dbcb8;background:#1e646d;color:#bdfcf5}.transport label{display:flex;flex-direction:column;gap:5px;font-size:8px;color:#7b9fa8;letter-spacing:.06em;margin-left:auto}.transport select{width:79px;font-size:11px;padding:4px}.mechanics-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px 13px}.mechanics-controls label{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:8px;font-size:9px;color:#8cabb2;letter-spacing:.07em}.mechanics-controls label input{grid-column:1/3;width:100%;margin:4px 0 0}.mechanics-controls em{font-style:normal;color:#d1a777;font-size:9px}.workshop-actions{display:flex;gap:6px;margin:6px 0}.workshop-actions button{font-size:10px;white-space:nowrap;flex:1;padding:8px 3px}.workshop-actions select{font-size:10px;max-width:88px;padding:7px 5px}.footer{height:25px;flex:none;display:flex;justify-content:space-between;padding:6px 18px;background:#061019;border-top:1px solid #16323f;font-size:8px;letter-spacing:.09em;color:#5f7d87}.footer b{font-weight:normal;color:#2c6772}input[type=range]{accent-color:#6dd6d3;cursor:pointer}dialog{border:1px solid #4a949a;border-radius:4px;box-shadow:0 30px 100px #000;background:linear-gradient(155deg,#0d2833,#091923);color:#ccdee5;max-width:540px;width:90%;padding:25px;font-size:13px;line-height:1.65}dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}.help-top{display:flex;justify-content:space-between;align-items:center}.help-top h2{font-size:18px;letter-spacing:.08em;margin:0;color:#b7f4f1}.help-top button{padding:6px 10px}dialog>.accent-fill{padding:10px 18px;margin-top:8px}dialog b{color:#72d9d6}
@media(max-width:1250px){.workspace{grid-template-columns:236px minmax(0,1fr) 254px}.mode-tabs button{padding:0 13px}.deck-group{padding:13px 10px}.model-heading strong{font-size:25px}.brand{min-width:180px}.live-tag{display:none}}
@media(max-width:960px){.app-shell{height:100dvh;min-height:0}.topbar{height:66px;padding:0 10px}.brand{min-width:0}.brand-mark{width:29px;height:29px}.brand-copy strong{font-size:12px}.brand-copy small{display:none}.model-heading strong{font-size:20px}.kicker,.model-sub{font-size:7px}.mode-tabs{height:48px}.mode-tabs button{flex:1;padding:0 4px;font-size:9px;letter-spacing:0}.mode-tabs button span{display:block;font-size:15px;margin:0 0 -2px}.workspace{display:block;position:relative;flex:1;min-height:150px}.viewport-panel{height:100%}.panel{position:absolute;top:0;bottom:0;z-index:4;box-shadow:0 10px 22px #0009;width:min(315px,85%);transition:transform .22s}.tree-panel{left:0;transform:translateX(-102%)}.inspector-panel{right:0;transform:translateX(102%)}.app-shell.show-tree .tree-panel{transform:none}.app-shell.show-inspector .inspector-panel{transform:none}.control-deck{grid-template-columns:1fr 1fr;min-height:0}.deck-group{padding:9px 13px}.deck-header{margin-bottom:6px;font-size:8px}.footer{display:none}.viewport-hints span:nth-child(2){display:none}.vp-top{left:10px;top:10px;right:10px}.vp-bottom{bottom:9px;left:10px;right:10px}.camera-hint{font-size:9px}}
@media(max-width:600px){.brand-copy small,.model-sub,.kicker{display:none}.brand-copy strong{font-size:11px;letter-spacing:.02em}.topbar{height:51px}.model-heading strong{font-size:18px}.top-actions button{width:28px;height:29px;font-size:15px}.mode-tabs{height:43px}.mode-tabs button{font-size:8px}.control-deck{grid-template-columns:1fr 1fr}.deck-group{padding:6px 7px}.deck-header{font-size:7px;letter-spacing:0}.slider-row span{display:none}.preset-row{margin-top:4px}.preset-row select{font-size:9px;padding:5px 3px}.preset-row button{padding:5px 2px}.transport{gap:3px}.transport>button{width:27px;height:28px;font-size:14px}.transport select{width:63px;font-size:9px}.mechanics-controls{gap:3px 8px}.mechanics-controls label{font-size:8px}.mechanics-controls em{font-size:8px}.workshop-actions button{padding:5px 2px;font-size:8px}.workshop-actions select{width:55px;font-size:8px;padding:5px 1px}.vp-chip,.viewport-hints span{font-size:8px;padding:5px 6px}.camera-hint{font-size:8px}.axis-indicator{display:none}}
@media(max-height:740px) and (min-width:960px){.topbar{height:60px}.mode-tabs{height:41px}.control-deck{min-height:129px}.deck-group{padding:10px}.deck-header{margin-bottom:8px}}

.mobile-nav{display:none}@media(max-width:960px){.mobile-nav{display:inline-block}}

.part-transform-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.part-transform-grid button{font:11px ui-monospace,monospace;padding:8px 3px}.part-transform-grid button:last-child{font-size:10px;color:#8ae8da;border-color:#398988}

.fallback-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}

.guide-link{color:#8ddad8;border:1px solid #315a62;text-decoration:none;font-size:9px;letter-spacing:.07em;padding:10px 9px}.guide-link:hover{color:white;background:#17424e}@media(max-width:600px){.guide-link{display:none}}
