@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-greek-400-normal-_efipK4i.woff2)format("woff2"),url(./ibm-plex-sans-greek-400-normal-D9ESIMu3.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2)format("woff2"),url(./ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2)format("woff2"),url(./ibm-plex-sans-latin-ext-400-normal-RBey6euL.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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(./ibm-plex-sans-latin-400-normal-CYLoc0-x.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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-greek-500-normal-JMMifIXV.woff2)format("woff2"),url(./ibm-plex-sans-greek-500-normal-CuWXN6rf.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2)format("woff2"),url(./ibm-plex-sans-vietnamese-500-normal-BEb3_waV.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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2)format("woff2"),url(./ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(./ibm-plex-sans-latin-500-normal-BgVn5rGT.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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2)format("woff2"),url(./ibm-plex-sans-greek-600-normal-D-CqTdkO.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2)format("woff2"),url(./ibm-plex-sans-vietnamese-600-normal-DgdngZtN.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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2)format("woff2"),url(./ibm-plex-sans-latin-ext-600-normal-DIrixKbi.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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(./ibm-plex-sans-latin-600-normal-Cu4Hd6ag.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: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{--paper:#faf8f5;--surface:#fff;--surface-2:#fdf9f6;--ink:#1a1510;--ink-2:#5a4d3e;--ink-3:#8a7d6e;--line:#e8e0d8;--line-strong:#ccc3b8;--mask:#f97316;--mask-hover:#ea580c;--mask-tint:#fff7ed;--mask-deep:#c2410c;--gold:#d97706;--gold-tint:#fffbeb;--ok:#16a34a;--ok-tint:#f0fdf4;--warn:#9a5800;--warn-tint:#fcf1dd;--danger:#b42318;--danger-tint:#fdecea;--info:#2a5b88;--info-tint:#e8f0f8;--font:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--r-panel:10px;--r-control:8px;--sidebar:248px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--paper);color:var(--ink);font:400 15px/1.55 var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}h1,h2,h3,p{margin:0}a{color:var(--mask);text-underline-offset:2px}a:hover{color:var(--mask-hover)}kbd{border:1px solid var(--line-strong);background:var(--surface);border-bottom-width:2px;border-radius:4px;padding:0 5px;line-height:1.5;display:inline-block}code,kbd,.mono{font-family:var(--mono);font-size:.92em}:focus-visible{outline:2px solid var(--mask);outline-offset:2px}::selection{background:#cfe6d9}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.shell{grid-template-columns:var(--sidebar) 1fr;height:100%;display:grid}.sidebar{border-right:1px solid var(--line);background:var(--surface);flex-direction:column;min-height:0;display:flex}.brand{letter-spacing:-.01em;align-items:center;gap:10px;padding:18px 18px 14px;font-size:16px;font-weight:600;display:flex}.brand img{width:28px;height:28px}.nav{flex-direction:column;gap:2px;padding:6px 10px;display:flex;overflow-y:auto}.nav-item{border-radius:var(--r-control);color:var(--ink-2);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:11px;padding:8px 10px;font-size:14.5px;display:flex;position:relative}.nav-item:hover{background:var(--surface-2);color:var(--ink)}.nav-item[aria-current=page]{background:var(--mask-tint);color:var(--mask-deep);font-weight:500}.nav-item svg{flex:none}.nav-item .nav-pad{background:var(--gold);border-radius:2px;width:7px;height:7px;margin-left:auto}.sidebar-foot{border-top:1px solid var(--line);flex-direction:column;gap:10px;margin-top:auto;padding:12px;display:flex}.sidebar-prefs{justify-content:space-between;align-items:center;gap:8px;display:flex}.dock{border:1px solid var(--line);border-radius:var(--r-panel);background:var(--surface-2);flex-direction:column;gap:10px;padding:12px;display:flex}.dock-status{align-items:center;gap:10px;min-width:0;display:flex}.dock-status strong{font-size:14px;font-weight:600;line-height:1.3;display:block}.dock-status span{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;line-height:1.35;display:block;overflow:hidden}.led{background:#b9c3be;border-radius:50%;flex:none;width:10px;height:10px;box-shadow:inset 0 0 0 1px #0000001f}.led[data-on=ready]{background:#2fb36d;box-shadow:0 0 0 3px #2fb36d2e}.led[data-on=connecting]{background:var(--gold);animation:1s steps(2,start) infinite blink}.led[data-on=lost]{background:var(--danger)}@keyframes blink{to{visibility:hidden}}.main{flex-direction:column;min-width:0;min-height:0;display:flex;position:relative;overflow-y:auto}.page{flex-direction:column;gap:24px;width:100%;max-width:1120px;margin:0 auto;padding:32px 36px 64px;display:flex}.page-wide{max-width:none;height:100%;padding:0}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.page-head h1{letter-spacing:-.015em;font-size:28px;font-weight:600;line-height:1.2}.page-head p{color:var(--ink-2);max-width:68ch;margin-top:6px}.busybar{z-index:20;background:var(--surface);border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:10px 36px;display:flex;position:sticky;top:0}.busybar-text{flex:1;min-width:0}.busybar-text strong{font-size:14px;font-weight:500}.busybar-text span{color:var(--ink-3);margin-left:8px;font-size:13px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);padding:20px}.panel-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.panel h2,.h2{letter-spacing:-.005em;font-size:17px;font-weight:600;line-height:1.3}.muted{color:var(--ink-2)}.faint{color:var(--ink-3)}.small{font-size:13px}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.stack{flex-direction:column;gap:12px;display:flex}.grid-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;display:grid}.grid-main-side{grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);align-items:start;gap:20px;display:grid}.spacer{flex:1}.btn{border-radius:var(--r-control);border:1px solid var(--line-strong);background:var(--surface);height:36px;color:var(--ink);font:inherit;white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:14px;font-weight:500;text-decoration:none;transition:background-color .12s,border-color .12s;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2);color:var(--ink);border-color:#aab5af}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--mask);border-color:var(--mask);color:#fff}.btn-primary:hover:not(:disabled){background:var(--mask-hover);border-color:var(--mask-hover);color:#fff}.btn-danger{color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger-tint);color:var(--danger);border-color:#e7b4ae}.btn-ghost{color:var(--ink-2);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--surface-2);border-color:#0000}.btn-sm{gap:6px;height:30px;padding:0 10px;font-size:13px}.btn-lg{height:46px;padding:0 20px;font-size:15.5px}.btn-icon{width:32px;padding:0}.btn-block{width:100%}.linkbtn{color:var(--mask);font:inherit;cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline}.seg{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-control);gap:2px;padding:3px;display:inline-flex}.seg button{font:inherit;color:var(--ink-2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:6px;padding:4px 10px;font-size:13px;font-weight:500}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 0 0 1px var(--line-strong)}.seg-lg button{padding:6px 14px;font-size:14px}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field>label,.field-label{color:var(--ink-2);font-size:13px;font-weight:500}.field .hint{color:var(--ink-3);font-size:12.5px}.input,.select{border:1px solid var(--line-strong);border-radius:var(--r-control);background:var(--surface);height:36px;color:var(--ink);font:inherit;min-width:0;padding:0 10px;font-size:14px}.input.mono{font-family:var(--mono);font-size:13.5px}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%234d5a54' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:28px}.input:focus,.select:focus{outline:2px solid var(--mask);outline-offset:-1px;border-color:var(--mask)}.check{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.check input{width:16px;height:16px;accent-color:var(--mask);flex:none;margin:3px 0 0}.check strong{font-weight:500;display:block}.badge{background:var(--surface-2);height:22px;color:var(--ink-2);border:1px solid var(--line);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:0 8px;font-size:12px;font-weight:500;display:inline-flex}.badge-ok{background:var(--ok-tint);color:var(--ok);border-color:#0000}.badge-warn{background:var(--warn-tint);color:var(--warn);border-color:#0000}.badge-danger{background:var(--danger-tint);color:var(--danger);border-color:#0000}.badge-gold{background:var(--gold-tint);color:#7a5a06;border-color:#0000}.callout{border-radius:var(--r-control);background:var(--info-tint);color:var(--ink);align-items:flex-start;gap:12px;padding:12px 14px;font-size:14px;display:flex}.callout svg{color:var(--info);flex:none;margin-top:2px}.callout strong{margin-bottom:2px;font-weight:600;display:block}.callout-warn{background:var(--warn-tint)}.callout-warn svg{color:var(--warn)}.callout-danger{background:var(--danger-tint)}.callout-danger svg{color:var(--danger)}.callout-ok{background:var(--ok-tint)}.callout-ok svg{color:var(--ok)}.progress{background:var(--line);border-radius:999px;flex:1;min-width:80px;height:6px;overflow:hidden}.progress>div{background:var(--mask);border-radius:inherit;height:100%;transition:width .2s linear}.progress[data-indeterminate=true]>div{animation:1.1s ease-in-out infinite slide;width:35%!important}@keyframes slide{0%{transform:translate(-100%)}to{transform:translate(300%)}}.progress-lg{height:10px}.specs{grid-template-columns:max-content 1fr;gap:0 20px;margin:0;display:grid}.specs dt,.specs dd{border-top:1px solid var(--line);margin:0;padding:9px 0}.specs dt{color:var(--ink-2);font-size:14px}.specs dd{overflow-wrap:anywhere;min-width:0;font-weight:500}.specs dt:first-of-type,.specs dd:first-of-type{border-top:0}.specs dd .sub{color:var(--ink-3);font-size:13px;font-weight:400;display:block}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:left;color:var(--ink-3);border-bottom:1px solid var(--line);padding:6px 10px;font-size:12.5px;font-weight:500}.table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:9px 10px}.table tr:last-child td{border-bottom:0}.table .num{font-family:var(--mono);white-space:nowrap;font-size:13px}.hero{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:40px;padding:28px 0 8px;display:grid}.hero h1{letter-spacing:-.025em;max-width:14ch;font-size:40px;font-weight:600;line-height:1.08}.hero p{color:var(--ink-2);max-width:46ch;margin-top:14px;font-size:16.5px}.hero-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:26px;display:flex}.hero-sub{margin-top:14px;font-size:13.5px}.steps{border:1px solid var(--line);border-radius:var(--r-panel);background:var(--surface);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid;overflow:hidden}.step{border-left:1px solid var(--line);grid-template-columns:30px 1fr;column-gap:12px;padding:18px 20px;display:grid}.step:first-child{border-left:0}.step-num{border:1.5px solid var(--gold);color:#7a5a06;width:26px;height:26px;font-size:13px;font-weight:600;font-family:var(--mono);border-radius:50%;place-items:center;display:grid}.step h3{margin-bottom:4px;font-size:15px;font-weight:600}.step p{color:var(--ink-2);font-size:14px}.board-stage{background:var(--surface);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:16px;padding:26px 26px 18px;display:flex}.board-stage-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.board-stage-head h1{letter-spacing:-.02em;font-size:30px;font-weight:600;line-height:1.15}.board-stage-head p{color:var(--ink-2);margin-top:4px}.pcb{width:100%;height:auto;max-height:260px;display:block}.pcb-led-on{animation:.9s ease-out both led-in}@keyframes led-in{0%{opacity:0}40%{opacity:1}55%{opacity:.35}to{opacity:1}}.next-list{flex-direction:column;display:flex}.next-item{border:0;border-top:1px solid var(--line);text-align:left;font:inherit;color:inherit;cursor:pointer;background:0 0;grid-template-columns:36px 1fr 16px;align-items:center;gap:12px;padding:12px 4px;display:grid}.next-item:first-child{border-top:0}.next-item:hover strong{color:var(--mask)}.next-item .icon-tile{background:var(--mask-tint);width:36px;height:36px;color:var(--mask);border-radius:8px;place-items:center;display:grid}.next-item strong{font-size:14.5px;font-weight:600;display:block}.next-item span{color:var(--ink-2);font-size:13.5px;display:block}.next-item[data-primary=true] .icon-tile{background:var(--mask);color:#fff}.fmap{border:1px solid var(--line-strong);background:repeating-linear-gradient(135deg, var(--surface-2) 0 6px, #eef1ef 6px 12px);border-radius:8px;height:44px;display:flex;overflow:hidden}.fmap-seg{color:#fff;white-space:nowrap;border-right:1px solid #ffffffb3;align-items:flex-end;min-width:3px;padding:4px 6px;font-size:11.5px;line-height:1.1;display:flex;position:relative;overflow:hidden}.fmap-seg[data-kind=system]{background:#8b9a93}.fmap-seg[data-kind=app]{background:var(--mask)}.fmap-seg[data-kind=app-idle]{background:#5f9c84}.fmap-seg[data-kind=data]{background:#2a5b88}.fmap-seg[data-kind=fs]{background:#b47b16}.fmap-legend{color:var(--ink-2);flex-wrap:wrap;gap:6px 14px;margin-top:10px;font-size:13px;display:flex}.fmap-legend i{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:6px;display:inline-block}.checks{flex-direction:column;display:flex}.check-row{border-top:1px solid var(--line);grid-template-columns:24px minmax(160px,220px) 1fr;align-items:start;gap:14px;padding:13px 4px;display:grid}.check-row:first-child{border-top:0}.check-row .title{font-weight:500}.check-row .result{color:var(--ink-2);font-size:14px}.check-row .fix{color:var(--ink);background:var(--surface-2);border-left:3px solid var(--gold);border-radius:0 6px 6px 0;margin-top:6px;padding:8px 10px;font-size:13.5px}.status-ok{color:var(--ok)}.status-warn{color:var(--warn)}.status-fail{color:var(--danger)}.status-skip{color:var(--ink-3)}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.summary{align-items:center;gap:12px;font-size:17px;font-weight:600;display:flex}.section-step{grid-template-columns:30px 1fr;gap:14px;display:grid}.section-step>.step-num{margin-top:2px}.fw-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.fw-card{text-align:left;border:1.5px solid var(--line);border-radius:var(--r-panel);background:var(--surface);cursor:pointer;font:inherit;color:inherit;flex-direction:column;gap:8px;padding:16px 16px 14px;display:flex}.fw-card:hover{border-color:var(--line-strong)}.fw-card[aria-pressed=true]{border-color:var(--mask);box-shadow:0 0 0 3px var(--mask-tint)}.fw-card h3{align-items:center;gap:8px;font-size:16.5px;font-weight:600;display:flex}.fw-card p{color:var(--ink-2);font-size:13.5px}.dropzone{border:1.5px dashed var(--line-strong);border-radius:var(--r-panel);text-align:center;background:var(--surface-2);cursor:pointer;color:var(--ink-2);flex-direction:column;align-items:center;gap:6px;padding:26px;display:flex}.dropzone[data-over=true]{border-color:var(--mask);background:var(--mask-tint)}.dropzone strong{color:var(--ink);font-weight:600}.file-row{border-top:1px solid var(--line);grid-template-columns:1fr auto;gap:8px 14px;padding:12px 0;display:grid}.file-row:first-child{border-top:0}.stages{flex-wrap:wrap;gap:0;margin:4px 0 12px;display:flex}.stage{color:var(--ink-3);align-items:center;gap:6px;padding-right:14px;font-size:13px;display:flex}.stage:after{content:"";background:var(--line-strong);width:18px;height:1px;margin-left:8px}.stage:last-child:after{display:none}.stage[data-state=active]{color:var(--ink);font-weight:500}.stage[data-state=done]{color:var(--ok)}.ide{grid-template-rows:auto 1fr;height:100%;min-height:0;display:grid}.ide-toolbar{border-bottom:1px solid var(--line);background:var(--surface);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 16px;display:flex}.ide-body{grid-template-columns:260px minmax(0,1fr);min-height:0;display:grid}.ide-side{border-right:1px solid var(--line);background:var(--surface-2);flex-direction:column;min-height:0;display:flex;overflow-y:auto}.ide-side-head{color:var(--ink-2);align-items:center;gap:4px;padding:10px 10px 6px 14px;font-size:13px;font-weight:600;display:flex}.ide-main{grid-template-rows:minmax(0, 1fr) 6px var(--console-h,240px);min-width:0;min-height:0;display:grid}.ide-editor{background:var(--surface);flex-direction:column;min-height:0;display:flex;overflow:hidden}.ide-filebar{border-bottom:1px solid var(--line);color:var(--ink-2);align-items:center;gap:8px;min-height:36px;padding:6px 14px;font-size:13px;display:flex}.ide-filebar .dirty{background:var(--gold);border-radius:50%;width:8px;height:8px}.ide-editor .cm-editor{flex:1;min-height:0}.ide-resizer{cursor:row-resize;background:var(--line);border-top:1px solid var(--line-strong)}.ide-resizer:hover{background:var(--line-strong)}.ide-console{background:#fbfcfb;flex-direction:column;min-height:0;display:flex}.ide-console-head{border-bottom:1px solid var(--line);color:var(--ink-2);align-items:center;gap:6px;min-height:34px;padding:4px 10px 4px 14px;font-size:13px;display:flex}.term{flex:1;min-height:0;padding:6px 4px 6px 12px}.term .xterm{height:100%}.term .xterm-viewport{background:0 0!important}.files{margin:0;padding:0 6px 10px;list-style:none}.file{cursor:pointer;color:var(--ink);border-radius:6px;align-items:center;gap:8px;padding:5px 8px;font-size:13.5px;display:flex}.file:hover{background:var(--line)}.file[aria-current=true]{background:var(--mask-tint);color:var(--mask-deep)}.file .name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.file .size{font-family:var(--mono);color:var(--ink-3);font-size:11.5px}.file .actions{gap:2px;display:none}.file:hover .actions,.file:focus-within .actions{display:flex}.file:hover .size{display:none}.mini-btn{color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;padding:3px;display:grid}.mini-btn:hover{background:var(--surface);color:var(--ink)}.side-note{color:var(--ink-2);margin:10px 14px;font-size:13px}.monitor{flex:1;grid-template-columns:minmax(0,1fr) 300px;gap:20px;min-height:0;display:grid}.monitor-term{border:1px solid var(--line);border-radius:var(--r-panel);background:#fbfcfb;flex-direction:column;height:calc(100vh - 260px);min-height:460px;display:flex}.monitor-input{border-top:1px solid var(--line);gap:8px;padding:10px;display:flex}.insight{border-top:1px solid var(--line);grid-template-columns:20px 1fr;gap:10px;padding:12px 0;display:grid}.insight:first-child{border-top:0}.insight strong{font-size:14px;font-weight:600;display:block}.insight p{color:var(--ink-2);margin-top:2px;font-size:13.5px}.guide{border-top:1px solid var(--line)}.guide:first-child{border-top:0}.guide summary{cursor:pointer;align-items:center;gap:12px;padding:16px 4px;font-size:16px;font-weight:600;list-style:none;display:flex}.guide summary::-webkit-details-marker{display:none}.guide summary .chev{color:var(--ink-3);margin-left:auto;transition:transform .15s}.guide[open] summary .chev{transform:rotate(90deg)}.guide-body{color:var(--ink);max-width:76ch;padding:0 4px 20px}.guide-body p+p,.guide-body p+ul,.guide-body ul+p,.guide-body ol+p,.guide-body p+ol{margin-top:10px}.guide-body ul,.guide-body ol{margin:8px 0 0;padding-left:20px}.guide-body li+li{margin-top:4px}.guide-body h4{margin:16px 0 4px;font-size:14.5px}.compare{border-collapse:collapse;width:100%;margin-top:10px;font-size:14px}.compare th,.compare td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 10px}.compare th{background:var(--surface-2);font-weight:600}dialog.modal{border:1px solid var(--line);width:min(480px,100vw - 32px);color:var(--ink);border-radius:12px;padding:0;box-shadow:0 24px 60px #17201c38}dialog.modal::backdrop{background:#17201c59}.modal-body{padding:22px 22px 8px}.modal-body h2{margin-bottom:8px;font-size:18px;font-weight:600}.modal-body p{color:var(--ink-2)}.modal-foot{justify-content:flex-end;gap:8px;padding:16px 22px 20px;display:flex}.toasts{z-index:100;flex-direction:column;gap:8px;max-width:min(420px,100vw - 40px);display:flex;position:fixed;bottom:20px;right:20px}.toast{background:var(--ink);color:#fff;border-radius:10px;align-items:flex-start;gap:10px;padding:11px 14px;font-size:14px;display:flex;box-shadow:0 10px 30px #17201c40}.toast[data-kind=error]{background:#7f1d16}.toast button{color:inherit;opacity:.7;cursor:pointer;background:0 0;border:0;margin-left:auto;padding:0}.logbox{font-family:var(--mono);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-control);white-space:pre-wrap;max-height:240px;color:var(--ink-2);padding:10px 12px;font-size:12.5px;overflow:auto}.logbox .err{color:var(--danger)}details.disclose summary{cursor:pointer;color:var(--ink-2);font-size:13.5px}@media (max-width:1080px){.grid-main-side,.hero,.monitor{grid-template-columns:minmax(0,1fr)}.hero h1{max-width:none}}@media (max-width:860px){.shell{grid-template-rows:auto 1fr;grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line)}.nav{flex-direction:row;padding:0 10px 8px;overflow-x:auto}.nav-item{flex:none}.nav-item .nav-pad{display:none}.sidebar-foot{border-top:0;flex-flow:wrap;align-items:center;padding-top:0}.dock{flex-direction:row;flex:1;align-items:center;padding:8px 10px}.page{padding:20px 16px 48px}.busybar{padding:10px 16px}.steps,.grid-2,.fw-cards{grid-template-columns:minmax(0,1fr)}.step{border-left:0;border-top:1px solid var(--line)}.step:first-child{border-top:0}.hero h1{font-size:32px}.ide-body{grid-template-columns:1fr}.ide-side{border-right:0;border-bottom:1px solid var(--line);max-height:180px}.check-row{grid-template-columns:24px 1fr}.check-row>div:last-child{grid-column:2}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
