@font-face{font-family:Inter;src:local('Inter')}
:root{color-scheme:dark;--ink:#e2e8e8;--muted:#81918f;--green:#c1f577;--orange:#e2b977;--paper:#0d1113;--panel:#151c1f;--line:#283135;--blue:#7caedd}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--paper);color:var(--ink);font:13px/1.55 Inter,-apple-system,BlinkMacSystemFont,'Segoe UI','Microsoft YaHei',sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--green);outline-offset:4px}[hidden]{display:none!important}input[type=checkbox]{accent-color:var(--green);width:14px;height:14px;margin:0}
.site-header{padding:17px 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#101619}.brand{font-size:21px;font-weight:650;letter-spacing:-.8px;display:flex;align-items:center;gap:10px}.brand span{font-size:24px}.brand svg{width:35px;height:35px;flex:none}.brand svg rect{fill:var(--green)}.brand svg path{fill:#192217}.header-caption{font-size:11px;font-weight:400;letter-spacing:.5px;color:var(--muted);margin-left:9px;padding-left:16px;border-left:1px solid #35423c}.back-link{font-size:12px;padding:8px 12px;border:1px solid #38463f;border-radius:6px;background:#1b2524;color:#a4b998}.back-link span{margin-left:6px}main{max-width:1540px;padding:27px 4vw 0;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:0 0 23px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:500;color:#87968d;margin:0 0 7px}h1{font-size:27px;letter-spacing:-.5px;line-height:1.4;font-weight:550;margin:0}.intro{font-size:12px;line-height:1.8;color:#859991;margin:0;max-width:390px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}.viewer-card,.inspector{min-width:0;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:9px}.viewer-topline{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:15px 18px;border-bottom:1px solid var(--line);font-size:11px;color:#859a90}.viewer-title{font-size:14px;color:var(--ink);font-weight:600}#pose-label{color:#859a90;background:#212c2b;padding:3px 7px;border-radius:4px}.group-tabs{display:flex;gap:4px;flex-wrap:wrap;padding:12px 15px 8px}.group-tabs button,.board-shortcuts button{border:1px solid #334139;background:#1b2524;color:#94aaa1;border-radius:5px;font-size:12px;padding:7px 11px}.group-tabs button[aria-pressed=true]{background:#2d3c2a;color:#d2e9b3;border-color:#4b6339}.group-tabs small{font:10px ui-monospace,monospace;margin-left:4px;color:#819674}.electronics-tools{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;padding:6px 18px 11px;font-size:11px;color:#9daf9f}.electronics-tools label{display:flex;align-items:center;gap:6px;cursor:pointer}.electronics-tools a{margin-left:auto;color:var(--green)}.board-shortcuts{display:flex;flex-wrap:wrap;gap:5px;padding:0 15px 11px}.board-shortcuts button{font-size:11px;padding:6px 11px;color:#94a9a1;background:#172023}.board-shortcuts button:hover{background:#25332b}.board-shortcuts button[aria-pressed=true],[data-component][aria-pressed=true]{background:#263722;border-color:#637f46;color:var(--green)}.stage{position:relative;height:clamp(400px,43vw,560px);background:#101619}#assembly-canvas{position:absolute;inset:0;overflow:hidden;touch-action:none}#assembly-canvas canvas{display:block;width:100%;height:100%;touch-action:none}.stage-hint{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);white-space:nowrap;color:#8fa78d;background:#172123df;border:1px solid #35413b;font-size:10px;padding:6px 10px;border-radius:5px;pointer-events:none}.robot-side-tag{position:absolute;transform:translate(-50%,-50%);font-size:10px;border-radius:4px;padding:4px 7px;background:#1a2722ec;color:#c8e6af;border:1px solid #3b5139;pointer-events:none}.robot-right{color:var(--warm,#e2b977);border-color:#62513a;background:#29261eeb}.electronics-label{border:1px solid #526749!important;background:#1c2923ef!important;color:#c8e6af!important;border-radius:4px!important;box-shadow:none!important}.electronics-label[aria-pressed=true]{background:var(--green)!important;color:#23311b!important;border-color:var(--green)!important}.electronics-scene-note{background:#25271ce8!important;color:#c9bd8d!important;border:1px solid #5a573b!important;border-radius:4px!important;left:12px!important;top:48px!important}.loading,.model-error{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px;gap:12px;text-align:center;background:#101619}.loading strong,.model-error strong{font-size:14px;font-weight:550}.loading>span:last-child,.model-error p{font-size:12px;color:var(--muted);line-height:1.8;margin:0;max-width:530px}.loading-dot{width:23px;height:23px;border:2px solid #334332;border-top-color:var(--green);border-radius:50%;animation:spin 1s linear infinite}.model-error strong{color:#edb3a1}.model-error button{background:var(--green);color:#23311b;border:1px solid var(--green);border-radius:6px;padding:8px 13px;font-size:12px;font-weight:650}.model-error a{font-size:12px;color:#b3c99f;text-decoration:underline;text-underline-offset:4px}@keyframes spin{to{transform:rotate(360deg)}}.component-quick{position:absolute;top:12px;left:12px;display:flex;align-items:center;gap:17px;padding:8px 11px;background:#172123ef;border:1px solid #43563c;border-radius:5px;font-size:11px;z-index:4;color:#c8dab8}.component-quick a{color:var(--green);text-decoration:underline;text-underline-offset:3px}.view-toolbar{display:flex;justify-content:center;flex-wrap:wrap;gap:5px;padding:12px 14px;border-top:1px solid var(--line)}.view-toolbar button{background:#1b2524;border:1px solid #38463f;border-radius:5px;padding:6px 10px;color:#a4b998;font-size:11px}.view-toolbar button:hover{color:var(--green);background:#26332a}.side-note,.layout-note{margin:0;padding:0 18px 10px;text-align:center;font-size:10px;line-height:1.8;color:#72897c}.layout-note{padding:0 18px 13px;color:#9c966f}.inspector{padding:18px}.inspector-tabs{display:flex;gap:3px;padding:3px;border:1px solid #334139;border-radius:6px;margin:0 0 19px}.inspector-tabs button{flex:1;border:0;background:transparent;border-radius:4px;padding:7px 6px;font-size:12px;color:#8aa081}.inspector-tabs button[aria-pressed=true]{background:#2d3c2a;color:#d2e9b3}.inspector h2{font-size:21px;font-weight:550;letter-spacing:-.3px;margin:4px 0 10px}.inspector-heading p{font-size:12px;color:var(--muted);line-height:1.85;margin:0}.fade-option{font-size:11px;display:flex;align-items:center;gap:7px;margin:16px 0 13px;color:#8fa28f}.joint-list{display:flex;flex-wrap:wrap;gap:6px}.joint-button{display:flex;align-items:center;gap:6px;border:1px solid #334139;border-radius:5px;background:#182220;color:#b6c9ad;font-size:11px;padding:7px 8px}.joint-button b{font:11px ui-monospace,monospace;color:#83aa68}.joint-button[aria-pressed=true]{background:#263722;border-color:#637f46;color:#d2e9b3}.joint-detail{margin:15px 0 0;padding:11px 12px;border-radius:6px;border:1px solid #30412e;background:#17221b;font-size:11px;line-height:1.8;color:#9db18e}.joint-detail strong{display:block;font-size:12px;color:#c8dfb5;margin-bottom:4px}.reference-section{margin-top:20px;padding-top:17px;border-top:1px solid var(--line)}.reference-section h3{font-size:12px;font-weight:550;margin:0 0 10px}.pose-buttons{display:flex;gap:5px}.pose-buttons button{border:1px solid #38463f;border-radius:5px;background:#1b2524;padding:7px 11px;font-size:11px;color:#a4b998}.pose-buttons button[aria-pressed=true]{background:#2d3c2a;border-color:#4b6339;color:#d2e9b3}.reference-section p{font-size:10px;line-height:1.8;color:var(--muted);margin:10px 0 0}.guide-link{display:flex;gap:11px;padding-top:21px}.guide-link>span{color:var(--green);font-size:22px}.guide-link a{font-size:11px;color:#c3dca9;text-decoration:underline;text-underline-offset:4px}.guide-link p{margin:7px 0 0;font-size:10px;color:var(--muted)}.component-location{background:#29271c;border:1px solid #5e5638;border-radius:6px;padding:10px 11px;color:#d1c48e;font-size:11px;line-height:1.8;margin:16px 0}.component-facts{margin:0;padding-left:17px;font-size:11px;color:#a8bca1;line-height:1.9}.component-facts li+li{margin-top:7px}.component-wires{margin-top:20px}.component-wires h3{font-size:12px;font-weight:550;margin:0 0 9px}.component-wire{border-top:1px solid var(--line);padding:10px 0;font-size:11px;line-height:1.8}.component-wire strong{display:block;font-weight:550;color:#c3d5b7}.component-wire span{color:var(--muted)}.component-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:17px}.purchase-link{background:var(--green);color:#23311b;border:1px solid var(--green);border-radius:6px;padding:9px 12px;font-size:12px;font-weight:650}.source-link{font-size:11px;color:#a4b998;text-decoration:underline;text-underline-offset:4px}.purchase-note{font-size:10px;line-height:1.8;color:var(--muted);margin:11px 0 0}.wiring-guide{margin-top:20px;border:1px solid var(--line);border-radius:9px;padding:21px;background:var(--panel)}.wiring-heading{display:flex;gap:25px;justify-content:space-between;align-items:center}.wiring-heading h2{font-size:21px;font-weight:550;line-height:1.5;margin:0;letter-spacing:-.3px}.wiring-heading>p{max-width:470px;color:var(--muted);font-size:11px;line-height:1.8;margin:0}.connection-map{display:flex;align-items:center;gap:12px;background:#101719;border:1px solid #28362e;padding:20px;border-radius:7px;margin-top:21px}.connection-map button{min-width:0;flex:1;display:flex;flex-direction:column;align-items:start;gap:5px;padding:14px;border:1px solid #334139;border-radius:6px;background:#1a2422;text-align:left;color:#c5d8ba}.connection-map button:hover{border-color:#597047}.connection-map strong{font-size:18px;font-weight:550}.map-chip,.connection-map small{font-size:10px;color:#81958a}.map-link{font-size:11px;white-space:nowrap;color:#cbb380}.map-link.bus{color:#83b5c8}.map-caption{font-size:11px;line-height:1.8;color:var(--muted);margin:12px 0 18px}.connection-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.connection-card{border:1px solid var(--line);border-radius:6px;padding:16px;min-width:0;background:#131b1d}.connection-card h3{font-size:13px;font-weight:550;margin:0 0 10px;color:#c7dcb9}.connection-card p{font-size:11px;line-height:1.9;margin:0;color:#8fa68e;white-space:pre-line;overflow-wrap:anywhere}.connection-card a{display:inline-block;margin-top:11px;font-size:10px;color:#b8d899;text-decoration:underline;text-underline-offset:3px}.hub-note{display:flex;gap:18px;align-items:center;background:#29271c;border:1px solid #5e5638;border-radius:6px;padding:14px 16px;margin-top:15px}.hub-note button{flex-shrink:0;background:none;color:#d1c48e;border:0;font:600 12px/1.6 Inter,system-ui,sans-serif;cursor:pointer}.hub-note p{font-size:11px;line-height:1.8;color:#ac9e76;margin:0}.build-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:20px}.note-card{display:flex;align-items:center;gap:13px;border:1px solid var(--line);background:var(--panel);padding:17px;border-radius:7px}.note-number{font:11px ui-monospace,monospace;color:#648053}.note-card h2{font-size:12px;font-weight:550;margin:0 0 6px}.note-card p{font-size:11px;color:var(--muted);line-height:1.7;margin:0}.note-card>span:last-child{margin-left:auto;font-size:18px;color:#a4b998}footer{display:flex;gap:25px;align-items:start;justify-content:space-between;font-size:10px;color:#607d68;line-height:1.8;margin-top:22px;padding:18px 0 24px;border-top:1px solid var(--line)}footer p{max-width:980px;margin:0}footer a{white-space:nowrap;text-decoration:underline;text-underline-offset:3px;color:#8da17e}
@media(max-width:1050px){.workspace{grid-template-columns:minmax(0,1fr) 290px;gap:14px}.inspector{padding:16px}.stage{height:470px}.intro{max-width:310px}.build-notes{gap:10px}.note-card{padding:14px;gap:10px}}
@media(max-width:760px){.site-header{padding:13px 15px}.brand{font-size:18px}.brand svg{width:31px;height:31px}.header-caption{display:none}.back-link{font-size:11px;padding:7px 10px}main{padding:17px 12px 0}.page-heading{display:block;margin:0 3px 16px}.page-heading .eyebrow{font-size:10px;letter-spacing:1px;margin-bottom:5px}h1{font-size:24px}.intro{font-size:11px;line-height:1.8;max-width:none;margin-top:7px}.intro br{display:none}.workspace{grid-template-columns:minmax(0,1fr);gap:14px}.viewer-topline{padding:12px 13px;font-size:10px}.viewer-title{font-size:13px}.group-tabs{gap:4px;padding:10px 11px 7px;flex-wrap:nowrap;overflow-x:auto}.group-tabs button{font-size:11px;padding:6px 8px;white-space:nowrap}.group-tabs small{font-size:9px;margin-left:2px}.electronics-tools{font-size:10px;padding:4px 12px 9px;gap:9px}.electronics-tools a{margin-left:0}.board-shortcuts{padding:0 11px 9px;gap:4px}.board-shortcuts button{font-size:10px;padding:6px 9px}.stage{height:clamp(280px,45svh,420px)}.view-toolbar{gap:4px;padding:10px 8px}.view-toolbar button{font-size:10px;padding:6px 8px}.stage-hint{font-size:9px;bottom:11px}.side-note,.layout-note{font-size:9px;padding:0 12px 10px}.inspector{padding:17px}.inspector h2{font-size:20px}.inspector-tabs{margin-bottom:17px}.joint-button{font-size:11px;padding:7px 9px}.component-quick{font-size:10px;padding:7px 9px}.wiring-guide{padding:17px 14px;margin-top:16px}.wiring-heading{display:block}.wiring-heading h2{font-size:20px}.wiring-heading>p{margin-top:11px}.connection-map{gap:6px;padding:11px 7px}.connection-map button{padding:11px 6px;gap:5px}.connection-map strong{font-size:13px}.connection-map small,.map-chip{font-size:9px}.map-link{font-size:9px;white-space:normal;max-width:25px;text-align:center}.connection-list{grid-template-columns:minmax(0,1fr);gap:10px}.hub-note{display:block}.hub-note p{margin-top:8px}.build-notes{grid-template-columns:minmax(0,1fr);gap:10px;margin-top:15px}.note-card{padding:14px 16px}footer{display:block;margin-top:20px}footer a{display:inline-block;margin-top:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.loading-dot{animation:none}}
.connection-map{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-color:#53634d #172123;scrollbar-width:thin}.connection-map button{min-width:125px}.header-caption{font-size:11px!important}
@media(max-width:760px){.connection-map button{min-width:105px;flex:0 0 105px}.connection-map .map-link{flex:0 0 24px}.connection-map{scroll-snap-type:x proximity}.connection-map button{scroll-snap-align:start}}
.component-sources{display:flex;gap:8px 12px;flex-wrap:wrap;margin-top:12px;font-size:10px;color:#8fa98b}.component-sources a{text-decoration:underline;text-underline-offset:3px}.component-sources p{margin:0;color:#6e8977;line-height:1.8}.signal-table{width:100%;border-collapse:collapse;font:11px ui-monospace,Consolas,monospace;margin:0 0 13px}.signal-table caption{text-align:left;font:10px/1.7 Inter,system-ui,sans-serif;color:#789172;margin:0 0 7px}.signal-table th{background:#192421;color:#a9c191;font-weight:500}.signal-table th,.signal-table td{text-align:left;padding:7px 10px;border:1px solid #30402f}.signal-table td{color:#c7d9b9}.connection-card p.source-note{font-size:10px;color:#647e6d;margin-top:9px}
.chain-map{padding:17px 18px;margin:0 0 20px;border:1px solid #35423a;border-radius:6px;background:#101719;overflow-x:auto;scrollbar-color:#53634d #172123;scrollbar-width:thin}.chain-row{display:flex;align-items:center;gap:9px;min-width:620px;padding:7px 0;font-size:11px;white-space:nowrap}.chain-label{width:142px;flex-shrink:0;color:#81958a}.chain-row b{font:11px ui-monospace,monospace;border:1px solid #354b35;border-radius:4px;background:#1c2a21;color:#c8deb7;padding:5px 9px;min-width:35px;text-align:center}.chain-row i{font-style:normal;color:#5c8060}.chain-row .chain-branch{border-color:#829b4f;color:#c1f577}.chain-extra{font-size:10px;color:#6b8475;margin-left:7px}
@media(max-width:760px){.chain-map{padding:10px 12px}.chain-row{gap:6px}.chain-label{width:125px}.chain-row b{padding:5px 7px}}
.electronics-scene-note{position:absolute;z-index:2;pointer-events:none;padding:5px 8px;font:600 10px/1.6 Inter,system-ui,sans-serif}
.stage-actions{display:flex;align-items:center;gap:10px}.stage-actions button{font:600 11px Inter,system-ui,sans-serif;background:#263722;border:1px solid #647f48;color:#d3edb8;padding:6px 10px;border-radius:5px;white-space:nowrap}.stage-actions button[aria-pressed=true]{background:#c1f577;color:#23311b;border-color:#c1f577}.explosion-status{padding:0 17px 10px;margin:0;font-size:10px;color:#779477;line-height:1.7}.wire-legend{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 14px;padding:0 16px 14px;font-size:10px;color:#a0b09f}.wire-legend>span{display:inline-flex;gap:5px;align-items:center}.wire-legend i{height:3px;width:18px;display:inline-block;border-radius:3px}.wire-ground{background:#262c2f;box-shadow:0 0 0 1px #78817b}.wire-power{background:#da6f68}.wire-data{background:#e2e8e8}.wire-legend small{font-size:9px;color:#6d8874}
@media(max-width:760px){.stage-actions{gap:6px}.stage-actions button{font-size:10px;padding:5px 7px}.explosion-status{font-size:9px;padding:0 12px 9px}.wire-legend{font-size:9px;gap:8px 12px}.wire-legend small{width:100%;text-align:center}}
