:root{--bg:#090c10;--panel:#131a22;--panel-2:#19222d;--line:#2a3440;--line-2:#394654;--text:#f4f7fa;--steel:#aab6c4;--steel-2:#8f9cab;--lime:#b7f000;--lime-ink:#0b0f05;--lime-dim:#b7f0001f;--amber:#f5a524;--red:#ff5a4e;--blue:#6fa8ff;--font:"Inter Tight", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--rail-w:172px;--panel-w:384px;--top-h:60px;--bottom-h:92px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:16px}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}:focus-visible{outline:2px solid var(--lime);outline-offset:2px}.mono{font-family:var(--mono);letter-spacing:.02em;font-variant-numeric:tabular-nums}.muted{color:var(--steel)}.small{text-wrap:pretty;font-size:14px;line-height:1.55}.center{text-align:center}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}code{font-family:var(--mono);font-size:.85em}.app{grid-template-columns:var(--rail-w) minmax(0, 1fr) var(--panel-w);grid-template-rows:var(--top-h) minmax(0, 1fr) var(--bottom-h);grid-template-areas:"top top top""rail stage panel""bottom bottom bottom";height:100dvh;display:grid;overflow:hidden}.topbar{grid-area:top}.rail{grid-area:rail}.stage{grid-area:stage}.panel{grid-area:panel}.bottombar{grid-area:bottom}.topbar{border-bottom:1px solid var(--line);background:var(--bg);justify-content:space-between;align-items:center;gap:16px;padding:0 20px 0 28px;display:flex}.brand{align-items:center;gap:22px;min-width:0;display:flex}.wordmark{letter-spacing:.06em;font-size:22px;font-weight:700}.brand-sep{background:var(--line-2);width:1px;height:28px}.product{letter-spacing:.14em;white-space:nowrap;font-size:20px;font-weight:500}.product-sub{color:var(--steel-2);font-size:12px;font-family:var(--mono);white-space:nowrap}.topbar-actions{align-items:center;gap:10px;display:flex}.guidance-rail{border-top:1px solid var(--line);margin-top:auto}.presentation-controls{align-items:center;gap:8px;display:inline-flex}.presentation-speed{border:1px solid var(--line-2);display:inline-flex}.presentation-speed button{min-height:34px;color:var(--steel);white-space:nowrap;background:0 0;border:0;padding:0 8px;font-size:11.5px;font-weight:600}.presentation-speed button.is-on{background:var(--lime);color:var(--lime-ink)}.presentation-speed button:disabled{cursor:not-allowed;opacity:.55}.demo-short{display:none}.view-switch,.role-switch,.segmented{border:1px solid var(--line-2);display:inline-flex}.view-switch button,.role-switch button,.segmented button{color:var(--steel);background:0 0;border:0;padding:7px 12px;font-size:12.5px}.view-switch button.is-on,.role-switch button.is-on,.segmented button.is-on{background:var(--lime);color:var(--lime-ink);font-weight:600}.icon-btn{border:1px solid var(--line-2);width:38px;height:34px;color:var(--steel);background:0 0;place-items:center;display:grid}.icon-btn:hover{color:var(--text)}.demo-badge{border:1px solid var(--steel-2);color:var(--text);background:0 0;padding:7px 14px;font-size:12.5px}.demo-badge:hover{border-color:var(--lime)}.rail{border-right:1px solid var(--line);flex-direction:column;padding-top:12px;display:flex}.rail-btn{border:0;border-bottom:1px solid var(--line);height:92px;color:var(--text);letter-spacing:.04em;text-align:left;background:0 0;border-left:4px solid #0000;align-items:center;gap:14px;padding:0 22px;font-size:14px;font-weight:600;display:flex}.rail-btn svg{color:var(--steel);flex:none}.rail-btn:hover{background:var(--panel)}.rail-btn.is-active{border-left-color:var(--lime);color:var(--lime);background:linear-gradient(90deg,#b7f00012,#0000 80%)}.rail-btn.is-active svg{color:var(--lime)}.stage{background:var(--bg);min-height:0;position:relative;overflow:hidden}.stage canvas{touch-action:none;display:block}.stage-tag{color:#b7c2ce;pointer-events:none;background:#07090ce0;border:1px solid #8f9cab4d;max-width:calc(100% - 36px);padding:7px 10px;font-size:11.5px;line-height:1.45;position:absolute;bottom:14px;left:18px}.app.is-presenting .stage-tag{display:none}.scene-loading{height:100%;color:var(--steel);font-family:var(--mono);flex-direction:column;justify-content:center;align-items:center;gap:14px;font-size:13px;display:flex}.version-banner{border:1px solid var(--amber);color:#ffe2a8;z-index:40;background:#2a1f08;align-items:center;gap:12px;max-width:min(640px,92%);padding:10px 14px;font-size:13px;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%)}.version-banner button{background:var(--amber);color:#1a1203;border:0;padding:4px 12px;font-weight:600}.fallback2d{height:100%;color:var(--steel);align-content:center;place-items:center;gap:12px;display:grid}.fallback2d svg{width:min(520px,90%)}.fb-box,.fb-guide{fill:#1d2530;stroke:var(--steel-2)}.fb-tube{fill:var(--steel)}.fb-motor{fill:var(--lime)}.fb-slat{fill:#2a3440;stroke:#3a4552}.scene-wrap{width:100%;height:100%;position:relative}.hs-layer{pointer-events:none;z-index:2;position:absolute;inset:0;overflow:hidden}.hs{will-change:transform;width:0;height:0;position:absolute;top:0;left:0}.hs-svg{position:absolute;top:0;left:0;overflow:visible}.hs-svg line{stroke:var(--lime);stroke-width:1.4px}.hs-dot{background:var(--lime);border-radius:50%;width:12px;height:12px;position:absolute;top:-6px;left:-6px;box-shadow:0 0 0 4px #b7f0002e,0 0 14px #b7f0008c}.hs.is-active .hs-dot{animation:1.6s ease-out infinite pulse}@keyframes pulse{0%{box-shadow:0 0 #b7f00080}to{box-shadow:0 0 0 14px #b7f00000}}.hs-anchor{height:0;position:absolute}.hs-label{pointer-events:auto;width:100%;color:var(--text);font-family:var(--mono);letter-spacing:.03em;white-space:nowrap;text-align:left;text-shadow:0 1px 6px #000000e6;background:#07090ce0;border:1px solid #8f9cab3d;padding:4px 7px;font-size:13px;font-weight:600;position:absolute;bottom:6px;left:0}.hs-culled .hs-svg,.hs-culled .hs-label{visibility:hidden}.hs-flip .hs-svg{transform:scaleX(-1)}.hs-flip .hs-anchor{left:var(--flip-left)!important}.hs.is-hover{z-index:6}.hs-culled.is-hover .hs-label,.hs-culled.is-hover .hs-svg{visibility:visible}.hs-card{border:1px solid var(--line-2);border-top:2px solid var(--lime);pointer-events:none;width:320px;text-shadow:none;background:#0d1219f5;padding:14px 16px 12px;animation:.18s ease-out rise;position:absolute;top:10px;box-shadow:0 18px 50px #0000008c}.hs-card-l{left:0}.hs-card-r{right:0}.hs-flip .hs-card-l{left:auto;right:0}.hs-flip .hs-card-r{left:0;right:auto}.hs-card-title{margin-bottom:6px;font-size:17px;font-weight:700}.hs-card-cta{color:var(--lime);margin-top:10px;font-size:12px}.part-facts .pf-text{color:#cfd6de;margin:0 0 10px;font-size:14px;line-height:1.55}.pf-eyebrow{color:var(--steel);margin-bottom:6px;font-size:12px}.pf-impact{gap:6px;margin:0 0 10px;padding:0;list-style:none;display:grid}.pf-impact li{border-left:2px solid var(--line-2);padding-left:10px;font-size:13.5px;line-height:1.55}.ce-arrow{color:var(--lime);font-weight:600}.pf-src{color:var(--steel-2);flex-wrap:wrap;align-items:center;gap:8px;font-size:11.5px;display:flex}.device-hud{border:1px solid var(--line-2);z-index:3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#090c10d1;gap:8px;min-width:220px;padding:12px 14px;display:grid;position:absolute;top:16px;left:18px}.hud-row{align-items:center;gap:10px;font-size:12.5px;display:flex}.hud-row .mono{color:var(--steel);width:64px;font-size:11.5px}.led-dot{background:#1a1d21;border:1px solid #2c333c;border-radius:50%;width:14px;height:14px}.led-green,.led-green-blink{background:#38f06a;box-shadow:0 0 12px #38f06a}.led-red,.led-red-blink{background:#ff3b30;box-shadow:0 0 12px #ff3b30}.led-blue{background:#3b8bff;box-shadow:0 0 12px #3b8bff}.led-blink-1s,.led-slow-blink,.led-fast-blink{background:#f4f7fa;box-shadow:0 0 12px #f4f7fa}.led-blink-1s{background:#38f06a;animation:1s step-end infinite blink;box-shadow:0 0 12px #38f06a}.led-green-blink,.led-red-blink{animation:.5s step-end infinite blink}.led-fast-blink{animation:.25s step-end infinite blink}.led-slow-blink{animation:1.25s step-end infinite blink}@keyframes blink{50%{opacity:.15;box-shadow:none}}.hud-beeps{color:var(--lime);font-family:var(--mono);font-size:11px}.armor-meter{background:var(--line-2);flex:1;height:4px;position:relative}.armor-meter span{background:var(--steel);transition:width .4s;position:absolute;inset:0 auto 0 0}.hs-label:hover,.hs.is-active .hs-label{color:var(--lime)}.panel{border-left:1px solid var(--line);background:var(--bg);scrollbar-width:thin;scrollbar-color:var(--line-2) transparent;padding:26px 24px 28px;overflow-y:auto}.eyebrow{font-family:var(--mono);color:var(--steel);letter-spacing:.12em;margin-bottom:10px;font-size:12px}.inspector-title{letter-spacing:.01em;margin:0 0 16px;font-size:34px;font-weight:700;line-height:1.05}.panel-title{margin:0 0 14px;font-size:26px;font-weight:650;line-height:1.1}.badges{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.badge{font-family:var(--mono);letter-spacing:.04em;border:1px solid var(--line-2);color:var(--steel);white-space:nowrap;padding:3px 7px;font-size:11.5px;display:inline-block}.badge-lg{padding:8px 14px;font-size:15px;font-weight:500}.badge-engineering_review{border-color:var(--lime);color:var(--lime)}.badge-client_provided{color:#8fd9a4;border-color:#3d6b4a}.badge-inferred{color:var(--blue);border-color:#3d5a7d}.badge-demo_synthetic{color:var(--amber);border-color:#7a5a1c}.badge-unknown,.badge-placeholder{color:#e09a94;border-color:#5a3b3b}.spec-rows{border-top:1px solid var(--line-2);margin:18px 0 22px}.spec-row{border-bottom:1px solid var(--line-2);grid-template-columns:36px 1fr;gap:14px;padding:18px 0;display:grid}.spec-row svg{width:28px;height:28px;color:var(--text);stroke-width:1.3px}.spec-row dt{letter-spacing:.04em;margin-bottom:4px;font-size:14px;font-weight:650}.spec-row dd{color:#c5ced8;text-wrap:pretty;margin:0;font-size:15px;line-height:1.6}.expert-box{border:1px dashed var(--line-2);margin-bottom:18px;padding:12px}.expert-box p{margin:0 0 6px}.formula{color:#b9c2cc}.source-line{font-family:var(--mono);color:var(--steel-2);margin-top:4px;font-size:12px;display:block}.btn-primary,.btn-outline,.btn-ghost{letter-spacing:.06em;border:1px solid #0000;justify-content:center;align-items:center;gap:10px;padding:11px 18px;font-size:13.5px;font-weight:650;display:inline-flex}.btn-primary{background:var(--lime);color:var(--lime-ink)}.btn-primary:hover:not(:disabled){background:#c6ff1a}.btn-outline{border-color:var(--steel);background:0 0}.btn-outline:hover:not(:disabled){border-color:var(--text)}.btn-ghost{background:var(--panel);border-color:var(--line-2);letter-spacing:.02em;font-weight:500}.btn-ghost:hover:not(:disabled),.btn-ghost.is-on{border-color:var(--lime);color:var(--lime)}.btn-block{width:100%;padding:18px;font-size:18px}.btn-ghost.btn-block{margin:10px 0 4px;padding:12px;font-size:14px}.link-btn{color:var(--steel);background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:13px;display:inline-flex}.link-btn:hover{color:var(--text)}.chip{border:1px solid var(--line-2);color:var(--steel);font-family:var(--mono);background:0 0;align-items:center;gap:4px;padding:5px 9px;font-size:11.5px;display:inline-flex}.chip.is-on{border-color:var(--lime);color:var(--lime)}.section-h{font-size:12px;font-family:var(--mono);letter-spacing:.12em;color:var(--steel);text-transform:uppercase;margin:22px 0 10px;font-weight:500}.rule-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.rule{background:var(--panel);border-left:3px solid var(--line-2);grid-template-columns:20px 1fr;gap:10px;padding:10px 12px;display:grid}.rule-icon{padding-top:2px}.rule-block{border-left-color:var(--red)}.rule-block .rule-icon{color:var(--red)}.rule-warn{border-left-color:var(--amber)}.rule-warn .rule-icon{color:var(--amber)}.rule-info{border-left-color:var(--blue)}.rule-info .rule-icon{color:var(--blue)}.rule-pass{border-left-color:#3d6b4a}.rule-pass .rule-icon{color:#8fd9a4}.rule-title{flex-wrap:wrap;align-items:baseline;gap:8px;font-size:13.5px;font-weight:600;display:flex}.rule-id{color:var(--steel-2);font-size:11px}.rule-msg{color:#b9c2cc;margin-top:3px;font-size:13px;line-height:1.45}.rule-meta{flex-wrap:wrap;align-items:center;gap:4px 6px;margin-top:6px;display:flex}.demo-param{color:var(--amber);width:100%;font-size:11.5px}.form{gap:18px;display:grid}.lead{color:#b9c2cc;margin:0}.choice-cards{gap:10px;display:grid}.choice{text-align:left;background:var(--panel);border:1px solid var(--line-2);gap:4px;padding:16px;display:grid}.choice span{color:var(--steel);font-size:13px}.choice.is-on{border-color:var(--lime);box-shadow:inset 4px 0 0 var(--lime)}.field{gap:8px;display:grid}.field-label{font-size:12px;font-family:var(--mono);letter-spacing:.08em;color:var(--steel);text-transform:uppercase;align-items:center;gap:8px;display:flex}.field-row{grid-template-columns:1fr 86px 28px;align-items:center;gap:10px;display:grid}.num,select{background:var(--panel);border:1px solid var(--line-2);width:100%;padding:8px 10px}.unit{color:var(--steel);font-size:12px}.segmented{flex-wrap:wrap}.segmented button{flex:auto;padding:9px 10px}input[type=range]{appearance:none;background:0 0;width:100%;height:22px}input[type=range]::-webkit-slider-runnable-track{background:var(--line-2);height:2px}input[type=range]::-moz-range-track{background:var(--line-2);height:2px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--lime);border:0;width:14px;height:14px;margin-top:-6px}input[type=range]::-moz-range-thumb{background:var(--lime);border:0;border-radius:0;width:14px;height:14px}.toggle{cursor:pointer;grid-template-columns:38px 1fr;align-items:center;gap:12px;display:grid}.toggle input{opacity:0;position:absolute}.toggle-track{border:1px solid var(--line-2);background:var(--panel);width:38px;height:20px;position:relative}.toggle-track:after{content:"";background:var(--steel);width:14px;height:14px;transition:transform .18s;position:absolute;top:2px;left:2px}.toggle input:checked+.toggle-track{border-color:var(--lime)}.toggle input:checked+.toggle-track:after{background:var(--lime);transform:translate(18px)}.toggle input:focus-visible+.toggle-track{outline:2px solid var(--lime);outline-offset:2px}.toggle-text{font-size:14px;display:grid}.toggle-text small{color:var(--steel);font-size:12px}.examples summary{cursor:pointer;color:var(--steel);font-size:13px}.examples ul{gap:4px;margin:10px 0 0;padding:0;list-style:none;display:grid}.examples button{text-align:left;color:#b9c2cc;background:0 0;border:0;padding:4px 0;font-size:13px}.examples button:hover{color:var(--lime)}.examples code{color:var(--steel-2);margin-right:6px}.live{gap:12px;margin-top:26px;display:grid}.torque{background:var(--panel);gap:10px;padding:14px;display:grid}.torque .eyebrow{margin:0;display:block}.big{font-size:30px;font-weight:600}.torque-scale{border-bottom:1px solid var(--line-2);height:30px;margin:4px 6px 0;position:relative}.torque-scale .tick{font-family:var(--mono);color:var(--steel);padding-bottom:6px;font-size:11px;position:absolute;bottom:0;transform:translate(-50%)}.torque-scale .tick:after{content:"";background:currentColor;width:1px;height:6px;position:absolute;bottom:-1px;left:50%}.torque-scale .tick.is-ok{color:var(--lime)}.torque-scale .tick.is-off{color:#3a4552;text-decoration:line-through}.torque-scale .need{background:var(--amber);width:2px;height:34px;position:absolute;bottom:-4px}.live-state{font-family:var(--mono);letter-spacing:.08em;color:#8fd9a4;text-transform:uppercase;border:1px solid #3d6b4a;padding:8px 10px;font-size:12px}.live-state.is-blocked{border-color:var(--red);color:var(--red)}.selection-corrections{border:1px solid var(--amber);background:#251d0db8;gap:8px;padding:12px;display:grid}.selection-corrections h3,.selection-corrections p{margin:0}.selection-corrections h3{font-size:14px}.correction-note,.selection-corrections li p{color:#d7c69b;font-size:12px;line-height:1.45}.selection-corrections ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.selection-corrections li{justify-content:space-between;align-items:center;gap:12px;display:flex}.selection-corrections li>div{gap:4px;display:grid}.selection-corrections li strong{font-size:13px}.selection-corrections .correction-caution{color:#ffc966}.selection-corrections button{flex:none}.kit{gap:12px;display:grid}.kit-lines{background:var(--line);border:1px solid var(--line);gap:1px;margin:0;padding:0;list-style:none;display:grid}.kit-lines li{background:var(--bg);padding:12px}.kit-lines li.is-dim{opacity:.5}.kit-head{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.qty{color:var(--lime)}.kit-why{color:var(--steel);margin-top:4px;font-size:12.5px}.kit-meta{color:var(--steel-2);margin-top:4px;font-size:11px}.price-note{color:var(--steel);align-items:center;gap:8px;font-size:12.5px;display:flex}.next-step{border-left:3px solid var(--lime);background:#b7f0000e;margin-top:18px;padding:14px 16px}.next-step h3{margin:5px 0 7px;font-size:18px}.next-step p{color:var(--steel);margin:0;line-height:1.5}.kit-actions{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.bottombar{border-top:1px solid var(--line);background:var(--bg);min-width:0}.bar{align-items:center;gap:24px;min-width:0;height:100%;padding:0 20px 0 28px;display:flex}.bar-label{letter-spacing:.04em;border-right:1px solid var(--line-2);flex:none;align-items:center;height:34px;padding-right:24px;font-size:18px;font-weight:700;display:flex}.bar-body{flex:1;min-width:0}.steps{scrollbar-width:none;flex:1;align-items:center;min-width:0;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.steps li{flex:none;align-items:center;display:flex}.steps li+li:before{content:"";background:var(--line-2);width:30px;height:1px;margin:0 12px}.steps button,.step-static{text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:0;display:flex}.step-n{border:1px solid var(--steel);flex:none;place-items:center;width:32px;height:32px;font-size:14px;display:grid}.step-l{letter-spacing:.04em;text-transform:uppercase;max-width:140px;font-size:13px;line-height:1.25}.steps li.is-active .step-n{background:var(--lime);color:var(--lime-ink);border-color:var(--lime);font-weight:700}.steps li.is-active .step-l{font-weight:650}.steps li.is-done .step-n{border-color:var(--lime);color:var(--lime)}.bar-nav{border-left:1px solid var(--line-2);flex:none;gap:10px;padding-left:24px;display:flex}.bar-nav .btn-primary,.bar-nav .btn-outline{padding:12px 22px;font-size:15px}.explore-controls{flex-wrap:wrap;align-items:center;gap:22px;display:flex}.slider{gap:2px;width:190px;display:grid}.slider span{color:var(--steel);font-size:12px}.view-chips{border:1px solid var(--line-2);margin-left:auto;display:flex}.view-chips button{border:0;border-right:1px solid var(--line-2);color:var(--steel);background:0 0;place-items:center;padding:8px 12px;font-size:12.5px;display:grid}.view-chips button:last-child{border-right:0}.view-chips button.is-on{color:var(--lime)}.stats{flex-wrap:wrap;align-items:center;gap:30px;display:flex}.stat{gap:2px;display:grid}.stat .eyebrow{margin:0;font-size:12px}.stat strong{font-size:20px}.stat.is-warn strong{color:var(--amber)}.legend-inline{color:var(--steel);align-items:center;gap:8px;margin-left:auto;display:flex}.lg{width:18px;height:2px;display:inline-block}.lg-direct{background:var(--lime)}.lg-rep{background:repeating-linear-gradient(90deg, var(--blue) 0 4px, transparent 4px 7px)}.lg-out{background:var(--red)}.installer-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.installer-tools{gap:6px;display:flex}.note{color:#ffe2a8;border-left:2px solid var(--amber);padding-left:10px}.prereq{color:var(--steel);margin:8px 0;padding-left:18px}.destructive{border:1px solid var(--red);color:#ffc9c4;background:#ff5a4e14;grid-template-columns:18px 1fr;gap:10px;margin:12px 0;padding:12px;font-size:13.5px;display:grid}.destructive svg{color:var(--red)}.destructive.is-confirmed{opacity:.75}.confirm{color:var(--text);align-items:center;gap:8px;margin-top:8px;display:flex}.step-card{border:1px solid var(--line-2);background:var(--panel);min-width:0;margin:14px 0 0;padding:16px}.step-card:disabled{opacity:.6}.step-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.step-badge{background:var(--lime);color:var(--lime-ink);padding:3px 8px;font-size:11px;font-weight:600}.step-card h2{margin:12px 0 6px;font-size:19px}.instruction{color:#d4dae1;margin:0 0 12px;line-height:1.5}.warning{color:var(--amber);align-items:flex-start;gap:6px;display:flex}.accepts{gap:8px;display:grid}.action-chip{background:var(--bg);border:1px solid var(--lime);text-align:left;-webkit-user-select:none;user-select:none;touch-action:none;width:100%;padding:12px 14px;display:block;position:relative;overflow:hidden}.action-chip .chord{color:var(--lime);font-size:15px;font-weight:600;display:block}.chip-hint{color:var(--steel);font-size:12.5px}.action-hint{border:1px dashed var(--line-2);gap:4px;padding:10px 12px;display:grid}.hold{position:relative;overflow:hidden}.hold-fill{background:var(--lime-dim);transform-origin:0;pointer-events:none;position:absolute;inset:0;transform:scaleX(0)}.hold.is-ready .hold-fill{background:#b7f00047}.hold-content{display:block;position:relative}.sim-error{border-left:3px solid var(--red);color:#ffc9c4;background:#ff5a4e14;margin:12px 0 0;padding:9px 11px;font-size:13px}.window{color:var(--lime);padding-bottom:4px;font-size:11px;position:relative}.window.is-low{color:var(--amber)}.window-bar{transform-origin:0;background:currentColor;height:2px;transition:transform .2s linear;position:absolute;bottom:0;left:0;right:0}.done-card{border:1px solid var(--lime);background:var(--lime-dim);margin:14px 0;padding:16px}.done-card p{margin:0 0 12px}.row{gap:8px;display:flex}.devices{gap:12px;margin-top:18px;display:grid}.remote{border:1px solid var(--line-2);background:linear-gradient(#151a21,#0f1318);padding:12px}.remote-head{color:var(--steel);justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.role-switch button{padding:4px 8px;font-size:11px}.remote-buttons{grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:8px;display:grid}.remote-btn{border:1px solid var(--line-2);-webkit-user-select:none;user-select:none;touch-action:none;background:#1c232c;justify-items:center;gap:2px;padding:12px 6px 8px;font-size:18px;display:grid}.remote-btn small{font-size:11.5px;font-family:var(--mono);color:var(--steel)}.remote-btn.is-pressed,.remote-btn.is-holding{border-color:var(--lime);color:var(--lime);box-shadow:0 0 0 1px var(--lime) inset}.remote p{margin:10px 0 0}.hardware{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;display:grid}.hw-btn{background:var(--panel);border:1px solid var(--line-2);text-align:left;-webkit-user-select:none;user-select:none;touch-action:none;gap:2px;padding:12px;display:grid}.hw-btn .hold-content{gap:2px;display:grid}.hw-btn span{font-size:12px}.hw-btn small{color:var(--steel);font-size:11.5px}.hw-btn.is-off{border-color:var(--red)}.log ol{gap:4px;max-height:200px;margin:0;padding:0;font-size:12.5px;list-style:none;display:grid;overflow-y:auto}.log li{background:var(--panel);border-left:2px solid var(--line-2);color:#b9c2cc;padding:6px 8px}.log-ok{border-left-color:var(--lime)!important}.log-error{border-left-color:var(--red)!important;color:#ffc9c4!important}.beeps{color:var(--lime);margin-right:8px;font-size:11px}.picker .proc-group ul{background:var(--line);border:1px solid var(--line);gap:1px;margin:0;padding:0;list-style:none;display:grid}.proc-item{text-align:left;background:var(--bg);border:0;gap:3px;width:100%;padding:12px 14px;display:grid}.proc-item:hover{background:var(--panel);box-shadow:inset 3px 0 0 var(--lime)}.proc-title{font-size:14px;font-weight:600}.proc-meta{color:var(--steel);font-size:11px}.danger{color:var(--red)}.system-view{z-index:5;background:var(--bg);place-items:center;height:100%;padding:24px;display:grid;position:absolute;inset:0}.remote-instruction{z-index:2;border-left:3px solid var(--lime);max-width:310px;color:var(--steel);background:#0a0e13e6;gap:2px;padding:9px 12px;font-size:12px;display:grid;position:absolute;top:16px;left:18px}.remote-instruction strong{color:var(--text);font-size:13px}.plan{touch-action:none;width:100%;height:100%;max-height:100%}.walls rect,.walls line{fill:none;stroke:#4a5664;stroke-width:.14px}.walls .garage{stroke-dasharray:.4 .25}.fence{stroke:#4a5664;stroke-width:.1px;stroke-dasharray:.3 .3}.plan-label{font-family:var(--mono);fill:var(--steel-2);letter-spacing:.06px;font-size:.75px}.plan-bg,.range,.link,.walls,.fence,.plan-label,.dev-label,.dev-id{pointer-events:none}.range{stroke:#b7f00059;stroke-width:.06px;stroke-dasharray:.4 .3}.range-rep{fill:#6fa8ff0d;stroke:#6fa8ff73}.link{stroke:var(--lime);stroke-width:.07px;opacity:.75}.link-rep{stroke:var(--blue);stroke-dasharray:.35 .2}.dev{cursor:pointer}.dev rect,.dev path{fill:#18202a;stroke:var(--lime);stroke-width:.08px}.dev.is-out rect,.dev.is-out path{stroke:var(--red);fill:#2a1414}.dev:hover rect,.dev:hover path,.dev:focus-visible rect,.dev:focus-visible path{fill:#253040}.system-view svg :focus,.system-view svg :focus-visible{outline:none}.dev:focus-visible .hit{stroke:var(--lime);stroke-width:2px;vector-effect:non-scaling-stroke}.dev .hit{fill:#0000;stroke:none}.rep-ring{fill:none;stroke:var(--blue);stroke-width:.08px;stroke-dasharray:.25 .15}.dev-label{fill:#c7cfd8;text-anchor:middle;font-size:.68px;font-family:var(--font)}.dev-id{fill:var(--text);text-anchor:middle;font-size:.48px;font-family:var(--mono)}.remote-node{cursor:grab}.remote-node circle{fill:var(--lime)}.remote-node:focus-visible circle{stroke:var(--lime);stroke-width:.18px;vector-effect:non-scaling-stroke}.remote-node .dev-id{fill:var(--lime-ink);font-weight:700}.remote-node .dev-label{fill:var(--steel)}.dev-list{background:var(--line);border:1px solid var(--line);gap:1px;margin:14px 0;padding:0;list-style:none;display:grid}.dev-list li{background:var(--bg);grid-template-columns:44px 1fr auto auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.dev-kind{color:var(--steel)}.dev-state{color:#8fd9a4}.dev-list li.is-out .dev-state{color:var(--red)}.modal-backdrop{z-index:100;background:#040609b8;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--line-2);width:100%;max-width:720px;max-height:90dvh;padding:26px;overflow-y:auto}.modal h2{margin:0 0 10px}.modal h3{font-size:13px;font-family:var(--mono);color:var(--steel);letter-spacing:.1em;margin:20px 0 8px}.modal p{color:#c7cfd8;line-height:1.55}.legend{gap:8px;padding:0;font-size:13.5px;list-style:none;display:grid}.sources{border-collapse:collapse;width:100%;font-size:12.5px}.sources td{border-top:1px solid var(--line-2);vertical-align:top;padding:7px 8px 7px 0}.toast{left:50%;bottom:calc(var(--bottom-h) + 18px);background:var(--panel-2);border:1px solid var(--lime);z-index:90;max-width:min(560px,100vw - 32px);padding:11px 16px;font-size:13.5px;position:fixed;transform:translate(-50%);box-shadow:0 10px 40px #00000080}.present-btn{background:var(--lime);color:var(--lime-ink);letter-spacing:.04em;border:0;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:650;display:inline-flex}.present-btn.is-on{color:var(--lime);box-shadow:inset 0 0 0 1px var(--lime);background:0 0}.app.is-presenting .rail,.app.is-presenting .panel,.app.is-presenting .bottombar,.app.is-presenting .scene-wrap{pointer-events:none}.tour{pointer-events:none;z-index:20;position:absolute;inset:0}.tour-live{color:var(--steel);white-space:nowrap;align-items:center;gap:7px;margin-left:auto;font-size:11.5px;display:inline-flex}.rec-dot{background:var(--red);border-radius:50%;width:8px;height:8px;animation:1.2s step-end infinite blink}.tour-caption{border:1px solid var(--line-2);border-left:4px solid var(--lime);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#090c10e0;max-width:760px;margin:0 auto;padding:14px 18px 16px;animation:.35s ease-out rise;position:absolute;bottom:26px;left:24px;right:24px}.tour-step{color:var(--lime);gap:12px;margin-bottom:6px;font-size:11px;display:flex}.tour-step span{color:var(--steel)}.tour-caption p{margin:0;font-size:19px;font-weight:500;line-height:1.35}.tour-progress{background:var(--line-2);height:3px;position:absolute;bottom:0;left:0;right:0}.tour-progress span{background:var(--lime);transform-origin:0;animation:36s linear forwards tour-progress;position:absolute;inset:0}@keyframes tour-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.tour-stop{pointer-events:auto;border:1px solid var(--steel-2);background:#090c10cc;padding:6px 12px;font-size:12.5px;position:absolute;top:12px;right:14px}.tour-stop:hover{border-color:var(--text)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.sel-hud{background:var(--line-2);border:1px solid var(--line-2);z-index:3;flex-wrap:wrap;align-items:stretch;gap:1px;width:fit-content;max-width:calc(100% - 36px);display:flex;position:absolute;top:16px;left:18px;right:18px}.sel-cell{background:#090c10db;gap:2px;min-width:96px;padding:9px 14px;display:grid}.sel-cell .eyebrow{margin:0;font-size:11.5px}.sel-cell strong{white-space:nowrap;font-size:15px;font-weight:600}.sel-hud .flash{animation:1.2s ease-out flash}@keyframes flash{0%{color:var(--lime-ink);background:var(--lime);box-shadow:0 0 0 4px var(--lime)}to{background:0 0}}.sel-state{color:#8fd9a4;font-family:var(--mono);letter-spacing:.06em;background:#142819e6;align-items:center;max-width:340px;padding:0 14px;font-size:11px;display:flex}.sel-state.is-blocked{color:#ffb4ad;background:#3c0e0ceb}.sel-hud.is-blocked{border-color:var(--red);background:var(--red)}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatch{background:var(--panel);border:1px solid var(--line-2);align-items:center;gap:8px;padding:7px 12px 7px 8px;font-size:13px;display:inline-flex}.swatch-chip{border:1px solid #ffffff2e;width:20px;height:20px}.swatch.is-on{border-color:var(--lime);box-shadow:inset 0 0 0 1px var(--lime)}.onboard{border:1px solid var(--line-2);border-top:3px solid var(--lime);z-index:6;background:#11161df2;width:min(430px,100% - 36px);padding:14px 16px;animation:.4s ease-out rise;position:absolute;bottom:40px;left:18px}.onboard h2{margin:4px 0 8px;font-size:22px}.onboard p{color:#d4dae1;margin:0 0 10px;font-size:13.5px;line-height:1.5}.onboard-goals{gap:7px;margin:12px 0;display:grid}.onboard-goal{width:100%;color:var(--text);text-align:left;border:1px solid var(--line-2);background:#0c1117;gap:3px;padding:10px 12px;display:grid}.onboard-goal:hover,.onboard-goal:focus-visible{border-color:var(--lime);background:#121a1b}.onboard-goal.is-recommended{box-shadow:inset 3px 0 0 var(--lime)}.onboard-goal strong{font-size:14px}.onboard-goal span{color:var(--muted);font-size:12px}.onboard-secondary{justify-content:flex-start;display:flex}.onboard .btn-primary,.onboard .btn-outline{padding:8px 12px;font-size:12.5px}.loader-bars{gap:5px;display:flex}.loader-bars i{background:var(--lime);width:6px;height:26px;animation:.9s ease-in-out infinite bars}.loader-bars i:nth-child(2){animation-delay:.15s}.loader-bars i:nth-child(3){animation-delay:.3s}@keyframes bars{50%{opacity:.5;transform:scaleY(.35)}}.guide{z-index:4;border:1px solid var(--line-2);border-left:3px solid var(--lime);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);scrollbar-width:thin;background:#0a0e13eb;width:300px;max-height:calc(100% - 60px);padding:12px 14px;animation:.25s ease-out rise;position:absolute;bottom:38px;left:18px;overflow-y:auto}.guide-head{color:var(--lime);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:11px;display:flex}.senso-status{background:var(--lime-dim);color:var(--text);border:1px solid #b7f00059;gap:3px;margin:0 0 8px;padding:8px 9px;font-size:12px;line-height:1.35;display:grid}.senso-status .mono{color:var(--lime);font-size:11px}.senso-status.is-compact{z-index:4;margin:0;position:absolute;bottom:82px;left:18px}.guide-close{border:1px solid var(--line-2);color:var(--steel);background:0 0;width:24px;height:22px;line-height:1}.guide-close:hover{color:var(--text)}.guide-chip{z-index:4;border:1px solid var(--line-2);border-left:3px solid var(--lime);color:var(--text);background:#0a0e13e6;padding:7px 12px;font-size:12px;position:absolute;bottom:38px;left:18px}.guide-list,.guide-actions,.guide-conds{gap:6px;margin:0;padding:0;font-size:12.5px;line-height:1.45;list-style:none;display:grid}.guide-list li,.guide-actions li{border-left:2px solid var(--line-2);padding-left:10px}.guide-p{margin:0;font-size:12.5px;line-height:1.45}.guide-block{margin-top:12px}.guide-eyebrow{color:var(--steel);margin-bottom:6px;font-size:11.5px}.guide-block p{color:#cfd6de;margin:0;font-size:12.5px;line-height:1.45}.guide-conds li{padding-left:18px;position:relative}.guide-conds li:before{content:"✓";color:var(--lime);position:absolute;left:0}.guide-conds li.is-bad{color:var(--amber)}.guide-conds li.is-bad:before{content:"!";color:var(--amber);font-weight:700}.guide-steps{gap:4px;margin:0;padding:0;list-style:none;display:grid}.guide-steps li{color:var(--steel);border:1px solid #0000;grid-template-columns:22px 1fr;gap:8px;padding:6px 8px;font-size:12.5px;line-height:1.4;transition:background .2s,border-color .2s,color .2s;display:grid}.guide-steps li div{gap:2px;display:grid}.guide-steps li strong{color:inherit;font-weight:650}.guide-steps li.is-done{color:#aab4bf}.guide-steps li.is-now{color:var(--text);background:var(--lime-dim);border-color:#b7f00059}.gs-n{border:1px solid var(--line-2);place-items:center;width:22px;height:22px;font-size:11px;display:grid}.guide-steps li.is-now .gs-n{background:var(--lime);color:var(--lime-ink);border-color:var(--lime)}.guide-steps li.is-done .gs-n{color:var(--lime)}.guide-src{color:var(--steel-2);margin-top:10px;font-size:11.5px}.explore-hint{color:#b7c2ce;pointer-events:none;z-index:3;flex-wrap:wrap;gap:6px 18px;font-size:12px;display:flex;position:absolute;top:14px;left:18px;right:18px}.explore-hint b{color:var(--lime);font-weight:500}.senso-box{background:linear-gradient(#b7f0000f,#0000 70%);border:1px solid #b7f00059;margin:0 0 22px;padding:14px 14px 12px}.senso-box .eyebrow{color:var(--lime);margin-bottom:4px}.inspector-facts{background:var(--panel);border:1px solid var(--line);margin:4px 0 18px;padding:14px 14px 10px}.counters{grid-template-columns:1fr 1fr;gap:12px;margin:4px 0 16px;display:grid}.counter{gap:6px;display:grid}.counter-row{border:1px solid var(--line-2);grid-template-columns:36px 1fr 36px;height:38px;display:grid}.counter-row button{color:var(--text);background:0 0;border:0;font-size:18px}.counter-row button:hover:not(:disabled){background:var(--panel-2);color:var(--lime)}.counter-row output{border-left:1px solid var(--line-2);border-right:1px solid var(--line-2);place-items:center;font-size:16px;display:grid}.dev-floor{color:var(--blue);font-size:11.5px}.dev-rep-state{color:var(--lime);font-size:11.5px;display:block}.dev-rep-state.is-bad{color:var(--amber)}.walls .upstairs{stroke-dasharray:.5 .25}.range-other{opacity:.55;stroke-dasharray:.4 .3}.dev-label,.remote-node .dev-label,.plan-label{paint-order:stroke;stroke:#090c10;stroke-width:.22px;stroke-linejoin:round}.torque-verdict{color:#cfd6de;margin:10px 0 0;line-height:1.5}.torque-verdict b{color:var(--lime);font-weight:600}.torque-verdict .is-bad{color:var(--red)}.rep-tip{background:var(--lime-dim);border:1px solid #b7f00059;gap:8px;margin:0 0 16px;padding:12px 14px;display:grid}.rep-tip p{margin:0;font-size:13px;line-height:1.45}.rep-tip b,.rep-tip .eyebrow{color:var(--lime)}.rep-tip .btn-outline{justify-self:start;padding:7px 12px;font-size:12.5px}html,body,#root{background:#080b0f}.topbar,.rail{background:linear-gradient(#111821 0%,#0d1218 100%)}.panel{background:linear-gradient(#121a23 0%,#0d1218 60%)}.bottombar{background:linear-gradient(#0d1218 0%,#101720 100%)}.stage{background:#0d131a}.scene-wrap:after{--c:#8a95a380;content:"";pointer-events:none;background:linear-gradient(var(--c), var(--c)) top left / 16px 1px, linear-gradient(var(--c), var(--c)) top left / 1px 16px, linear-gradient(var(--c), var(--c)) top right / 16px 1px, linear-gradient(var(--c), var(--c)) top right / 1px 16px, linear-gradient(var(--c), var(--c)) bottom left / 16px 1px, linear-gradient(var(--c), var(--c)) bottom left / 1px 16px, linear-gradient(var(--c), var(--c)) bottom right / 16px 1px, linear-gradient(var(--c), var(--c)) bottom right / 1px 16px;background-repeat:no-repeat;position:absolute;inset:10px}.stage:after{content:"";pointer-events:none;z-index:1;position:absolute;inset:0;box-shadow:inset 12px 0 24px -16px #000c,inset -12px 0 24px -16px #000c}.inspector-cta{z-index:2;background:linear-gradient(#0d121800 0%,#0d1218 22%);margin:0 -24px -28px;padding:14px 24px 12px;position:sticky;bottom:-28px}.inspector-cta p{margin:8px 0 0}.rail-text{gap:3px;display:grid}.rail-hint{white-space:nowrap;font-family:var(--mono);letter-spacing:.04em;color:var(--steel-2);text-transform:none;font-size:11.5px;font-weight:400}.rail-btn.is-active .rail-hint{color:#b7f000b3}.rail-foot{color:var(--steel-2);border-top:1px solid var(--line);gap:4px;margin-top:auto;padding:16px 22px 18px;font-size:11px;display:grid}.rail-foot-v{color:var(--steel);margin-bottom:4px}.panel-body{animation:.22s ease-out panel-in}.mode-context{color:var(--lime);letter-spacing:.12em;text-transform:uppercase;margin-bottom:7px;font-size:10px}.panel-orientation{justify-content:space-between;align-items:center;gap:12px;display:flex}.view-switch-mobile{display:none}[data-mode-heading],[data-procedure-heading]{scroll-margin-top:calc(var(--top-h) + 72px)}@keyframes panel-in{0%{opacity:0;transform:translateY(6px)}}@media (width<=1280px){:root{--rail-w:132px;--panel-w:340px}.product-sub{display:none}.rail-btn{gap:10px;padding:0 14px;font-size:12.5px}.rail-hint{display:none}.step-l{max-width:100px;font-size:11.5px}}@media (width<=900px){:root{--top-h:54px}html{scroll-padding-top:124px}html,body,#root{height:auto}.app{grid-template-columns:minmax(0,1fr);grid-template-rows:var(--top-h) 52vh auto auto auto;grid-template-areas:"top""stage""rail""bottom""panel";height:auto;min-height:100dvh;overflow:visible}.topbar{z-index:50;padding:0 16px;position:sticky;top:0}.brand{gap:12px}.wordmark{font-size:18px}.product{letter-spacing:.1em;font-size:13px}.brand-sep{height:20px}.view-switch,.icon-btn{display:none}.view-switch-mobile{display:block}.view-switch-mobile .view-switch{display:flex}.view-switch-mobile .view-switch button{min-height:34px}.demo-badge{padding:6px 8px;font-size:11.5px}.presentation-controls{gap:5px}.presentation-speed button{min-height:36px;padding:0 7px}.rail{border-right:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);top:var(--top-h);z-index:45;background:var(--bg);flex-direction:row;padding:0;position:sticky}.rail-btn{border-bottom:3px solid #0000;border-left:0;border-right:1px solid var(--line);flex-direction:column;flex:1;justify-content:center;gap:4px;height:58px;padding:0 4px;font-size:11.5px}.rail-btn:last-child{border-right:0}.rail-btn.is-active{border-bottom-color:var(--lime);background:0 0}.panel{border-left:0;padding:20px 16px 32px;overflow:visible}.bottombar{border-top:0;border-bottom:1px solid var(--line)}.bar{flex-wrap:wrap;gap:12px;padding:12px 16px}.bar-label{display:none}.steps{flex:100%;width:100%}.steps li+li:before{width:14px;margin:0 6px}.step-l{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.steps li.is-active .step-l{clip:auto;width:auto;max-width:120px;height:auto;position:static}.bar-nav{border-left:0;width:100%;padding-left:0}.bar-nav button{flex:1}.explore-controls{gap:12px}.slider{width:calc(50% - 6px)}.view-chips{width:100%;margin-left:0;overflow-x:auto}.view-chips button{flex:1 0 auto}.legend-inline{margin-left:0}.inspector-title{font-size:28px}.hs-label{font-size:12px}.toast{bottom:18px}.system-view{padding:8px}.app.mode-explore:not(.is-presenting) .stage-tag{inset:8px 8px auto}.present-btn{flex:none;padding:8px 10px}.present-label,.tour-live-long,.kbd-hint{display:none}.tour-live{font-size:11.5px}.app.is-presenting .sel-hud{display:none}.tour-caption{padding:10px 12px 12px;bottom:10px;left:10px;right:10px}.tour-caption p{font-size:15px}.sel-hud{top:8px;left:8px;right:8px}.sel-cell{flex:auto;min-width:0;padding:6px 9px}.sel-hud{width:auto}.sel-state{flex:auto}.sel-cell strong{font-size:12.5px}.sel-state{padding:6px 9px;font-size:11px}.onboard{bottom:12px;left:10px}.rail-foot{display:none}.inspector-cta{background:0 0;margin:0;padding:8px 0 0;position:static}.guide{width:auto;max-height:60%;bottom:8px;left:8px;right:8px}.guide-chip{bottom:8px;left:8px}.explore-hint{display:none}}@media (width<=480px){.topbar{gap:6px;padding:0 10px}.brand{gap:8px}.wordmark{font-size:15px}.product{letter-spacing:.04em;font-size:10.5px}.topbar-actions{gap:5px}.demo-badge{padding:5px 6px;font-size:10px}.demo-full{display:none}.demo-short{display:inline}.presentation-controls{gap:4px}.presentation-speed button{padding:0 5px;font-size:10.5px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
