:root{--bg:#0b1420;--surface:#142333;--surface-2:#1b2e42;--surface-3:#243c52;--border:#2b4359;--border-strong:#405e77;--text:#edf4fa;--text-muted:#aec2d3;--text-faint:#8b9fb3;--accent:#42d6c4;--accent-ink:#082521;--accent-soft:#42d6c41f;--link:#83b8ff;--pass:#34d399;--marginal:#f2bc66;--fail:#f87171;--norun:#8b95a3;--pass-soft:#34d3991a;--marginal-soft:#f2bc661a;--fail-soft:#f871711a;--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;--fs-xs:13px;--fs-sm:15px;--fs-md:17px;--fs-lg:20px;--fs-xl:28px;--fs-2xl:40px;--fs-3xl:56px;--r-sm:8px;--r:12px;--r-lg:16px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;--ease:cubic-bezier(.2,.7,.2,1)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--fs-md);-webkit-font-smoothing:antialiased;line-height:1.6}img,svg,canvas{max-width:100%;display:block}a{color:var(--link);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}code,pre,.mono,.num{font-family:var(--mono)}code{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:1px 6px;font-size:.88em}pre{border:1px solid var(--border);border-radius:var(--r);padding:var(--s4);color:#dbe7f1;background:#08101a;font-size:13px;line-height:1.55;overflow:auto}pre code{background:0 0;border:0;padding:0}h1,h2,h3,h4{letter-spacing:-.015em;color:var(--text);font-weight:800;line-height:1.15}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}[hidden]{display:none!important}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.btn{font:600 var(--fs-sm)/1 var(--font);cursor:pointer;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);transition:background .15s var(--ease),border-color .15s var(--ease),transform .15s var(--ease);border-radius:10px;align-items:center;gap:8px;padding:12px 18px;display:inline-flex}.btn:hover{border-color:var(--text-faint);background:var(--surface-3);text-decoration:none}.btn:active{transform:translateY(1px)}.btn[disabled]{opacity:.4;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover{background:#63e6d6;border-color:#63e6d6}.btn-ghost{color:var(--text-muted);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-2);color:var(--text)}.btn-sm{font-size:var(--fs-xs);padding:8px 12px}.verdict{font:700 12px/1 var(--font);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border:1px solid;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.verdict:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.verdict.pass{color:var(--pass);background:var(--pass-soft)}.verdict.marginal{color:var(--marginal);background:var(--marginal-soft)}.verdict.fail{color:var(--fail);background:var(--fail-soft)}.verdict.norun{color:var(--norun);background:0 0;border-style:dashed}.verdict.lg{padding:9px 14px;font-size:14px}.static-badge{font:700 12px/1 var(--font);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:#7cc4ee;background:#4db2e812;border:1px dashed #4db2e8;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.static-badge:before{content:"";background:#4db2e8;border-radius:50%;width:7px;height:7px}.static-badge.marginal:before{background:#c792ea}.static-badge.unstable:before{background:#9aa7b4}.static-badge.lg{padding:9px 14px;font-size:14px}.robot-card .static-badge{justify-self:start;margin-top:6px}.receipt{font-size:var(--fs-xs);color:var(--muted);margin-top:6px;display:block}.robot-hero .receipt{margin-top:8px}.robot-hero .static-badge{margin-top:var(--s4);margin-left:8px}.harness-badge{font:700 12px/1 var(--font);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:var(--accent);border:1px dashed var(--accent);background:#42d6c412;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.harness-badge:before{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px}.harness-badge.lg{padding:9px 14px;font-size:14px}.robot-hero .harness-badge{margin-top:var(--s4);margin-left:8px}.recorded{font:700 11px/1 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);border:1px solid var(--border-strong);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.recorded:before{content:"";background:var(--fail);border-radius:50%;width:6px;height:6px}.chip{font:600 var(--fs-xs)/1 var(--font);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:999px;align-items:center;padding:7px 12px;display:inline-flex}.chip:hover{color:var(--text);border-color:var(--border-strong)}.chip[aria-pressed=true]{color:var(--text);background:var(--surface-3);border-color:var(--text-faint)}.est{font:700 11px/1.3 var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--marginal);border:1px dashed var(--marginal);border-radius:6px;padding:5px 8px;display:inline-block}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s5)}.card+.card{margin-top:var(--s4)}.card-head{justify-content:space-between;align-items:flex-start;gap:var(--s4);flex-wrap:wrap;display:flex}.eyebrow{font:700 12px/1.2 var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.callout{border:1px solid var(--border);border-left:3px solid var(--text-faint);background:var(--surface);border-radius:var(--r-sm);color:var(--text-muted);font-size:var(--fs-sm);align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.callout strong{color:var(--text)}.callout.warn{border-left-color:var(--marginal)}.callout.bad{border-left-color:var(--fail);background:var(--fail-soft)}.callout.good{border-left-color:var(--pass);background:var(--pass-soft)}img{max-width:100%}.kv{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.kv th,.kv td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:10px 0}.kv th{color:var(--text-muted);width:38%;padding-right:var(--s4);font-weight:500}.kv td{font-family:var(--mono);color:var(--text);font-size:14px}.kv tr:last-child th,.kv tr:last-child td{border-bottom:0}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.data{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.data th,.data td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 12px}.data th{color:var(--text-muted);font-weight:600;font-size:var(--fs-xs);letter-spacing:.04em}.data td.num{font-family:var(--mono);font-size:14px}.metric{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);padding:var(--s4)}.metric-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.metric-label{color:var(--text-muted);font-size:var(--fs-xs);letter-spacing:.02em;font-weight:600}.metric-value{font:600 28px/1.1 var(--mono);letter-spacing:-.02em;margin-top:6px}.metric-value small{color:var(--text-muted);margin-left:2px;font-size:14px}.meter{background:var(--surface-3);border-radius:999px;height:8px;margin-top:12px;position:relative;overflow:hidden}.meter .z-pass{background:#34d39929;position:absolute;inset:0 auto 0 0}.meter .z-marg{background:#facc1524;position:absolute;top:0;bottom:0}.meter .fill{transition:width .6s var(--ease);border-radius:999px;position:absolute;top:0;bottom:0;left:0}.meter .fill.pass{background:var(--pass)}.meter .fill.marginal{background:var(--marginal)}.meter .fill.fail{background:var(--fail)}.meter-scale{font:12px/1.4 var(--mono);color:var(--text-faint);justify-content:space-between;margin-top:6px;display:flex}.findings{gap:8px;list-style:none;display:grid}.finding{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);grid-template-columns:auto 1fr;align-items:start;gap:4px 12px;padding:12px 14px;display:grid}.sev{font:700 11px/1 var(--font);letter-spacing:.08em;text-transform:uppercase;border-radius:6px;margin-top:2px;padding:5px 8px}.sev.error{color:var(--fail);background:var(--fail-soft)}.sev.warn{color:var(--marginal);background:var(--marginal-soft)}.sev.info{color:var(--pass);background:var(--pass-soft)}.finding .check{font:600 14px/1.4 var(--mono);color:var(--text)}.finding .msg{color:var(--text-muted);font-size:var(--fs-sm);grid-column:2}.tabs{background:var(--surface);border:1px solid var(--border);border-radius:12px;gap:4px;width:max-content;max-width:100%;padding:4px;display:flex;overflow-x:auto}.tab{font:600 var(--fs-sm)/1 var(--font);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;padding:10px 14px}.tab:hover{color:var(--text)}.tab[aria-selected=true]{background:var(--surface-3);color:var(--text)}.tab[disabled]{opacity:.45;cursor:default}.codeblock{position:relative}.codeblock pre{padding-right:72px}.copy{position:absolute;top:10px;right:10px}.robot-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);color:var(--text);transition:border-color .15s var(--ease),transform .15s var(--ease);flex-direction:column;display:flex;overflow:hidden}.robot-card:hover{border-color:var(--border-strong);text-decoration:none;transform:translateY(-2px)}.robot-card .ph{aspect-ratio:4/3;background:#e9ecf0;place-items:center;display:grid;overflow:hidden}.robot-card .ph img{object-fit:contain;width:100%;height:100%;padding:14px}.robot-card .ph.ai{background:var(--surface-2)}.robot-card .ph.ai img{object-fit:cover;padding:0}.robot-card .body{padding:var(--s4) var(--s4) var(--s5);gap:6px;display:grid}.robot-card .dex{font:600 12px/1 var(--mono);color:var(--text-faint)}.robot-card h3{font-size:var(--fs-lg)}.robot-card .cls{color:var(--text-muted);font-size:var(--fs-xs)}.robot-card .verdict{justify-self:start;margin-top:6px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.verdict-text.pass{color:var(--pass)}.verdict-text.marginal{color:var(--marginal)}.verdict-text.fail{color:var(--fail)}@media (max-width:720px){.kv,.data,.kitpage .cat,.kitpage .box table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}}.robot-hero>*,.cols>*,.two>*,.checks>*,.report-grid>*,.ta-stage>*,.wv-stage>*,.split>*,.grid-3>*,.flow>*,.proof>*,.metrics>*,.kitpage .cols>*{min-width:0}.kv td,:not(pre)>code{overflow-wrap:anywhere}.harness-badge,.static-badge{white-space:normal;line-height:1.45}@media (max-width:720px){.chip{min-height:38px}.btn-sm,.tab{min-height:40px}input[type=range]{appearance:none;background:0 0;min-height:32px}input[type=range]::-webkit-slider-runnable-track{background:var(--surface-3);border-radius:999px;height:4px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);cursor:pointer;border-radius:50%;width:22px;height:22px;margin-top:-9px}input[type=range]::-moz-range-track{background:var(--surface-3);border-radius:999px;height:4px}input[type=range]::-moz-range-thumb{background:var(--accent);cursor:pointer;border:0;border-radius:50%;width:22px;height:22px}}.ph-fallback{color:#6b7280;font-weight:600;font-size:var(--fs-sm);text-align:center;place-items:center;gap:8px;padding:16px;display:grid}.ph-fallback svg{width:64px;height:64px}
body.app{min-height:100vh}@media (min-width:1280px){.shell:has(.forge-chat.docked) .main{padding-left:320px}}.shell{grid-template-columns:232px 1fr;min-height:100vh;display:grid}.sidebar{gap:var(--s5);height:100vh;padding:var(--s5) var(--s4);border-right:1px solid var(--border);background:#0c0e12;flex-direction:column;display:flex;position:sticky;top:0}.sidebar .brand{color:var(--text);align-items:center;gap:10px;padding:4px 8px;font-weight:700;display:flex}.sidebar .brand:hover{text-decoration:none}.brand-mark{background:var(--accent);border-radius:7px;flex:none;place-items:center;width:26px;height:26px;display:grid}.brand-mark svg{width:16px;height:16px}.brand-mark--logo{background:#020e1c;display:block;position:relative;overflow:hidden}.brand-mark--logo img{width:152.9%;max-width:none;height:auto;position:absolute;top:-11.2%;left:-26.5%}.brand small{font:500 11px/1.2 var(--font);color:var(--text-faint);letter-spacing:.04em;display:block}.side-nav{gap:2px;display:grid}.side-nav a{color:var(--text-muted);font-weight:600;font-size:var(--fs-sm);border-radius:10px;align-items:center;gap:12px;padding:10px 12px;display:flex}.side-nav a svg{flex:none;width:18px;height:18px}.side-nav a:hover{background:var(--surface);color:var(--text);text-decoration:none}.side-nav a[aria-current=page]{background:var(--surface-2);color:var(--text);box-shadow:inset 3px 0 0 var(--accent)}.side-nav a[aria-current=page] svg{color:var(--accent)}.side-foot{font-size:var(--fs-xs);gap:2px;margin-top:auto;display:grid}.side-foot a{color:var(--text-faint);border-radius:8px;padding:8px 12px}.side-foot a:hover{color:var(--text);background:var(--surface);text-decoration:none}.main{flex-direction:column;min-width:0;display:flex}.topbar{z-index:30;align-items:center;gap:var(--s3);height:56px;padding:0 var(--s6);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0b1420de;display:flex;position:sticky;top:0}.crumbs{font-size:var(--fs-sm);color:var(--text-faint);align-items:center;gap:8px;min-width:0;display:flex}.crumbs a{color:var(--text-muted)}.crumbs .here{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.topbar .recorded,.topbar .gh-link{margin-left:auto}.topbar .mobile-brand{display:none}.content{padding:var(--s7) var(--s6) var(--s9);width:100%;max-width:1120px}.page-head{justify-content:space-between;align-items:flex-end;gap:var(--s5);margin-bottom:var(--s6);flex-wrap:wrap;display:flex}.page-head h1{font-size:var(--fs-xl);letter-spacing:-.025em;margin-top:var(--s2)}.page-head .lede{color:var(--text-muted);max-width:62ch;margin-top:var(--s2);font-size:var(--fs-sm)}.section{margin-top:var(--s8)}.section>h2{font-size:var(--fs-lg);letter-spacing:-.015em}.section>.sub{color:var(--text-muted);font-size:var(--fs-sm);max-width:66ch;margin-top:6px}.section>h2+.sub+*,.section>h2+*{margin-top:var(--s4)}.state-box{border:1px dashed var(--border-strong);border-radius:var(--r);padding:var(--s5);color:var(--text-muted);font-size:var(--fs-sm)}.forge-top{justify-content:space-between;align-items:center;gap:var(--s4);margin-bottom:var(--s5);flex-wrap:wrap;display:flex}.forge-meta{color:var(--text-faint);font-size:var(--fs-xs)}.forge{gap:var(--s6);grid-template-columns:220px 1fr;align-items:start;display:grid}.rail{gap:2px;list-style:none;display:grid;position:sticky;top:80px}.rail button{text-align:left;width:100%;color:var(--text-muted);font:600 var(--fs-sm)/1.2 var(--font);cursor:pointer;background:0 0;border:0;border-radius:10px;grid-template-columns:28px 1fr;align-items:center;gap:10px;padding:10px;display:grid}.rail button:hover{background:var(--surface);color:var(--text)}.rail .dot{width:28px;height:28px;font:600 12px/1 var(--mono);border:1px solid var(--border-strong);color:var(--text-faint);background:var(--bg);border-radius:50%;place-items:center;display:grid}.rail button.done .dot{border-color:var(--pass);color:var(--pass)}.rail button[aria-current=step]{background:var(--surface-2);color:var(--text)}.rail button[aria-current=step] .dot{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.rail small{font:500 12px/1.3 var(--font);color:var(--text-faint);margin-top:2px;display:block}.progress{background:var(--surface-3);height:4px;margin-bottom:var(--s4);border-radius:999px;display:none;overflow:hidden}.progress span{background:var(--accent);height:100%;transition:width .3s var(--ease);display:block}.step-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s6);scroll-margin-top:72px}.step-card .eyebrow{color:var(--accent)}.step-card h2{font-size:var(--fs-xl);letter-spacing:-.025em;margin-top:6px}.step-card .intro{color:var(--text-muted);margin-top:var(--s2);max-width:62ch;font-size:var(--fs-sm)}.step-body{margin-top:var(--s5);gap:var(--s4);display:grid}.step-nav{justify-content:space-between;gap:var(--s3);margin-top:var(--s6);padding-top:var(--s5);border-top:1px solid var(--border);display:flex}.quote{font-size:var(--fs-lg);color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--r);padding:var(--s5);line-height:1.55}.quote cite{margin-top:var(--s3);font:500 var(--fs-xs)/1.4 var(--font);color:var(--text-faint);font-style:normal;display:block}.paste{white-space:pre-wrap;max-height:280px;font-size:12.5px}details.raw summary{cursor:pointer;color:var(--text-muted);font-size:var(--fs-sm);font-weight:600}details.raw summary:hover{color:var(--text)}details.raw[open] summary{margin-bottom:var(--s3)}.two{gap:var(--s3);grid-template-columns:1fr 1fr;display:grid}.verdict-row{align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex}.outputs{gap:var(--s2);list-style:none;display:grid}.outputs li{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);padding:var(--s4);grid-template-columns:1fr;gap:6px;display:grid}.outputs li strong{font-size:var(--fs-sm)}.outputs li span{color:var(--text-muted);font-size:var(--fs-sm)}.outputs pre{margin-top:4px;padding:10px 12px;font-size:12.5px}.photo-in{border-radius:var(--r);padding:var(--s4);background:#e9ecf0;max-width:520px}.photo-in img{width:100%}.slots{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;display:grid}.slot{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);font-size:var(--fs-sm);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.slot .have{font:600 13px/1 var(--mono);color:var(--text-muted);white-space:nowrap}.slot.ok .have{color:var(--pass)}.slot.kit .have{color:var(--marginal)}.slot.miss .have{color:var(--fail)}.items{gap:6px;list-style:none;display:grid}.items li{font-size:var(--fs-xs);background:var(--surface-2);border:1px solid var(--border);border-radius:8px;grid-template-columns:120px 44px 1fr 72px;align-items:center;gap:10px;padding:8px 10px;display:grid}.items .slotname{font:600 12px/1.2 var(--mono);color:var(--accent)}.items .slotname.none{color:var(--text-faint)}.items .qty{font-family:var(--mono);color:var(--text-muted)}.items .title{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.items .price{font-family:var(--mono);text-align:right;color:var(--text-muted)}.wires{gap:8px;list-style:none;display:grid}.wires li{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);font-size:var(--fs-sm);padding:10px 12px}.wires b{font-weight:600}.wires .via{font:12px/1 var(--mono);color:var(--accent);margin:0 6px}.wires p{color:var(--text-muted);font-size:var(--fs-xs);margin-top:4px}.toolbar{margin-bottom:var(--s4);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.toolbar input[type=search]{background:var(--surface);border:1px solid var(--border);min-width:200px;max-width:340px;color:var(--text);font:var(--fs-sm) var(--font);border-radius:10px;flex:1;padding:9px 12px}.toolbar input[type=search]:focus{outline:2px solid var(--accent);outline-offset:0;border-color:#0000}.robot-grid{gap:var(--s4);grid-template-columns:repeat(auto-fill,minmax(230px,1fr));display:grid}.parts-group+.parts-group{margin-top:var(--s3)}.parts-group[open]>.part-list{margin:var(--s3) 0 var(--s4)}.parts-group h3{font-size:var(--fs-sm);text-transform:capitalize;color:var(--text-muted);margin-bottom:var(--s2)}.parts-group h3 span{color:var(--text-faint);font-weight:500}.part-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px;display:grid}.part{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:12px 14px}.part.fc-highlight{outline:2px solid var(--accent);outline-offset:2px}.part h4{font-size:var(--fs-sm);font-weight:600}.part p{color:var(--text-muted);font-size:var(--fs-xs);margin-top:4px;line-height:1.5}.part .specs{font:12px/1.5 var(--mono);color:var(--text-faint);margin-top:6px}.part .pfig{margin:0 0 10px}.part .pfig img{aspect-ratio:16/10;object-fit:cover;border-radius:var(--r-sm);background:var(--surface-2);width:100%;display:block}.part .pfig figcaption{color:var(--text-faint);margin-top:4px;font-size:11px}.robot-hero{gap:var(--s6);grid-template-columns:minmax(0,360px) 1fr;align-items:start;display:grid}.robot-hero .ph{border-radius:var(--r-lg);aspect-ratio:4/3;background:#e9ecf0;place-items:center;display:grid;overflow:hidden}.robot-hero .ph img{object-fit:contain;width:100%;height:100%;padding:16px}.robot-hero .ph.ai{background:var(--surface-2)}.robot-hero .ph.ai img{object-fit:cover;padding:0}.robot-hero figcaption{color:var(--text-faint);margin-top:8px;font-size:12px}.robot-hero .dex{font:600 13px/1 var(--mono);color:var(--text-faint)}.robot-hero h1{font-size:var(--fs-2xl);letter-spacing:-.03em;margin-top:var(--s2)}.robot-hero .cls{color:var(--text-muted);margin-top:4px}.robot-hero .desc{color:var(--text-muted);margin-top:var(--s4);font-size:var(--fs-sm);max-width:62ch}.robot-hero .verdict{margin-top:var(--s4)}.jump{margin-top:var(--s5);flex-wrap:wrap;gap:6px;display:flex}.cols{gap:var(--s4);grid-template-columns:1fr 1fr;display:grid}.prov{color:var(--text-muted);font-size:var(--fs-sm);align-content:start;gap:10px;display:grid}.prov strong{color:var(--text)}.ta-controls{align-items:center;gap:var(--s3);margin-bottom:var(--s4);font-size:var(--fs-sm);color:var(--text-muted);flex-wrap:wrap;display:flex}.ta-controls input[type=range]{accent-color:var(--accent);width:200px}.ta-controls output{font-family:var(--mono);color:var(--text)}.ta-stage{gap:var(--s4);grid-template-columns:minmax(0,1fr) 320px;align-items:start;display:grid}.ta-view{border:1px solid var(--border);border-radius:var(--r);padding:var(--s3);background:#0b0d10}.ta-view+.ta-view{margin-top:var(--s3)}.ta-view .cap{color:var(--text-faint);margin-top:6px;font-size:12px}.part-shape{cursor:pointer}.part-shape:hover>*{filter:brightness(1.35)}.part-shape.sel>*{stroke:var(--accent)!important;stroke-width:2.6px!important}.ta-detail{position:sticky;top:80px}.ta-detail .qty{font:600 12px/1.3 var(--mono);color:var(--text-faint)}.ta-detail h3{font-size:var(--fs-lg);margin-top:6px}.ta-detail .spot{border-radius:var(--r-sm);width:100%;margin-top:var(--s3);border:1px solid var(--border)}.ta-detail dl{margin-top:var(--s3);font-size:var(--fs-sm);gap:10px;display:grid}.ta-detail dt{color:var(--text-faint);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:600}.ta-detail dd{color:var(--text-muted)}.ta-detail dd.m{font-family:var(--mono);color:var(--text);font-size:13px}#ta-3d{min-height:430px}#ta-3d canvas{border-radius:var(--r-sm);cursor:grab;width:100%;height:430px;display:block}#ta-3d canvas:active{cursor:grabbing}.chip[disabled]{opacity:.45;cursor:default}.chip[disabled]:hover{color:var(--text-muted);border-color:var(--border)}.ta-toggle[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.ta-wire-info{font-family:var(--mono);color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);margin-bottom:var(--s3);padding:9px 12px;font-size:12.5px}.ta-wire-info .elec-bad,.ta-detail .elec-bad{color:var(--fail);font-weight:600}.ta-detail .elec-ok{color:var(--text)}.ta-detail .elec-unchecked{color:var(--text-muted)}.dim line{stroke:#6f7884;stroke-width:1px}.dim text,.dim-note{fill:#9aa3ae;font-size:11px;font-family:var(--mono)}.wire{fill:none;stroke:#454c59;stroke-width:2px;pointer-events:none}.wire-hit{fill:none;stroke:#0000;stroke-width:13px;pointer-events:stroke;cursor:pointer}.wire.on.power{stroke:var(--accent)}.wire.on.data{stroke:#4db2e8}.wire.data{stroke-dasharray:5 4}.wire.on{stroke-dasharray:7 5;animation:.8s linear infinite wireflow}.wire.bad{stroke:var(--fail)}.wire-g.sel .wire{stroke-width:3.4px}.wire-g:hover .wire,.wire-g:focus .wire{filter:brightness(1.35)}.wire-g:focus{outline:none}.wire-label{fill:#eceef2;font-size:10.5px;font-family:var(--mono);opacity:0;pointer-events:none}.wire-g:hover .wire-label,.wire-g.sel .wire-label{opacity:1}.wire-badtag{fill:var(--fail);pointer-events:none;font-size:10.5px;font-weight:700}@keyframes wireflow{to{stroke-dashoffset:-24px}}.node-chip{cursor:pointer}.node-chip rect{fill:#1b2e42;stroke:#4a6a86;stroke-width:1.2px}.node-chip text.nl{fill:#eceef2;font-size:10.5px}.node-chip text.req{fill:#9aa3ae;font-size:9px;font-family:var(--mono)}.node-chip.on rect{stroke:var(--accent)}.node-chip.bad rect{stroke:var(--fail);stroke-width:2px}.node-chip.sel rect{stroke:var(--accent);stroke-width:2.4px}.node-chip:focus{outline:none}.node-chip:focus rect{stroke:var(--accent);stroke-width:2px}.req-label{fill:#9aa3ae;font-size:10px;font-family:var(--mono)}.wv{position:relative}.wv-tools{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.wv-note{font-size:var(--fs-sm);color:var(--text-muted);max-width:75ch;margin-bottom:12px}.wv-stage{gap:var(--s4);grid-template-columns:minmax(0,1fr) 320px;align-items:start;display:grid}.wv-diagram{border:1px solid var(--border);border-radius:var(--r);padding:var(--s3);background:#0b0d10}.wv-diagram .cap{color:var(--text-faint);margin-top:6px;font-size:12px}.wv-line{fill:none;stroke:#454c59;stroke-width:2px;pointer-events:none}.wv-line.data{stroke-dasharray:6 5}.wv-line.on.power{stroke:var(--accent)}.wv-line.on.data{stroke:#4db2e8}.wv-cable.bad .wv-line{stroke:var(--fail)}.wv-cable{cursor:pointer}.wv-hit{fill:none;stroke:#0000;stroke-width:13px;pointer-events:stroke}.wv-cable.sel .wv-line{stroke-width:3.4px}.wv-cable:hover .wv-line{filter:brightness(1.35)}.wv-cable.dim,.wv-node.dim{opacity:.16}.wv-cable.dead,.wv-node.dead{opacity:.22}.wv-node.dead rect{stroke-dasharray:4 3}.wv-chip{opacity:0;pointer-events:none}.wv-chip rect{fill:#1b2e42;stroke:#4a6a86}.wv-chip text{fill:#eceef2;font-size:10px;font-family:var(--mono)}.wv[data-mode=full] .wv-chip,.wv-cable:hover .wv-chip,.wv-cable.sel .wv-chip{opacity:1}.wv-badtag{fill:var(--fail);pointer-events:none;font-size:10.5px;font-weight:700}.wv-node{cursor:pointer}.wv-node rect{fill:#1b2e42;stroke:#4a6a86;stroke-width:1.2px}.wv-node text.wv-nl{fill:#eceef2;font-size:11px}.wv-node text.wv-req{fill:#9aa3ae;font-size:9px;font-family:var(--mono)}.wv-node.on rect{stroke:var(--accent)}.wv-node.sel rect{stroke:var(--accent);stroke-width:2.4px}.wv-node:focus{outline:none}.wv-node:focus rect{stroke:var(--accent);stroke-width:2px}.wv-detail .elec-bad{color:var(--fail);font-weight:600}.wv-detail .elec-ok{color:var(--text)}.wv-detail .elec-unchecked{color:var(--text-muted)}.wv-table-title{margin-top:var(--s4);font-size:var(--fs-lg)}.wv-tablewrap{margin-top:10px;overflow-x:auto}.wv-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.wv-table th,.wv-table td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:7px 10px}.wv-table th{background:var(--surface-2);font-weight:600}.wv-table tbody tr{cursor:pointer}.wv-table tbody tr:hover{background:var(--surface-2)}.wv-table td.m{font-family:var(--mono);font-size:12.5px}.wv-badrow td{background:#ff4a2f14}.wv-term{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.wv-pop{z-index:30;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r-sm);max-width:320px;font-size:var(--fs-sm);padding:10px 12px;position:absolute;box-shadow:0 8px 24px #00000073}@media (max-width:1080px){.wv-stage{grid-template-columns:1fr}}@media print{body *{visibility:hidden}.wv.wv-printing,.wv.wv-printing *{visibility:visible}.wv.wv-printing{color:#000;background:#fff;width:100%;position:absolute;top:0;left:0}.wv-printing .wv-tools,.wv-printing .wv-pop,.wv-printing .wv-detail .btn{display:none}.wv-printing .wv-diagram{background:#fff;border-color:#999}.wv-printing .wv-diagram .cap,.wv-printing .wv-note{color:#000}.wv-printing .wv-line{stroke:#333}.wv-printing .wv-line.data{stroke-dasharray:6 5}.wv-printing .wv-line.on.power{stroke:#000}.wv-printing .wv-line.on.data{stroke:#333}.wv-printing .wv-cable.bad .wv-line{stroke:#000;stroke-width:3.4px}.wv-printing .wv-chip{opacity:1}.wv-printing .wv-chip rect{fill:#fff;stroke:#333}.wv-printing .wv-chip text{fill:#000}.wv-printing .wv-node rect{fill:#fff;stroke:#333}.wv-printing .wv-node text.wv-nl{fill:#000}.wv-printing .wv-node text.wv-req{fill:#444}.wv-printing .wv-badtag{fill:#000}.wv-printing .wv-detail{color:#000;background:#fff;border-color:#999}.wv-printing .wv-table th{background:#eee}.wv-printing .wv-table th,.wv-printing .wv-table td{border-color:#999}.wv-printing .wv-term{color:#000;text-decoration:none}}.report-strip{gap:var(--s3);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.report-chip{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:var(--s4);color:var(--text);gap:8px;display:grid}.report-chip:hover{border-color:var(--border-strong);text-decoration:none}.report-chip .verdict{justify-self:start}.report-chip b{font-size:var(--fs-sm)}.report-chip span{color:var(--text-muted);font-size:var(--fs-xs)}.report{scroll-margin-top:80px}.report+.report{margin-top:var(--s5)}.report .story{color:var(--text-muted);font-size:var(--fs-sm);max-width:72ch;margin-top:6px}.report h3{font-size:var(--fs-lg)}.report-grid{gap:var(--s4);margin-top:var(--s5);grid-template-columns:1fr 1fr;display:grid}.checks{gap:var(--s3);grid-template-columns:1fr 1fr;display:grid}.traj{border:1px solid var(--border);border-radius:var(--r);background:#0b0d10;width:100%}.legend{color:var(--text-faint);margin-top:6px;font-size:12px}.suspects{margin-top:var(--s3);gap:8px;display:grid}@media (max-width:1080px){.ta-stage{grid-template-columns:1fr}.ta-detail{position:static}.report-grid{grid-template-columns:1fr}}@media (max-width:900px){.shell{grid-template-columns:1fr}.sidebar{z-index:50;height:auto;padding:6px 8px calc(6px + env(safe-area-inset-bottom));border-right:0;border-top:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0c0e12f5;flex-direction:row;position:fixed;inset:auto 0 0}.sidebar .brand,.side-foot{display:none}.side-nav{grid-template-columns:none;grid-auto-columns:1fr;grid-auto-flow:column;width:100%}.side-nav a{flex-direction:column;justify-content:center;gap:4px;padding:8px 4px;font-size:11px}.side-nav a[aria-current=page]{box-shadow:none;color:var(--accent);background:0 0}.topbar{padding:0 16px}.topbar .mobile-brand{display:grid}.content{padding:var(--s5) 16px calc(var(--s9) + 40px)}.forge{grid-template-columns:1fr}.rail{display:none}.progress{display:block}.robot-hero,.cols,.two,.checks{grid-template-columns:1fr}}@media (max-width:560px){.forge-composer textarea{font-size:16px}.step-card{padding:var(--s4)}.step-card h2{font-size:var(--fs-lg)}.items li{grid-template-columns:90px 34px 1fr}.items .price,.crumbs .sep,.crumbs a{display:none}.topbar .recorded{font-size:10px}}.forge-status{margin-top:var(--s5);background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);font-size:var(--fs-sm);border-radius:8px;padding:10px 14px}.forge-thread{gap:var(--s4);margin:var(--s5) 0;flex-direction:column;display:flex}.fmsg{max-width:80ch;font-size:var(--fs-sm)}.fmsg.user{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s3) var(--s4);white-space:pre-wrap;align-self:flex-end}.fmsg.user .photo-in img{border-radius:8px;width:100%;max-width:420px}.fmsg.note{color:var(--text-muted);border-left:3px solid var(--border-strong);padding:2px 0 2px var(--s4)}.fmsg.note p{margin:0 0 var(--s2)}.fstage{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s5)}.fstage-head{align-items:center;gap:var(--s3);margin-bottom:var(--s3);flex-wrap:wrap;display:flex}.fstage-head h3{font-size:var(--fs-lg);letter-spacing:-.02em}.fstage-body .intro{color:var(--text-muted);font-size:var(--fs-sm);max-width:62ch}.fbadge{font:700 11px/1 var(--mono);letter-spacing:.08em;border:1px solid var(--border-strong);border-radius:999px;padding:5px 9px}.fbadge.live{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.fbadge.local{color:#4db2e8;border-color:#4db2e8}.fbadge.recorded{color:var(--text-faint)}.fbadge-note{color:var(--text-faint);font-size:var(--fs-xs)}.forge-samples{gap:var(--s2);margin:var(--s4) 0;flex-wrap:wrap;align-items:center;display:flex}.forge-composer{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s4);gap:var(--s3);flex-direction:column;display:flex}.forge-composer textarea{background:var(--surface-2);border:1px solid var(--border);color:inherit;font:inherit;font-size:var(--fs-sm);resize:vertical;border-radius:8px;width:100%;padding:10px 12px}.composer-row{justify-content:space-between;align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex}.attach-btns{gap:var(--s2);flex-wrap:wrap;align-items:center;display:flex}.attach-row{gap:var(--s2);align-items:center;display:flex}.attach-chip{font:600 var(--fs-xs)/1 var(--mono);color:var(--accent);border:1px solid var(--border-strong);border-radius:999px;padding:6px 10px}.composer-note{font-size:var(--fs-xs);margin:0}.elapsed{font-family:var(--mono)}.fv-side,.fv-top{margin-top:var(--s3)}.fv-detail{margin-top:var(--s4)}.docd{font:700 11px/1.3 var(--font);letter-spacing:.06em;text-transform:uppercase;color:#4db2e8;border:1px solid #4db2e8;border-radius:6px;padding:5px 8px;display:inline-block}.docsheet{max-width:640px}.score-line{font-size:var(--fs-md)}.scan-view{border:1px solid var(--border);border-radius:var(--r);height:340px;margin-top:var(--s3);background:#101216;overflow:hidden}.scan-view canvas{display:block}.fstage{scroll-margin-top:72px;scroll-margin-bottom:96px}.fv-detail .qty{font:600 12px/1.3 var(--mono);color:var(--text-faint)}.fv-detail h3{font-size:var(--fs-lg);margin-top:6px}.fv-detail .spot{border-radius:var(--r-sm);width:100%;margin-top:var(--s3);border:1px solid var(--border)}.fv-detail dl{margin-top:var(--s3);font-size:var(--fs-sm);gap:10px;display:grid}.fv-detail dt{color:var(--text-faint);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:600}.fv-detail dd{color:var(--text-muted)}.fv-detail dd.m{font-family:var(--mono);color:var(--text);font-size:13px}.items.rows li{grid-template-columns:1fr auto}.items.rows .title{white-space:normal;text-overflow:clip;overflow:visible}.items .slotname{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fmsg.user{overflow-wrap:anywhere}.topbar .gh-link{display:none}@media (max-width:900px){.shell .forge-chat{bottom:calc(81px + env(safe-area-inset-bottom))}.topbar .gh-link{min-height:40px;font-size:var(--fs-sm);align-items:center;padding:0 6px;font-weight:600;display:inline-flex}.topbar .mobile-brand{place-items:center;min-width:40px;min-height:40px}.content .band{padding:var(--s6) 0}.content .wrap{padding-left:0;padding-right:0}}@media (max-width:720px){.attach-row{flex-wrap:wrap}.attach-chip{min-width:0;max-width:100%}.attach-chip span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}details.raw summary{padding:10px 0}.ta-controls input[type=range]{flex:150px;width:auto;min-width:140px}.ta-view{overflow-x:auto}.ta-view svg{min-width:620px}.fv-side,.fv-top{overflow-x:auto}.fv-side svg,.fv-top svg{min-width:620px}.wv-diagram{overflow-x:auto}.wv-diagram svg{min-width:620px}}@media (max-width:560px){.fstage{padding:var(--s4)}.robot-hero{grid-template-columns:minmax(0,1fr)}#ta-3d{min-height:320px}#ta-3d canvas{height:320px}}.robot-hero h1{overflow-wrap:anywhere}@media (max-width:1500px) and (min-width:901px){.robot-hero h1{font-size:32px}}@media (pointer:coarse){.forge-composer textarea,.toolbar input[type=search]{font-size:16px}}@media (max-width:560px){.forge-composer textarea,.toolbar input[type=search]{font-size:16px}}.g-field{font-size:var(--fs-xs);color:var(--text-muted);gap:4px;min-width:0;display:grid}.g-field em{color:var(--text-faint);font-style:normal}.g-field input,.g-field select,.g-json,.inv-addspec input,.inv-addspec select,.inv-compose input,.inv-specs input{font:16px/1.3 var(--font);color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);width:100%;min-width:0;padding:9px 10px}.g-json{font-family:var(--mono);resize:vertical;font-size:13px;line-height:1.5}.g-field input:focus,.g-field select:focus,.g-json:focus{outline:2px solid var(--accent);outline-offset:1px}.g-tabs{margin-block:var(--s3);flex-wrap:wrap;gap:8px;display:flex}.g-small{font-size:var(--fs-xs)}.g-busy{color:var(--accent);font-size:var(--fs-sm);margin-top:var(--s3)}.g-error{color:var(--fail);font-size:var(--fs-sm);margin-top:var(--s3)}.g-note{margin-top:var(--s2);font-size:var(--fs-xs)}.g-tablewrap{border:1px solid var(--border);border-radius:var(--r);overflow-x:auto}.g-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm);min-width:480px}.g-table th,.g-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:10px 12px}.g-table th{letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);font-size:12px;font-weight:600}.g-table tr:last-child td{border-bottom:0}.g-table .verdict{margin-bottom:6px}.garage{gap:var(--s5);grid-template-columns:220px minmax(0,1fr);align-items:start;display:grid}.garage-list{gap:var(--s3);top:var(--s4);display:grid;position:sticky}.garage-list h2{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint)}.garage-list ul{gap:4px;list-style:none;display:grid}.g-robot{text-align:left;border-radius:var(--r-sm);width:100%;color:var(--text);cursor:pointer;font:inherit;font-size:var(--fs-sm);background:0 0;border:1px solid #0000;gap:2px;padding:10px 12px;display:grid}.g-robot:hover{background:var(--surface)}.g-robot[aria-current=true]{background:var(--surface-2);border-color:var(--border-strong);box-shadow:inset 3px 0 0 var(--accent)}.g-robot .faint{font-size:var(--fs-xs)}.garage-main{gap:var(--s6);min-width:0;display:grid}.garage-main h3{font-size:var(--fs-lg)}.garage-main h4{font-size:var(--fs-sm);margin-bottom:var(--s2);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.garage-main .sub{color:var(--text-muted);font-size:var(--fs-sm);margin-top:4px}.garage-add{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s5);gap:var(--s3);max-width:640px;display:grid}.garage-add h2{font-size:var(--fs-lg)}.g-pane{gap:var(--s3);justify-items:start;display:grid}.g-pane .g-field{width:100%}.g-head{justify-content:space-between;align-items:flex-end;gap:var(--s4);flex-wrap:wrap;display:flex}.g-head h2{font-size:var(--fs-xl)}.g-head-actions{flex-wrap:wrap;gap:8px;display:flex}.g-versions ol{gap:var(--s3);margin-top:var(--s3);padding-bottom:4px;list-style:none;display:flex;overflow-x:auto}.g-versions li{align-content:start;gap:4px;min-width:200px;max-width:260px;display:grid}.g-version{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);color:var(--text);cursor:pointer;font:inherit;font-size:var(--fs-sm);align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.g-version>span:last-child{display:grid}.g-version[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.g-vnum{font:700 12px/1 var(--mono);color:var(--accent);padding-top:3px}.g-versions .est{margin-top:var(--s3)}.g-groups{gap:var(--s4);margin-top:var(--s4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:start;display:grid}.g-group{border:1px solid var(--border);border-radius:var(--r);padding:var(--s3) var(--s4) var(--s4);gap:var(--s3);align-content:start;min-width:0;display:grid}.g-group legend{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);padding:0 6px}.g-raw{margin-top:var(--s4);gap:var(--s2);display:grid}.g-raw summary{cursor:pointer;color:var(--text-muted);font-size:var(--fs-sm)}.g-raw[open]{gap:var(--s3)}.g-parts{margin-top:var(--s4)}.g-parts ul{gap:8px;list-style:none;display:grid}.g-parts li{align-items:center;gap:var(--s3);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:8px 10px;display:flex}.g-parts li>span{flex:1;min-width:0}.g-parts img{object-fit:cover;border-radius:6px;width:40px;height:40px}.g-save{gap:var(--s3);margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid var(--border);flex-wrap:wrap;align-items:end;display:flex}.g-compare{gap:var(--s4);display:grid}.g-checks{gap:var(--s4);grid-template-columns:1fr 1fr;display:grid}.g-findings{font-size:var(--fs-sm);gap:8px;list-style:none;display:grid}.g-findings li{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.g-findings .verdict{padding:4px 8px;font-size:10px}.g-fix,.g-rover{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s4) var(--s5);gap:var(--s3);justify-items:start;display:grid}.g-fix>*,.g-rover>*{max-width:100%}.g-rover{justify-items:stretch}.g-fix-head{justify-content:space-between;align-items:center;gap:var(--s3);flex-wrap:wrap;width:100%;display:flex}.g-check{font-size:var(--fs-xs);color:var(--text-muted);align-items:center;gap:6px;display:flex}.g-loop{gap:var(--s3);width:100%;display:grid}.g-round{border-left:3px solid var(--accent);padding:4px 0 4px var(--s3);font-size:var(--fs-sm);gap:4px;display:grid}.g-round-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.g-changes{gap:4px;list-style:none;display:grid}.g-loop-end{font-weight:600;font-size:var(--fs-sm)}.g-loop-end.pass{color:var(--pass)}.g-loop-end.fail{color:var(--fail)}.g-rover-opts{gap:var(--s3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.inv{gap:var(--s4);display:grid}.inv-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.inv-spacer{flex:1}.inv-summary{gap:var(--s4);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.inv-layout{gap:var(--s5);grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start;display:grid}.inv-grid{gap:var(--s3);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.inv-card{gap:var(--s3);text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);color:var(--text);cursor:pointer;font:inherit;align-items:flex-start;padding:10px;display:flex}.inv-card[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.inv-card img,.inv-noimg{object-fit:cover;border-radius:8px;flex:none;width:64px;height:64px}.inv-noimg{background:var(--surface-3);color:var(--text-faint);font-weight:700;font-size:var(--fs-lg);place-items:center;display:grid}.inv-card-body{min-width:0;font-size:var(--fs-sm);gap:4px;display:grid}.inv-card-body strong{overflow-wrap:anywhere}.inv-card .verdict{justify-self:start;padding:4px 8px;font-size:10px}.inv-empty{border:1px dashed var(--border-strong);border-radius:var(--r-lg);padding:var(--s5);gap:var(--s2);grid-column:1/-1;display:grid}.inv-detail{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s4) var(--s5);gap:var(--s4);top:var(--s4);min-width:0;display:grid;position:sticky}.inv-detail h4{font-size:var(--fs-sm);margin-bottom:var(--s2);align-items:center;gap:8px;display:flex}.inv-detail-head{gap:var(--s4);grid-template-columns:120px minmax(0,1fr);align-items:start;display:grid}.inv-detail-head img{object-fit:cover;border-radius:var(--r);width:120px;height:120px}.inv-detail-head:not(:has(img)){grid-template-columns:minmax(0,1fr)}.inv-detail-fields{gap:var(--s3);display:grid}.inv-row{gap:var(--s3);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));display:grid}.g-save .g-field{flex:200px}.inv-specs ul{gap:6px;list-style:none;display:grid}.inv-specs li{font-size:var(--fs-sm);grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.inv-specs li input{padding:6px 8px}.inv-src{letter-spacing:.04em;text-transform:uppercase;color:var(--marginal);font-size:11px}.inv-src.read{color:var(--pass)}.inv-addspec{margin-top:var(--s2);grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px;display:grid}.inv-addspec input,.inv-addspec select{padding:6px 8px}.inv-log{max-height:260px;padding:var(--s2);background:var(--bg);border:1px solid var(--border);border-radius:var(--r);align-content:start;gap:8px;min-height:80px;display:grid;overflow-y:auto}.inv-msg{font-size:var(--fs-sm);border-radius:10px;max-width:90%;padding:8px 10px}.inv-msg.user{background:var(--surface-3);justify-self:end}.inv-msg.assistant{background:var(--surface-2);justify-self:start}.inv-msg .fbadge{margin-right:6px}.inv-compose{margin-top:var(--s2);gap:8px;display:flex}.inv-compose input{flex:1}.inv-actions{flex-wrap:wrap;gap:8px;display:flex}@media (max-width:1080px){.inv-layout{grid-template-columns:minmax(0,1fr)}.inv-detail{position:static}}@media (max-width:900px){.garage{grid-template-columns:minmax(0,1fr)}.garage-list{position:static}.g-checks{grid-template-columns:1fr}.g-rover-opts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.inv-detail-head{grid-template-columns:72px minmax(0,1fr)}.inv-detail-head img{width:72px;height:72px}.garage-add,.inv-detail,.g-fix,.g-rover{padding:var(--s4)}}.mode-banner{gap:var(--s3);margin:var(--s4) 0;border:1px solid var(--border);border-left:4px solid var(--norun);background:var(--surface-2);font-size:var(--fs-sm);color:var(--text-muted);border-radius:8px;align-items:flex-start;padding:10px 14px;display:flex}.mode-banner strong{color:var(--text)}.mode-pill{font:700 11px/1 var(--mono);letter-spacing:.08em;background:var(--surface-3);color:var(--text);border-radius:5px;flex:none;padding:5px 8px}.mode-banner.m-live{border-left-color:var(--pass);background:var(--pass-soft)}.mode-banner.m-live .mode-pill{background:var(--pass);color:#06251a}.mode-banner.m-recorded{border-left-color:var(--accent);background:var(--accent-soft)}.mode-banner.m-recorded .mode-pill{background:var(--accent);color:var(--accent-ink)}.mode-banner.m-mock{border-left-color:var(--marginal);background:var(--marginal-soft)}.mode-banner.m-mock .mode-pill{background:var(--marginal);color:#241d02}.live-progress{margin:var(--s2) 0}.lp-steps{margin:0 0 var(--s2);font-size:var(--fs-sm);gap:4px;padding:0;list-style:none;display:grid}.lp-steps li{color:var(--text-faint);padding-left:22px;position:relative}.lp-steps li:before{content:"";border:2px solid var(--border-strong);border-radius:50%;width:9px;height:9px;position:absolute;top:.45em;left:4px}.lp-steps li.done{color:var(--text-muted)}.lp-steps li.done:before{background:var(--pass);border-color:var(--pass)}.lp-steps li.now{color:var(--text)}.lp-steps li.now:before{border-color:var(--accent);animation:1.2s ease-in-out infinite lp-pulse}.lp-time{font:12px/1 var(--mono);color:var(--accent);margin-left:6px}.lp-bar{background:var(--surface-3);border-radius:2px;height:4px;overflow:hidden}.lp-bar span{background:var(--accent);width:30%;height:100%;animation:lp-slide 1.6s var(--ease) infinite;display:block}.lp-note{font-size:var(--fs-xs);margin:6px 0 0}@keyframes lp-pulse{50%{background:var(--accent)}}@keyframes lp-slide{0%{transform:translate(-100%)}to{transform:translate(340%)}}@media (prefers-reduced-motion:reduce){.lp-bar span,.lp-steps li.now:before{animation:none}.lp-bar span{opacity:.5;width:100%}}.demo-start{gap:var(--s3);margin:var(--s4) 0;flex-wrap:wrap;align-items:center;display:flex}.demo-steps{margin:var(--s5) 0;gap:var(--s4);grid-template-columns:minmax(0,1fr);padding:0;list-style:none;display:grid}.demo-steps .kv td{word-break:break-word}.demo-steps>li{border:1px solid var(--border);border-radius:var(--r);min-width:0;padding:var(--s4) var(--s5);background:var(--surface);opacity:.6;transition:opacity .3s var(--ease)}.demo-steps>li.on{opacity:1;border-color:var(--border-strong)}.demo-steps h2{font-size:var(--fs-lg);margin:0 0 var(--s2);align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.demo-steps h2 .n{background:var(--surface-3);width:26px;height:26px;font:700 13px/1 var(--mono);border-radius:50%;place-items:center;display:inline-grid}.demo-steps>li.on h2 .n{background:var(--accent);color:var(--accent-ink)}.demo-kv{margin-top:var(--s2)}.demo-ev{font-size:var(--fs-sm);gap:6px;padding:0;list-style:none;display:grid}.demo-end{gap:var(--s3);margin:var(--s5) 0;flex-wrap:wrap;align-items:center;display:flex}.ai-grid{gap:var(--s5);grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;display:grid}.ai-table td{vertical-align:top}.ai-not{border:1px solid var(--border);border-radius:var(--r);padding:var(--s4);background:var(--surface)}.ai-not h3{margin:0 0 var(--s2);font-size:var(--fs-md)}.ai-not ul{font-size:var(--fs-sm);gap:6px;margin:0;padding-left:18px;display:grid}.demo-ai{margin:var(--s7) 0 var(--s5)}.demo-ai h2{font-size:var(--fs-lg);margin-bottom:var(--s3)}@media (max-width:860px){.ai-grid{grid-template-columns:minmax(0,1fr)}}.term{cursor:help;border-bottom:1px dotted;outline:none;position:relative}.term-tip{z-index:30;background:var(--surface-3);border:1px solid var(--border-strong);width:max-content;max-width:300px;color:var(--text);font:400 13px/1.45 var(--font);letter-spacing:0;text-transform:none;pointer-events:none;border-radius:8px;padding:8px 10px;display:none;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 24px #0006}.term:hover .term-tip,.term:focus .term-tip,.term:focus-within .term-tip{display:block}@media (max-width:700px){.term-tip{width:auto;max-width:none;position:fixed;inset:auto 16px 16px}}.glossary{gap:var(--s3);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin:0;display:grid}.glossary>div{border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--s3) var(--s4);background:var(--surface)}.glossary dt{color:var(--text);margin-bottom:4px;font-weight:600}.glossary dd{color:var(--text-muted);font-size:var(--fs-sm);margin:0}.skip-link{z-index:100;background:var(--accent);color:var(--accent-ink);border-radius:8px;padding:10px 14px;font-weight:700;position:absolute;top:-60px;left:12px}.skip-link:focus{text-decoration:none;top:12px}.side-nav a:focus-visible,.side-foot a:focus-visible,.nav-more summary:focus-visible,.site-nav a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.side-foot a[aria-current=page]{color:var(--text)}.nav-more{display:none}@media (max-width:900px){.side-nav .nav-more-item{display:none}.nav-more{display:block;position:relative}.nav-more summary{color:var(--text-muted);cursor:pointer;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:100%;padding:8px 4px;font-size:11px;font-weight:600;list-style:none;display:flex}.nav-more summary::-webkit-details-marker{display:none}.nav-more summary svg{width:18px;height:18px}.nav-more[open] summary{color:var(--accent)}.nav-more:has(.nav-more-menu a[aria-current=page]) summary{color:var(--accent)}.nav-more-menu{border:1px solid var(--border-strong);background:var(--surface-2);border-radius:12px;min-width:200px;padding:6px;display:grid;position:absolute;bottom:calc(100% + 10px);right:0;box-shadow:0 12px 32px #00000080}.nav-more-menu a{font-size:var(--fs-sm);color:var(--text);border-radius:8px;flex-direction:row;justify-content:flex-start;padding:12px 14px}.nav-more-menu a[aria-current=page]{color:var(--accent)}}.ai-cards{gap:var(--s3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.ai-card{padding:var(--s4)}.ai-card-head{justify-content:space-between;align-items:center;gap:var(--s2);margin-bottom:var(--s2);display:flex}.ai-card h3{font-size:var(--fs-md);margin:0}.ai-card p{color:var(--text-muted);font-size:var(--fs-sm);margin:0}.ai-card-not{background:0 0;border-style:dashed}.ai-card-not h3{margin-bottom:var(--s2)}@media (max-width:960px){.ai-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.ai-cards{grid-template-columns:minmax(0,1fr)}}.shell:has(.nav-more[open]) .forge-chat{display:none}details.fold>summary{cursor:pointer;align-items:center;gap:10px;list-style:none;display:flex}details.fold>summary::-webkit-details-marker{display:none}details.fold>summary:before{content:"";border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);width:8px;height:8px;transition:transform .15s var(--ease);flex:none;transform:rotate(-45deg)}details.fold[open]>summary:before{transform:rotate(45deg)}details.fold>summary h2,details.fold>summary h3{margin:0}details.fold>summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}.content .section-more{margin-top:var(--s4);font-weight:600}details.report-more{margin-top:var(--s3)}details.report-more>summary{cursor:pointer;color:var(--accent);font-weight:600;font-size:var(--fs-sm);padding:6px 0}details.report-more[open]>summary{color:var(--text-muted)}details.report-more>summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.assembly-workbench{gap:12px;min-width:0;max-width:100%;scroll-margin-top:72px;display:grid}.assembly-workbench>*{min-width:0;max-width:100%}.assembly-workbench p,.assembly-workbench li,.assembly-workbench code{overflow-wrap:anywhere}.assembly-workbench .chip{white-space:normal;min-height:44px;line-height:1.35}.assembly-workbench .g-tabs{margin-block:4px}.assembly-tools{border:1px solid var(--border);border-radius:var(--r);min-width:0;padding:10px 12px}.assembly-tools>summary{cursor:pointer;min-height:28px;font-weight:600;display:list-item}.assembly-controls{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end;padding-top:12px;display:grid}.assembly-controls .g-field{align-self:stretch}.assembly-controls input[type=range],.assembly-workbench input[type=range]{touch-action:pan-y;width:100%;min-height:44px;accent-color:var(--accent)}.assembly-viewport{border:1px solid var(--border);border-radius:var(--r-lg);isolation:isolate;background:#081321;max-width:100%;position:relative;overflow:hidden}.assembly-viewport canvas{touch-action:none;outline:none;max-width:100%;display:block}.assembly-parts,.assembly-wires{gap:10px;padding:0;list-style:none;display:grid}.assembly-parts li,.assembly-wires li{border:1px solid var(--border);border-radius:var(--r);flex-wrap:wrap;align-items:center;gap:8px;min-width:0;padding:10px;display:flex}.assembly-parts .chip{text-align:left;overflow-wrap:anywhere;max-width:100%}.assembly-preview{border-color:var(--accent);padding:14px;box-shadow:0 4px 20px #0003}.assembly-preview .btn{min-height:44px;margin-top:8px}@media (max-width:600px){.assembly-workbench{gap:10px}.assembly-workbench h3{font-size:20px}.assembly-workbench .g-tabs[aria-label=Workbench\ views]{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.assembly-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.assembly-controls>.g-field{grid-column:1/-1}.assembly-workbench button,.assembly-workbench select,.assembly-workbench input:not([type=range]){min-height:44px}.assembly-workbench input,.assembly-workbench select{font-size:16px}.assembly-workbench .g-group{gap:10px;padding:12px}.assembly-workbench .g-group legend{white-space:normal;max-width:100%}.assembly-workbench .card{padding:12px}.assembly-parts li,.assembly-wires li{flex-direction:column;align-items:stretch}.assembly-parts li .chip,.assembly-wires li .chip{width:100%}.assembly-preview{bottom:calc(80px + env(safe-area-inset-bottom,0px));z-index:12;background:var(--surface-2);position:sticky}.assembly-preview .btn{width:100%}.garage{gap:16px}.g-groups{grid-template-columns:minmax(0,1fr)}.garage-list .g-robot{min-height:48px}}@media (max-width:380px){.assembly-controls{grid-template-columns:minmax(0,1fr)}}@media (max-height:500px) and (max-width:900px){.assembly-preview{position:static}.assembly-viewport{min-height:200px!important}}.shell:has(.forge-chat.docked) .main{padding-left:0}@media (max-width:600px){.inv-toolbar>.btn{flex:140px;min-height:44px}.inv-compose{flex-wrap:wrap}.inv-compose input{flex-basis:100%}.inv-addspec,.inv-specs li{grid-template-columns:minmax(0,1fr)}}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}section{scroll-margin-top:80px}.site-header{z-index:40;-webkit-backdrop-filter:saturate(1.4)blur(10px);backdrop-filter:saturate(1.4)blur(10px);transition:border-color .2s var(--ease);background:#0b1420d9;border-bottom:1px solid #0000;position:sticky;top:0}.site-header.scrolled{border-bottom-color:var(--border)}.site-header .wrap{align-items:center;gap:var(--s5);height:68px;display:flex}.brand{color:var(--text);letter-spacing:-.01em;font-weight:700;font-size:var(--fs-md);align-items:center;gap:10px;display:inline-flex}.brand:hover{text-decoration:none}.brand-mark{background:var(--accent);border-radius:7px;place-items:center;width:26px;height:26px;display:grid}.brand-mark svg{width:16px;height:16px}.brand-mark--logo{background:#020e1c;display:block;position:relative;overflow:hidden}.brand-mark--logo img{width:152.9%;max-width:none;height:auto;position:absolute;top:-11.2%;left:-26.5%}.hero-logo{width:min(540px,88%);height:auto;margin:0 auto var(--s6);border-radius:var(--r-lg);display:block;box-shadow:0 0 90px #42d6c424}.footer-brand-wrap{margin-bottom:var(--s5)}.site-nav{gap:4px;margin-left:auto;display:flex}.site-nav a{color:var(--text-muted);font-size:var(--fs-sm);border-radius:8px;padding:8px 12px;font-weight:500}.site-nav a:hover{color:var(--text);background:var(--surface);text-decoration:none}.site-header .btn-primary,.site-header .btn-app{padding:10px 16px}@media (max-width:900px){.site-header .btn-app{display:none}}.hero{padding:var(--s9) 0 var(--s8);text-align:center}.hero .eyebrow{color:var(--accent)}.hero h1{font-size:clamp(40px,7vw,var(--fs-3xl));letter-spacing:-.035em;margin:var(--s4) auto 0;max-width:15ch;line-height:1.04}.hero .lede{font-size:var(--fs-lg);color:var(--text);max-width:56ch;margin:var(--s5) auto 0;line-height:1.55}.hero .ctas{gap:var(--s3);margin-top:var(--s6);flex-wrap:wrap;justify-content:center;display:flex}.hero .ctas .btn{font-size:var(--fs-md);padding:14px 22px}.hero .powered{margin-top:var(--s5);color:var(--text-faint);font-size:var(--fs-xs)}.hero-art{margin:var(--s8) auto 0;max-width:1000px;position:relative}.hero-art img{border-radius:var(--r-lg);border:1px solid var(--border);width:100%}.hero-art figcaption{color:var(--text-faint);font-size:var(--fs-xs);margin-top:10px}.band{padding:var(--s9) 0;border-top:1px solid var(--border)}.section-head{max-width:640px;margin-bottom:var(--s7)}.section-head h2{font-size:clamp(28px,4vw,var(--fs-2xl));letter-spacing:-.03em;margin-top:var(--s3)}.section-head p{color:var(--text-muted);margin-top:var(--s4);font-size:var(--fs-md)}.flow{gap:var(--s3);counter-reset:step;grid-template-columns:repeat(5,1fr);list-style:none;display:grid}.flow li{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:var(--s5) var(--s4);position:relative}.flow .n{font:600 12px/1 var(--mono);color:var(--accent)}.flow h3{font-size:var(--fs-md);margin-top:var(--s3)}.flow p{color:var(--text-muted);font-size:var(--fs-sm);margin-top:6px;line-height:1.5}.proof{gap:var(--s4);grid-template-columns:1fr 1fr;display:grid}.proof .card{padding:var(--s6)}.proof h3{font-size:var(--fs-lg);margin-top:var(--s4)}.proof p{color:var(--text-muted);font-size:var(--fs-sm);margin-top:var(--s2)}.proof .metrics{gap:var(--s3);margin-top:var(--s5);grid-template-columns:1fr 1fr;display:grid}.proof-foot{justify-content:space-between;align-items:center;gap:var(--s4);margin-top:var(--s5);flex-wrap:wrap;display:flex}.robot-row{gap:var(--s4);grid-template-columns:repeat(4,1fr);display:grid}.pipeline{margin-bottom:var(--s7);flex-wrap:wrap;align-items:center;gap:0;display:flex}.pipeline .node{background:var(--surface);border:1px solid var(--border);font:600 var(--fs-sm)/1.2 var(--font);border-radius:10px;padding:12px 16px}.pipeline .node small{color:var(--text-faint);font:500 12px/1.4 var(--mono);margin-top:3px;display:block}.pipeline .node.ai{background:var(--accent-soft);border-color:#42d6c480}.pipeline .node.gate{background:var(--pass-soft);border-color:#34d39980}.pipeline .arrow{color:var(--text-faint);font-family:var(--mono);padding:0 10px}.split{gap:var(--s4);grid-template-columns:1fr 1fr;display:grid}.split h3{font-size:var(--fs-md);align-items:center;gap:8px;display:flex}.split ul{margin-top:var(--s4);gap:10px;list-style:none;display:grid}.split li{color:var(--text-muted);font-size:var(--fs-sm);padding-left:22px;position:relative}.split li:before{font-weight:700;position:absolute;top:0;left:0}.yes li:before{content:"✓";color:var(--pass)}.no li:before{content:"–";color:var(--text-faint)}.grid-3{gap:var(--s4);margin-top:var(--s4);grid-template-columns:repeat(3,1fr);display:grid}.grid-3 h3{font-size:var(--fs-md)}.grid-3 p{color:var(--text-muted);font-size:var(--fs-sm);margin-top:var(--s2)}.thresholds,.quickstart{margin-top:var(--s4)}.cta-band{text-align:center;padding:var(--s9) 0}.cta-band h2{font-size:clamp(28px,4vw,var(--fs-2xl));letter-spacing:-.03em}.cta-band p{color:var(--text-muted);margin:var(--s4) auto var(--s6);max-width:52ch}footer.site-footer{border-top:1px solid var(--border);padding:var(--s7) 0;color:var(--text-faint);font-size:var(--fs-xs)}footer.site-footer .wrap{justify-content:space-between;gap:var(--s5);flex-wrap:wrap;display:flex}footer.site-footer p{max-width:60ch}@media (max-width:960px){.flow,.robot-row{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:1fr}}@media (max-width:720px){.wrap{padding:0 16px}.site-header .wrap{flex-wrap:wrap;row-gap:4px;height:auto;padding-top:10px;padding-bottom:10px}.site-nav{scrollbar-width:none;flex-basis:100%;order:3;margin-left:0;padding-bottom:2px;overflow-x:auto}.site-nav::-webkit-scrollbar{display:none}.site-nav a{white-space:nowrap;padding:6px 10px}.site-header .btn-primary{margin-left:auto}.hero{padding:var(--s8) 0 var(--s7)}.band{padding:var(--s8) 0}.proof,.split,.flow{grid-template-columns:1fr}.pipeline{flex-direction:column;align-items:stretch}.pipeline .arrow{text-align:center;padding:4px 0;transform:rotate(90deg)}}@media (max-width:480px){.robot-row{grid-template-columns:1fr}}@media (max-width:860px){.site-header .wrap{flex-wrap:wrap;row-gap:4px;height:auto;padding-top:10px;padding-bottom:10px}.site-nav{scrollbar-width:none;flex-basis:100%;order:3;margin-left:0;padding-bottom:2px;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 88%,#0000);mask-image:linear-gradient(90deg,#000 88%,#0000)}.site-nav::-webkit-scrollbar{display:none}.site-nav a{white-space:nowrap;padding:9px 10px}.site-header .btn-primary{min-height:44px;margin-left:auto}section{scroll-margin-top:124px}}@media (max-width:560px){.proof .metrics{grid-template-columns:1fr}}.site-nav a[aria-current=page]{color:var(--text);background:var(--surface)}.site-header .wrap>.site-nav:first-of-type{margin-left:auto}.site-nav-aside{padding-left:var(--s2);border-left:1px solid var(--border);margin-left:0}.site-nav-aside a{color:var(--text-faint)}.site-menu{display:none;position:relative}.site-menu summary{border:1px solid var(--border);width:44px;height:44px;color:var(--text);cursor:pointer;border-radius:10px;place-items:center;list-style:none;display:grid}.site-menu summary::-webkit-details-marker{display:none}.site-menu summary svg{width:20px;height:20px}.site-menu summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.site-menu-panel{border:1px solid var(--border-strong);background:var(--surface-2);z-index:60;border-radius:12px;min-width:220px;padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 32px #00000080}.site-menu-panel a{color:var(--text);border-radius:8px;padding:12px 14px;font-weight:500}.site-menu-panel a:hover{background:var(--surface-3);text-decoration:none}.site-menu-panel a[aria-current=page]{color:var(--accent)}.flow-4{grid-template-columns:repeat(4,1fr)}.section-more{margin-top:var(--s5);font-weight:600}.hero-shot img{box-shadow:0 24px 60px #00000073}@media (max-width:1100px){.site-nav-aside{display:none}}@media (max-width:960px){.flow-4{grid-template-columns:1fr 1fr}}@media (max-width:860px){.site-header:has(.site-menu) .wrap{flex-wrap:nowrap;height:64px;padding-top:0;padding-bottom:0}.site-header:has(.site-menu) .site-nav{display:none}.site-menu{display:block}.site-header:has(.site-menu) .btn-primary{min-height:44px;margin-left:auto}}@media (max-width:560px){.flow-4{grid-template-columns:1fr}.site-header:has(.site-menu) .btn-primary{font-size:var(--fs-xs);padding:10px 12px}}
.forge-chat{z-index:200;font-family:var(--font);position:fixed;bottom:18px;right:18px}.fc-launcher{font:700 var(--fs-sm)/1 var(--font);background:var(--accent);color:var(--accent-ink);border:1px solid var(--accent);cursor:pointer;transition:background .15s var(--ease),transform .15s var(--ease);border-radius:999px;align-items:center;gap:9px;padding:13px 18px;display:inline-flex;box-shadow:0 10px 28px #00000080}.fc-launcher:hover{background:#63e6d6}.fc-launcher:active{transform:translateY(1px)}.fc-launcher svg{flex:none;width:19px;height:19px}.fc-panel{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-lg);flex-direction:column;width:min(400px,100vw - 36px);height:min(600px,100dvh - 112px);display:flex;position:absolute;bottom:calc(100% + 12px);right:0;overflow:hidden;box-shadow:0 24px 64px #0009}.fc-head{border-bottom:1px solid var(--border);background:var(--surface-2);justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.fc-head strong{font-size:var(--fs-md);line-height:1.25;display:block}.fc-sub{color:var(--text-muted);font-size:var(--fs-xs);margin-top:3px;line-height:1.45;display:block}.fc-close{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;font:600 16px/1 var(--font);background:0 0;border-radius:8px;flex:none;padding:7px 10px}.fc-close:hover{color:var(--text);border-color:var(--border-strong)}.fc-msgs{flex:1;align-content:start;gap:10px;padding:14px;display:grid;overflow-y:auto}.fc-msg{max-width:92%;font-size:var(--fs-sm);overflow-wrap:break-word;border-radius:12px;padding:10px 13px;line-height:1.55}.fc-msg.bot{background:var(--surface-2);border:1px solid var(--border);border-bottom-left-radius:4px;justify-self:start}.fc-msg.user{background:var(--accent);color:var(--accent-ink);border-bottom-right-radius:4px;justify-self:end;font-weight:600}.fc-msg p+p{margin-top:8px}.fc-msg ul{margin:8px 0 2px;padding-left:19px}.fc-msg li+li{margin-top:3px}.fc-msg a{color:var(--accent)}.fc-dim{color:var(--text-faint);font-size:var(--fs-xs)}.fc-hits{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.fc-hit{background:var(--surface-2);color:var(--text);border:1px solid var(--border);font:600 var(--fs-xs)/1.2 var(--font);cursor:pointer;text-align:left;border-radius:999px;padding:6px 10px}.fc-hit:hover{border-color:var(--accent);color:var(--accent)}.fc-hit[data-kind=robot]{border-style:dashed}.fc-chips{border-top:1px solid var(--border);flex-wrap:wrap;gap:6px;padding:10px 12px 2px;display:flex}.fc-form{gap:8px;padding:10px 12px 12px;display:flex}.fc-form input{background:var(--surface-2);min-width:0;color:var(--text);border:1px solid var(--border);font:400 var(--fs-sm)/1.3 var(--font);border-radius:10px;flex:1;padding:10px 12px}.fc-form input::placeholder{color:var(--text-faint)}.fc-form input:focus{outline:2px solid var(--accent);outline-offset:1px}@media (max-width:560px){.forge-chat{bottom:12px;right:12px}.fc-panel{width:calc(100vw - 24px);height:min(600px,100dvh - 104px)}.fc-form input{font-size:16px}}@media (min-width:1280px){.forge-chat.docked{z-index:60;width:320px;position:fixed;top:0;bottom:0;left:232px}.forge-chat.docked .fc-launcher{display:none}.forge-chat.docked .fc-panel{border:0;border-right:1px solid var(--border-strong);width:auto;height:auto;box-shadow:none;background:var(--surface);border-radius:0;position:absolute;inset:0}.forge-chat.docked .fc-close{display:none}.forge-chat.docked .fc-msgs{padding:16px 14px}}.fc-live-badge{background:var(--accent);color:var(--accent-ink);font:700 11px/1.5 var(--mono);letter-spacing:.03em;border-radius:999px;padding:4px 9px;display:inline-block}.fc-live-note{color:var(--text-muted);font-size:var(--fs-xs);border-left:3px solid var(--accent);padding-left:10px}@media (max-width:720px){.fc-close{min-width:40px;min-height:40px}.fc-hit{min-height:36px;padding:8px 12px}.fc-launcher{min-height:44px}}@media (pointer:coarse){.fc-form input{font-size:16px}}.forge-chat{display:none!important}.main-chat-actions{gap:12px;min-width:0;display:grid}.main-chat-actions:empty{display:none}.main-chat-actions .fc-msg{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);max-width:100%;margin:0;padding:16px}.main-chat-actions .btn{min-height:44px}.main-assistant-reply{overflow-wrap:anywhere;min-width:0}.main-assistant-reply p+p{margin-top:10px}.main-chat-composer{margin-top:16px}@media (max-width:600px){.main-chat-actions .btn{width:100%;margin-top:8px}.main-chat-suggestions .chip{min-height:44px}}
.rv{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(16px)}.rv.in{opacity:1;transform:none}.rv-d1{transition-delay:60ms}.rv-d2{transition-delay:.12s}.rv-d3{transition-delay:.18s}@keyframes rf-stamp{0%{opacity:0;transform:rotate(-10deg)scale(1.8)}60%{opacity:1;transform:rotate(1.5deg)scale(.94)}to{opacity:1;transform:rotate(-1.5deg)scale(1)}}.verdict{animation:.55s cubic-bezier(.2,1.6,.4,1) .15s both rf-stamp;display:inline-block}@keyframes rf-pulse-pass{0%,to{box-shadow:0 0 #34d39900}50%{box-shadow:0 0 0 5px #34d39929}}.verdict.pass{animation:.55s cubic-bezier(.2,1.6,.4,1) .15s both rf-stamp,2.8s ease-in-out .8s infinite rf-pulse-pass}.robot-card{transition:transform .25s,box-shadow .25s}.robot-card:hover{transform:translateY(-5px);box-shadow:0 16px 34px #00000059}.robot-card .ph{overflow:hidden}.robot-card .ph img{transition:transform .5s}.robot-card:hover .ph img{transform:scale(1.06)}@keyframes rf-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.ph.ai:empty{background:linear-gradient(100deg,var(--surface-2) 40%,#42d6c41a 50%,var(--surface-2) 60%);background-size:800px 100%;animation:2.4s linear infinite rf-shimmer}@keyframes rf-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.hero-art img{animation:6s ease-in-out infinite rf-float}.rf-float{transform-origin:50%;animation:6s ease-in-out infinite rf-float}canvas.traj{animation:1s .2s both rf-fadein}@keyframes rf-fadein{0%{opacity:0}to{opacity:1}}.dex-strip{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:18px 0 6px;display:grid}.dex-strip figure{border:1px solid var(--line,#2c313a);text-align:center;background:radial-gradient(300px 130px at 50% 0,#232833,#14161a);border-radius:12px;margin:0;padding:10px 8px 6px}.dex-strip svg,.dex-strip img{width:100%;height:auto;display:block}.dex-strip figcaption{color:var(--dim,#9aa3ad);margin-top:4px;font-size:12px}.btn,.button{transition:transform .15s,box-shadow .15s}.btn:hover,.button:hover{transform:translateY(-1px)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.rv{opacity:1;transform:none}}
