@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/poppins-600.woff2)format("woff2")}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/poppins-700.woff2)format("woff2")}@font-face{font-family:Open Sans;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/opensans.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/jetbrains.woff2)format("woff2")}:root{--void:#08090a;--ground:#0d0e10;--surface:#131418;--surface-hi:#181a1e;--rule:#1e2024;--rule-hi:#2a2c32;--fg:#f5f5f6;--fg-2:#a9aab1;--fg-3:#75767e;--fg-4:#4e4f57;--acc:#d4693d;--acc-soft:#e5825a;--live:#5fa37e;--hold:#c9a855;--dead:#c8635b;--sans:"Open Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--disp:"Poppins","Open Sans",-apple-system,"Segoe UI",system-ui,sans-serif;--mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;--ease:cubic-bezier(.22,1,.36,1);--rail:84px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--void);color:var(--fg);font-family:var(--sans);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.6}::selection{background:var(--acc);color:#fff}a{color:inherit}.app{grid-template-columns:var(--rail) 1fr;background:var(--ground);min-height:100vh;display:grid}.rail{border-right:1px solid var(--rule);background:var(--void);flex-direction:column;align-items:center;gap:30px;padding:22px 0 20px;display:flex}.rail .mark{background:var(--acc);color:#fff;width:30px;height:30px;font-family:var(--disp);border-radius:8px;flex:none;place-items:center;font-size:15px;font-weight:700;text-decoration:none;display:grid}.rail .who{flex-direction:column;align-items:center;gap:14px;margin-top:auto;display:flex}.rail .avatar{border:1px solid var(--rule-hi);width:32px;height:32px;font-family:var(--mono);color:var(--fg-2);text-transform:uppercase;border-radius:9px;place-items:center;font-size:.72rem;display:grid}.rail .out{writing-mode:vertical-rl;font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--fg-4);cursor:pointer;font-size:.58rem;font-family:var(--mono);transition:color .3s var(--ease);background:0 0;border:0;padding:10px 4px;transform:rotate(180deg)}.rail .out:hover{color:var(--fg-2)}.rail .out:focus-visible{outline:1px solid var(--acc);outline-offset:2px}.main{flex-direction:column;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--rule);flex:none;align-items:center;gap:14px;height:60px;padding:0 56px;display:flex}.topbar .name{font-family:var(--disp);letter-spacing:-.01em;font-size:.82rem;font-weight:600}.topbar .name em{color:var(--fg-4);font-style:normal;font-weight:400}.topbar .state{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--fg-3);align-items:center;gap:9px;margin-left:auto;font-size:.63rem;display:flex}.topbar .state i{background:currentColor;flex:none;width:5px;height:5px;display:block}.state.is-live{color:var(--live)}.state.is-hold{color:var(--hold)}.state.is-dead{color:var(--dead)}.wire{border-bottom:1px solid var(--rule);flex:none;height:56px;position:relative}.wire canvas{width:100%;height:100%;display:block}.wire .ends{pointer-events:none;font-family:var(--mono);color:var(--fg-3);justify-content:space-between;align-items:center;padding:0 56px;font-size:.63rem;display:flex;position:absolute;inset:0}.wire .ends span{background:var(--ground);padding:0 12px}.wire .ends .l{padding-left:0}.wire .ends .r{padding-right:0}.stage{flex:1;min-width:0;padding:64px 56px 76px}.stage>.inner{max-width:1240px;margin:0 auto}.tag{font-family:var(--mono);letter-spacing:.28em;text-transform:uppercase;color:var(--fg-4);margin:0 0 22px;font-size:.63rem;font-weight:500}.tag:before{content:"";background:var(--acc);vertical-align:middle;width:14px;height:1px;margin-bottom:2px;margin-right:14px;display:inline-block}.tag b{color:var(--acc);font-weight:500}h1.big{font-family:var(--disp);letter-spacing:-.062em;text-wrap:balance;margin:0;font-size:clamp(2.6rem,7.6vw,5.6rem);font-weight:700;line-height:.88}h1.big u{color:var(--acc);text-decoration:none}h1.mid{font-size:clamp(2.1rem,4.3vw,3.1rem)}.lede{color:var(--fg-2);max-width:44ch;margin:30px 0 0;font-size:1.02rem;line-height:1.62}.btn{font-family:var(--disp);letter-spacing:-.012em;cursor:pointer;background:var(--acc);color:#140d08;border:1px solid var(--acc);transition:background .3s var(--ease),border-color .3s var(--ease);border-radius:6px;padding:14px 28px;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-block}.btn:hover{background:var(--acc-soft);border-color:var(--acc-soft)}.btn:focus-visible{outline:1px solid var(--acc-soft);outline-offset:3px}.btn.line{color:var(--fg-2);border-color:var(--rule-hi);background:0 0}.btn.line:hover{background:var(--surface-hi);color:var(--fg);border-color:var(--fg-4)}.btn.sm{padding:8px 15px;font-size:.775rem}.btn[disabled]{opacity:.5;cursor:default}.in{flex-direction:column;gap:9px;display:flex}.in label{font-family:var(--mono);letter-spacing:.24em;text-transform:uppercase;color:var(--fg-4);font-size:.6rem;font-weight:500}.in input{font-family:var(--mono);color:var(--fg);background:var(--void);border:1px solid var(--rule);width:100%;transition:border-color .3s var(--ease);border-radius:8px;padding:14px 16px;font-size:.9rem}.in input:focus{border-color:var(--acc);outline:none}.flag{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--live);border:1px solid #5fa37e47;border-radius:4px;align-items:center;gap:9px;padding:6px 12px;font-size:.62rem;font-weight:500;display:inline-flex}.flag i{background:currentColor;flex:none;width:4px;height:4px;display:block}.flag.warn{color:var(--hold);border-color:#c9a8554d}.alert{color:#e8938c;background:#c8635b12;border:1px solid #c8635b4d;border-radius:8px;max-width:430px;margin:26px 0 0;padding:14px 18px;font-size:.87rem}.signin{grid-template-columns:1.14fr .86fr;align-items:start;column-gap:0;display:grid}.signin>.col-a{grid-column:1;padding-right:72px}.signin>.col-b{border-left:1px solid var(--rule);grid-area:1/2/span 2;align-self:stretch;padding-left:72px}.signin form{flex-direction:column;gap:22px;max-width:430px;margin-top:44px;display:flex}.signin .row{flex-wrap:wrap;align-items:center;gap:22px;margin-top:14px;display:flex}.signin .row span{color:var(--fg-4);font-size:.82rem}.keep{cursor:pointer;color:var(--fg-2);align-items:center;gap:12px;margin-top:4px;font-size:.845rem;display:flex}.keep input{appearance:none;border:1px solid var(--rule-hi);background:var(--void);cursor:pointer;width:16px;height:16px;transition:background .26s var(--ease),border-color .26s var(--ease);border-radius:4px;flex:none;position:relative}.keep input:checked{background:var(--acc);border-color:var(--acc)}.keep input:checked:after{content:"";border:1.6px solid #140d08;border-width:0 1.6px 1.6px 0;width:4px;height:8px;position:absolute;top:1.5px;left:5px;transform:rotate(42deg)}.keep em{color:var(--fg-4);font-style:normal}.steps h3{font-family:var(--mono);letter-spacing:.28em;text-transform:uppercase;color:var(--fg-4);margin:6px 0 24px;font-size:.6rem;font-weight:500}.steps ol{counter-reset:s;margin:0;padding:0;list-style:none}.steps li{counter-increment:s;border-bottom:1px solid var(--rule);color:var(--fg-2);grid-template-columns:34px 1fr;gap:4px;padding:16px 0;font-size:.875rem;line-height:1.55;display:grid}.steps li:last-child{border-bottom:0}.steps li:before{content:counter(s,decimal-leading-zero);font-family:var(--mono);color:var(--fg-4);letter-spacing:.06em;padding-top:2px;font-size:.68rem}.os{border-bottom:1px solid var(--rule);margin:36px 0 0;display:flex}.os a{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--fg-4);transition:color .3s var(--ease),border-color .3s var(--ease);border-bottom:1px solid #0000;margin-bottom:-1px;padding:13px 20px;font-size:.665rem;font-weight:500;text-decoration:none}.os a:first-child{padding-left:0}.os a:hover{color:var(--fg-2)}.os a.on{color:var(--fg);border-bottom-color:var(--acc)}.hint{color:var(--fg-3);margin:22px 0 14px;font-size:.85rem}.cmd{background:var(--void);border:1px solid var(--rule);border-radius:9px;align-items:stretch;max-width:820px;display:flex;overflow:hidden}.cmd code{font-family:var(--mono);color:var(--fg-2);white-space:nowrap;letter-spacing:-.015em;flex:1;padding:18px 20px;font-size:.815rem;overflow-x:auto}.cmd code b{color:var(--acc);font-weight:500}.cmd button{all:unset;box-sizing:border-box;cursor:pointer;border-left:1px solid var(--rule);font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--fg-3);transition:color .3s var(--ease),background .3s var(--ease);flex:none;place-items:center;padding:0 24px;font-size:.63rem;font-weight:500;display:grid}.cmd button:hover{color:var(--fg);background:var(--surface)}.does{border-top:1px solid var(--rule);grid-template-columns:repeat(3,1fr);max-width:1000px;margin-top:44px;display:grid}.does div{border-right:1px solid var(--rule);padding:24px 30px 4px 0}.does div:last-child{border-right:0;padding-right:0}.does div:not(:first-child){padding-left:30px}.does dt{font-family:var(--disp);letter-spacing:-.02em;margin:0 0 9px;font-size:.86rem;font-weight:600}.does dd{color:var(--fg-3);margin:0;font-size:.815rem;line-height:1.6}.hold-row{border-top:1px solid var(--rule);color:var(--hold);align-items:center;gap:12px;max-width:1000px;margin-top:44px;padding-top:20px;font-size:.845rem;display:flex}.hold-row i{width:5px;height:5px;animation:beat 2.6s var(--ease) infinite;background:currentColor;flex:none;display:block}.hold-row .t{font-family:var(--mono);color:var(--fg-4);font-variant-numeric:tabular-nums;letter-spacing:.08em;margin-left:auto;font-size:.72rem}@keyframes beat{0%,to{opacity:1}50%{opacity:.18}}.whead{flex-wrap:wrap;align-items:flex-end;gap:24px;display:flex}.whead .who{flex:1;min-width:220px}.list{border-top:1px solid var(--rule);margin-top:52px}.ws{border-bottom:1px solid var(--rule);transition:padding-left .42s var(--ease),background .42s var(--ease);grid-template-columns:1fr auto;align-items:center;gap:28px;padding:26px 4px;display:grid;position:relative}.ws:before{content:"";background:var(--acc);transform-origin:top;width:1px;transition:transform .42s var(--ease);position:absolute;top:-1px;bottom:-1px;left:0;transform:scaleY(0)}.ws:hover{background:var(--surface);padding-left:20px}.ws:hover:before{transform:scaleY(1)}.ws h3{font-family:var(--disp);letter-spacing:-.035em;margin:0 0 7px;font-size:1.32rem;font-weight:600}.ws .path{font-family:var(--mono);color:var(--fg-4);letter-spacing:-.015em;font-size:.735rem}.ws .right{align-items:center;gap:24px;display:flex}.dhead{flex-wrap:wrap;align-items:flex-end;gap:40px;margin-top:26px;display:flex}.dq{border:1px solid var(--rule);background:var(--void);max-width:460px;transition:border-color .3s var(--ease);border-radius:8px;flex:1;align-items:center;gap:16px;padding:0 18px;display:flex}.dq:focus-within{border-color:var(--acc)}.dq input{all:unset;font-family:var(--mono);color:var(--fg);flex:1;padding:13px 0;font-size:.85rem}.dq input::placeholder{color:var(--fg-4)}.dq .n{font-family:var(--mono);letter-spacing:.16em;color:var(--fg-4);text-transform:uppercase;white-space:nowrap;font-size:.64rem}.keys{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-4);margin:0;font-size:.63rem}.keys b{color:var(--fg-3);font-weight:500}.dcols{border-top:1px solid var(--rule);align-items:start;margin-top:26px;display:grid}.dcol{border-left:1px solid var(--rule);min-width:0;padding:18px 20px 6px}.dcol:first-child{border-left:0;padding-left:4px}.dcol>h4{font-family:var(--mono);letter-spacing:.26em;text-transform:uppercase;color:var(--fg-4);align-items:baseline;gap:11px;margin:0 0 2px;font-size:.615rem;font-weight:500;display:flex}.dcol>h4 b{color:var(--acc);letter-spacing:.1em;font-weight:500}.dit{cursor:pointer;min-width:0;transition:background .32s var(--ease),transform .32s var(--ease);border-radius:6px;margin:0 -10px 0 -12px;padding:10px 10px 10px 12px;text-decoration:none;display:block;position:relative}.dit:before{content:"";background:var(--acc);width:2px;transition:transform .32s var(--ease);position:absolute;top:8px;bottom:8px;left:0;transform:scaleY(0)}.dit:hover{background:var(--surface);transform:translate(4px)}.dit:hover:before{transform:scaleY(1)}.dit.sel{background:var(--surface)}.dit.sel:before{transform:scaleY(1)}.dit .nm{font-family:var(--disp);letter-spacing:-.028em;color:var(--fg);white-space:nowrap;text-overflow:ellipsis;font-size:.97rem;font-weight:600;overflow:hidden}.dit .sub{font-family:var(--mono);color:var(--fg-4);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:.625rem;overflow:hidden}.empty{color:var(--fg-4);padding:40px 4px;font-size:.88rem}.devices{margin-top:58px}.devices h4{font-family:var(--mono);letter-spacing:.28em;text-transform:uppercase;color:var(--fg-4);border-bottom:1px solid var(--rule);margin:0 0 4px;padding-bottom:16px;font-size:.6rem;font-weight:500}.dev{border-bottom:1px solid var(--rule);align-items:center;gap:20px;padding:17px 0;font-size:.85rem;display:flex}.dev .name{font-family:var(--mono);color:var(--fg);letter-spacing:-.015em;font-size:.79rem}.dev .meta{font-family:var(--mono);color:var(--fg-4);font-variant-numeric:tabular-nums;letter-spacing:.06em;font-size:.695rem}.dev .right{align-items:center;gap:18px;margin-left:auto;display:flex}.ladder{border-top:1px solid var(--rule);max-width:1000px;margin-top:48px}.rung{border-bottom:1px solid var(--rule);grid-template-columns:44px 1fr;gap:8px;padding:26px 0;display:grid}.rung .n{font-family:var(--mono);color:var(--fg-4);letter-spacing:.06em;padding-top:3px;font-size:.68rem}.rung h4{font-family:var(--disp);letter-spacing:-.028em;margin:0 0 8px;font-size:1.02rem;font-weight:600}.rung p{color:var(--fg-3);max-width:62ch;margin:0;font-size:.86rem;line-height:1.65}.rung code{font-family:var(--mono);color:var(--fg-2);font-size:.775rem}@media (prefers-reduced-motion:reduce){*{transition-duration:1ms!important;animation:none!important}}@media (max-width:900px){:root{--rail:60px}.topbar,.stage,.wire .ends{padding-left:22px;padding-right:22px}.stage{padding-top:44px;padding-bottom:52px}.signin{grid-template-columns:1fr}.signin>.col-a{padding-right:0}.signin>.col-b{border-left:0;border-top:1px solid var(--rule);grid-area:auto/1;margin-top:38px;padding:26px 0 0}.does{grid-template-columns:1fr}.does div{border-right:0;border-bottom:1px solid var(--rule);padding:22px 0 20px!important}.does div:last-child{border-bottom:0}.ws{grid-template-columns:1fr;gap:18px}.dcols{grid-template-columns:1fr!important}.dcol{border-left:0;border-top:1px solid var(--rule);padding:20px 4px 8px}.dcol:first-child{border-top:0}}
