
:root{color-scheme:dark;--ink:#e3ebf3;--muted:#7790a5;--line:#1b3445;--cyan:#58ddff;--gold:#e9b56b;--panel:#0c1b2a;--black:#07121f}*{box-sizing:border-box}body{margin:0;background:#06101c;color:var(--ink);font:13px/1.5 'DM Sans',system-ui,-apple-system,sans-serif}button,select,input{font:inherit}button{cursor:pointer;color:inherit;background:#142c3d;border:1px solid #244454;border-radius:5px;padding:7px 10px;transition:.16s}button:hover{border-color:#55cce4;background:#1e3a4e}button:disabled{opacity:.28;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #69def1;outline-offset:1px}select,input[type=search]{background:#10273a;border:1px solid #274354;color:#dceaf5;border-radius:4px;padding:8px 9px;width:100%;outline:0}select:hover,input[type=search]:focus{border-color:#51b4c9}input[type=range]{accent-color:#5bdeef;width:100%;cursor:pointer}p{margin:7px 0}h2,h3{margin:0}.masthead{height:72px;background:#081723;display:flex;justify-content:space-between;align-items:center;padding:0 22px;border-bottom:1px solid #2e4a58;gap:16px}.branding{display:flex;gap:11px;align-items:center}.brand-mark{width:45px;height:45px;display:grid;place-items:center;border:1px solid #347b93;background:#103247;border-radius:10px;color:#5fdbee;font-size:31px}.brand-kicker{font-size:10px;letter-spacing:.24em;color:#82aab9;font-weight:700}.branding strong{font:800 25px 'Barlow Condensed',sans-serif;letter-spacing:.07em}.branding strong span{color:var(--cyan)}.mast-meta{display:flex;align-items:center;gap:13px}.edition,.engine-badge,.soft-tag,.technical-tag,.selected-id,.selected-state,.section-caption,.eyebrow,.left-foot,.viewport-foot,.status-footer,.coordinate-key,.layout-caption{font-size:10px;letter-spacing:.11em;font-weight:700}.edition{color:#a2b4c3}.engine-badge{padding:6px 10px;border-radius:3px;background:#112e36;border:1px solid #2c6062;color:#7cebc5}.tiny-button{font-size:11px}.modebar{height:49px;display:flex;align-items:center;justify-content:space-between;background:#0b1d2b;padding:0 18px;border-bottom:1px solid var(--line);gap:10px}.mode-tabs{display:flex;gap:6px;overflow:auto}.mode-pill{font:700 12px 'DM Sans';white-space:nowrap;background:transparent;border-color:transparent;padding:8px 16px;color:#7d99b1}.mode-pill:hover{color:#d6eaf9}.mode-pill.active{background:#164457;color:#79eaff;border:1px solid #2a788d}.layout-caption{color:#4c6a80;white-space:nowrap}.separator{padding:0 5px}.workspace{height:calc(100dvh - 154px);min-height:570px;display:grid;grid-template-columns:284px minmax(0,1fr) 300px;gap:7px;padding:7px;background:#09131f}.panel{background:var(--panel);border:1px solid var(--line);border-radius:5px;min-height:0;overflow:hidden}.left-panel,.right-panel{display:flex;flex-direction:column}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:18px 14px 12px}.eyebrow{color:#4cb0c7}.panel-head h2{font:700 23px 'Barlow Condensed';letter-spacing:.03em;margin-top:2px}.soft-tag{background:#112d3d;border:1px solid #244a5b;border-radius:4px;color:#65b8c7;padding:6px;letter-spacing:0;text-align:center}.search-field{position:relative;padding:2px 13px}.search-field>span{position:absolute;left:24px;top:4px;color:#88aaba;font-size:19px}.search-field input{padding-left:30px}.tool-row{display:flex;padding:7px 13px;gap:7px}.subtle-btn{background:transparent;flex:1;color:#82a7b9}.tree-scroll{flex:1;overflow-y:auto;padding:4px 8px 14px}.tree-scroll::-webkit-scrollbar,.inspector-scroll::-webkit-scrollbar{width:5px}.tree-scroll::-webkit-scrollbar-thumb,.inspector-scroll::-webkit-scrollbar-thumb{background:#315366}.tree-group{margin:6px 1px;border-bottom:1px solid #183346;padding-bottom:6px}.tree-group summary{cursor:pointer;list-style:none;font:700 12px 'DM Sans';color:#c8dce7;padding:10px 7px;border-radius:4px;background:#112737}.tree-group summary:before{content:'⌄';margin-right:9px;color:#62cbde}.tree-part{width:100%;background:transparent;display:flex;text-align:left;align-items:center;gap:7px;padding:8px 5px;font-size:11px;color:#aec3d0;line-height:1.3;border:1px solid transparent;border-radius:3px}.tree-part:hover{background:#162d40}.tree-part.active{background:#18394c;border-color:#32708a;color:#81eaff}.tree-part.pending{opacity:.71}.tree-part small{font-size:9px;color:#6d94a8;white-space:nowrap}.tree-part .partname{flex:1}.dot{width:7px;height:7px;flex-shrink:0;background:var(--part-color);border-radius:50%;box-shadow:0 0 8px var(--part-color)}.left-foot{padding:14px;background:#0b1b28;border-top:1px solid var(--line);color:#6e93aa;letter-spacing:.03em}.signal-dot,.green-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#71d8b0;box-shadow:0 0 9px #71d8b0;margin-right:7px}.muted{color:var(--muted)}.center-panel{display:flex;flex-direction:column;min-width:0;gap:7px;min-height:0}.viewframe{position:relative;flex:1;min-height:280px;border:1px solid #25435a;border-radius:5px;overflow:hidden;background:radial-gradient(ellipse at 51% 44%,#13364b 0%,#0c2032 48%,#071423 100%)}#viewport{display:block;position:absolute;inset:0;width:100%;height:100%;touch-action:none;outline:0;cursor:grab}#viewport:active{cursor:grabbing}.viewport-head{position:absolute;z-index:2;left:16px;right:16px;top:15px;display:flex;justify-content:space-between;gap:8px;pointer-events:none}.breadcrumb{font-size:11px;font-weight:700;letter-spacing:.11em}.breadcrumb #mode-name{color:#74e5fc}.metrics{display:flex;gap:12px;font-size:10px;color:#8aafc2}.viewport-left-info{position:absolute;bottom:54px;left:20px;display:flex;flex-direction:column;pointer-events:none;gap:2px;color:#b6cedd;font-size:11px}.viewport-left-info strong{font:700 19px 'Barlow Condensed';letter-spacing:.06em}.technical-tag{color:#60d8ec}.coordinate-key{position:absolute;right:21px;bottom:52px;background:#0b2030b8;padding:9px;border:1px solid #294257;border-radius:4px;display:flex;gap:9px}.axis-x{color:#ea8181}.axis-y{color:#9be592}.axis-z{color:#75bfff}.viewport-foot{position:absolute;bottom:0;left:0;right:0;background:#071926c9;border-top:1px solid #1d3848;text-align:center;padding:9px;color:#618da4;letter-spacing:.04em}.viewport-foot span{padding:0 7px}.floating-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.marker{position:absolute;max-width:230px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transform:translate(14px,-110%);background:#0a263adf;border:1px solid #46bcd6;border-radius:4px;padding:5px 8px;color:#a4f6ff;font-size:10px;font-weight:700;box-shadow:0 4px 16px #0008}.marker:before{content:'';position:absolute;left:-11px;top:95%;width:12px;height:1px;background:#5bcee7}.connectors{position:absolute;width:100%;height:100%}.connectors line{stroke:#4bd7eb;stroke-width:1;stroke-dasharray:3 5;opacity:.55}#startup-error{position:absolute;inset:35% 13%;background:#3c1420;color:#ffc5ce;padding:25px;z-index:3}.lower-controls{padding:12px 16px;min-height:195px;flex-shrink:0}.control-head{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.1em;color:#9db6c6}.hint-note{color:#6b899b}.split-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:end;margin-top:8px}.split-row label{font-size:10px;color:#7e9cad}.split-row select{margin-top:4px;padding:7px}.explosion-line{display:flex;align-items:center;gap:13px;margin:14px 0 11px}.explosion-line label{font-size:10px;color:#a9cbdb;letter-spacing:.14em;font-weight:700}.numeric{min-width:42px;text-align:right;font:700 16px 'Barlow Condensed';color:#6bdfff}.bottom-grid{display:flex;flex-direction:column;gap:6px}.camera-row{display:flex;flex-wrap:wrap;align-items:center;gap:5px}.camera-row>span{width:66px;font-size:10px;color:#7296aa;letter-spacing:.11em}.camera-row button{padding:6px 9px;font-size:10px;background:#112b3b}.speed-line{display:flex;align-items:center;gap:5px;color:#6f9cac;font-size:10px;flex:1;min-width:95px;max-width:180px}.speed-line input{min-width:32px}.speed-line b{white-space:nowrap;color:#9ee8f6}.inspector-head{padding-bottom:8px}.material-swatch{height:24px;width:24px;border:3px solid #365869;border-radius:50%;box-shadow:0 0 15px #65c9de24}.inspector-scroll{flex:1;overflow-y:auto;padding:0 14px 10px}.selected-id{color:#67a9be}.inspector-scroll h3{font:700 26px/1.05 'Barlow Condensed';margin-top:8px;letter-spacing:.02em}.selected-state{display:flex;gap:10px;align-items:center;margin:11px 0;color:#7ca2b6}.selected-state #part-status{padding:3px 6px;border:1px solid #277f6b;color:#82d9b6;border-radius:3px}.selected-state #part-status[data-ok="0"]{border-color:#ac7a3e;color:#f2c783}.inspector-scroll>p{color:#9ab2c1;font-size:12px}.material-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:15px 0}.material-stats>div{min-height:58px;padding:9px;background:#102738;border:1px solid #254053;border-radius:4px;display:flex;flex-direction:column}.material-stats small,.dependency small{font-size:9px;color:#6f96ab;letter-spacing:.1em;font-weight:700}.material-stats strong{font-size:12px;margin-top:5px}.dependency{border-left:2px solid #278bb0;padding-left:9px;margin-bottom:17px}.dependency p{font-size:11px;color:#a8c1cf}.section-caption{color:#64c9e1;margin:13px 0 8px}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.action-grid button{font-size:11px;min-height:31px}.separator-line{height:1px;background:#264152;margin-top:19px}.progress-meta{display:flex;justify-content:space-between;color:#87acbd;font-size:11px}.progress-meta strong{color:#9ce2ee}.progress-track{height:7px;border-radius:20px;background:#122c3b;overflow:hidden;margin:9px 0}.progress-track>div{height:100%;background:linear-gradient(90deg,#297f97,#76e9ef);transition:width .2s}.primary-btn{background:#15617a;border-color:#2494b3;color:#e4fcff;font-weight:700}.highlight-btn{border-color:#3e9ab0}.move-grid{display:grid;grid-template-columns:repeat(4,1fr);align-items:center;gap:5px;margin-top:10px}.move-grid span{font-size:9px;color:#709bb0;text-align:center}.move-grid button{min-height:30px}.gear-widget{display:flex;align-items:center;justify-content:space-between;border:1px solid #2c576b;background:#102e40;border-radius:5px;padding:10px 8px;gap:7px}.gear-widget>div{display:flex;flex-direction:column;align-items:center}.gear-widget small{color:#82adc0;font-size:9px;letter-spacing:.1em}.gear-widget strong{font:800 29px 'Barlow Condensed';color:#e0f3fb}.gear-widget span{color:#6ee4f4}.gear-widget button{font-size:24px;width:35px}.rpm-control{display:flex;flex-wrap:wrap;align-items:center;gap:6px;color:#86aebb;font-size:10px;margin:11px 0}.rpm-control input{flex:1;min-width:80px}.rpm-control span{color:#9beaff}.wide-btn{width:100%;margin:6px 0}.hint-box{font-size:11px!important;padding:11px;background:#112e3d;border-left:2px solid #41abc8;color:#a8cfdd!important;margin-top:14px!important}.tiny-note{font-size:10px!important;color:#6e8799!important}.right-foot{display:flex;gap:6px;padding:11px 14px;border-top:1px solid var(--line)}.right-foot button{flex:1;font-size:11px}.status-footer{height:33px;padding:0 17px;display:flex;align-items:center;justify-content:space-between;background:#06111b;color:#6e8da0;gap:10px;letter-spacing:.04em}.status-footer b{width:5px;height:5px}.status-footer>span:last-child{font-size:9px}#toast{position:fixed;z-index:20;left:50%;bottom:49px;transform:translate(-50%,18px);background:#0f3442;border:1px solid #52c2d2;border-radius:6px;padding:12px 22px;max-width:min(520px,90vw);box-shadow:0 10px 35px #000b;color:#e0f8fb;opacity:0;pointer-events:none;transition:.22s}#toast.show{opacity:1;transform:translate(-50%,0)}#toast[data-bad="1"]{border-color:#d28b71;background:#3d2729}#assembly-panel[hidden],#operation-panel[hidden],#lesson-panel[hidden]{display:none!important}
@media(max-width:1240px){.workspace{grid-template-columns:238px minmax(0,1fr) 267px}.layout-caption{display:none}.mode-pill{padding:7px 10px}.left-panel .panel-head{flex-wrap:wrap}}
@media(max-width:960px){.workspace{grid-template-columns:190px minmax(0,1fr);height:auto;min-height:calc(100dvh - 154px)}.right-panel{grid-column:1/-1;max-height:470px}.center-panel{min-height:650px}.edition{display:none}.viewport-foot{font-size:8px}.left-panel{max-height:650px}}
@media(max-width:650px){.masthead{height:61px;padding:0 12px}.branding strong{font-size:22px}.brand-mark{height:38px;width:38px;font-size:24px}.brand-kicker{font-size:8px}.tiny-button span,.engine-badge{display:none}.modebar{height:45px;padding:0 7px}.mode-pill{padding:7px 9px;font-size:10px}.workspace{display:flex;flex-direction:column;height:auto;padding:5px;gap:6px}.center-panel{order:0;min-height:0;gap:6px}.viewframe{height:54dvh;min-height:310px;flex:auto}.lower-controls{padding:12px;min-height:0}.left-panel{order:1;max-height:300px}.right-panel{order:2;max-height:none;min-height:360px}.inspector-scroll{max-height:490px}.viewport-left-info{bottom:52px;left:12px}.viewport-left-info strong{font-size:14px}.viewport-foot{font-size:7px;letter-spacing:0}.metrics{display:none}.coordinate-key{right:12px}.lower-controls .camera-row>span{width:50px}.camera-row button{padding:5px}.status-footer{height:35px;font-size:8px}.status-footer>span:last-child,.mid-hide{display:none}}

/* Explicit contrast for headless and installed-system font fallbacks */
.branding strong,.panel-head h2,.inspector-scroll h3,.viewport-left-info strong{color:#e3edf8!important;font-family:Arial,system-ui,sans-serif!important}.camera-row button,.mode-pill,.left-panel .tree-part{color:#b9d2e2}.mode-pill.active{color:#87edff}.progress-meta strong{color:#a4f2fc}.action-grid button{color:#cde8f4}
