@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-CHSlOQsW.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DMtmJ5ZE.woff2) format("woff2-variations");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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-Dm3htQBi.woff2) format("woff2-variations");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:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-mono-cyrillic-400-normal-Ce5q_31Z.woff2) format("woff2"),url(/assets/geist-mono-cyrillic-400-normal-BPBWmzPh.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-mono-latin-ext-400-normal-Cgks_Qgx.woff2) format("woff2"),url(/assets/geist-mono-latin-ext-400-normal-CxNRRMGd.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:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-mono-latin-400-normal-LC9RFr9I.woff2) format("woff2"),url(/assets/geist-mono-latin-400-normal-CoULgQGM.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:Geist Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-mono-cyrillic-500-normal-CJBLNVQT.woff2) format("woff2"),url(/assets/geist-mono-cyrillic-500-normal-mNhfPmgl.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-mono-latin-ext-500-normal-CQcGuCNt.woff2) format("woff2"),url(/assets/geist-mono-latin-ext-500-normal-diTenJ8L.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:Geist Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-mono-latin-500-normal-D3o2eNa9.woff2) format("woff2"),url(/assets/geist-mono-latin-500-normal-DOxI7kZ4.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{--bg: #f3f4f6;--ink: #111215;--ink2: #43464d;--muted: #63676f;--line: rgba(17, 18, 21, .1);--red: #c62a2f;--blue: #2f6bc0;--link: #2f6bc0;--btn-bg: #111215;--btn-fg: #ffffff;--gf: rgba(255, 255, 255, .58);--gf2: rgba(255, 255, 255, .26);--ge: rgba(255, 255, 255, .95);--chip: rgba(255, 255, 255, .72);--field: rgba(255, 255, 255, .6);--field-focus: #ffffff;--field-line: rgba(17, 18, 21, .14);--field-line-h: rgba(17, 18, 21, .28);--ring: rgba(47, 107, 192, .26);--hover: rgba(17, 18, 21, .05);--track: rgba(17, 18, 21, .08);--menu-bg: rgba(255, 255, 255, .94);--nav-bg: rgba(243, 244, 246, .62);--sg: inset 0 1px 0 rgba(255, 255, 255, .25), 0 24px 60px -32px rgba(17, 18, 21, .38);--s-menu: 0 24px 50px -20px rgba(17, 18, 21, .35);--s-btn: inset 0 1px 0 rgba(255, 255, 255, .22), inset 0 -1px 0 rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .16), 0 10px 24px -12px rgba(17, 18, 21, .5);--orb: .19;--sans: "Geist Variable", "Geist", ui-sans-serif, -apple-system, "Segoe UI", sans-serif;--mono: "Geist Mono", ui-monospace, monospace;--accent: var(--red);--info: var(--blue);--bad: var(--red);--ok: var(--ink);--warn: var(--muted);--faint: var(--muted);--text: var(--ink);color-scheme:light}:root[data-theme=dark]{--bg: #07080a;--ink: #f2f3f5;--ink2: #b4b9c1;--muted: #8c929b;--line: rgba(255, 255, 255, .1);--red: #e5555c;--blue: #6fa3e8;--link: #8db8f0;--btn-bg: #f2f3f5;--btn-fg: #111215;--gf: rgba(255, 255, 255, .075);--gf2: rgba(255, 255, 255, .015);--ge: rgba(255, 255, 255, .5);--chip: rgba(255, 255, 255, .08);--field: rgba(255, 255, 255, .05);--field-focus: rgba(255, 255, 255, .08);--field-line: rgba(255, 255, 255, .14);--field-line-h: rgba(255, 255, 255, .26);--ring: rgba(111, 163, 232, .34);--hover: rgba(255, 255, 255, .07);--track: rgba(255, 255, 255, .1);--menu-bg: rgba(24, 26, 31, .94);--nav-bg: rgba(7, 8, 10, .55);--sg: inset 0 1px 0 rgba(255, 255, 255, .06), 0 30px 80px -40px rgba(0, 0, 0, .9);--s-menu: 0 28px 60px -20px rgba(0, 0, 0, .85);--s-btn: inset 0 1px 0 rgba(255, 255, 255, 1), inset 0 -1px 0 rgba(0, 0, 0, .14), 0 1px 2px rgba(0, 0, 0, .16), 0 10px 24px -12px rgba(255, 255, 255, .22);--orb: .12;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font:400 15px/1.5 var(--sans);-webkit-font-smoothing:antialiased}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}h1{font-size:clamp(30px,3.4vw,46px);font-weight:600;letter-spacing:-.04em;line-height:1.04;margin:0;text-wrap:balance}h2{font-size:19px;font-weight:600;letter-spacing:-.02em;margin:0 0 14px}h3{font-family:var(--mono);font-size:12px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}code,.mono{font-family:var(--mono);font-size:13px}h1.mono,h1 .mono{font-size:clamp(26px,3vw,38px);letter-spacing:-.03em;font-weight:500}.muted{color:var(--ink2)}.faint{color:var(--muted)}.small{font-size:13px}.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.shell{position:relative;min-height:100%;overflow-x:clip}.orb{position:fixed;border-radius:50%;filter:blur(120px);opacity:var(--orb);pointer-events:none;z-index:0}.orb.r{width:720px;height:720px;left:-240px;top:-260px;background:var(--red)}.orb.b{width:760px;height:760px;right:-260px;bottom:-300px;background:var(--blue)}.topbar{position:sticky;top:0;z-index:20;height:56px;display:flex;align-items:center;gap:16px;padding:0 clamp(16px,4vw,40px);border-bottom:1px solid var(--line);background:var(--nav-bg);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.brand{display:flex;align-items:center;gap:9px;color:var(--ink)}.brand:hover{text-decoration:none}.brand .word{font-weight:600;font-size:19px;letter-spacing:-.03em}.brand .eyebrow{margin-left:6px}.topbar .grow{flex:1}.topbar .who{font-size:14px;color:var(--ink2)}.layout{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:24px;padding:28px clamp(16px,4vw,40px) 80px;max-width:1360px;margin:0 auto}.side{flex:1 1 200px;max-width:232px;display:flex;flex-direction:column;gap:4px;align-self:flex-start;position:sticky;top:84px}.side .eyebrow{padding:4px 16px 8px}.nav{display:flex;flex-direction:column;gap:4px}.nav a{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;border-radius:999px;color:var(--ink2);font-size:14px;font-weight:500}.nav a:hover{background:var(--hover);color:var(--ink);text-decoration:none}.nav a.on{background:var(--chip);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}.nav a:focus-visible{outline:0;box-shadow:0 0 0 4px var(--ring)}.nav .count{margin-left:auto;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:var(--red);color:#fff;font-size:12px;display:inline-grid;place-items:center}.side .glass{margin-top:18px;padding:16px 18px;border-radius:18px;display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--ink2)}.main{flex:999 1 560px;min-width:0;display:flex;flex-direction:column}.head{display:flex;align-items:flex-end;gap:12px;margin-bottom:24px;flex-wrap:wrap}.head .grow{flex:1}.crumb{display:inline-flex;align-items:center;gap:4px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.crumb:hover{color:var(--ink);text-decoration:none}.card,.glass{background:linear-gradient(145deg,var(--gf),var(--gf2));backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border:1.2px solid var(--ge);box-shadow:var(--sg);border-radius:26px}.card{padding:26px 28px}.card+.card{margin-top:16px}.grid>.card+.card,.grid>.card{margin-top:0}a.card{color:inherit}a.card:hover{text-decoration:none}.grid{display:grid;gap:16px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr))}.stat{display:flex;flex-direction:column;gap:12px}.stat .v{font-size:clamp(34px,3.6vw,52px);font-weight:500;letter-spacing:-.045em;line-height:1;font-variant-numeric:tabular-nums}.stat .v .muted{font-size:15px;letter-spacing:0}.stat .l{color:var(--ink2);font-size:13px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:14px}dl.kv{display:grid;grid-template-columns:minmax(120px,190px) 1fr;gap:10px 16px;margin:0;font-size:14px}dl.kv>div{display:contents}dl.kv dt{color:var(--muted);font-size:13px;padding-top:1px}dl.kv dd{margin:0;min-width:0;overflow-wrap:anywhere;color:var(--ink2)}table.t{width:100%;border-collapse:collapse;font-size:14px}.t th{text-align:left;font-weight:400;font-size:13px;color:var(--muted);padding:12px 14px;border-bottom:1px solid var(--line);white-space:nowrap}.t td{padding:13px 14px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink2)}.t td.mono{color:var(--ink)}.t tr:last-child td{border-bottom:0}.t tr.click{cursor:pointer}.t tr.click:hover td{background:var(--hover)}.tablewrap{overflow-x:auto;margin:-8px -14px}button,.btn{font:inherit;font-size:14px;font-weight:500;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--field-line);background:var(--chip);color:var(--ink);cursor:pointer;display:inline-flex;gap:6px;align-items:center;justify-content:center;touch-action:manipulation;transition:transform .3s cubic-bezier(.2,.7,.1,1),background .15s,border-color .15s}button:hover,.btn:hover{border-color:var(--field-line-h);text-decoration:none}button:active{transform:scale(.97)}button.primary{background:var(--btn-bg);color:var(--btn-fg);border-color:transparent;box-shadow:var(--s-btn)}button.primary:hover{transform:translateY(-1px)}button.danger{color:var(--red);border-color:color-mix(in srgb,var(--red) 45%,transparent);background:transparent}button.ghost{border-color:transparent;background:transparent;color:var(--ink2)}button.ghost:hover{background:var(--hover)}button:disabled{opacity:.45;cursor:default;transform:none}button.sm,.btn.sm{min-height:34px;padding:0 14px;font-size:13px}button:focus-visible,.btn:focus-visible,a:focus-visible{outline:0;box-shadow:0 0 0 4px var(--ring)}input,select,textarea{font:inherit;font-size:15px;color:var(--ink);background:var(--field);border:1px solid var(--field-line);border-radius:14px;padding:0 14px;min-height:44px;min-width:0}textarea{padding:10px 14px;min-height:0}input[type=checkbox]{min-height:0;width:18px;height:18px;accent-color:var(--ink)}input:hover,select:hover,textarea:hover{border-color:var(--field-line-h)}input:focus,select:focus,textarea:focus{outline:0;border-color:var(--blue);background:var(--field-focus);box-shadow:0 0 0 4px var(--ring)}label.f{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--ink2)}label.f span.h{color:var(--muted);font-size:12px}label.chk{display:inline-flex;gap:8px;align-items:center;font-size:14px;color:var(--ink2)}.tabs{display:flex;gap:6px;margin-bottom:20px;overflow-x:auto;padding:2px}.tabs button{min-height:38px;border-color:transparent;background:transparent;color:var(--ink2)}.tabs button:hover{background:var(--hover)}.tabs button.on{background:var(--btn-bg);color:var(--btn-fg)}.b{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:500;padding:3px 11px 3px 9px;border-radius:999px;background:var(--chip);color:var(--ink2);border:1px solid var(--line);white-space:nowrap}.b:before{content:"";width:7px;height:7px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--muted);flex:none}.b.ok{color:var(--ink)}.b.ok:before{background:var(--ink);box-shadow:none}.b.bad{color:var(--red)}.b.bad:before{background:var(--red);box-shadow:none}.b.info{color:var(--blue)}.b.info:before{background:var(--blue);box-shadow:none}.b.warn{color:var(--ink)}.b.warn:before{box-shadow:inset 0 0 0 2px var(--red)}.dot{width:8px;height:8px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--muted);display:inline-block;flex:none}.dot.on{background:var(--ink);box-shadow:none}.err,.note{display:flex;gap:10px;align-items:flex-start;padding:12px 16px;border-radius:18px;font-size:14px;line-height:1.45}.err>.ic,.note>.ic{flex:none;margin-top:1px}.err{background:color-mix(in srgb,var(--red) 9%,transparent);color:var(--red);border:1px solid color-mix(in srgb,var(--red) 25%,transparent)}.err .grow,.note .grow{flex:1;min-width:0}.err button{color:var(--red);margin:-6px -8px -6px 0}.note{background:var(--chip);color:var(--ink2);border:1px solid var(--line)}.note.info>.ic{color:var(--blue)}.note.warn{border-color:color-mix(in srgb,var(--red) 30%,transparent)}.note.warn>.ic{color:var(--red)}.note.ok>.ic{color:var(--ink)}.empty{color:var(--ink2);padding:32px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:14px}.empty b{color:var(--ink);font-weight:600;font-size:15px}.empty-ic{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--chip);border:1px solid var(--line);color:var(--muted);margin-bottom:4px}.empty>button,.empty>a{margin-top:6px}.spin{width:18px;height:18px;border-radius:50%;border:2px solid var(--track);border-top-color:var(--blue);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.bar{height:8px;border-radius:999px;background:var(--track);overflow:hidden;display:flex}.bar>span{display:block;height:100%}.bar .s{background:var(--red)}.bar .f{background:var(--ink)}.bar .a{background:var(--blue)}.bar .c{background:var(--muted);opacity:.5}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#07080a6b;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;z-index:50;padding:16px}.modal{background:var(--menu-bg);border:1px solid var(--line);border-radius:30px;box-shadow:var(--s-menu);width:min(560px,100%);max-height:90vh;overflow:auto;padding:30px}.modal.wide{width:min(980px,100%)}.modal h2{font-size:24px;letter-spacing:-.025em;margin-bottom:18px}.modal .actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;flex-wrap:wrap}.center{min-height:100%;display:grid;place-items:center;padding:24px;position:relative;overflow:hidden}.login{width:min(420px,100%);position:relative;z-index:1;padding:34px}.login .brand{justify-content:center;padding-bottom:6px}.term{background:#0b0d10;border-radius:18px;padding:10px;height:460px;border:1px solid var(--line)}.term .xterm{height:100%}pre.out{background:var(--field);border:1px solid var(--line);border-radius:18px;padding:14px;overflow:auto;max-height:360px;font:12.5px/1.55 var(--mono);margin:0;white-space:pre-wrap;color:var(--ink2)}.chart svg{width:100%;height:190px;display:block}.chart .legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--ink2);margin-top:6px}.chart .legend i{display:inline-block;width:12px;height:3px;border-radius:2px;margin-right:6px;vertical-align:middle}.grow{flex:1}.ic{flex:none;display:block}.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--btn-bg);color:var(--btn-fg);padding:10px 16px;border-radius:999px}.skip:focus{top:10px}.main:focus{outline:0}button.icon{width:40px;min-height:40px;padding:0;flex:none}button.icon.sm{width:34px;min-height:34px}.topbar{gap:6px}.topbar .brand{margin-right:8px}.lang{font-family:var(--mono);font-size:12px;letter-spacing:.06em}.who{display:inline-flex;align-items:center;gap:8px;color:var(--ink2);font-size:14px;padding:4px 12px 4px 4px;border-radius:999px;margin-left:4px}.who:hover{background:var(--hover);text-decoration:none;color:var(--ink)}.avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:600;font-size:13px;background:linear-gradient(135deg,var(--red),var(--blue));color:#fff}.nav a .ic{color:var(--muted)}.nav a.on .ic,.nav a:hover .ic{color:var(--ink)}.nav a .nl{white-space:nowrap}body.locked{overflow:hidden}.phead{margin-bottom:26px}.phead>.eyebrow{display:block;margin-bottom:10px}.phead-row{display:flex;align-items:flex-end;gap:12px 20px;flex-wrap:wrap}.phead-title{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;flex:1 1 auto;min-width:0}.phead-title h1{min-width:0;overflow-wrap:anywhere}.phead-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.lede{color:var(--ink2);max-width:52em;margin:12px 0 0;font-size:15px}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.card-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.card-head h2{margin:0}.card.flush{padding:10px 14px}.card.flush>.card-head{padding:14px 14px 0}.stack-lg{display:flex;flex-direction:column;gap:16px}.section-gap{margin-top:16px}.b.plain:before{display:none}.b.plain{padding:3px 11px}.online{display:inline-flex;align-items:center;gap:7px}.legend-row{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12.5px;color:var(--ink2);margin-top:8px}.legend-row .lg{display:inline-flex;align-items:center;gap:6px}.legend-row .lg b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}.legend-row i{width:9px;height:9px;border-radius:3px;display:inline-block}.legend-row .s i{background:var(--red)}.legend-row .f i{background:var(--ink)}.legend-row .a i{background:var(--blue)}.legend-row .c i{background:var(--muted);opacity:.5}.legend-row .p i{background:var(--track);box-shadow:inset 0 0 0 1px var(--line)}.tabs .count{margin-left:6px;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--red);color:#fff;font-size:11.5px;display:inline-grid;place-items:center}.seg{display:inline-flex;gap:2px;padding:3px;border-radius:999px;background:var(--chip);border:1px solid var(--line);flex-wrap:wrap}.seg button{min-height:34px;padding:0 14px;border:0;background:transparent;color:var(--ink2);font-size:13px}.seg button:hover{background:var(--hover)}.seg button.on{background:var(--btn-bg);color:var(--btn-fg);box-shadow:var(--s-btn)}.search{position:relative;display:inline-flex;align-items:center;flex:0 1 280px;min-width:160px}.search .ic{position:absolute;left:14px;color:var(--muted);pointer-events:none}.search input{width:100%;padding-left:38px;border-radius:999px}label.f .fl{color:var(--ink2);font-weight:500}label.f.wide{grid-column:1 / -1}.form-grid{display:grid;gap:14px 16px;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr))}button.danger.solid{background:var(--red);color:#fff;border-color:transparent;box-shadow:var(--s-btn)}.pager{display:flex;align-items:center;gap:10px;justify-content:flex-end;margin-top:12px}.mono-cmd{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mono-cmd code{background:var(--field);border:1px solid var(--line);padding:7px 12px;border-radius:12px;overflow-wrap:anywhere}.t td.num,.t th.num{text-align:right;font-variant-numeric:tabular-nums}.t td.act{text-align:right;white-space:nowrap}.t td.act .row{justify-content:flex-end;flex-wrap:nowrap}.t tr.click:focus-visible{outline:0}.t tr.click:focus-visible td{background:var(--hover)}@media (max-width: 760px){.tablewrap{overflow:visible;margin:0}table.t.resp,.t.resp tbody{display:block}.t.resp thead{display:none}.t.resp tr{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;padding:14px 4px;border-bottom:1px solid var(--line)}.t.resp tr:last-child{border-bottom:0}.t.resp tr.click:hover td{background:none}.t.resp td{display:block;padding:0;border:0;min-width:0;text-align:left}.t.resp td:before{content:attr(data-l);display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}.t.resp td[data-l=""]:before{display:none}.t.resp td.m-main{grid-column:1 / -1;font-size:15px}.t.resp td.m-main:before{display:none}.t.resp td.m-end,.t.resp td.act{grid-column:1 / -1;text-align:left}.t.resp td.act .row{justify-content:flex-start;flex-wrap:wrap}.t.resp td.m-hide{display:none}.t.resp td:empty{display:none}}.modal{padding:0;display:flex;flex-direction:column}.modal:focus{outline:0}.modal-head{display:flex;align-items:flex-start;gap:12px;padding:26px 26px 0 30px}.modal-head>div{flex:1;min-width:0}.modal-head h2{margin:0 0 4px}.modal-head .icon{margin:-6px -8px 0 0}.modal-body{padding:18px 30px 4px;overflow:auto}.modal>.actions{padding:14px 30px 26px;margin-top:8px}.toasts{position:fixed;z-index:80;left:50%;bottom:22px;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.toast{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;background:var(--btn-bg);color:var(--btn-fg);font-size:14px;box-shadow:var(--s-menu);animation:rise .25s cubic-bezier(.2,.7,.1,1)}.toast.bad{background:var(--red);color:#fff}@keyframes rise{0%{transform:translateY(8px);opacity:0}}.secret{background:var(--chip);border:1px solid var(--line);border-radius:18px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}.secret-row{display:flex;gap:8px;align-items:center}.secret code{flex:1;min-width:0;overflow-wrap:anywhere;background:var(--field);border:1px solid var(--line);border-radius:12px;padding:8px 12px}.steps{list-style:none;margin:0;padding:0;display:flex;gap:8px;flex-wrap:wrap}.steps li{flex:1 1 150px;display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:18px;border:1px solid var(--line);background:var(--chip)}.steps .sd{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:12.5px;font-weight:600;border:1.5px solid var(--field-line-h);color:var(--muted)}.steps .sl{font-weight:500;font-size:14px;color:var(--ink2)}.steps li.done .sd{background:var(--ink);border-color:var(--ink);color:var(--bg)}.steps li.now{border-color:color-mix(in srgb,var(--blue) 50%,transparent);box-shadow:0 0 0 3px var(--ring)}.steps li.now .sd{border-color:var(--blue);color:var(--blue)}.steps li.now .sl,.steps li.done .sl{color:var(--ink)}.steps li.bad .sd{background:var(--red);border-color:var(--red);color:#fff}.choices{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr))}.choice{text-align:left;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:4px;padding:14px 16px;min-height:0;border-radius:20px;background:var(--chip);border:1px solid var(--line);white-space:normal;font-weight:400}.choice b{font-weight:600;font-size:15px;color:var(--ink)}.choice span{font-size:13px;color:var(--ink2);line-height:1.4}.choice.on{border-color:var(--blue);box-shadow:0 0 0 3px var(--ring);background:var(--field-focus)}.wave-plan{display:flex;gap:4px;margin-top:6px;align-items:flex-end;height:26px;width:100%}.wave-plan i{flex:1;background:var(--blue);opacity:.55;border-radius:4px 4px 2px 2px;min-height:3px}.choice.on .wave-plan i{opacity:1}details.adv{border-top:1px solid var(--line);padding-top:12px}details.adv summary{cursor:pointer;color:var(--ink2);font-size:14px;font-weight:500;list-style:none;display:inline-flex;gap:6px;align-items:center}details.adv summary::-webkit-details-marker{display:none}details.adv summary:before{content:"›";display:inline-block;transition:transform .2s;font-size:18px;line-height:1}details.adv[open] summary:before{transform:rotate(90deg)}details.adv[open] summary{margin-bottom:12px}.todo{display:flex;flex-direction:column;gap:8px}.todo a{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:18px;background:var(--chip);border:1px solid var(--line);color:var(--ink)}.todo a:hover{text-decoration:none;border-color:var(--field-line-h)}.todo .ti{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;flex:none;background:color-mix(in srgb,var(--red) 12%,transparent);color:var(--red)}.todo .ti.blue{background:color-mix(in srgb,var(--blue) 12%,transparent);color:var(--blue)}.todo .tt{flex:1;min-width:0}.todo .tt div{font-size:13px;color:var(--ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.todo .chev{color:var(--muted)}.allgood{display:flex;align-items:center;gap:12px;color:var(--ink2);padding:6px 2px}.allgood .ti{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--chip);border:1px solid var(--line);color:var(--ink);flex:none}.ring{--p: 0;width:120px;height:120px;border-radius:50%;flex:none;display:grid;place-items:center;background:conic-gradient(var(--red) calc(var(--p) * 1%),var(--track) 0)}.ring>div{width:96px;height:96px;border-radius:50%;background:var(--bg);display:grid;place-items:center;text-align:center;align-content:center}.ring b{font-size:26px;font-weight:600;letter-spacing:-.03em;display:block;line-height:1}.ring span{font-size:10.5px;color:var(--muted);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;margin-top:4px}.health{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.health ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;flex:1;min-width:190px}.health li a,.health li>span{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ink2);padding:6px 10px;border-radius:12px}.health li a:hover{background:var(--hover);text-decoration:none}.health li b{margin-left:auto;color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.health li b.hot{color:var(--red)}.vbars{display:flex;flex-direction:column;gap:10px}.vbar{display:grid;grid-template-columns:90px 1fr 48px;gap:10px;align-items:center;font-size:13.5px}.vbar .n{text-align:right;color:var(--ink2);font-variant-numeric:tabular-nums}.vbar .bar .s{background:var(--blue)}.vbar.top .bar .s{background:var(--red)}.feed{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.feed li{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--ink2);align-items:baseline;min-width:0}.feed li:last-child{border-bottom:0}.feed li b{color:var(--ink);font-weight:500}.feed li .fx{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feed time{color:var(--muted);white-space:nowrap;font-size:12.5px}.ro-mini{display:block;padding:12px 0;border-bottom:1px solid var(--line);color:inherit}.ro-mini:last-child{border-bottom:0}.ro-mini:hover{text-decoration:none}.ro-mini .row{margin-bottom:8px}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:10px;margin-bottom:20px}.fact{padding:14px 16px;border-radius:20px;background:var(--chip);border:1px solid var(--line);min-width:0}.fact .l{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.fact .v{font-size:16px;font-weight:500;margin-top:4px;overflow-wrap:anywhere;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.cmds{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(200px,100%),1fr));gap:8px}.cmds button{justify-content:flex-start;text-align:left;border-radius:16px;min-height:52px;padding:8px 14px;flex-direction:column;align-items:flex-start;gap:0;white-space:normal}.cmds button small{color:var(--muted);font-weight:400;font-size:12px}.cmds button.danger small{color:inherit;opacity:.75}.hist-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:8px 10px;border-radius:12px;cursor:pointer;font-size:13px;width:100%;background:none;border:0;min-height:0;font-weight:400;justify-content:flex-start;color:var(--ink2)}.hist-row:hover{background:var(--hover)}.params{display:flex;flex-direction:column;gap:8px}.param,.param-h{display:grid;grid-template-columns:minmax(0,1.3fr) 130px minmax(0,1fr) 40px;gap:8px;align-items:center}.param input.k{font-family:var(--mono);font-size:13.5px}.param-h{font-size:12px;color:var(--muted);padding:0 4px}.pv{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;font-size:13.5px;margin:0}.pv>div{display:contents}.pv dt{font-family:var(--mono);color:var(--ink2);font-size:13px;overflow-wrap:anywhere}.pv dd{margin:0;text-align:right;font-variant-numeric:tabular-nums;color:var(--ink)}.pv dd.own{color:var(--blue)}@media (prefers-reduced-motion: reduce){button,.toast,details.adv summary:before{transition:none;animation:none}.spin{animation-duration:3s}}@media (max-width: 860px){.topbar .eyebrow,.who-name{display:none}.who{padding:4px}.layout{padding-top:0;gap:18px}.side{position:sticky;top:56px;z-index:15;max-width:none;flex-basis:100%;margin:0 calc(-1*clamp(16px,4vw,40px));padding:8px clamp(16px,4vw,40px);background:var(--nav-bg);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid var(--line)}.side .eyebrow,.side .glass{display:none}.nav{flex-direction:row;overflow-x:auto;scrollbar-width:none;gap:2px;scroll-snap-type:x proximity}.nav::-webkit-scrollbar{display:none}.nav a{min-height:40px;padding:0 14px;flex:none;scroll-snap-align:start;gap:8px}.g2,.g3{grid-template-columns:1fr}dl.kv{grid-template-columns:1fr;gap:2px 0}dl.kv dd{margin-bottom:10px}.card{padding:20px;border-radius:22px}.card.flush{padding:6px 16px}.card.flush>.card-head{padding:14px 0 0}.phead{margin-bottom:18px}.phead-actions{width:100%}.search{flex:1 1 100%}.modal-head{padding:22px 20px 0 22px}.modal-body{padding:16px 22px 4px}.modal>.actions{padding:12px 22px 22px}.scrim{place-items:end center;padding:0}.modal,.modal.wide{width:100%;border-radius:26px 26px 0 0;max-height:92vh}.param,.param-h{grid-template-columns:1fr 104px 40px}.param>:nth-child(3){grid-column:1 / 3;grid-row:2}.param-h>:nth-child(3){display:none}.vbar{grid-template-columns:70px 1fr 36px}}@media (max-width: 480px){.topbar{padding:0 10px 0 16px}.brand .word{font-size:17px}.ring{width:104px;height:104px}.ring>div{width:82px;height:82px}.modal .actions>button{flex:1 1 auto}}.login .stack{gap:14px}.sep{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em}.sep:before,.sep:after{content:"";flex:1;height:1px;background:var(--line)}input.otp{font-family:var(--mono);font-size:20px;letter-spacing:.3em;text-align:center}.setup-steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:16px;font-size:14px;color:var(--ink2)}.setup-steps li::marker{color:var(--muted);font-family:var(--mono)}.card.narrow{max-width:560px}.nowrap{white-space:nowrap}/**
 * Copyright (c) 2014 The xterm.js authors. All rights reserved.
 * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
 * https://github.com/chjj/term.js
 * @license MIT
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * Originally forked from (with the author's permission):
 *   Fabrice Bellard's javascript vt100 for jslinux:
 *   http://bellard.org/jslinux/
 *   Copyright (c) 2011 Fabrice Bellard
 *   The original design remains. The terminal itself
 *   has been extended to include xterm CSI codes, among
 *   other features.
 */.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}
