@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/static/web/assets/archivo-vietnamese-wdth-normal-rJmnGBSt.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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/static/web/assets/archivo-latin-ext-wdth-normal-7khWdh9v.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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/static/web/assets/archivo-latin-wdth-normal-DY7AcnAa.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:Cascadia Code Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(/static/web/assets/cascadia-code-arabic-wght-normal-BxRhwSzF.woff2)format("woff2-variations");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Cascadia Code Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(/static/web/assets/cascadia-code-braille-wght-normal-Cj7wfYns.woff2)format("woff2-variations");unicode-range:U+28??}@font-face{font-family:Cascadia Code Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(/static/web/assets/cascadia-code-cyrillic-ext-wght-normal-Bq2rGQtZ.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:Cascadia Code Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(/static/web/assets/cascadia-code-cyrillic-wght-normal-DC72kP-V.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cascadia Code Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(/static/web/assets/cascadia-code-greek-wght-normal-DmKacV-0.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:Cascadia Code Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(/static/web/assets/cascadia-code-hebrew-wght-normal-CYieC9BD.woff2)format("woff2-variations");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Cascadia Code Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(/static/web/assets/cascadia-code-symbols2-wght-normal-o0G5EPJ1.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Cascadia Code Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(/static/web/assets/cascadia-code-vietnamese-wght-normal-DXbdGs8p.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:Cascadia Code Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(/static/web/assets/cascadia-code-latin-ext-wght-normal-CeKCfnVW.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:Cascadia Code Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(/static/web/assets/cascadia-code-latin-wght-normal-CCwG33-X.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}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0c0f15;--surface:#111725;--surface-deep:#0e131d;--surface-raised:#18202e;--border:#2a3346;--border-strong:#3d4a68;--ink:#e8edf4;--ink-dim:#8a94a6;--ink-faint:#66738c;--amber:#f59e0b;--amber-strong:#ffb224;--amber-glow:#f59e0b59;--amber-soft:#f59e0b1f;--on-amber:#201503;--ok:#3ecf8e;--ok-soft:#3ecf8e24;--warn:#eac54f;--warn-soft:#eac54f24;--err:#f16a6f;--err-soft:#f16a6f24;--info:#6ca5e0;--font-sans:"Archivo Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Cascadia Code Variable", ui-monospace, "Cascadia Code", Consolas, monospace;--stretch-display:112%;--w-max:1120px;--gutter:clamp(16px, 4vw, 40px);--radius:12px;--radius-sm:8px;--topbar-h:56px;--ease:cubic-bezier(.2, .8, .3, 1);--t-fast:.15s}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;height:100%}body{background:var(--bg);min-height:100%;color:var(--ink);font:400 15px/1.5 var(--font-sans);font-variation-settings:"wdth" 100;-webkit-font-smoothing:antialiased;margin:0}a{color:var(--amber);text-decoration:none}a:hover{color:var(--amber-strong)}:focus-visible{outline:2px solid var(--amber);outline-offset:2px;border-radius:4px}::selection{background:var(--amber-glow);color:var(--ink)}code,pre,.mono{font-family:var(--font-mono);font-size:.92em}.h1,.h2{font-weight:800;font-stretch:var(--stretch-display);font-variation-settings:"wdth" 112;letter-spacing:-.025em;margin:0 0 8px;line-height:1.1}.h1{font-size:clamp(26px,3.2vw,34px)}.h2{font-size:20px}.lead{color:var(--ink-dim);max-width:60ch;margin:0 0 20px;font-size:15px}.muted{color:var(--ink-dim)}.small{font-size:13px}.nowrap{white-space:nowrap}.eyebrow{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--amber);align-items:center;gap:10px;margin:0 0 6px;font-size:11px;display:inline-flex}.eyebrow:before{content:"";background:var(--amber);border-radius:1px;width:22px;height:2px}.topbar{z-index:10;height:var(--topbar-h);padding:0 var(--gutter);background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);align-items:center;gap:28px;display:flex;position:sticky;top:0}.brand{color:var(--ink);align-items:center;gap:10px;display:inline-flex}.brand:hover{color:var(--ink)}.brand-glyph{flex:none;width:28px;height:28px}.brand-name{letter-spacing:-.01em;font-weight:500}.brand-name strong{font-variation-settings:"wdth" 112;font-weight:800}.nav{gap:4px;display:flex}.nav a{border-radius:var(--radius-sm);color:var(--ink-dim);padding:6px 12px;font-size:14px;font-weight:500}.nav a:hover{color:var(--ink);background:var(--surface)}.nav a.is-active{color:var(--ink);background:var(--surface);box-shadow:inset 0 -2px 0 var(--amber)}.user{align-items:center;gap:12px;margin-left:auto;display:flex}.user-email{color:var(--ink-dim);font-size:13px}.main{width:min(var(--w-max), 100% - 2 * var(--gutter));margin:0 auto;padding:32px 0 64px}.main-narrow{width:min(520px, 100% - 2 * var(--gutter));padding-top:clamp(32px,8vh,96px)}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px;display:flex}@media (width<=640px){.topbar{gap:14px}.user-email{display:none}.nav a{padding:6px 9px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(20px,4vw,32px)}.card-login{position:relative;overflow:hidden}.card-login:before{content:"";background:linear-gradient(90deg, var(--amber), transparent 70%);height:2px;position:absolute;inset:0 0 auto}.form{gap:16px;margin-top:20px;display:grid}.form-inline{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.inline-form{margin-top:16px;display:inline}.field{gap:6px;display:grid}.label{color:var(--ink-dim);font-size:13px;font-weight:500}.hint{color:var(--ink-faint);margin-top:2px;font-weight:400;display:block}.input{background:var(--surface-deep);width:100%;min-width:0;color:var(--ink);border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;transition:border-color var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);padding:10px 12px}.input:focus{border-color:var(--amber);box-shadow:0 0 0 3px var(--amber-soft);outline:none}.input-sm{padding:6px 10px;font-size:13px}.input-code{font-family:var(--font-mono);letter-spacing:.18em;text-align:center;font-size:20px}.form-inline .input{flex:240px;width:auto}.btn{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--ink);font:inherit;cursor:pointer;white-space:nowrap;transition:background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);justify-content:center;align-items:center;gap:6px;padding:9px 14px;font-size:14px;font-weight:500;line-height:1.2;display:inline-flex}.btn:hover{border-color:var(--ink-faint)}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--amber);border-color:var(--amber);color:var(--on-amber);font-weight:600}.btn-primary:hover{background:var(--amber-strong);border-color:var(--amber-strong);color:var(--on-amber)}.btn-ghost{color:var(--ink-dim);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-raised);color:var(--ink);border-color:#0000}.btn-danger{border-color:var(--err);color:var(--err);background:0 0}.btn-danger:hover{background:var(--err-soft);border-color:var(--err)}.btn-sm{padding:5px 10px;font-size:13px}.btn-lg{padding:12px 18px;font-size:15px}.btn[hidden]{display:none}.alert{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-deep);margin:0 0 16px;padding:10px 14px;font-size:14px}.alert-error{border-color:var(--err);background:var(--err-soft);color:var(--ink)}.badge{border:1px solid var(--border);background:var(--surface-deep);font-family:var(--font-mono);letter-spacing:.02em;color:var(--ink-dim);border-radius:999px;align-items:center;padding:2px 8px;font-size:11.5px;display:inline-flex}.badge-ok{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 40%, transparent);background:var(--ok-soft)}.badge-off{color:var(--ink-faint)}.badge-warn{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 40%, transparent);background:var(--warn-soft)}.details summary{cursor:pointer;color:var(--ink-dim);margin-top:4px;font-size:13px}.details[open] summary{margin-bottom:8px}.qr-wrap{flex-wrap:wrap;align-items:center;gap:24px;margin:8px 0;display:flex}.qr{border-radius:var(--radius-sm);background:#fff;flex:none;width:184px;height:184px;padding:8px}.qr svg{width:100%;height:100%;display:block}.qr-side{flex:200px;min-width:0}.secret{word-break:break-all;background:var(--surface-deep);border:1px dashed var(--border-strong);border-radius:var(--radius-sm);letter-spacing:.08em;padding:8px 10px;font-size:13px;display:block}.codes{background:var(--surface-deep);border:1px solid var(--border);border-radius:var(--radius-sm);letter-spacing:.06em;grid-template-columns:repeat(2,1fr);gap:8px 24px;margin:20px 0 28px;padding:16px 20px 16px 40px;font-size:15px;display:grid}.codes li::marker{color:var(--ink-faint);font-family:var(--font-mono);font-size:12px}.codeblock{background:var(--surface-deep);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--ink);margin:0 0 16px;padding:14px 16px;font-size:13.5px;overflow-x:auto}.codeblock code:before{content:"$ ";color:var(--amber)}.code-big{text-align:center;letter-spacing:.12em;color:var(--amber);background:var(--amber-soft);border:1px solid color-mix(in srgb, var(--amber) 35%, transparent);border-radius:var(--radius);margin:20px 0 24px;padding:18px;font-size:clamp(26px,6vw,40px);font-weight:600}.empty{text-align:center;border:1px dashed var(--border-strong);border-radius:var(--radius);padding:48px 24px}.empty .muted{max-width:46ch;margin:8px auto 0}.machine-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.machine{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--t-fast) var(--ease);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:14px 18px;display:grid}.machine:hover{border-color:var(--border-strong)}.machine-main{align-items:center;gap:14px;min-width:0;display:flex}.machine-id{gap:2px;min-width:0;display:grid}.machine-name{color:var(--ink);letter-spacing:-.01em;font-size:16px;font-weight:600}.machine-name:hover{color:var(--amber-strong)}.machine-meta{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.machine-status{align-items:center;gap:8px;display:flex}.machine-actions{align-items:center;gap:6px;display:flex}.dot{background:var(--ink-faint);border-radius:50%;flex:none;width:10px;height:10px;position:relative}.is-online .dot{background:var(--ok);box-shadow:0 0 0 0 var(--ok-soft);animation:pulse 2.4s var(--ease) infinite}.is-offline .machine-name{color:var(--ink-dim)}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--ok) 45%, transparent)}70%{box-shadow:0 0 0 9px #0000}to{box-shadow:0 0 #0000}}.menu{position:relative}.menu>summary{list-style:none}.menu>summary::-webkit-details-marker{display:none}.menu-panel{z-index:5;background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius);gap:10px;min-width:300px;padding:14px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 16px 40px #00000073}.table{border-collapse:collapse;width:100%;font-size:13.5px}.table th{text-align:left;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--border-strong);padding:8px 10px;font-size:11px;font-weight:500}.table td{border-bottom:1px solid var(--border);vertical-align:top;padding:8px 10px}.table tr:hover td{background:var(--surface)}@media (width<=760px){.machine{grid-template-columns:1fr;gap:10px}.machine-actions{flex-wrap:wrap}.codes{grid-template-columns:1fr}.table th:nth-child(5),.table td:nth-child(5){display:none}}
