@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-vietnamese-400-normal-TxZB8OSn.woff2)format("woff2"),url(/assets/public-sans-vietnamese-400-normal-BO1meqcx.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-latin-ext-400-normal-mk90oQqJ.woff2)format("woff2"),url(/assets/public-sans-latin-ext-400-normal-B02wwOdZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-latin-400-normal-8Rpg0ruU.woff2)format("woff2"),url(/assets/public-sans-latin-400-normal-SBbinRkI.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-vietnamese-600-normal-P4BtCUdw.woff2)format("woff2"),url(/assets/public-sans-vietnamese-600-normal-CcnAzmUX.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-latin-ext-600-normal-DchWdWJ_.woff2)format("woff2"),url(/assets/public-sans-latin-ext-600-normal-DfkbVac2.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-latin-600-normal-Fru-LXNs.woff2)format("woff2"),url(/assets/public-sans-latin-600-normal-BR59oU-I.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans Fallback;src:local(Arial),local(ArialMT);ascent-override:90.5905%;descent-override:21.4557%;line-gap-override:0%;size-adjust:104.867%}@font-face{font-family:IBM Plex Mono Fallback;src:local(Courier New),local(CourierNewPSMT);ascent-override:102.517%;descent-override:27.5045%;line-gap-override:0%;size-adjust:99.9837%}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--color-substrate:oklch(98.68% .0028 128.49);--color-ink:oklch(23.73% .0148 181.37);--color-ink-muted:oklch(43.85% .0153 171.7);--color-soldermask:oklch(47.44% .0847 167.15);--color-soldermask-deep:oklch(40.97% .075 166.27);--color-plated:oklch(69.15% .1083 86.67);--color-plated-ink:oklch(54.26% .0983 84.43);--color-fault:oklch(52.98% .1531 31.43);--color-fault-on-tint:oklch(48.98% .1393 32.22);--color-drift:oklch(64% .1272 65.32);--color-drift-ink:oklch(51.53% .1046 66.95);--tint-soldermask:oklch(95.62% .0075 151.89);--tint-fault:oklch(94.4% .0162 36.53);--tint-drift:oklch(95.49% .0233 82.12);--tint-plated:oklch(96.7% .0164 91.55);--line:oklch(89.46% .0093 150.68);--line-input:oklch(55.19% .0146 171.97);--color-on-accent:oklch(100% 0 0);--edge-power:oklch(54.33% .174 29.7);--edge-ground:oklch(0% 0 0);--edge-signal:oklch(50.46% .1302 252.36);--board-grid-ink:var(--color-ink);--board-grid-opacity:.04;--board-tick:var(--color-ink-muted);--font-mono:"IBM Plex Mono", "IBM Plex Mono Fallback", ui-monospace, "SFMono-Regular", Menlo, monospace;--font-body:"Public Sans", "Public Sans Fallback", system-ui, -apple-system, "Segoe UI", sans-serif;--type-display-xl:500 40px/48px var(--font-mono);--type-display:500 28px/36px var(--font-mono);--type-title:500 24px/32px var(--font-mono);--type-heading:500 20px/28px var(--font-mono);--type-data:400 14px/22px var(--font-mono);--type-data-sm:400 12px/18px var(--font-mono);--type-body:400 16px/24px var(--font-body);--type-body-strong:600 16px/24px var(--font-body);--type-caption:400 13px/20px var(--font-body);--space-1:4px;--space-2:8px;--space-3:16px;--space-4:24px;--space-5:32px;--space-6:48px;--space-7:64px;--radius-1:2px;--radius-2:4px;--shadow-modal:0 4px 24px oklch(23.73% .0148 181.37/.16);--motion-reticle:.24s cubic-bezier(.2, 0, 0, 1);--motion-stamp:.18s ease-out;--motion-micro:.12s ease-out;--motion-reticle-duration:.24s;--motion-stamp-duration:.18s;--motion-micro-duration:.12s}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--color-substrate:oklch(21.86% .0111 176.01);--color-ink:oklch(93.51% .0075 151.88);--color-ink-muted:oklch(73.82% .0133 164.66);--color-soldermask:oklch(73.52% .1086 164.81);--color-soldermask-deep:oklch(79.09% .097 166.37);--color-plated:oklch(73.13% .1122 84.37);--color-plated-ink:oklch(80.97% .1093 86.23);--color-fault:oklch(69.02% .1399 27.63);--color-fault-on-tint:oklch(75.1% .1186 27.83);--color-drift:oklch(72.37% .1298 70.19);--color-drift-ink:oklch(79.35% .1142 73.3);--tint-soldermask:oklch(27.33% .0232 167.91);--tint-fault:oklch(25.72% .0239 27.41);--tint-drift:oklch(26.5% .0206 76.48);--tint-plated:oklch(26.09% .015 89.91);--line:oklch(32.83% .0175 172.93);--line-input:oklch(62.21% .0158 168.93);--color-on-accent:oklch(21.86% .0111 176.01);--edge-power:oklch(71.05% .1462 27.38);--edge-ground:oklch(93.51% .0075 151.88);--edge-signal:oklch(70.97% .1039 250.29);--board-grid-opacity:.1;--shadow-modal:0 4px 24px oklch(0% 0 0/.55)}}@media (prefers-reduced-motion:reduce){:root{--motion-reticle:0s linear;--motion-stamp:0s linear;--motion-micro:0s linear;--motion-reticle-duration:0s;--motion-stamp-duration:0s;--motion-micro-duration:0s}}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--color-substrate);color:var(--color-ink);font:var(--type-body);-webkit-font-smoothing:antialiased}#root{flex-direction:column;min-height:100vh;display:flex}:focus{outline:2px solid var(--color-soldermask);outline-offset:2px}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid var(--color-soldermask);outline-offset:2px}h1,h2,h3{font:var(--type-heading);text-wrap:balance;margin:0}h2{font:var(--type-title)}h1{font:var(--type-display);letter-spacing:-.01em}code,kbd,samp,.mono{font:var(--type-data);font-style:normal}a{color:var(--color-soldermask);text-decoration:underline}@media (hover:hover) and (pointer:fine){a:hover{color:var(--color-soldermask-deep)}}p{margin:0 0 var(--space-3);text-wrap:pretty}.skip-link{padding:var(--space-2) var(--space-3);background:var(--color-ink);color:var(--color-substrate);font:var(--type-body-strong);border-radius:var(--radius-1);z-index:100;position:absolute;inset-block-start:var(--space-2);inset-inline-start:var(--space-2);transform:translateY(-200%)}.skip-link:focus-visible{transform:none}@media (pointer:coarse){.btn,a.btn,.linklike,.shell-nav a,.design-step,.chip-selection-row-header,.priority-actions button,.fv-zoom-btn,input:not([type=checkbox]):not([type=radio]),select,summary{min-block-size:44px}.shell-nav a,.linklike{align-items:center;display:inline-flex}}button,input[type=checkbox]+label{min-height:24px}input[type=text],input[type=email],input[type=password],textarea{background:var(--color-substrate);border:1px solid var(--line-input);border-radius:var(--radius-1);font:var(--type-body);color:var(--color-ink);padding:var(--space-2) var(--space-2);width:100%}input.input-mono,textarea.input-mono{font:var(--type-data)}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--color-fault)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.scroll-x{max-width:100%;overflow-x:auto}main h1{margin-bottom:var(--space-2)}a.btn{text-decoration:none;display:inline-block}@media (prefers-contrast:more){:root{--line:var(--line-input)}}.btn{font:var(--type-body-strong);border-radius:var(--radius-1);padding:var(--space-2) var(--space-3);cursor:pointer;transition:background-color var(--motion-micro), border-color var(--motion-micro), transform var(--motion-micro);border:1px solid #0000}.btn:active:not(:disabled){transform:scale(.98)}.btn-primary{background:var(--color-soldermask);color:var(--color-on-accent)}@media (hover:hover) and (pointer:fine){.btn-primary:hover:not(:disabled){background:var(--color-soldermask-deep)}.btn-secondary:hover:not(:disabled){border-color:var(--color-ink)}.btn-warning:hover:not(:disabled){filter:brightness(.9)}.chip-selection-row-header:hover:not(:disabled){background:var(--tint-soldermask)}}.btn-primary:active:not(:disabled){background:var(--color-soldermask-deep);filter:brightness(.92)}.btn-secondary{background:var(--color-substrate);border-color:var(--line-input);color:var(--color-ink)}.btn-secondary:active:not(:disabled){border-color:var(--color-ink);background:var(--tint-soldermask)}.btn-destructive{background:var(--color-fault);color:var(--color-on-accent)}.btn-warning{background:var(--color-drift);color:var(--color-on-accent)}.btn-warning:active:not(:disabled){filter:brightness(.82)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-busy-timer{font:var(--type-data-sm);margin-left:var(--space-2)}.btn-disabled-reason{font:var(--type-caption);color:var(--color-ink-muted);margin-left:var(--space-2)}.gate-meter{gap:var(--space-3);align-items:flex-start;display:flex}.gate-stamp{font:var(--type-data-sm);letter-spacing:.04em;border:2px solid var(--color-soldermask);color:var(--color-soldermask);padding:var(--space-1) var(--space-2);text-transform:uppercase;border-radius:0;display:inline-block}.gate-stamp-appear{animation:stamp-in var(--motion-stamp-duration) ease-out 1}@keyframes stamp-in{0%{opacity:0;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.gate-stamp-fail{border-color:var(--color-fault);color:var(--color-fault)}.gate-stamp-pending{border:2px dashed var(--line-input);color:var(--color-ink-muted)}.gate-segment-caption{font:var(--type-caption);color:var(--color-ink-muted);margin-top:var(--space-1)}.gate-segment-blockers{font:var(--type-caption);color:var(--color-drift-ink);margin-top:var(--space-1)}.chip{font:var(--type-data-sm);text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-1);border:1px solid var(--line-input);background:var(--color-substrate);color:var(--color-ink);padding:var(--space-1) var(--space-2);align-items:center;gap:var(--space-1);min-height:24px;display:inline-flex}.chip-guess{background:var(--tint-drift);border:1px dashed var(--color-drift-ink);color:var(--color-drift-ink)}.pill{font:var(--type-data-sm);text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-1);padding:var(--space-1) var(--space-2);align-items:center;gap:var(--space-1);transition:background-color var(--motion-micro), color var(--motion-micro), border-color var(--motion-micro);display:inline-flex}.pill-queued{color:var(--color-ink-muted);border:1px solid var(--line)}.pill-running{color:var(--color-ink);border:1px solid var(--color-soldermask)}.pill-pass{color:var(--color-soldermask);border:1px solid var(--color-soldermask)}.pill-findings{color:var(--color-fault);border:1px solid var(--color-fault)}.pill-toolfailure,.pill-refused{color:var(--color-ink);background:var(--tint-fault);border:1px solid var(--line)}.pill-cancelled{color:var(--color-ink-muted);border:1px solid var(--line)}.dropzone{border:2px dashed var(--line-input);border-radius:var(--radius-2);padding:var(--space-5);text-align:center;font:var(--type-body);color:var(--color-ink);transition:border-color var(--motion-micro), color var(--motion-micro)}.dropzone-dragover{border-color:var(--color-soldermask);color:var(--color-soldermask)}.dropzone-progress{font:var(--type-data)}.dropzone-rejected{color:var(--color-fault-on-tint)}.dropzone-done-hash{font:var(--type-data-sm);color:var(--color-ink-muted)}.plated-tick{align-items:center;gap:var(--space-1);font:var(--type-data-sm);color:var(--color-plated-ink);display:inline-flex}.plated-tick-detail{font:var(--type-data-sm);color:var(--color-ink-muted)}.empty-state{border:1px solid var(--line);border-radius:var(--radius-2);padding:var(--space-5) var(--space-4);text-align:center;max-width:44rem;margin:var(--space-4) auto}.empty-state-title{font:var(--type-heading);margin-bottom:var(--space-2)}.empty-state-detail{font:var(--type-body);color:var(--color-ink-muted);margin-bottom:var(--space-3)}.error-note{background:var(--tint-fault);border:1px solid var(--line);border-radius:var(--radius-2);padding:var(--space-3);font:var(--type-body);color:var(--color-fault-on-tint)}.error-note-fix{color:var(--color-ink);margin:var(--space-1) 0 0}.session-note{border-left:3px solid var(--color-drift-ink);background:var(--tint-drift);padding:var(--space-2) var(--space-3);margin:0 0 var(--space-3);font:var(--type-body);color:var(--color-ink)}.sev{font:var(--type-data-sm);text-transform:uppercase;letter-spacing:.04em}.sev-glyph{margin-right:var(--space-1)}.icon{vertical-align:-.125em;flex:none;display:inline-block}.icon-inline{width:16px;height:16px}.icon-control{vertical-align:-.25em;width:20px;height:20px}.icon-muted{color:var(--color-ink-muted)}.pill-mark{vertical-align:middle;background:currentColor;border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.pill-mark-ring{background:0 0;border:1.5px solid}.pill-mark-square{border-radius:0}.shell-header,.shell-connection,.shell-footer{--shell-inset:max(var(--space-4), calc((100% - 1200px) / 2 + var(--space-4)))}.shell-header{align-items:baseline;gap:var(--space-4);padding:var(--space-3) var(--shell-inset);border-bottom:1px solid var(--line);display:flex}.shell-wordmark{font:var(--type-heading);letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink);align-items:center;gap:var(--space-2);text-decoration:none;display:flex}.coupon-mark{color:var(--color-soldermask);flex:none}@media (hover:hover) and (pointer:fine){.shell-wordmark:hover{color:var(--color-ink)}}.shell-nav{gap:var(--space-3);font:var(--type-data);margin-inline-start:auto;display:flex}.shell-nav a{min-block-size:24px;padding-block:var(--space-1);align-items:center;display:inline-flex}.shell-connection{padding:var(--space-2) var(--shell-inset);border-left:3px solid var(--color-drift-ink);border-bottom:1px solid var(--line);background:var(--tint-drift);font:var(--type-body);color:var(--color-drift-ink);margin:0}.shell-connection[data-state=connected]{border:0;padding:0}.shell-main{width:100%;max-width:1200px;padding:var(--space-5) var(--space-4);flex:1 0 auto;margin:0 auto}.shell-footer{border-top:1px solid var(--line);padding:var(--space-3) var(--shell-inset);font:var(--type-data-sm);color:var(--color-ink-muted)}@media (width<=40rem){.shell-header{gap:var(--space-2) var(--space-3);padding:var(--space-3);flex-wrap:wrap}.shell-nav{gap:var(--space-3);width:100%;margin-left:0}.shell-main{padding:var(--space-4) var(--space-3)}}.project-create{justify-content:center;align-items:flex-end;gap:var(--space-2) var(--space-3);margin-top:var(--space-2);text-align:left;flex-wrap:wrap;display:flex}.project-create label{font:var(--type-caption);color:var(--color-ink-muted);text-align:center;flex:100%}.project-create input{max-width:28rem;min-height:40px;padding:var(--space-2) var(--space-3);flex:18rem}.project-create .btn{flex:none;min-height:40px}.lobby-projects{margin-top:var(--space-3)}.lobby-create{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--line);max-width:40rem}.lobby-create .project-create{justify-content:flex-start}.lobby-create .project-create label{text-align:left}.project-create h2{flex:100%}.lobby-intro{max-width:62ch;color:var(--color-ink-muted)}.bom-table,.project-table{border-collapse:collapse;width:100%;font:var(--type-data-sm)}.bom-table td,.bom-table th,.project-table td,.project-table th{padding:var(--space-2) var(--space-2);border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.project-table th{color:var(--color-ink-muted);font-weight:500}.panel{border:1px solid var(--line);border-radius:var(--radius-2);padding:var(--space-4);margin-bottom:var(--space-4)}.field{margin-bottom:var(--space-3)}.field label{font:var(--type-caption);color:var(--color-ink-muted);margin-bottom:var(--space-1);display:block}.field-error{font:var(--type-caption);color:var(--color-fault-on-tint);margin-top:var(--space-1)}.field-hint{font:var(--type-caption);color:var(--color-ink-muted);margin-top:var(--space-1)}.field-hint[data-invalid=true]{color:var(--color-fault-on-tint)}.form-narrow{max-width:480px}.spec-lede{color:var(--color-ink-muted);max-width:62ch}.spec-warning{border-left:3px solid var(--color-drift-ink);background:var(--tint-drift);color:var(--color-drift-ink);padding:var(--space-2) var(--space-3);margin:var(--space-3) 0;max-width:78ch}.spec-round-feedback,.spec-counts{color:var(--color-ink-muted)}.step-title{margin:0 0 var(--space-2)}.step-purpose{color:var(--color-ink-muted);max-width:62ch;margin:0 0 var(--space-3)}.run-progress{border:1px solid var(--line);border-left:3px solid var(--color-soldermask);padding:var(--space-2) var(--space-3);margin:var(--space-3) 0;max-width:78ch}.run-progress p{margin:0 0 var(--space-1)}.run-progress p:last-child{margin-bottom:0}.run-gate{border:1px solid var(--line);border-radius:var(--radius-2);padding:var(--space-3) var(--space-4);margin:var(--space-3) 0;max-width:62ch}.run-gate h3{margin-top:0}.run-gate p{margin:0 0 var(--space-2)}.run-gate-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.billing-note{font:var(--type-caption);color:var(--color-ink-muted)}.block-state{border-left:3px solid var(--color-drift-ink);background:var(--tint-drift);padding:var(--space-2) var(--space-3);margin:var(--space-2) var(--space-3);max-width:78ch}.block-state[data-state=failed]{border-left-color:var(--color-fault);background:var(--tint-fault)}.block-state p{margin:0 0 var(--space-1)}.block-state-actions{margin-top:var(--space-2)}.spec-gates .gate-meter{margin:var(--space-3) 0}.spec-diagram-actions{gap:var(--space-3);align-items:center;display:flex}.call-progress{gap:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-2);padding:var(--space-3);margin:var(--space-3) 0;flex-wrap:wrap;align-items:center;display:flex}.call-progress-phase{font:var(--type-body);flex:240px;margin:0}.call-progress-meta{font:var(--type-caption);color:var(--color-ink-muted);margin:0}.call-progress-elapsed{font:var(--type-data);color:var(--color-ink)}.call-stopped{font:var(--type-body);color:var(--color-ink-muted);margin:var(--space-3) 0}.spec-tab-bar{gap:var(--space-2);border-bottom:1px solid var(--line);margin:var(--space-3) 0;display:flex}.spec-tab{padding:var(--space-2) var(--space-3);cursor:pointer;font:var(--type-body-strong);color:var(--color-ink-muted);background:0 0;border:none;border-bottom:2px solid #0000}.spec-tab-active{color:var(--color-ink);border-bottom-color:var(--color-soldermask)}.chip-selection-list{margin:var(--space-3) 0;gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.chip-selection-row{border:1px solid var(--line);border-radius:var(--radius-1)}.chip-selection-row-header{width:100%;padding:var(--space-2) var(--space-3);cursor:pointer;font:var(--type-body-strong);color:var(--color-ink);transition:background-color var(--motion-micro);background:0 0;border:none;justify-content:space-between;align-items:center;display:flex}.chip-selection-row-header:disabled{cursor:default}.chip-selection-row-header:active:not(:disabled){background:var(--tint-soldermask)}.chip-selection-detail{border-top:1px solid var(--line);padding:var(--space-2) var(--space-3)}.chip-selection-alternates{color:var(--color-ink-muted);margin-block-start:var(--space-2);padding-inline-start:var(--space-4)}.spec-questions,.spec-concerns{max-width:78ch}.spec-questions li{margin-bottom:var(--space-2)}.spec-critique-note{color:var(--color-ink-muted);max-width:78ch;font-style:italic}.spec-repair-status{color:var(--color-ink-muted);margin-top:calc(-1 * var(--space-2));margin-bottom:var(--space-3)}.spec-concerns{padding-left:0;list-style:none}.spec-concerns li{border-left:3px solid var(--color-soldermask);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3);background:var(--tint-soldermask)}.spec-concern-class{font:var(--type-data-sm);letter-spacing:.04em;color:var(--color-soldermask-deep)}.spec-concern-about{color:var(--color-ink-muted)}.spec-concern-change{color:var(--color-ink-muted);margin-bottom:0}.spec-row-unrecognized{background:var(--tint-fault)}.spec-flag{font:var(--type-data-sm);color:var(--color-fault-on-tint);margin-top:var(--space-1)}.spec-followup-card{border:1px solid var(--line);max-width:60ch;padding:var(--space-3);margin:var(--space-3) 0;opacity:1;transition:opacity var(--motion-micro)}@starting-style{.spec-followup-card{opacity:0}}.spec-followup-progress{color:var(--color-ink-muted);margin-bottom:var(--space-2)}.spec-followup-recommendation{margin-bottom:var(--space-1)}.spec-followup-reasoning{color:var(--color-ink-muted)}.spec-followup-actions{gap:var(--space-2);margin-top:var(--space-3);display:flex}.spec-followup-card input{width:100%;margin:var(--space-2) 0}.spec-flow-hint,.spec-flow-pan{color:var(--color-ink-muted);margin:var(--space-3) 0 0}.spec-flow-dock{gap:var(--space-3);margin:var(--space-3) 0;grid-template-columns:minmax(0,1fr);display:grid}.spec-flow-canvas{height:clamp(320px, var(--drawing-height,55vh), 60vh);border:1px solid var(--line);position:relative}.spec-flow-canvas .react-flow__node.selected .spec-flow-node{outline:2px solid var(--color-soldermask);outline-offset:2px;background:var(--tint-soldermask)}.spec-flow-canvas .react-flow__node.selectable:focus-visible .spec-flow-node{outline:2px solid var(--color-soldermask);outline-offset:2px}.spec-flow-node{box-sizing:border-box;border:3px solid var(--color-ink);border-radius:var(--radius-1);background:var(--color-substrate);width:100%;height:100%;padding:var(--space-2);cursor:pointer;justify-content:center;align-items:center;font-size:.9em;display:flex;overflow:hidden}.spec-flow-node-hub{border-width:4px}.spec-flow-node-hub .spec-flow-node-id{font-weight:500}.spec-flow-node-id{white-space:normal;overflow-wrap:break-word;text-align:center;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;max-width:100%;line-height:1.25;display:-webkit-box;overflow:hidden}.spec-flow-node-boundary{border-color:var(--color-soldermask-deep)}.spec-flow-node-undecided{border-style:dashed}.spec-flow-node-topology{color:var(--color-ink-muted);margin-bottom:0}.spec-flow-node-alternatives{color:var(--color-ink-muted);margin-top:var(--space-1);font-style:italic}.spec-flow-boundary{box-sizing:border-box;border:2px dashed var(--color-ink-muted);border-radius:var(--radius-2);pointer-events:none;width:100%;height:100%}.spec-flow-boundary-label{top:calc(-1 * var(--space-3));left:var(--space-2);background:var(--color-substrate);padding:0 var(--space-1);font:var(--type-data);color:var(--color-ink-muted);position:absolute}.spec-edge-power .react-flow__edge-path{stroke-width:2.5px!important;stroke:var(--edge-power)!important}.spec-edge-ground .react-flow__edge-path{stroke-width:1.5px!important;stroke:var(--edge-ground)!important}.spec-edge-signal .react-flow__edge-path{stroke-width:1.5px!important;stroke:var(--edge-signal)!important}.spec-edge-unrecognized .react-flow__edge-path{stroke:var(--color-fault-on-tint)!important}.spec-flow-canvas .react-flow__edge.selected.spec-edge-power .react-flow__edge-path{stroke-width:3.5px!important}.spec-flow-canvas .react-flow__edge.selected.spec-edge-ground .react-flow__edge-path,.spec-flow-canvas .react-flow__edge.selected.spec-edge-signal .react-flow__edge-path{stroke-width:2.5px!important}.spec-edge-label{font:var(--type-data);padding:1px var(--space-1);border-radius:var(--radius-1);background:var(--color-substrate);color:var(--color-ink-muted);white-space:nowrap;pointer-events:none;position:absolute}.spec-flow-canvas .react-flow__edgelabel-renderer{z-index:2}.spec-edge-label.spec-edge-power{color:var(--edge-power)}.spec-edge-label.spec-edge-ground{color:var(--edge-ground)}.spec-edge-label.spec-edge-signal{color:var(--edge-signal)}.spec-edge-label.spec-edge-unrecognized{color:var(--color-fault-on-tint)}.spec-flow-status{top:var(--space-2);left:var(--space-2);color:var(--color-ink-muted);font:var(--type-data-sm);margin:0;position:absolute}.spec-flow-canvas .react-flow{--xy-background-color:var(--color-substrate);--xy-background-pattern-dots-color:var(--line);--xy-node-background-color:var(--color-substrate);--xy-node-color:var(--color-ink);--xy-handle-background-color:var(--color-ink);--xy-handle-border-color:var(--color-substrate);--xy-controls-button-background-color:var(--color-substrate);--xy-controls-button-background-color-hover:var(--tint-soldermask);--xy-controls-button-color:var(--color-ink);--xy-controls-button-color-hover:var(--color-ink);--xy-controls-button-border-color:var(--line);--xy-attribution-background-color:transparent}.spec-flow-canvas .react-flow__controls{box-shadow:none;border:1px solid var(--line)}.spec-flow-inspector{background:var(--color-substrate);border:1px solid var(--line);padding:var(--space-3);overflow-wrap:anywhere;min-width:0;min-height:10rem}.spec-flow-inspector>:first-child{margin-top:0}.spec-flow-inspector-empty{color:var(--color-ink-muted);margin:0}.spec-flow-inspector-id{margin-bottom:var(--space-2)}.spec-flow-inspector-body{gap:var(--space-2);display:grid}.spec-flow-inspector-body p{max-inline-size:62ch}.spec-flow-inspector-body>div>:first-child{margin-top:0}.spec-flow-inspector-body>div>:last-child{margin-bottom:0}@container design-flow (width>=62rem){.spec-flow-inspector-body{column-gap:var(--space-6);grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start}.spec-flow-inspector-body:not(:has(>div+div>*)){grid-template-columns:minmax(0,1fr)}}.spec-flow-fields{gap:var(--space-2) var(--space-4);grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));margin:0;display:grid}.spec-flow-fields dt{color:var(--color-ink-muted);font:var(--type-data-sm)}.spec-flow-fields dd{margin:0}.spec-flow-inspector-close{margin-top:var(--space-3)}.spec-connections-wrap{margin:var(--space-3) 0;overflow-x:auto}.spec-connections{border-collapse:collapse;width:100%}.spec-connections caption{text-align:left;font:var(--type-data-sm);color:var(--color-ink-muted);padding:0 var(--space-2) var(--space-1)}.spec-connections td,.spec-connections th{padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--line);text-align:left;vertical-align:top;white-space:nowrap;font-weight:inherit}.spec-connections thead th{color:var(--color-ink-muted);font:var(--type-data-sm)}.spec-connections td:last-child{white-space:normal;min-width:14rem}.spec-connections tr[aria-current=true]{background:var(--tint-soldermask)}.spec-connections tr[aria-current=true]>:first-child{border-left:2px solid var(--color-soldermask);padding-left:calc(var(--space-2) - 2px)}.spec-threads{padding-left:0;list-style:none}.spec-threads li{margin-bottom:var(--space-2)}.spec-history{color:var(--color-ink-muted)}.linklike{color:var(--color-soldermask-deep);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.linklike:active{color:var(--color-ink)}.project-hint{font:var(--type-caption);color:var(--color-ink-muted);margin-top:var(--space-3);max-width:60ch}.fv-artifacts{margin:var(--space-4) 0 0;gap:var(--space-2);border-top:1px solid var(--line);padding:0;padding-top:var(--space-3);flex-direction:column;list-style:none;display:flex}.fv-artifacts li{font:var(--type-data)}.fv-artifact-absent{color:var(--color-ink-muted)}.design-project{align-items:baseline;gap:var(--space-1) var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.design-project-name{margin:0}.design-project-id{font:var(--type-data-sm);color:var(--color-ink-muted);margin:0}.design-stepper{justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--line);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.design-stepper ol{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.design-step{padding:var(--space-2) var(--space-3);color:var(--color-ink-muted);font:var(--type-body-strong);white-space:nowrap;border-bottom:2px solid #0000;text-decoration:none;display:inline-block}@media (width<=40rem){.design-step{padding:var(--space-2) var(--space-2)}.design-stepper{gap:var(--space-2)}}.design-step-active{color:var(--color-ink);border-bottom-color:var(--color-soldermask)}.design-step-unavailable .design-step{opacity:.5;cursor:not-allowed}.design-step-index{text-align:center;border:1px solid var(--line);border-radius:var(--radius-1);min-width:1.4em;margin-right:var(--space-1);display:inline-block}@container design-flow (width<86rem){.design-step:not(.design-step-active) .design-step-label{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.design-step:not(.design-step-active) .design-step-index{margin-right:0}.design-step:not(.design-step-active):not([aria-disabled]){color:var(--color-soldermask)}}.design-description{border-left:3px solid var(--line);margin:var(--space-3) 0;padding:var(--space-1) var(--space-3);color:var(--color-ink-muted);max-width:78ch}.design-two-col{gap:var(--space-4);grid-template-columns:minmax(0,2fr) minmax(18rem,1fr);align-items:start;display:grid}.design-flow{container:design-flow/inline-size}@container design-flow (width<85rem){.design-two-col{grid-template-columns:minmax(0,1fr)}}.design-side-panel h2{margin-top:0}.design-contracts{padding:0;list-style:none}.design-contracts>li{margin-bottom:var(--space-2)}.design-contracts ul{margin:var(--space-1) 0 0 var(--space-3);color:var(--color-ink-muted);padding:0;list-style:none}.req-table{border-collapse:collapse;margin:var(--space-2) 0}.req-table td,.req-table th{padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--line);text-align:left}.req-passed td:first-child{color:var(--color-soldermask)}.req-failed td:first-child{color:var(--color-drift-ink)}.req-failed{background:var(--tint-drift)}.score-row{gap:var(--space-3);font:var(--type-data-sm);margin:var(--space-1) 0;display:inline-flex}.score-axis-missing,.no-data{color:var(--color-ink-muted)}.chip-selection-alternates-wrap summary{cursor:pointer;color:var(--color-ink-muted)}.priority-list{max-width:32rem;padding:0;list-style:none}.priority-row{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--line);margin-bottom:var(--space-2);background:var(--color-surface,transparent);transition:transform var(--motion-micro);display:flex}.priority-row-dragging{opacity:.5}.priority-overlay{cursor:grabbing}.priority-row-lifted{background:var(--color-substrate);border-color:var(--color-ink);margin:0}.priority-grip{font:var(--type-data);color:var(--color-ink-muted);padding:0 var(--space-1);cursor:grab;touch-action:none;background:0 0;border:1px solid #0000}.priority-grip:disabled{cursor:default}.priority-rank{min-width:1.5em;color:var(--color-ink-muted)}.priority-label{font:var(--type-body-strong);flex:1}.priority-actions{gap:var(--space-1);display:flex}.priority-actions button,.fv-zoom-btn{transition:background-color var(--motion-micro), border-color var(--motion-micro), transform var(--motion-micro)}.priority-actions button:active:not(:disabled),.fv-zoom-btn:active:not(:disabled){background:var(--tint-soldermask);border-color:var(--color-ink);transform:scale(.98)}.equation-card{border:1px solid var(--line);padding:var(--space-3);margin:var(--space-3) 0;max-width:78ch}.equation-card-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.equation-text{margin:var(--space-2) 0;font:var(--type-data-sm);display:block}.equation-constants{margin:var(--space-2) 0;padding-left:var(--space-4)}.passive-card{border-left:3px solid var(--color-soldermask);padding:var(--space-1) var(--space-3);margin:var(--space-2) 0 var(--space-3)}.passives-block{margin-bottom:var(--space-5)}.bom-actions{align-items:center;gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.describe-examples{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.describe-examples-label{font:var(--type-caption);color:var(--color-ink-muted)}.empty-state-actions{justify-content:center;gap:var(--space-3);margin:0 0 var(--space-3);flex-wrap:wrap;display:flex}.lobby-example{font:var(--type-caption);color:var(--color-ink-muted);margin:var(--space-2) 0 0}.help-page{max-width:78ch}.help-page h2{margin-top:var(--space-5)}.help-page li{margin-bottom:var(--space-2)}.help-glossary dt{font:var(--type-body-strong);margin-top:var(--space-3)}.help-glossary dd{max-width:62ch;margin:0}.nameplate-specimen{gap:var(--space-3);margin-top:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));max-width:64rem;display:grid}.nameplate-specimen figure{border:1px solid var(--line);border-radius:var(--radius-2);padding:var(--space-3);gap:var(--space-2);flex-direction:column;min-width:0;margin:0;display:flex}.nameplate-specimen figcaption{font:var(--type-caption);color:var(--color-ink-muted);margin-top:auto}.nameplate-figure-body{min-width:0}.nameplate-specimen .gate-meter{gap:var(--space-2);flex-direction:column}.nameplate-specimen .req-table{width:100%}.nameplate-basis{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.nameplate-diagram{padding:var(--space-3) 0 var(--space-2);font:var(--type-data-sm);color:var(--color-ink);align-items:center;display:flex}.nameplate-diagram-node{border:3px solid var(--color-ink);border-radius:var(--radius-1);background:var(--color-substrate);min-width:0;padding:var(--space-2) var(--space-1);text-align:center;white-space:nowrap;text-overflow:ellipsis;flex:1 1 0;overflow:hidden}.nameplate-diagram-edge{flex:0 0 var(--space-4);border-top:2.5px solid var(--edge-power);height:0;position:relative}.nameplate-diagram-edge:after{content:"";border-top:4px solid #0000;border-bottom:4px solid #0000;border-left:6px solid var(--edge-power);position:absolute;top:-5px;right:0}.nameplate-diagram-boundary{border:2px dashed var(--color-ink-muted);border-radius:var(--radius-2);min-width:0;padding:var(--space-2);flex:2 1 0;align-items:center;display:flex;position:relative}.nameplate-diagram-boundary-label{top:calc(-1 * var(--space-2) - 1px);left:var(--space-2);background:var(--color-substrate);padding:0 var(--space-1);color:var(--color-ink-muted);line-height:1;position:absolute}@media (width<=40rem){.nameplate-specimen{grid-template-columns:1fr}}
