:root{--lab-gold:#f7c78a;--lab-blue:#98c7ff}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hero{grid-template-columns:.95fr 1.15fr;gap:44px;padding-top:38px;padding-bottom:45px;min-height:640px}.hero h1{font-size:clamp(38px,4.1vw,58px)}.hero-copy .intro{font-size:13px}.hero-lab{min-width:0;border:1px solid #314741;background:radial-gradient(ellipse at 60% 45%,#1c3339,#14222b 74%);border-radius:12px;box-shadow:0 25px 80px #0002}.hero-lab .lab-toolbar{padding:13px 17px;border-top:1px solid var(--line);gap:7px}.hero-lab .lab-button{padding:9px 10px;font-size:10px;min-height:36px}.hero-lab .lab-button.ghost{margin-left:auto}.hero-lab .lab-visual{border:0;background:transparent;overflow:hidden}.hero-lab .lab-scene-caption{padding:8px 17px 14px;font-size:8px}.hero-lab .lab-scene-top{font-size:9px;padding:17px 19px 0}.hero-lab .balance-svg{max-height:360px}.project-preview{position:relative;width:100%;height:100%;display:block;color:inherit;border:0;padding:0;background:transparent;text-align:left;cursor:pointer;overflow:hidden}.project-preview .card-mechanics{height:100%;padding:0 35px}.card-mechanics svg{width:100%;height:100%;max-height:225px}.card-mechanics .diagram-labels{display:none}.preview-action{position:absolute;right:16px;bottom:15px;display:flex;align-items:center;gap:7px;background:#101820d9;border:1px solid #5c8f7b;color:#b6e8d1;padding:7px 10px;border-radius:5px;font-size:10px;transition:background .2s,transform .2s}.preview-action i{font-style:normal;font-size:10px}.card:hover .preview-action{background:#204339;transform:translateY(-2px)}.card-art{background:linear-gradient(140deg,#193432,#162730)}.card-art.matrix-art{background:#122927}.card-content .card-topline{font-size:9px}.card-open{min-height:40px;padding-left:8px;white-space:nowrap}.card p{max-width:95%}.cards{gap:26px}.card h3{font-size:21px}.card-art .car-svg{transition:transform .3s}.card:hover .car-svg{transform:translateX(5px)}.hero-hint{margin-top:15px;font-size:10px;color:var(--muted);line-height:1.7}.hero-hint .hint-dot{display:inline-block;background:var(--accent);height:5px;width:5px;border-radius:50%;margin-right:7px}.dialog-head{padding:15px 24px;background:#14212b}.dialog-close{min-height:40px;min-width:65px}#project-dialog{width:min(1190px,calc(100% - 44px));max-height:93dvh;border-color:#3e5b53;border-radius:12px}.dialog-body{padding:24px 27px 26px}.dialog-body h2{font-size:27px;margin-bottom:11px}.project-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.project-dialog-heading .detail-tags{justify-content:flex-end}.project-summary{margin:8px 0 19px;max-width:850px;font-size:12px!important;line-height:1.85!important}.project-tabs{display:flex;gap:5px;margin:0 0 20px;border-bottom:1px solid #334c47;padding-bottom:9px}.project-tabs button{border:0;background:transparent;color:var(--muted);border-radius:5px;font-size:12px;min-height:40px;padding:10px 16px}.project-tabs button[aria-selected=true]{background:#27443d;color:#b8efd6}.project-tabs button:hover{color:var(--text)}.project-tab-panel:focus{outline:none}.project-notes{max-width:820px;margin:0 auto;padding:0 12px 15px}.project-notes h3{font-size:16px}.project-source-panel{max-width:800px;margin:0 auto;padding:5px 10px 20px}.source-filebox{padding:22px;border:1px solid var(--line);background:var(--bg);border-radius:8px;margin:20px 0}.source-filebox strong{display:block;font:14px Consolas,monospace;color:var(--accent);margin-bottom:7px}.source-filebox p{margin:6px 0}.lab-workspace{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(240px,1fr);gap:22px}.lab-visual{border:1px solid #2e4840;border-radius:8px;background:linear-gradient(#12242b,#122029);min-width:0;align-self:start;overflow:hidden}.lab-scene-top{display:flex;justify-content:space-between;gap:10px;padding:17px 18px 0;font-size:9px;color:#8eaea6;letter-spacing:.7px}.lab-scene-top span:last-child{color:var(--accent)}.balance-svg{width:100%;display:block;max-height:440px}.camera-rig{fill:none;stroke:#7faca0;stroke-width:5;stroke-opacity:.5;stroke-linecap:round}.structure-line{fill:none;stroke:#7b9e94;stroke-width:1.8}.hardware-fill{fill:#24483f;stroke:#85c0a7;stroke-width:1.4}.lens-ring{fill:#112725;stroke:#85c0a7;stroke-width:1.4}.fov-edge{fill:none;stroke:#7fe3c1;stroke-opacity:.15;stroke-dasharray:5 7}.fixed-support{fill:none;stroke:#81aa9c;stroke-width:7}.pivot-joint{fill:#193a32;stroke:#a2d1bb;stroke-width:2}.pipe-body{stroke:#94baa7;stroke-width:12;stroke-linecap:round}.pipe-highlight{stroke:#e4f4df;stroke-width:2.4;stroke-linecap:round}.pipe-bottom{stroke:#36594d;stroke-width:2;stroke-linecap:round}.endpoint-joint{fill:#bce4ca;stroke:#345e48;stroke-width:1.3}.stepper-body{fill:#24463e;stroke:#9ec5b1;stroke-width:1.5}.motor-fins{stroke:#8bb7a0;stroke-width:1.3;opacity:.55}.motor-disc{fill:#16372e;stroke:#b2cbb5;stroke-width:1.2}.chassis-deck{fill:#203b38;stroke:#689d88;stroke-width:1.4}.controller-board{fill:#325d4f;stroke:#7ab89c;stroke-width:1}.svg-micro{font:7px Consolas,monospace;fill:#c2e5d2}.wheel-tire{fill:#0b151a;stroke:#74958c;stroke-width:1.7}.wheel-hub{fill:#26443d;stroke:#97b7a4;stroke-width:1.4}.wheel-treads{fill:none;stroke:#8ba69b;stroke-width:2}.sensor-board{fill:#214a3d;stroke:#78af93}.sensor-rays{fill:none;stroke:#7fe3c1;stroke-opacity:.45;stroke-dasharray:3 5}.ground-line{fill:none;stroke:#3d5e54;stroke-width:1.5}.diagram-labels path{fill:none;stroke:#83baa4;stroke-opacity:.45}.diagram-labels text{font:10px "Segoe UI","Microsoft YaHei",sans-serif;fill:#9cbbb0}.balance-svg[data-highlight=camera] .camera-part,.balance-svg[data-highlight=pipe] .pipe-assembly,.balance-svg[data-highlight=motor] .stepper-body,.balance-svg[data-highlight=chassis] .chassis-deck,.balance-svg[data-highlight=sensors] .sensor-board{filter:drop-shadow(0 0 8px #7fe3c1b0)}.lab-scene-caption{display:flex;justify-content:space-between;gap:12px;padding:0 17px 16px;color:#819d93;font-size:9px;line-height:1.7}.part-picker{display:flex;gap:5px;flex-wrap:wrap;padding:13px 15px;border-top:1px solid #2a433b}.part-picker button{background:transparent;color:#93ada2;border:1px solid #334f43;border-radius:4px;padding:7px 8px;font-size:9px;min-height:34px}.part-picker button[aria-pressed=true]{color:#baf0d3;background:#29493b;border-color:#609c7b}.part-explanation{padding:0 17px 12px;min-height:93px}.part-explanation strong{font-size:11px;color:#c6e5d4}.part-explanation p{font-size:11px!important;line-height:1.85!important;margin:7px 0!important;color:#8ca99e!important}.lab-panel{padding:3px 0;min-width:0}.lab-panel h3{font-size:21px;line-height:1.55;margin:11px 0 10px}.lab-lead{font-size:12px!important;line-height:1.85!important;color:#95afa5!important;margin:0 0 19px}.lab-range-label{display:block;font-size:11px;color:#bdd3c8;line-height:1.8;margin:17px 0 7px}.lab-range-label output{float:right;color:var(--accent);font:12px Consolas,monospace}.lab-range-label input{display:block;margin-top:10px}.lab-panel input[type=range]{height:24px;margin:0;display:block}.range-extents{display:flex;justify-content:space-between;font-size:9px;color:#728d81;margin-top:3px}.readout-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:21px}.readout-grid>div{padding:12px;border:1px solid #2f483d;background:#12251f;border-radius:5px}.readout-grid small{display:block;font-size:9px;color:#86a291}.readout-grid strong{display:block;font:20px Consolas,monospace;color:#b3ecc7;margin-top:8px}.readout-grid .height-readout{font:13px "Segoe UI","Microsoft YaHei",sans-serif;line-height:1.8}.trace-panel{margin-top:15px;border:1px solid var(--line);background:#101e23;border-radius:5px;padding:10px}.trace-label{display:flex;justify-content:space-between;gap:8px;color:#829c8d;font-size:9px}.feedback-trace{width:100%;height:74px;display:block}.trace-mid{stroke:#719882;stroke-opacity:.2;stroke-dasharray:2 4}.loop-flow{display:flex;align-items:center;gap:5px;font-size:9px;color:#7c988b;margin:15px 0}.loop-flow span{padding:7px 5px;border:1px solid #2e473c;border-radius:4px;white-space:nowrap}.loop-flow .active{background:#294e3d;color:#b6efcf;border-color:#6ba483}.loop-flow b{font-weight:400;font-size:10px}.demo-limit{font-size:10px!important;line-height:1.8!important;color:#6e8d7c!important;margin:14px 0 0}.lab-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:17px}.lab-button{border:1px solid #3c5a49;border-radius:5px;background:#1b3028;color:#bbd4c4;font-size:11px;padding:10px 14px;min-height:40px}.lab-button:hover{background:#294b37;border-color:#6a9e78}.lab-button.accent{background:#a7e6bb;color:#133222;border-color:#a7e6bb}.lab-button.accent:hover{background:#c2f5d0}.lab-button.ghost{background:transparent;border-color:transparent;color:#8fb59a}.lab-helper{font-size:10px;color:#7f9a87;line-height:1.8}.lab-button:disabled,.tilt-buttons button:disabled{opacity:.35;cursor:default}.car-lab-svg{display:block;width:100%;min-height:240px}.car-body{fill:#20463b;stroke:#a6c8b1;stroke-width:1.6}.driving-route{fill:none;stroke:#6b9981;stroke-opacity:.25;stroke-dasharray:5 7}.svg-caption{font:10px "Segoe UI","Microsoft YaHei",sans-serif;fill:#6f9381}.segmented{display:flex;gap:5px;margin:12px 0 15px;flex-wrap:wrap}.segmented button,.source-controls button{border:1px solid #365240;border-radius:4px;background:transparent;color:#89aa91;font-size:10px;padding:9px 10px;min-height:38px}.segmented button[aria-pressed=true],.source-controls button[aria-pressed=true]{background:#294a35;color:#c7edca;border-color:#6c9872}.control-cross{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:7px}.control-cross button{border:1px solid #426144;background:#1d3625;color:#c3ddc2;min-height:42px;border-radius:5px;font-size:11px}.control-cross button:last-child{grid-column:2}.decision-box{padding:14px;border:1px solid #344e3a;border-radius:6px;background:#15271e;margin:19px 0 14px}.decision-box small{color:#7e9f81;font-size:9px}.decision-box strong{display:block;font-size:14px;color:#c3e6bd;margin-top:9px}.decision-box p{font-size:11px!important;line-height:1.85!important;margin:8px 0 0;color:#8da58c!important}.source-controls{display:flex;gap:5px;flex-wrap:wrap}.mic-bars{margin-top:15px}.mic-bars>div{font-size:9px;color:#89a98a;margin-bottom:11px}.mic-bars i{display:block;height:6px;border-radius:3px;background:linear-gradient(90deg,#518d5b,#b6ebb8);margin-top:7px;transition:width .25s}.matrix-visual{background:radial-gradient(ellipse at 50% 50%,#243b26,#101e1d 80%)}.matrix-stage{display:grid;place-items:center;min-height:265px;padding:28px 18px}.interactive-matrix{display:grid;grid-template-columns:repeat(32,minmax(0,1fr));gap:clamp(2px,.35vw,5px);padding:14px;width:100%;background:#091310;border:1px solid #4e6950;border-radius:8px;box-shadow:0 20px 35px #0005}.matrix-led{aspect-ratio:1;border-radius:50%;background:#24372b;box-shadow:inset 0 0 1px #a5b892}.matrix-led.lit{background:#d1f794;box-shadow:0 0 9px #c3f47c70}.matrix-led.masked{background:#102219;box-shadow:inset 0 0 0 1px #3c694b}.gravity-guide{display:flex;justify-content:center;align-items:center;gap:16px;padding:3px 15px 30px}.gravity-arrow{font:35px Consolas,monospace;color:#c7edab;display:inline-block}.gravity-guide strong{font-size:12px;color:#c5e4b6;font-weight:500}.gravity-guide small{display:block;color:#6f926d;font-size:9px;margin-top:6px}.tilt-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:16px}.tilt-buttons button{border:1px solid #435c3c;background:#1c2e1d;color:#acc09b;font-size:10px;border-radius:5px;min-height:40px;padding:5px}.matrix-stage.impulse{animation:matrix-impulse .36s ease-out}@keyframes matrix-impulse{20%{transform:translateY(-5px) rotate(-.6deg)}60%{transform:translateY(3px) rotate(.5deg)}100%{transform:none}}.workflow-workspace{grid-template-columns:1.1fr 1fr;gap:26px}.workflow-visual{background:linear-gradient(135deg,#192b30,#142228)}.workflow-nodes{padding:19px;display:grid;gap:8px}.workflow-node{position:relative;display:flex;align-items:center;gap:12px;width:100%;text-align:left;min-height:64px;background:#132226;border:1px solid #2d4642;border-radius:6px;color:#7c9991;padding:10px 13px}.workflow-node:after{content:"";position:absolute;left:29px;top:100%;height:9px;width:1px;background:#38584b}.workflow-node:last-child:after{display:none}.workflow-node[aria-pressed=true]{border-color:#7fb79a;background:#244237;box-shadow:inset 3px 0 #b5e3bd;color:#c5eacb}.node-number{font:17px Consolas,monospace;color:#6a8f7c;min-width:23px}.workflow-node[aria-pressed=true] .node-number{color:#b5e3bd}.workflow-node strong{display:block;font-size:12px;font-weight:500}.workflow-node small{display:block;margin-top:4px;font:8px Consolas,monospace;color:#628777}.workflow-node[aria-pressed=true] small{color:#87b49b}.node-status{font-size:8px;margin-left:auto;font-style:normal;white-space:nowrap}.workflow-node.passed:not([aria-pressed=true]) .node-number{color:#a3bd94}.workflow-rail{height:3px;background:#283f32;margin:0 19px 16px;overflow:hidden;border-radius:3px}.workflow-progress{height:100%;width:0;background:#bae1ad}.workflow-explanation{padding:18px 0}.workflow-explanation h3{font-size:27px}.workflow-io{margin-top:22px}.workflow-io>div{border:1px solid #38503f;background:#17291f;padding:16px;border-radius:6px}.workflow-io small{font:9px Consolas,monospace;color:#87a184}.workflow-io p{font-size:12px!important;line-height:1.8!important;color:#bdd0b5!important;margin:8px 0 0;overflow-wrap:anywhere}.workflow-output{font-size:11px!important}.io-arrow{display:block;color:#96b38a;text-align:center;margin:7px}.checkpoint{margin-top:19px;padding-left:13px;border-left:2px solid #8daa79}.checkpoint span{font-size:10px;color:#b9d3a3}.checkpoint p{font-size:11px!important;color:#8da482!important;line-height:1.8!important;margin:8px 0}.workflow-announcement{margin:0}.dialog-body [hidden]{display:none!important}
.workflow-art .project-preview{display:grid;place-items:center}.workflow-mini-grid{display:grid;grid-template-columns:repeat(3,85px);gap:12px}.mini-stage{display:flex;align-items:center;gap:7px;border:1px solid #456450;background:#172c24;padding:12px 8px;font-size:10px;color:#bdd8bf;border-radius:5px}.mini-stage small{font:9px Consolas,monospace;color:#7caa8a}.matrix-art .project-preview{display:grid;place-items:center}.project-preview:focus-visible{outline-offset:-4px}.project-preview .art-label{pointer-events:none}.project-lab>.lab-toolbar{margin:0 0 18px;padding:0 0 15px;border-bottom:1px solid #2e453b}
@media(min-width:1500px){.hero{min-height:680px}.hero-lab .balance-svg{max-height:400px}}
@media(max-width:960px){.hero{gap:25px;grid-template-columns:1fr 1fr}.hero h1{font-size:42px}.hero-lab .lab-toolbar{padding:11px}.hero-lab .lab-button{padding:9px 7px;font-size:9px}.lab-workspace{grid-template-columns:1.4fr 1fr;gap:18px}.lab-panel h3{font-size:18px}.loop-flow{gap:3px;font-size:8px}.loop-flow span{padding:6px 3px}.project-dialog-heading{display:block}.project-dialog-heading .detail-tags{justify-content:flex-start}.dialog-body{padding:22px}.workflow-workspace{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.hero{grid-template-columns:1fr;padding-top:38px;gap:30px;min-height:0}.hero-copy{max-width:560px}.hero h1{font-size:46px}.hero-lab .balance-svg{max-height:380px}.hero-lab .lab-toolbar{padding:13px 17px}.hero-lab .lab-button{padding:10px 13px;font-size:10px}.lab-workspace{grid-template-columns:1fr}.lab-visual{width:100%}.lab-panel{padding:10px 0}.lab-panel h3{font-size:21px;max-width:400px}.lab-lead{max-width:600px}.readout-grid{max-width:450px}.trace-panel{max-width:450px}.loop-flow{font-size:10px}.loop-flow span{padding:8px 10px}.lab-toolbar{gap:8px}.lab-helper{flex-basis:100%}.workflow-workspace{grid-template-columns:1fr}.workflow-explanation{padding:10px 0}.workflow-nodes{grid-template-columns:1fr 1fr;gap:8px}.workflow-node{padding:9px;gap:7px}.workflow-node:after{display:none}.workflow-node small{font-size:7px}.workflow-node .node-status{display:none}.workflow-io{display:grid;grid-template-columns:1fr 18px 1fr;gap:7px;align-items:stretch}.io-arrow{align-self:center;transform:rotate(-90deg)}.matrix-stage{min-height:220px}.balance-svg{max-height:440px}.part-explanation{min-height:0}.lab-scene-caption{font-size:8px}.project-tabs{position:sticky;top:71px;background:var(--surface);z-index:2;padding-top:8px}.dialog-head{z-index:3}}
@media(max-width:520px){.hero{padding-bottom:40px}.hero h1{font-size:39px}.hero-lab .lab-button.ghost{margin-left:0}.hero-lab .lab-toolbar{padding:10px;gap:5px}.hero-lab .lab-button{font-size:9px;padding:9px 7px}.hero-lab .lab-scene-top{padding:14px 13px 0;font-size:8px}.hero-lab .balance-svg{min-height:235px}.hero-lab .lab-scene-caption{padding:4px 13px 12px;font-size:7px}.card-open{font-size:10px}.card-content .card-topline{font-size:8px}.card p{max-width:100%}.card-art .preview-action{font-size:9px}.project-preview .card-mechanics{padding:0 13px}.hero-hint{max-width:300px}#project-dialog{width:calc(100% - 18px);max-height:96dvh;border-radius:9px}.dialog-body{padding:18px 13px}.dialog-body h2{font-size:22px}.detail-tags span{font-size:8px;padding:5px 7px}.project-summary{font-size:11px!important;margin-bottom:13px}.project-tabs{gap:2px;top:70px}.project-tabs button{padding:9px 12px;font-size:11px;min-height:40px}.dialog-head{padding:12px 14px}.dialog-head span{font-size:8px}.dialog-close{min-height:38px;min-width:57px;font-size:11px;padding:7px}.lab-scene-top{padding:13px 12px 0;font-size:8px;letter-spacing:.3px}.lab-scene-caption{padding:0 11px 12px;gap:7px;font-size:7px}.part-picker{padding:10px;gap:4px}.part-picker button{font-size:8px;padding:6px;min-height:35px}.part-explanation{padding:0 12px 10px}.part-explanation p{font-size:10px!important}.lab-panel h3{font-size:20px}.lab-button{font-size:10px;padding:9px 11px}.lab-toolbar{gap:7px}.lab-helper{font-size:9px}.matrix-stage{min-height:190px;padding:20px 10px}.interactive-matrix{gap:3px;padding:10px}.matrix-led.lit{box-shadow:0 0 6px #c3f47c70}.gravity-guide{padding-bottom:23px}.workflow-nodes{padding:13px;gap:7px}.workflow-node{min-height:65px;padding:9px 7px}.workflow-node small{font-size:6px}.node-number{font-size:15px;min-width:19px}.workflow-node strong{font-size:11px}.workflow-io{grid-template-columns:1fr}.io-arrow{transform:none;margin:0}.workflow-io>div{padding:13px}.source-filebox{padding:16px}.source-filebox strong{font-size:12px;overflow-wrap:anywhere}.lab-panel .segmented button{padding:9px 10px;font-size:10px}.trace-panel{margin-bottom:10px}.balance-svg .diagram-labels text{font-size:10px}}
@media(prefers-reduced-motion:reduce){.matrix-stage.impulse{animation:none}.card,.card-art .car-svg,.preview-action,.mic-bars i{transition:none}}

.simulator-embed{display:block;width:100%;height:500px;border:0;border-radius:7px;background:#0c161d}.simulator-entrance{margin:18px 0 0}.simulator-entrance a{display:inline-flex;align-items:center;gap:20px;color:#b9ebd1;font-size:12px;border-bottom:1px solid #457a64;padding:8px 0}.simulator-entrance small{display:block;font-size:9px;color:#6b9b8d;margin-top:9px}.nav-links{gap:22px}@media(max-width:520px){.nav-links{gap:10px;font-size:10px}.nav-links a:nth-child(3){display:none}.simulator-embed{height:500px}.simulator-entrance small{font-size:8px}}

.artifact-stream{display:grid;grid-template-columns:1fr 12px 1fr 12px 1fr;gap:6px;align-items:center;padding:16px;border-top:1px solid #314b43}.artifact-stream>div{min-width:0;padding:10px 8px;background:#182f29;border:1px solid #41614e;border-radius:5px;position:relative;overflow:hidden}.artifact-stream small{display:block;font:7px Consolas,monospace;color:#80ad92}.artifact-stream span{display:block;font-size:9px;color:#b8d6bd;line-height:1.7;margin-top:6px;overflow-wrap:anywhere}.artifact-stream>b{color:#80b18c;font-size:10px;font-weight:400}.artifact-stream i{display:block;height:2px;background:#2e5940;margin-top:8px;position:relative}.artifact-stream.flowing i:after{content:"";position:absolute;width:25%;height:2px;background:#bce8a7;animation:artifact-flow 1.1s linear infinite}@keyframes artifact-flow{from{left:-25%}to{left:100%}}@media(prefers-reduced-motion:reduce){.artifact-stream.flowing i:after{animation:none;left:40%}}
.simulator-open-link{display:inline-block;font-size:11px;color:#a5d9c5;border-bottom:1px solid #3f6f60;margin:0 0 17px;padding:7px 0}
