@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");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:400;src:url(./ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(./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(./ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(./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(./ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(./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(./ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(./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(./ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(./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(./ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(./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(./ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(./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(./ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(./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(./ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(./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(./ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(./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}:root{--bg:#0b0d10;--bg-2:#101317;--surface:#111419db;--surface-solid:#14171c;--surface-2:#ffffff0a;--surface-3:#ffffff12;--line:#ffffff14;--line-2:#ffffff24;--text:#e9ebee;--text-2:#b0b6bf;--text-3:#858d98;--accent:#5cd6ff;--accent-strong:#8fe3ff;--accent-soft:#5cd6ff24;--accent-line:#5cd6ff73;--packet:#5cd6ff;--loop:#ffb547;--warn:#ffb547;--bad:#ff5ad9;--ok:#39e46b;--radius:12px;--radius-sm:8px;--shadow:0 12px 40px #00000073;--font:"Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Consolas, monospace;--panel-w:392px;--browser-w:320px;--topbar-h:60px;--ease:cubic-bezier(.2, .7, .2, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:15px;line-height:1.5;overflow:hidden}body{background:radial-gradient(1200px 700px at 50% 62%, #1a1f26 0%, #10131799 45%, transparent 75%), radial-gradient(900px 500px at 50% 100%, #5cd6ff0d, transparent 70%), var(--bg)}h1,h2,h3,p{margin:0}button,input,select{font:inherit;color:inherit}svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip{z-index:100;border-radius:var(--radius-sm);background:var(--accent);color:#04121c;padding:10px 14px;font-weight:600;text-decoration:none;position:fixed;top:-60px;left:12px}.skip:focus{top:12px}.noscript{z-index:100;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-solid);text-align:center;width:min(420px,100vw - 32px);padding:18px 20px;line-height:1.5;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn{border:1px solid var(--line);background:var(--surface-2);min-height:40px;color:var(--text);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-size:14px;font-weight:500;transition:background .18s,border-color .18s,color .18s,opacity .18s;display:inline-flex}.btn svg{flex:none;width:18px;height:18px}.btn:hover{background:var(--surface-3);border-color:var(--line-2)}.btn[disabled],.btn[aria-disabled=true]{opacity:.42;cursor:not-allowed}.btn.ghost{background:0 0}.btn.ghost:hover{background:var(--surface-2)}.btn[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-strong)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#04121c;font-weight:600}.btn.primary:hover{background:var(--accent-strong)}.btn.primary[aria-pressed=true]{background:var(--text);border-color:var(--text);color:#0b0d10}.btn.small{min-height:32px;padding:0 12px;font-size:13px}.btn.icon-only{justify-content:center;width:40px;padding:0}kbd{border:1px solid var(--line-2);background:var(--surface-2);min-width:22px;font-family:var(--mono);text-align:center;color:var(--text);border-bottom-width:2px;border-radius:5px;margin-right:3px;padding:1px 6px;font-size:12px;display:inline-block}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.reduce-motion *,.reduce-motion :before,.reduce-motion :after{transition-duration:.001ms!important;animation-play-state:paused!important}.topbar{height:var(--topbar-h);z-index:30;pointer-events:none;background:linear-gradient(#0b0d10eb,#0b0d1000);justify-content:space-between;align-items:center;gap:16px;padding:0 18px;display:flex;position:fixed;top:0;bottom:auto;left:0;right:0}.topbar>*{pointer-events:auto}.brand{align-items:center;gap:12px;display:flex}.brand-mark{width:34px;height:34px;color:var(--accent);stroke-width:1.8px}.brand-name{letter-spacing:.01em;font-size:16px;font-weight:650}.brand-sub{color:var(--text-3);letter-spacing:.04em;text-transform:uppercase;font-size:12px}.top-actions{align-items:center;gap:4px;display:flex}.menu-wrap{position:relative}.menu{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-solid);width:250px;box-shadow:var(--shadow);gap:10px;padding:14px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.menu fieldset{border:0;border-bottom:1px solid var(--line);gap:6px;margin:0;padding:0 0 10px;display:grid}.menu legend{color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:12px}.menu label{cursor:pointer;align-items:center;gap:10px;font-size:14px;display:flex}.menu input{accent-color:var(--accent);width:16px;height:16px}.swatches{gap:14px;padding:6px;display:flex}.menu label.swatch{gap:0;position:relative}.menu .swatch input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;top:0;bottom:0;left:0;right:0}.swatch .chip{background:radial-gradient(circle at 34% 28%, var(--hi) 0, var(--mid) 46%, var(--lo) 100%);outline-offset:3px;border-radius:50%;outline:2px solid #0000;width:30px;height:30px;transition:outline-color .15s;box-shadow:inset 0 0 0 1px #ffffff29,0 2px 6px #0006}.swatch input:checked+.chip{outline-color:var(--accent)}.swatch input:focus-visible+.chip{outline-color:var(--accent-strong);outline-style:dashed}.swatch-red{--hi:#e2565c;--mid:#8c1016;--lo:#2b0305}.swatch-blue{--hi:#5f7fb8;--mid:#142349;--lo:#050912}.swatch-silver{--hi:#fff;--mid:#b9bfc7;--lo:#565b62}.swatch-graphite{--hi:#7b8087;--mid:#34373c;--lo:#141517}.paint-name{color:var(--text-2);margin:2px 0 0;font-size:13px}.stage{position:fixed;top:0;bottom:0;left:0;right:0}#scene{touch-action:none;outline:none;width:100%;height:100%;display:block}#scene:focus-visible{box-shadow:inset 0 0 0 2px var(--accent-line)}.callouts{z-index:11;pointer-events:none;visibility:hidden;position:fixed;top:0;bottom:0;left:0;right:0}.callouts.on{visibility:visible}.callouts svg{width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0;overflow:visible}.callouts line{stroke:#e9ebee8c;stroke-width:1px}.callouts circle{fill:var(--text);stroke:#0b0d10d9;stroke-width:1.5px}.callout{border:1px solid var(--line-2);color:var(--text);font:600 12.5px/1.2 var(--font);white-space:nowrap;cursor:pointer;pointer-events:auto;will-change:transform;background:#0e1014db;border-radius:999px;align-items:center;gap:7px;padding:3px 11px 3px 3px;transition:border-color .15s,background-color .15s;display:inline-flex;position:absolute;top:0;left:0}.callout:hover{border-color:var(--sys);background:#16191ff5}.callout.off{visibility:hidden}.hover-label,.pin-label{z-index:12;pointer-events:none;opacity:0;will-change:transform;transition:opacity .12s;position:fixed;top:0;left:0}.hover-label{border:1px solid var(--line-2);border-radius:var(--radius-sm);box-shadow:var(--shadow);background:#0e1014eb;flex-direction:column;padding:7px 11px;display:flex}.hover-label.on,.pin-label.on{opacity:1}.hl-name{font-size:13.5px;font-weight:600}.hl-sys{color:var(--text-3);font-size:12px}.pin-label{border:1px solid var(--accent-line);color:var(--accent-strong);white-space:nowrap;background:#0e1014e6;border-radius:999px;padding:5px 10px 5px 22px;font-size:12.5px;font-weight:600}.pin-label:before{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px;margin-top:-3.5px;position:absolute;top:50%;left:9px;box-shadow:0 0 0 4px #5cd6ff40}.breadcrumb-bar{top:calc(var(--topbar-h) + 4px);z-index:10;max-width:calc(100vw - var(--panel-w) - 60px);position:fixed;left:18px}.crumbs{flex-wrap:wrap;align-items:center;gap:4px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.crumbs li{color:var(--text-3);align-items:center;gap:4px;display:flex}.crumbs li+li:before{content:"›";color:var(--text-3);margin:0 2px}.crumbs button{color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 8px}.crumbs button:hover{background:var(--surface-2);color:var(--text)}.crumbs [aria-current=true]{color:var(--text);padding:4px 8px;font-weight:600}body.flow-on .model-note{display:none}.model-note{left:26px;top:calc(var(--topbar-h) + 36px);z-index:10;max-width:320px;color:var(--text-3);align-items:center;gap:8px;font-size:12px;display:flex;position:fixed}.model-note svg{flex:none;width:16px;height:16px}.dock{left:calc((100vw - var(--panel-w)) / 2);z-index:15;border:1px solid var(--line);background:var(--surface);-webkit-backdrop-filter:blur(14px);width:max-content;box-shadow:var(--shadow);transition:left .35s var(--ease);border-radius:999px;align-items:center;gap:10px;padding:8px;display:flex;position:fixed;bottom:18px;transform:translate(-50%)}body.panel-collapsed .dock{left:50vw}.btn.explode{justify-content:center;min-width:128px;min-height:44px;font-size:15px}.slider-wrap{color:var(--text-2);align-items:center;gap:10px;padding:0 6px;font-size:13px;display:flex}.slider-wrap output{min-width:38px;font-family:var(--mono);color:var(--text);text-align:right;font-size:12.5px}input[type=range]{-webkit-appearance:none;appearance:none;cursor:pointer;background:0 0;width:150px;height:28px}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--accent) var(--fill,0%), #ffffff24 var(--fill,0%));border-radius:4px;height:4px}input[type=range]::-moz-range-track{background:#ffffff24;border-radius:4px;height:4px}input[type=range]::-moz-range-progress{background:var(--accent);border-radius:4px;height:4px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--text);border:3px solid var(--accent);border-radius:50%;width:18px;height:18px;margin-top:-7px}input[type=range]::-moz-range-thumb{background:var(--text);border:3px solid var(--accent);border-radius:50%;width:14px;height:14px}input[type=range]:disabled{opacity:.4;cursor:not-allowed}.dock-group{border-left:1px solid var(--line);gap:2px;padding-left:8px;display:flex}.dock.fit-icons .dock-group .btn span{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.dock.fit-icons .dock-group .btn{justify-content:center;width:42px;padding:0}.dock.fit-nolabel .slider-wrap label{display:none}.dock.fit-narrow input[type=range]{width:96px}.dock.fit-noslider .slider-wrap,.dock.fit-hidden{display:none}.loader{z-index:40;background:var(--bg);transition:opacity .5s var(--ease), visibility .5s;place-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.loader.soft{pointer-events:none;background:0 0;top:auto;bottom:74px;left:50%;right:auto;transform:translate(-50%)}.loader.soft .loader-mark{display:none}.loader.done{opacity:0;visibility:hidden}.loader-inner{justify-items:center;gap:14px;width:260px;display:grid}.loader-mark{width:48px;height:48px;color:var(--accent)}.loader-text{color:var(--text-2);text-align:center;font-size:13px}.loader-bar{background:#ffffff1a;border-radius:3px;width:100%;height:3px;overflow:hidden}.loader-bar span{background:var(--accent);width:0;height:100%;transition:width .3s var(--ease);display:block}.detail-toast{top:calc(var(--topbar-h) + 44px);z-index:20;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-solid);color:var(--text-2);box-shadow:var(--shadow);padding:9px 14px;font-size:13px;position:fixed;left:18px}.fallback{inset:var(--topbar-h) var(--panel-w) 0 0;text-align:center;align-content:center;justify-items:center;gap:12px;padding:24px;display:grid;position:fixed}.fallback p{max-width:520px;color:var(--text-2)}.fallback svg{stroke:none;width:min(720px,90%)}.fallback .zone{cursor:pointer;fill-opacity:.22;stroke-width:1.5px}.fallback .zone:hover,.fallback .zone:focus{fill-opacity:.45;outline:none}.panel{top:var(--topbar-h);z-index:20;width:var(--panel-w);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow);transition:transform .35s var(--ease);position:fixed;bottom:12px;right:12px}body.panel-collapsed .panel{transform:translate(calc(100% + 12px))}.panel-toggle{border:1px solid var(--line);background:var(--surface);width:32px;height:40px;color:var(--text-2);cursor:pointer;border-radius:8px 0 0 8px;place-items:center;display:grid;position:absolute;top:14px;left:-40px}.panel-toggle svg{width:18px;height:18px;transition:transform .3s var(--ease)}body.panel-collapsed .panel-toggle svg{transform:rotate(180deg)}.sheet-handle{display:none}.panel-body{scrollbar-width:thin;scrollbar-color:#ffffff26 transparent;outline:none;height:100%;padding:22px 22px 28px;overflow-y:auto}.eyebrow{letter-spacing:.07em;text-transform:uppercase;color:var(--text-3);align-items:center;gap:8px;font-size:12px;font-weight:500;display:flex}.eyebrow .dot{border-radius:50%;width:8px;height:8px}.panel h2.title{letter-spacing:-.01em;margin:8px 0 6px;font-size:24px;font-weight:650;line-height:1.2}.lede{color:var(--text-2);font-size:15px}.panel section{margin-top:22px}.panel h3{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-strong);margin-bottom:8px;font-size:12px;font-weight:600}.panel p+p{margin-top:8px}.panel .body{color:var(--text);font-size:14.5px}.actions{flex-wrap:wrap;gap:6px;margin-top:16px;display:flex}.facts{grid-template-columns:auto 1fr;gap:6px 14px;margin:0;font-size:13.5px;display:grid}.facts dt{color:var(--text-3)}.facts dd{font-family:var(--mono);color:var(--text);margin:0;font-size:12.5px}.chiplist{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.chip{border:1px solid var(--line);background:var(--surface-2);min-height:32px;color:var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:0 11px;font-size:13px;display:inline-flex}.chip:hover{border-color:var(--line-2);background:var(--surface-3)}.chip .dot{border-radius:50%;width:7px;height:7px}.chip[aria-pressed=true]{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent-strong)}.example{border:1px solid var(--line);border-left:2px solid var(--accent);border-radius:var(--radius-sm);background:var(--surface-2);padding:14px 16px}.example b{color:var(--accent-strong);margin-bottom:4px;font-size:13px;font-weight:600;display:block}.diagram{border:1px solid var(--line);border-radius:var(--radius-sm);background:#0d1014;margin-top:12px;padding:10px}.diagram svg{width:100%;height:auto;display:block}.diagram figcaption{color:var(--text-3);margin-top:6px;font-size:12px}.spec-table{border-collapse:collapse;width:100%;font-size:13.5px}.spec-table th,.spec-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:7px 0}.spec-table th{width:44%;color:var(--text-3);font-weight:400}.spec-table td{font-family:var(--mono);font-size:12.5px}.note{border-radius:var(--radius-sm);color:var(--text-2);background:#ffb54712;border:1px solid #ffb54738;gap:10px;padding:12px 14px;font-size:13px;display:flex}.note svg{width:18px;height:18px;color:var(--warn);flex:none;margin-top:1px}.system-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.system-btn{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);text-align:left;cursor:pointer;grid-template-columns:10px 1fr auto;align-items:center;gap:12px;width:100%;padding:11px 12px;display:grid}.system-btn:hover{border-color:var(--line-2);background:var(--surface-3)}.system-btn .dot{border-radius:50%;width:10px;height:10px}.system-btn.numbered{grid-template-columns:20px 1fr auto}.sys-num,.co-num{background:var(--sys);color:#0b0d10;width:20px;height:20px;font:600 11px/1 var(--mono);border-radius:50%;place-items:center;display:grid}.system-btn b{font-size:14px;font-weight:600;display:block}.system-btn small{color:var(--text-3);font-size:12.5px;display:block}.system-btn .count{font-family:var(--mono);color:var(--text-3);font-size:12px}.browser{top:var(--topbar-h);z-index:22;width:var(--browser-w);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow);flex-direction:column;display:flex;position:fixed;bottom:12px;left:12px}.drawer-head{justify-content:space-between;align-items:center;padding:12px 10px 6px 18px;display:flex}.drawer-head h2{font-size:16px;font-weight:600}.search{margin:6px 14px 10px;position:relative}.search svg{width:17px;height:17px;color:var(--text-3);margin-top:-8.5px;position:absolute;top:50%;left:12px}.search input{border:1px solid var(--line-2);background:#00000040;border-radius:10px;width:100%;height:42px;padding:0 12px 0 38px;font-size:14px}.search input::placeholder{color:var(--text-3)}.search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.chips{flex-wrap:wrap;gap:6px;padding:0 14px 10px;display:flex}.chips .chip{min-height:30px;font-size:12.5px}.result-count{color:var(--text-3);padding:0 18px 6px;font-size:12px}.tree{scrollbar-width:thin;scrollbar-color:#ffffff26 transparent;flex:1;padding:0 8px 14px;overflow-y:auto}.tree details{border-bottom:1px solid var(--line)}.tree summary{cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:10px;font-size:14px;font-weight:600;list-style:none;display:flex}.tree summary::-webkit-details-marker{display:none}.tree summary:after{content:"";border-right:1.6px solid var(--text-3);border-bottom:1.6px solid var(--text-3);width:7px;height:7px;margin-left:auto;transition:transform .2s;transform:rotate(-45deg)}.tree details[open] summary:after{transform:rotate(45deg)}.tree summary:hover{background:var(--surface-2)}.tree summary .dot{border-radius:50%;width:8px;height:8px}.tree summary .n{font-family:var(--mono);color:var(--text-3);font-size:12px;font-weight:400}.tree ul{margin:0 0 8px;padding:0;list-style:none}.tree li button{text-align:left;width:100%;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px 10px 8px 28px;font-size:14px;display:block}.tree li button:hover{background:var(--surface-2);color:var(--text)}.tree li button[aria-current=true]{background:var(--accent-soft);color:var(--accent-strong)}.tree li button small{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;font-size:12px;display:block;overflow:hidden}.tree .open-system{color:var(--accent-strong);cursor:pointer;background:0 0;border:0;border-radius:6px;margin:2px 0 6px 18px;padding:6px 10px;font-size:12.5px}.tree .open-system:hover{background:var(--accent-soft)}.tree mark{color:inherit;background:#5cd6ff40;border-radius:3px}.empty{color:var(--text-3);padding:18px;font-size:13.5px}.flow-card{left:18px;top:calc(var(--topbar-h) + 44px);z-index:14;width:320px;max-height:calc(100vh - var(--topbar-h) - 140px);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow);padding:16px;position:fixed;overflow-y:auto}.flow-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.flow-head h2{font-size:15px;font-weight:600}.segmented{border:1px solid var(--line);background:#00000040;border-radius:999px;padding:3px;display:flex}.segmented button{min-height:34px;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:999px;flex:1;padding:0 10px;font-size:13px}.segmented button[aria-checked=true]{background:var(--accent);color:#04121c;font-weight:600}.segmented.sub{width:60%;margin-top:8px}.flow-soc{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:6px 10px;margin:12px 0 0;font-size:12.5px;display:flex}.flow-soc[hidden]{display:none}.soc-bar{background:#ffffff14;border-radius:3px;flex:1;height:6px;overflow:hidden}.soc-bar i{border-radius:inherit;background:linear-gradient(90deg,#1c9f70,#5ff0b5);width:20%;height:100%;display:block}.flow-soc b{min-width:3.2em;font:600 13px/1 var(--mono);color:var(--text);text-align:right}.flow-soc small{font:11px/1.3 var(--mono);color:var(--text-3);flex-basis:100%}.flow-summary{color:var(--text-2);margin:12px 0;font-size:13.5px}.flow-note{color:var(--text-3);margin-top:6px;font-size:12px;display:block}.legend{border-radius:var(--radius-sm);background:#00000038;gap:6px;margin:0 0 12px;padding:10px 12px;font-size:12.5px;list-style:none;display:grid}.legend li{grid-template-columns:34px 1fr;align-items:center;gap:10px;display:grid}.legend small{color:var(--text-3)}.swatch{width:34px;height:8px}.flow-steps{counter-reset:step;gap:4px;margin:0;padding:0;list-style:none;display:grid}.flow-steps button{text-align:left;width:100%;color:var(--text-2);cursor:pointer;counter-increment:step;background:0 0;border:0;border-radius:8px;grid-template-columns:22px 1fr;gap:8px;padding:7px 8px;font-size:13px;display:grid}.flow-steps button:before{content:counter(step);border:1px solid var(--line-2);width:22px;height:22px;font-family:var(--mono);color:var(--text);border-radius:50%;place-items:center;font-size:11px;display:grid}.flow-steps button:hover{background:var(--surface-2);color:var(--text)}.tour{left:calc((100vw - var(--panel-w)) / 2);z-index:25;border:1px solid var(--accent-line);border-radius:var(--radius);background:var(--surface-solid);width:min(440px,100vw - 32px);box-shadow:var(--shadow), 0 0 0 6px #5cd6ff0f;padding:18px 20px 16px;position:fixed;bottom:96px;transform:translate(-50%)}body.panel-collapsed .tour{left:50vw}.tour-step{font-family:var(--mono);color:var(--accent-strong);font-size:12px}.tour h2{margin:4px 0 6px;font-size:18px;font-weight:650}.tour p#tour-text{color:var(--text-2);font-size:14px}.tour-actions{justify-content:space-between;align-items:center;margin-top:14px;display:flex}.tour-actions div{gap:6px;display:flex}.help{border:1px solid var(--line-2);border-radius:var(--radius);background:var(--surface-solid);width:min(760px,100vw - 32px);color:var(--text);box-shadow:var(--shadow);padding:0 0 18px}.help::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#05060899}.help-cols{grid-template-columns:1fr 1.2fr;gap:24px;padding:6px 22px 0;display:grid}.help h3{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-strong);margin-bottom:10px;font-size:12px}.help ul{color:var(--text-2);gap:8px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.help b{color:var(--text);margin-right:6px;font-weight:600}.keys{grid-template-columns:auto 1fr;gap:8px 14px;margin:0;font-size:13.5px;display:grid}.keys dd{color:var(--text-2);margin:0}.dg{--c1:#5cd6ff;--c2:#ffb547;--c3:#3ddc97;--ink:#c9ced6;--dim:#4a525d;font-family:var(--font)}.dg text{fill:var(--ink);stroke:none;font-size:11px}.dg .lbl{fill:var(--text-3);letter-spacing:.04em;font-size:10px}.dg .ln{stroke:var(--dim);stroke-width:1.5px;fill:none}.dg .ink{stroke:var(--ink);stroke-width:1.6px;fill:none}.dg .acc{stroke:var(--c1);stroke-width:2px;fill:none}.dg .amb{stroke:var(--c2);stroke-width:2px;fill:none}.dg .grn{stroke:var(--c3);stroke-width:2px;fill:none}.dg .fill-acc{fill:var(--c1);stroke:none}.dg .fill-amb{fill:var(--c2);stroke:none}.dg .fill-grn{fill:var(--c3);stroke:none}.dg .fill-dim{fill:#1c2128;stroke:var(--dim);stroke-width:1.2px}.dg .dash{stroke-dasharray:6 8;animation:1.2s linear infinite dg-dash}.dg .dash.slow{animation-duration:2.6s}.dg .dash.rev{animation-direction:reverse}.dg .spin{transform-box:fill-box;transform-origin:50%;animation:3s linear infinite dg-spin}.dg .spin.fast{animation-duration:1.2s}.dg .spin.rev{animation-direction:reverse}.dg .pulse{animation:1.6s ease-in-out infinite dg-pulse}.dg .bob{animation:1.8s ease-in-out infinite dg-bob}.dg .squash{transform-box:fill-box;transform-origin:bottom;animation:1.8s ease-in-out infinite dg-squash}.dg .grow{transform-box:fill-box;transform-origin:0;animation:2.4s ease-in-out infinite dg-grow}.dg .travel{animation:2.4s linear infinite dg-travel}.dg .travel.rev{animation-direction:reverse}.dg .blink{animation:2.4s step-end infinite dg-blink}.dg .inflate{transform-box:fill-box;transform-origin:0;animation:2.6s ease-out infinite dg-inflate}.dg .wave{transform-box:fill-box;transform-origin:0;animation:2s ease-out infinite dg-wave}.dg .wave.d2{animation-delay:.66s}.dg .wave.d3{animation-delay:1.33s}@keyframes dg-dash{to{stroke-dashoffset:-28px}}@keyframes dg-spin{to{transform:rotate(360deg)}}@keyframes dg-pulse{0%,to{opacity:.35}50%{opacity:1}}@keyframes dg-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes dg-squash{0%,to{transform:scaleY(1)}50%{transform:scaleY(.72)}}@keyframes dg-grow{0%,to{transform:scaleX(.35)}50%{transform:scaleX(1)}}@keyframes dg-travel{0%{transform:translate(0)}to{transform:translateX(var(--d,120px))}}@keyframes dg-blink{0%,to{opacity:1}50%{opacity:.25}}@keyframes dg-inflate{0%,15%{opacity:.2;transform:scale(.15)}35%,80%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1)}}@keyframes dg-wave{0%{opacity:1;transform:scale(.3)}to{opacity:0;transform:scale(1.4)}}.crumb-inline{color:var(--text-2);font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--line-2);text-decoration-color:var(--line-2);text-underline-offset:3px;background:0 0;border:0;padding:0}.crumb-inline:hover{color:var(--text)}.pager{border-top:1px solid var(--line);justify-content:space-between;gap:8px;padding-top:14px;display:flex}.pager .btn{text-overflow:ellipsis;max-width:50%;overflow:hidden}.pager .btn svg,.panel .actions .btn svg{width:16px;height:16px}[hidden]{display:none!important}@media (min-width:761px){body.browser-open .breadcrumb-bar,body.browser-open .flow-card{left:calc(var(--browser-w) + 24px)}body.browser-open .model-note{left:calc(var(--browser-w) + 32px)}}.breadcrumb-bar .crumbs{-webkit-backdrop-filter:blur(8px);background:#0b0d1080;border-radius:10px;padding:2px}body.no-3d #btn-tour,body.no-3d .panel [data-action=explode],body.no-3d .panel [data-action=flow],body.no-3d .panel [data-action=tour],body.no-3d .panel [data-action=expand],body.no-3d .panel [data-action=isolate],body.no-3d .panel [data-action=related],body.no-3d .panel [data-action=focus],body.no-3d .settings-3d{display:none!important}#fallback-svg{justify-items:center;width:100%;display:grid}@media (min-width:761px){.detail-toast{top:auto;bottom:104px;left:calc((100vw - var(--panel-w)) / 2);white-space:nowrap;transform:translate(-50%)}body.panel-collapsed .detail-toast{left:50%}body.browser-open .dock{left:calc(var(--browser-w) + 12px + (100vw - var(--browser-w) - 12px - var(--panel-w)) / 2)}body.browser-open.panel-collapsed .dock{left:calc(var(--browser-w) + 12px + (100vw - var(--browser-w) - 12px) / 2)}body.browser-open .detail-toast{left:calc(var(--browser-w) + 12px + (100vw - var(--browser-w) - 12px - var(--panel-w)) / 2)}}body.capture>:not(main):not(#capture),body.capture #stage>:not(#scene):not(#loader){display:none!important}body.capture #scene{opacity:0;pointer-events:none;position:fixed;top:0;bottom:0;left:0;right:0}.fallback{align-content:start;overflow-y:auto}.fallback h3{letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);margin:14px 0 0;font-size:12px;font-weight:600}.fallback-views{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.fallback .purdue-host{width:min(720px,100%)}.fallback .purdue{width:100%;display:block}.fallback .purdue .band{fill:#ffffff08;stroke:var(--line)}.fallback .purdue .band-name{fill:var(--text-2);font:600 12px var(--font)}.fallback .chip{cursor:pointer;outline:none}.fallback .chip text{fill:var(--text);font:500 11px var(--mono)}.fallback .chip:hover rect,.fallback .chip:focus rect{fill-opacity:.4}.fallback .chip:focus-visible rect{stroke-width:2px;stroke-opacity:1}.model-note{color:var(--text-2);-webkit-backdrop-filter:blur(8px);background:#0b0d108c;border-radius:8px;margin-left:-6px;padding:3px 8px 3px 6px}:root{--display:var(--font)}.brand-name,.panel-body .title{font-family:var(--display);letter-spacing:-.01em}.tag{border:1px solid var(--line-2);font-family:var(--mono);color:var(--text-2);white-space:nowrap;vertical-align:1px;border-radius:5px;padding:1px 6px;font-size:11.5px;font-weight:500;display:inline-block}.title-tag{margin:-4px 0 8px}.title-tag .tag{color:var(--loop);border-color:#ffb54766;font-size:12.5px}.system-btn .tag{margin-left:4px;font-size:10.5px}.stops{background:var(--surface-2);border-radius:999px;gap:2px;padding:2px;display:flex}.stop{min-height:40px;color:var(--text-2);font:inherit;cursor:pointer;transition:background .2s var(--ease), color .2s var(--ease);background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:13.5px;display:inline-flex}.stop:hover{color:var(--text);background:var(--surface-3)}.stop[aria-pressed=true]{background:var(--accent);color:#06222e;font-weight:600}.stop-n{font-family:var(--mono);opacity:.7;font-size:11px}.stop:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.slider-wrap output{text-align:left;min-width:84px}.dock.fit-icons .stop-name{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.dock.fit-icons .stop{padding:0 10px}.dock.fit-icons .stop-n{opacity:1;font-size:13px}.tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:2px;margin:14px -2px 4px;padding-bottom:1px;display:flex;overflow-x:auto}.tabs [role=tab]{color:var(--text-3);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:none;margin-bottom:-2px;padding:8px 10px 9px;font-size:13px}.tabs [role=tab]:hover{color:var(--text)}.tabs [role=tab][aria-selected=true]{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.tabs [role=tab]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:4px}.tabpanel h4{color:var(--text-2);margin:14px 0 6px;font-size:12.5px;font-weight:600}.body{color:var(--text-2);margin:0 0 10px;font-size:14px;line-height:1.6}.body.muted{color:var(--text-3)}.deep .body{font-size:13.5px}dl.facts{grid-template-columns:minmax(96px,38%) 1fr;gap:6px 12px;margin:0;font-size:13px;display:grid}dl.facts dt{color:var(--text-3)}dl.facts dd{color:var(--text);font-variant-numeric:tabular-nums;margin:0}.io-table,.spec-table.levels{border-collapse:collapse;width:100%;font-size:13px}.io-table th,.io-table td,.spec-table.levels th,.spec-table.levels td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;color:var(--text-2);padding:7px 6px 7px 0}.io-table small,.spec-table.levels small{color:var(--text-3)}.io-table td:last-child{font-family:var(--mono);font-size:11.5px}ol.wiring{border-left:2px solid #ffb54773;margin:0 0 8px;padding:0 0 0 12px;font-size:12.5px;list-style:none}ol.wiring li{grid-template-columns:1fr;gap:1px;padding:5px 0;display:grid;position:relative}ol.wiring li:before{content:"";background:var(--loop);border-radius:50%;width:8px;height:8px;position:absolute;top:10px;left:-17px}ol.wiring .from,ol.wiring .to{font-family:var(--mono);color:var(--text)}ol.wiring .to:before{content:"→ ";color:var(--text-3)}ol.wiring .via{color:var(--text-3);font-size:11.5px}.fail-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.fail{border:1px solid var(--line);border-left:3px solid var(--bad);border-radius:var(--radius-sm);background:var(--surface-2);padding:10px 12px}.fail>b{margin-bottom:6px;font-size:13.5px;display:block}.fail dl{grid-template-columns:88px 1fr;gap:4px 10px;margin:0;font-size:12.5px;display:grid}.fail dt{color:var(--text-3)}.fail dd{color:var(--text-2);margin:0;line-height:1.5}.gmp-badges{flex-wrap:wrap;gap:6px;margin:0 0 10px;display:flex}.badge{border:1px solid var(--line-2);color:var(--text-2);border-radius:999px;padding:3px 9px;font-size:12px;font-weight:600}.badge.impact-direct{color:#ff9be8;border-color:#ff5ad980}.badge.impact-indirect{color:var(--loop);border-color:#ffb54780}.badge.critical{color:#ffc4f0;background:#ff5ad924;border-color:#ff5ad980}.cal-sticker{color:#10301c;max-width:250px;font-size:12px;font-family:var(--mono);background:#e9f7ee;border-radius:6px;grid-template-columns:auto 1fr;gap:2px 10px;margin:0 0 12px;padding:8px 12px;display:grid}.cal-sticker b{font-family:var(--font);font-weight:700}.cal-sticker small{opacity:.75;grid-column:1/-1}.cal-sticker em{color:#a1006f;grid-column:1/-1;font-style:normal;font-weight:700}.std-list{color:var(--text-2);margin:0;padding-left:18px;font-size:13px;line-height:1.6}.why-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.why-btn{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius-sm);background:var(--surface-2);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;gap:2px;padding:9px 12px;display:grid}.why-btn:hover{background:var(--surface-3)}.why-btn b{font-size:13.5px}.why-btn small{color:var(--text-3);font-size:12.5px;line-height:1.45}.gl{border-bottom:1px dotted var(--text-3);cursor:help;position:relative}.gl:hover:after,.gl:focus:after{content:attr(data-tip);z-index:30;border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--surface-solid);width:max-content;max-width:260px;box-shadow:var(--shadow);color:var(--text);white-space:normal;pointer-events:none;padding:8px 10px;font-size:12.5px;font-weight:400;line-height:1.45;position:absolute;top:calc(100% + 6px);left:0}.gl:focus{border-bottom-color:var(--accent);outline:none}.system-btn small{display:block}.flow-card{width:372px;max-height:calc(100vh - var(--topbar-h) - 128px);padding:14px 14px 12px}.flow-head{margin-bottom:10px;padding-right:36px;display:block;position:relative}.flow-head .eyebrow{font:500 10.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--loop);margin:0 0 2px}.flow-head h2{font-family:var(--display,var(--font));font-size:18px;line-height:1.2}.flow-head .icon-only{position:absolute;top:-4px;right:-4px}.flow-pick{flex-wrap:wrap;gap:4px;display:flex}.flow-pick button{border:1px solid var(--line-2);min-height:28px;color:var(--text-2);cursor:pointer;background:0 0;border-radius:999px;padding:0 9px;font-size:12px}.flow-pick button:hover{color:var(--text);border-color:var(--accent-line)}.flow-pick button[aria-checked=true]{background:var(--accent);border-color:var(--accent);color:#04121c;font-weight:600}.flow-summary{margin:10px 0;font-size:13px;line-height:1.45}.flow-bar{align-items:center;gap:6px;margin-bottom:10px;display:flex}.flow-bar .btn{min-height:30px;padding:0 12px;font-size:12.5px}.flow-bar .btn.attention{box-shadow:0 0 0 3px var(--accent-soft);animation:1.6s ease-in-out infinite attention}@keyframes attention{50%{box-shadow:0 0 0 6px #5cd6ff0d}}.reduce-motion .flow-bar .btn.attention{animation:none}.flow-clock{color:var(--text-3);text-align:right;margin-left:auto;font-size:11px}.flow-live{border:1px solid var(--line);border-radius:var(--radius-sm);background:#00000040;gap:4px;margin-bottom:10px;padding:10px;font-size:12px;display:grid}.lv-row,.lv-bar{color:var(--text-3);grid-template-columns:1fr auto;align-items:baseline;gap:8px;display:grid}.lv-row b,.lv-bar b{font:500 12px/1.35 var(--mono);color:var(--text);text-align:right}.lv-row.lv-wide{grid-template-columns:1fr}.lv-row.lv-wide b{text-align:left;color:var(--text-2);font-size:11px}.lv-bar{grid-template-columns:92px 1fr 78px;align-items:center}.lv-bar i{background:#ffffff12;border-radius:3px;height:6px;overflow:hidden}.lv-bar em{border-radius:inherit;background:var(--loop);height:100%;transition:width .2s linear;display:block}.lv-btns{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.chip-btn{border:1px solid var(--line-2);background:var(--surface-2);min-height:28px;color:var(--text);cursor:pointer;border-radius:6px;padding:0 10px;font-size:12px}.chip-btn:hover{border-color:var(--accent-line);background:var(--accent-soft)}.lv-slider{color:var(--text-3);gap:4px;margin-top:6px;display:grid}.lv-slider input{width:100%;accent-color:var(--accent)}.lv-trend{width:100%;height:75px}.lv-legend{font:11px var(--mono);color:var(--text-3);gap:12px;margin:0 0 4px;display:flex}.lv-legend span:before{content:"";vertical-align:middle;background:currentColor;width:14px;height:3px;margin-right:5px;display:inline-block}.k-pv{color:var(--loop)}.k-sp{color:#c7cdd4}.k-out{color:#5cd6ffcc}.lv-h{color:var(--text-2);text-transform:uppercase;letter-spacing:.06em;margin:8px 0 2px;font-size:11px;font-weight:600}.passport{border-collapse:collapse;width:100%}.passport th,.passport td{border-bottom:1px solid var(--line);text-align:left;color:var(--text-3);padding:3px 0;font-weight:400}.passport td{font:500 12px var(--mono);text-align:right;color:var(--text-2)}.passport tr.now th{color:var(--text)}.passport tr.now td{color:var(--loop)}.permissives,.sfc,.rungs{gap:3px;margin:0 0 4px;padding:0;list-style:none;display:grid}.permissives li,.sfc li,.rungs li{border-left:3px solid var(--line-2);color:var(--text-3);border-radius:3px;justify-content:space-between;gap:8px;padding:3px 8px;display:flex}.permissives li.on{border-left-color:var(--ok);color:var(--text)}.permissives li:after{content:"no";font:11px var(--mono);color:var(--warn)}.permissives li.on:after{content:"yes";color:var(--ok)}.sfc li.on,.rungs li.on{border-left-color:var(--accent);background:var(--accent-soft);color:var(--text)}.sfc small{font:11px var(--mono);color:var(--text-3)}.rungs li{font:11px/1.35 var(--mono)}.matrix,.ring-links,.scan-phases{flex-wrap:wrap;gap:4px;margin:4px 0;display:flex}.matrix span,.ring-links span,.scan-phases span{border:1px solid var(--line-2);font:11px var(--mono);color:var(--text-3);border-radius:4px;padding:3px 7px}.matrix span.on{border-color:var(--ok);color:var(--ok)}.ring-links span.on{border-color:var(--packet);color:var(--packet)}.ring-links span:not(.on){border-style:dashed;border-color:var(--bad);color:var(--bad)}.scan-phases span{text-align:center;flex:1;display:grid}.scan-phases span.on{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.scan-phases small{color:var(--text-3)}.audit{border-collapse:collapse;width:100%;font:10.5px/1.3 var(--mono)}.audit th,.audit td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;color:var(--text-2);padding:3px 4px 3px 0}.audit th{color:var(--text-3);font-weight:500}.flow-steps{max-height:260px;overflow-y:auto}.flow-steps li.done button{color:var(--text-3)}.flow-steps li.now button{background:var(--accent-soft);color:var(--text)}.flow-steps li.now button:before{border-color:var(--accent);background:var(--accent);color:#04121c}.flow-legend-wrap{margin-top:8px;font-size:12px}.flow-legend-wrap summary{cursor:pointer;color:var(--text-2)}.flow-legend{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.flow-legend li{grid-template-columns:34px 1fr;align-items:center;gap:10px;display:grid}.flow-legend small{color:var(--text-3);display:block}body.flow-on .model-note{opacity:0}.flow-note{color:var(--text-3);margin:8px 0 0;font-size:11.5px}body.probing #scene{cursor:crosshair}.probe-card{z-index:30;border:1px solid var(--loop);border-radius:var(--radius-sm);background:var(--surface-solid);width:290px;box-shadow:var(--shadow);pointer-events:none;padding:10px 12px;font-size:12px;position:fixed}.probe-title{font:600 12px/1.3 var(--mono);color:var(--loop);margin:0 0 6px}.probe-rows{grid-template-columns:auto 1fr;gap:3px 10px;margin:0;display:grid}.probe-rows dt{color:var(--text-3)}.probe-rows dd{font:12px/1.35 var(--mono);color:var(--text-2);text-align:right;margin:0}.probe-rows dd.main{color:var(--text);font-size:15px;font-weight:500}.live-read .probe-rows{border:1px solid var(--line);border-radius:var(--radius-sm);background:#00000038;padding:10px 12px}.hmi-dialog{border:1px solid var(--line-2);border-radius:var(--radius);background:var(--surface-solid);width:min(960px,100vw - 32px,150vh - 163px);max-height:none;color:var(--text);padding:14px 16px;overflow:hidden}.hmi-dialog::backdrop{background:#0009}.hmi-dialog header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.hmi-dialog h2{font-size:15px}.hmi-dialog canvas{cursor:pointer;border-radius:6px;width:100%;height:auto;display:block}.hmi-dialog p{margin:8px 0 0;font-size:12px}.flow-card.fault-mode{border-color:#ff6a3d73}.flow-card.fault-mode .flow-head .eyebrow{color:#ff8a5c}.flow-card.fault-mode .flow-pick button[aria-checked=true]{color:var(--text);background:#ff6a3d24;border-color:#ff8a5c}.fault-four{margin:10px 0 4px}.fault-four dl{gap:6px;margin:0;display:grid}.fault-four dl>div{border-left:2px solid var(--line-2);background:var(--surface-2);border-radius:0 6px 6px 0;padding:7px 10px 8px}.fault-four dt{font:500 10.5px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin-bottom:2px}.fault-four dd{color:var(--text-2);margin:0;font-size:12.5px;line-height:1.45}.fault-four .ff-happens{border-left-color:#ff8a5c}.fault-four .ff-sees{border-left-color:var(--warn)}.fault-four .ff-recover{border-left-color:var(--ok)}.fault-four .ff-gmp{border-left-color:var(--accent)}.fault-four .lv-btns{margin-top:8px}@media (max-width:760px){.flow-card{max-height:46vh}.flow-card .flow-steps,.flow-card .flow-legend-wrap{display:none}.flow-live{font-size:11.5px}.probe-card{width:min(290px,100vw - 16px)}}@media (max-width:1180px){:root{--panel-w:344px}}@media (max-width:900px) and (min-width:761px){.model-note{font-size:11px}}@media (max-width:760px){:root{--topbar-h:54px;--sheet-peek:64px}.topbar{padding:0 10px}.brand-sub{display:none}.callout{gap:5px;padding:2px 8px 2px 2px;font-size:11px}.callout .co-num{width:17px;height:17px;font-size:10px}.brand-mark{width:28px;height:28px}.top-actions .btn span{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.top-actions .btn{justify-content:center;width:40px;padding:0}.breadcrumb-bar{max-width:calc(100vw - 16px);left:8px}.model-note{left:16px;top:calc(var(--topbar-h) + 30px);font-size:11px}.stops{width:100%}.stop{flex:1;justify-content:center;padding:0 4px;font-size:12.5px}.stop-n{display:none}.panel{width:auto;height:min(54vh,520px);padding-bottom:env(safe-area-inset-bottom);border-bottom:0;border-radius:18px 18px 0 0;top:auto;bottom:0;left:0;right:0}body.panel-collapsed .panel{transform:translateY(calc(100% - var(--sheet-peek)))}.panel-toggle{background:0 0;border:0;border-radius:0;width:120px;height:36px;margin-left:-60px;top:0;left:50%}.panel-toggle svg{display:none}.sheet-handle{pointer-events:none;background:#ffffff47;border-radius:4px;width:40px;height:4px;margin-left:-20px;display:block;position:absolute;top:9px;left:50%}.panel-body{padding:36px 18px 24px}.panel h2.title{font-size:21px}body.panel-collapsed .panel-body{overflow:hidden}.dock,body.panel-collapsed .dock{width:auto;left:8px;right:8px;bottom:calc(var(--sheet-peek) + 8px + env(safe-area-inset-bottom));border-radius:16px;flex-wrap:wrap;justify-content:space-between;gap:6px;padding:8px;transform:none}body:not(.panel-collapsed) .dock{display:none}.btn.explode{flex:110px;min-width:0}.slider-wrap{flex:160px;padding:0}.slider-wrap label{display:none}input[type=range]{flex:1;width:auto}.dock-group{border-left:0;border-top:1px solid var(--line);flex:100%;justify-content:space-around;padding:4px 0 0}.dock-group .btn span{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.dock-group .btn{justify-content:center;width:44px;padding:0}.browser{z-index:35;background:var(--surface-solid);border:0;border-radius:0;width:auto;top:0;bottom:0;left:0;right:0}.flow-card{width:auto;left:8px;right:8px;top:calc(var(--topbar-h) + 36px);max-height:40vh;padding:12px}.flow-card .flow-steps{display:none}.flow-card .flow-head{margin-bottom:8px}.flow-card .flow-summary{margin:8px 0;font-size:12.5px}.flow-card .flow-note{display:none}.flow-card .legend{grid-template-columns:1fr 1fr;gap:6px 10px;margin:0;padding:8px 10px;font-size:11.5px}.flow-card .legend li{grid-template-columns:26px 1fr;gap:6px}.flow-card .legend .swatch{width:26px}.flow-card .legend small,.flow-card .legend br{display:none}.tour,body.panel-collapsed .tour{width:auto;left:8px;right:8px;bottom:calc(var(--sheet-peek) + 128px + env(safe-area-inset-bottom));transform:none}.help-cols{grid-template-columns:1fr}.fallback{inset:var(--topbar-h) 0 var(--sheet-peek) 0}.hover-label{display:none}.detail-toast{left:8px;top:calc(var(--topbar-h) + 36px)}}@media (max-height:520px) and (max-width:960px){.brand-sub{display:none}.panel{height:80vh}.flow-card{max-height:50vh}}
