@font-face{font-family:Saira;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/saira-vietnamese-400-normal-BDft9Aer.woff2) format("woff2"),url(/assets/saira-vietnamese-400-normal-BxJNjdQK.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Saira;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/saira-latin-ext-400-normal-BJFFSgrL.woff2) format("woff2"),url(/assets/saira-latin-ext-400-normal-FApn06KW.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Saira;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/saira-latin-400-normal-6Q3FbzbH.woff2) format("woff2"),url(/assets/saira-latin-400-normal-Du12DsUY.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Saira;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/saira-vietnamese-600-normal-D5gszP3k.woff2) format("woff2"),url(/assets/saira-vietnamese-600-normal-BXtbQ9YO.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Saira;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/saira-latin-ext-600-normal-BDLPjVgT.woff2) format("woff2"),url(/assets/saira-latin-ext-600-normal-DVm3eXEL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Saira;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/saira-latin-600-normal-DYxBFP1f.woff2) format("woff2"),url(/assets/saira-latin-600-normal-DF-o6wW3.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Saira Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/saira-condensed-vietnamese-700-normal-DTNtv3pg.woff2) format("woff2"),url(/assets/saira-condensed-vietnamese-700-normal-C4pgqYLY.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Saira Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/saira-condensed-latin-ext-700-normal-rfs_OqX7.woff2) format("woff2"),url(/assets/saira-condensed-latin-ext-700-normal-DPP8JZfq.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Saira Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/saira-condensed-latin-700-normal-BpDqMSKw.woff2) format("woff2"),url(/assets/saira-condensed-latin-700-normal-Br1WwvhS.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Saira Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/saira-condensed-vietnamese-800-normal-Hyzchbuc.woff2) format("woff2"),url(/assets/saira-condensed-vietnamese-800-normal-CaxTnp2e.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Saira Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/saira-condensed-latin-ext-800-normal-0vZpt5oJ.woff2) format("woff2"),url(/assets/saira-condensed-latin-ext-800-normal-CGIp6uZ0.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Saira Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/saira-condensed-latin-800-normal-Pyk8ZVcZ.woff2) format("woff2"),url(/assets/saira-condensed-latin-800-normal-DACapFM9.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-ext-400-normal-C_uLvvQ5.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-ext-400-normal-Bh0R7Dhr.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2) format("woff2"),url(/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-vietnamese-400-normal-ByoDsISC.woff2) format("woff2"),url(/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-cyrillic-ext-700-normal-D6iG63UR.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-ext-700-normal-iEXTdOVf.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-cyrillic-700-normal-BWTpRfYl.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-700-normal-CEoEElIJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-greek-700-normal-C6CZE3T8.woff2) format("woff2"),url(/assets/jetbrains-mono-greek-700-normal-DEigVDxa.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-vietnamese-700-normal-k5PzE07T.woff2) format("woff2"),url(/assets/jetbrains-mono-vietnamese-700-normal-BDLVIk2r.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-ext-700-normal-CZipNAKV.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-ext-700-normal-CxPITLHs.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-700-normal-BYuf6tUa.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-700-normal-D3wTyLJW.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--carbon: #0a0a0b;--ink: #141416;--surface: #1c1c1f;--line: #34343a;--stone: #8a857c;--stone-2: #bfb9ae;--amber: #ffb627;--steel: #4f7396;--signal: #e5482f;--white: #f4f1ea;--font-display: "Saira Condensed", system-ui, sans-serif;--font-body: "Saira", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;background:var(--carbon);color:var(--stone-2);font-family:var(--font-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--amber);outline-offset:2px}::selection{background:var(--amber);color:var(--carbon)}.display{font-family:var(--font-display);font-weight:800;text-transform:uppercase;letter-spacing:.01em;line-height:.95;color:var(--white);margin:0}.kicker{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--stone)}.mono{font-family:var(--font-mono)}.muted{color:var(--stone)}.amber{color:var(--amber)}.signal{color:var(--signal)}.topbar{display:flex;align-items:center;gap:16px;padding:14px 24px;border-bottom:1px solid var(--line);background:var(--ink);position:sticky;top:0;z-index:5}.topbar .spacer{flex:1}.logo{display:inline-flex;align-items:center;gap:12px;color:var(--white)}.logo svg{display:block}.wordmark{font-family:var(--font-display);font-weight:800;font-size:22px;letter-spacing:.02em;text-transform:uppercase;line-height:1}.tabs{display:flex;gap:0;border:1px solid var(--line)}.tabs button{background:transparent;border:0;padding:6px 14px;font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--stone);cursor:pointer}.tabs button[aria-selected=true]{background:var(--surface);color:var(--amber)}.link-state{font-family:var(--font-mono);font-size:12px;color:var(--stone)}.link-state .dot{display:inline-block;width:8px;height:8px;margin-right:6px;background:var(--stone)}.link-state.up .dot{background:var(--amber)}main{max-width:1040px;margin:0 auto;padding:24px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 18px;border:1px solid var(--line);background:var(--surface);color:var(--white);font-family:var(--font-display);font-weight:700;font-size:16px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border-radius:0}.btn:hover:not(:disabled){border-color:var(--stone)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.primary{background:var(--amber);border-color:var(--amber);color:var(--carbon)}.btn.primary:hover:not(:disabled){background:#ffc450}.btn.danger{border-color:var(--signal);color:var(--signal);background:transparent}.btn.big{min-height:64px;padding:16px 40px;font-size:24px}.btn.small{min-height:30px;padding:4px 10px;font-size:13px}.connect{position:relative;min-height:calc(100vh - 114px);display:flex;align-items:center;justify-content:center}.contours{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;opacity:.8;z-index:0}.connect-card{position:relative;z-index:1;width:100%;max-width:560px;min-width:0;padding:40px 0;text-align:left}.connect-card .display{font-size:clamp(40px,9vw,72px);margin:12px 0 16px}.connect-card p{margin:0 0 28px;color:var(--stone-2)}.connect-card .notice{margin-top:24px;padding:12px 14px;border:1px solid var(--line);background:var(--ink);font-size:14px}.connect-card .notice.error{border-color:var(--signal);color:var(--white)}.device-head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:24px;margin-bottom:24px}.device-head .display{font-size:clamp(36px,7vw,56px)}.device-head .ids{display:flex;flex-direction:column;gap:2px}.steps{display:flex;flex-direction:column;gap:12px}.panel{background:var(--ink);border:1px solid var(--line)}.panel-head{display:flex;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid var(--line)}.panel-head .num{font-family:var(--font-mono);font-size:12px;color:var(--stone);width:22px}.panel-head h2{font-family:var(--font-display);font-weight:800;font-size:20px;letter-spacing:.03em;text-transform:uppercase;color:var(--white);margin:0;flex:1}.tick{width:26px;height:26px;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;flex:none}.tick.on{background:var(--amber);border-color:var(--amber)}.tick svg{display:none}.tick.on svg{display:block}.panel-body{padding:16px 18px 18px}.row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.row+.row{margin-top:12px}.kv{display:grid;grid-template-columns:max-content 1fr;gap:4px 18px;font-size:14px}.kv dt{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--stone);padding-top:3px}.kv dd{margin:0;font-family:var(--font-mono);color:var(--white);overflow-wrap:anywhere}input[type=text],select{background:var(--carbon);border:1px solid var(--line);padding:8px 10px;min-height:40px;border-radius:0;min-width:0}input[type=text]:focus,select:focus{border-color:var(--amber);outline:none}input.mono{font-family:var(--font-mono)}.pin-big{font-family:var(--font-mono);font-size:clamp(32px,7vw,48px);font-weight:700;letter-spacing:.18em;color:var(--amber)}.mfr-big{font-family:var(--font-mono);font-weight:700;font-size:clamp(36px,8vw,56px);letter-spacing:.08em;color:var(--white);line-height:1}.msg{font-size:14px;margin-top:10px}.msg.error{color:var(--signal)}.test-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px}.test-list li{display:flex;gap:10px;align-items:baseline;padding:6px 10px;background:var(--surface);font-family:var(--font-mono);font-size:13px}.test-list .res{font-weight:700;width:40px}.test-list .res.PASS{color:var(--amber)}.test-list .res.FAIL{color:var(--signal)}.test-list .res.SKIP{color:var(--stone)}.test-list .detail{color:var(--stone);overflow-wrap:anywhere}.verdict{font-family:var(--font-display);font-weight:800;font-size:44px;line-height:1;letter-spacing:.04em}.verdict.PASS{color:var(--amber)}.verdict.FAIL{color:var(--signal)}.bar{height:8px;background:var(--surface);border:1px solid var(--line);width:100%}.bar>div{height:100%;background:var(--amber);width:0;transition:width .2s linear}.stages{display:flex;gap:18px;font-family:var(--font-mono);font-size:12px;letter-spacing:.1em}.stages span.done{color:var(--amber)}.seal-panel.ready{border-color:var(--amber)}.check{display:inline-flex;align-items:center;gap:10px;cursor:pointer}.check input{width:18px;height:18px;accent-color:var(--amber)}dialog{background:var(--ink);color:var(--stone-2);border:1px solid var(--line);padding:24px;max-width:min(480px,calc(100vw - 32px));border-radius:0}dialog.danger{border-color:var(--signal)}dialog::backdrop{background:#0a0a0bcc}dialog h3{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:24px;color:var(--white);margin:0 0 12px}dialog .row{margin-top:20px;justify-content:flex-end}.console{display:flex;flex-direction:column;height:calc(100vh - 114px);min-height:360px}.console-tools{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.console-tools input{flex:1;min-width:140px}.console-log{flex:1;overflow:auto;background:var(--ink);border:1px solid var(--line);font-family:var(--font-mono);font-size:12px;line-height:1.55;padding:8px 10px;white-space:pre-wrap;overflow-wrap:anywhere}.console-log .ln{display:block}.console-log .t{color:var(--stone)}.console-log .tx{color:var(--amber)}.console-log .rx{color:var(--stone-2)}.console-log .rx.err{color:var(--signal)}.console-log .rx.evt{color:var(--steel)}.console-log .note{color:var(--stone);font-style:italic}.console-input{display:flex;gap:8px;margin-top:10px}.console-input input{flex:1;font-family:var(--font-mono)}.hidden{display:none!important}@media(max-width:640px){.topbar{padding:12px 16px;gap:10px}.link-state .label{display:none}.tabs button{padding:6px 10px}.connect-card{padding:24px 0}main{padding:16px}.wordmark{font-size:18px}.kv{grid-template-columns:1fr}.kv dd{margin-bottom:6px}}@media(prefers-reduced-motion:reduce){*{transition-duration:.001ms!important}}
