:root{--bg: #0e0f13;--bg-soft: #0b0c10;--panel: #16181e;--panel-2: #1b1e25;--panel-hi: #22252e;--line: rgba(255, 255, 255, .07);--line-2: rgba(255, 255, 255, .11);--line-hot: rgba(255, 255, 255, .2);--txt: #ecebe6;--txt-2: #a8a69d;--dim: #706e66;--dim-2: #4e4c47;--amber: #f0a93b;--amber-hi: #ffc873;--amber-dim: rgba(240, 169, 59, .13);--amber-line: rgba(240, 169, 59, .4);--amber-deep: rgba(240, 169, 59, .4);--ok: #46c08a;--ok-hi: #6fdcab;--ok-dim: rgba(70, 192, 138, .14);--err: #ef5b5b;--err-hi: #ff8080;--err-dim: rgba(239, 91, 91, .13);--amber-hi-legacy: var(--amber-hi);--line-hot-c: var(--line-hot);--font: "Geist", system-ui, -apple-system, sans-serif;--mono: "Geist Mono", ui-monospace, "SF Mono", monospace;--r: 12px;--r-sm: 8px;--r-xs: 6px;--shadow: 0 1px 2px rgba(0, 0, 0, .35), 0 12px 30px -16px rgba(0, 0, 0, .7);--shadow-lg: 0 30px 70px -28px rgba(0, 0, 0, .75);--glow-amber: 0 6px 20px -6px rgba(240, 169, 59, .45);--rail: 62px;--status: 32px}:root{--ok-deep: rgba(70, 192, 138, .4);--err-deep: rgba(239, 91, 91, .4);--amber-deep: rgba(240, 169, 59, .4)}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--bg);color:var(--txt);font-family:var(--font);font-size:13.5px;line-height:1.5;letter-spacing:.005em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(130% 62% at 50% -12%,rgba(240,169,59,.07),transparent 58%),radial-gradient(80% 44% at 100% 0%,rgba(70,192,138,.035),transparent 55%)}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9998;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:160px 160px;opacity:.03;mix-blend-mode:overlay}#root{position:relative;z-index:1;min-height:100%}a{color:var(--amber);text-decoration:none;transition:color .14s}a:hover{color:var(--amber-hi)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--amber);outline-offset:2px;border-radius:var(--r-xs)}::selection{background:var(--amber-dim);color:var(--amber-hi)}*{scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:8px;border:3px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--line-hot);background-clip:content-box}.app{display:grid;grid-template-columns:var(--rail) 1fr;grid-template-rows:1fr var(--status);height:100vh}.rail{grid-row:1 / 3;border-right:1px solid var(--line);background:linear-gradient(180deg,var(--bg-soft),var(--bg));display:flex;flex-direction:column;align-items:center;padding:14px 0;gap:6px}.rail .logo{width:34px;height:34px;margin-bottom:14px;display:grid;place-items:center;color:#1a1205;font-weight:700;font-size:15px;background:linear-gradient(180deg,var(--amber-hi),var(--amber));border-radius:10px;box-shadow:var(--glow-amber)}.rail a{width:42px;height:40px;display:grid;place-items:center;color:var(--dim);font-size:17px;border-radius:10px;position:relative;transition:color .14s,background .14s}.rail a:hover{color:var(--txt-2);background:var(--panel)}.rail a.on{color:var(--amber);background:var(--amber-dim)}.rail .nav-ico{display:block}.rail a.on:before{content:"";position:absolute;left:-14px;top:9px;bottom:9px;width:3px;border-radius:3px;background:var(--amber);box-shadow:0 0 12px 1px #f0a93b99}.rail .grow{flex:1}.col{grid-row:1 / 2;display:flex;flex-direction:column;overflow:hidden}.viewport{flex:1;overflow-y:auto}.wrapc{max-width:1200px;margin:0 auto;padding:30px 34px 72px}.topbar{display:flex;align-items:center;gap:18px;height:54px;padding:0 26px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(22,24,30,.7),transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);flex:0 0 auto}.wordmark{font-weight:600;font-size:14px;letter-spacing:-.01em;color:var(--txt)}.wordmark b{color:var(--amber);font-weight:600}.crumb{color:var(--dim);font-size:13px}.crumb a{color:var(--txt-2)}.crumb a:hover{color:var(--amber)}.topbar .spacer{flex:1}.topbar .clock{color:var(--dim);font-size:12.5px;font-family:var(--mono);font-variant-numeric:tabular-nums}.nav{display:none}.statusline{grid-column:2 / 3;grid-row:2 / 3;display:flex;align-items:center;height:var(--status);border-top:1px solid var(--line);background:var(--bg-soft);font-size:12px;font-family:var(--mono);overflow:hidden;white-space:nowrap}.statusline .seg{padding:0 14px;display:flex;align-items:center;gap:8px;height:100%;color:var(--txt-2)}.statusline .seg+.seg{border-left:1px solid var(--line)}.statusline .seg.mode{color:var(--amber);font-weight:500;letter-spacing:.04em}.statusline .seg.mode:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--amber);box-shadow:0 0 8px #f0a93bb3}.statusline .seg.grow{flex:1;color:var(--dim);border-left:1px solid var(--line)}.statusline .seg .k{color:var(--dim)}.statusline .seg .v{color:var(--txt);font-variant-numeric:tabular-nums}.statusline .seg .v.hot{color:var(--err)}.statusline .curse{display:inline-block;width:7px;height:14px;border-radius:2px;background:var(--amber);vertical-align:middle;animation:blink 1.05s steps(2) infinite}@keyframes blink{50%{opacity:0}}@media(prefers-reduced-motion:reduce){.curse,.st-run .glyph,.cursor,.pulse{animation:none!important}}.panel{border:1px solid var(--line);background:var(--panel);border-radius:var(--r);margin-bottom:22px;box-shadow:var(--shadow),inset 0 1px #ffffff0a;overflow:hidden}.panel>header{display:flex;align-items:center;gap:10px;height:46px;padding:0 18px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.018),transparent)}.panel>header h2{margin:0;font-size:13px;font-weight:600;letter-spacing:-.005em;color:var(--txt)}.panel>header:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--amber);box-shadow:0 0 8px #f0a93b99;flex:0 0 auto}.panel>header .spacer{flex:1}.panel .body{padding:18px}table{width:100%;border-collapse:collapse;font-size:13.5px}th{text-align:left;font-size:11px;letter-spacing:.02em;color:var(--dim);font-weight:500;padding:11px 18px;border-bottom:1px solid var(--line)}td{padding:11px 18px;border-bottom:1px solid var(--line);color:var(--txt)}tr:last-child td{border-bottom:none}tbody tr{transition:background .12s}tbody tr:hover{background:#ffffff06}td.num,th.num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--txt-2)}.rowlink{cursor:pointer}.st{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;padding:2px 9px 2px 8px;border-radius:999px;font-size:11.5px;font-weight:500;font-variant-numeric:tabular-nums}.st .glyph{width:7px;height:7px;border-radius:50%;font-size:0;flex:0 0 auto}.st-live{color:var(--ok);background:var(--ok-dim)}.st-live .glyph{background:var(--ok);box-shadow:0 0 7px #46c08a99}.st-failed{color:var(--err);background:var(--err-dim)}.st-failed .glyph{background:var(--err)}.st-run{color:var(--amber);background:var(--amber-dim)}.st-run .glyph{background:var(--amber);animation:pulse 1.1s ease-in-out infinite}.st-dim{color:var(--txt-2);background:#ffffff0b}.st-dim .glyph{background:var(--dim)}@keyframes pulse{50%{opacity:.3}}.gauge{margin-bottom:14px}.gauge .label{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.02em;color:var(--dim)}.gauge .value{font-family:var(--mono);font-size:30px;font-weight:500;line-height:1.1;color:var(--txt);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.gauge .value small{font-size:12px;color:var(--dim);font-weight:400;letter-spacing:0}.gauge .bar{height:6px;background:var(--panel-2);border-radius:999px;margin-top:7px;overflow:hidden}.gauge .bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--amber),var(--amber-hi))}.gauge.hot .bar i{background:linear-gradient(90deg,var(--err),var(--err-hi))}.hostname{font-weight:600;font-size:16px;letter-spacing:-.01em}.hostname .st{margin-left:8px;font-size:12px}.spark{display:block;width:100%;height:28px;margin-top:4px;opacity:.95}input,select,textarea{background:var(--panel-2);border:1px solid var(--line-2);color:var(--txt);font:inherit;padding:9px 11px;width:100%;border-radius:var(--r-sm);transition:border-color .14s,box-shadow .14s}input:focus,select:focus,textarea:focus{border-color:var(--amber-line);box-shadow:0 0 0 3px var(--amber-dim);outline:none}input::placeholder,textarea::placeholder{color:var(--dim-2)}label.field{display:block;margin-bottom:14px}label.field span{display:block;font-size:12px;color:var(--txt-2);margin-bottom:6px}button{font:inherit;font-weight:500;background:var(--panel-2);border:1px solid var(--line-2);color:var(--txt);padding:9px 15px;cursor:pointer;border-radius:var(--r-sm);transition:all .14s}button:hover{border-color:var(--line-hot);background:var(--panel-hi)}button.primary{background:linear-gradient(180deg,var(--amber-hi),var(--amber));border-color:transparent;color:#1a1205;font-weight:600;box-shadow:inset 0 1px #ffffff40,var(--glow-amber)}button.primary:hover{filter:brightness(1.06);border-color:transparent}button.danger:hover{border-color:var(--err);color:var(--err-hi);background:var(--err-dim)}button.ghost{border:none;background:none;color:var(--dim);padding:5px 8px}button.ghost:hover{color:var(--amber);background:var(--amber-dim)}button:disabled{opacity:.4;cursor:default;box-shadow:none}.formrow{display:flex;gap:10px;align-items:flex-end}.formrow label.field{flex:1;min-width:0;margin-bottom:0}.ippool{padding:4px 0}.ippool-row{padding:11px 18px;border-bottom:1px solid var(--line)}.ippool-row:last-child{border-bottom:none}.ippool-line{display:flex;align-items:center;gap:10px}.ippool-ip{font-family:var(--mono);font-size:13px}.ippool-line .grow{flex:1}.ippool-target{font-size:12px;color:var(--txt-2);white-space:nowrap}.ippool-alloc{display:flex;gap:8px;margin-top:10px}.ippool-alloc input{flex:1;min-width:0}.ippool-empty{padding:14px 18px;font-size:13px}.error-line{color:var(--err-hi);background:var(--err-dim);border:1px solid var(--err-dim);border-radius:var(--r-sm);padding:8px 11px;margin:10px 0;white-space:pre-wrap;font-size:12.5px}.hint{color:var(--dim);font-size:12px}.cols{display:grid;grid-template-columns:1fr 352px;gap:22px;align-items:start}@media(max-width:900px){.cols{grid-template-columns:1fr}}.grid2{column-count:2;column-gap:22px}.grid2>.panel{break-inside:avoid;margin-bottom:22px}@media(max-width:900px){.grid2{column-count:1}}.phead{display:flex;align-items:center;gap:24px;flex-wrap:wrap;border:1px solid var(--line);background:var(--panel);border-radius:var(--r);padding:20px 22px;margin-bottom:22px;box-shadow:var(--shadow),inset 0 1px #ffffff0a;position:relative;overflow:hidden}.phead:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--amber),var(--amber-hi))}.phead-id{display:flex;align-items:baseline;gap:14px}.phead-slug{font-size:24px;font-weight:600;letter-spacing:-.02em;color:var(--txt)}.phead-facts{display:flex;flex-wrap:wrap;gap:6px 24px;flex:1;min-width:0}.phead-facts span{font-size:13px;color:var(--txt-2);white-space:nowrap}.phead-facts span.src{overflow:hidden;text-overflow:ellipsis;font-family:var(--mono);font-size:12px}.phead-facts i{color:var(--dim);font-style:normal;margin-right:7px;font-size:11px}.phead-actions{display:flex;gap:8px;align-items:center;flex:0 0 auto}.phead-actions button.on{border-color:var(--amber-line);color:var(--amber);background:var(--amber-dim)}@media(max-width:720px){.phead-actions{width:100%}}.railtitle{padding:14px 18px 0;font-size:11px;letter-spacing:.02em;color:var(--amber)}.rail-steps{display:flex;align-items:center;gap:0;padding:8px 18px 18px;overflow-x:auto}.stepbox{text-align:center;min-width:88px}.stepbox .glyph{font-size:20px;line-height:1}.stepbox .name{font-size:11px;letter-spacing:.01em;color:var(--dim);margin-top:7px}.stepbox .note{font-size:11px;color:var(--dim);max-width:128px;margin:3px auto 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link{flex:1 0 22px;height:2px;border-radius:2px;background:var(--line-2);min-width:14px}.rail-steps .st-live .name,.rail-steps .st-live .glyph{color:var(--ok)}.rail-steps .st-failed .name,.rail-steps .st-failed .glyph{color:var(--err)}.rail-steps .st-run .name{color:var(--amber)}.rail-steps .st-run .glyph{color:var(--amber);animation:pulse 1.1s ease-in-out infinite}.rail-steps .st-dim .glyph{color:var(--dim)}.logpane{background:#0a0b0e;border-top:1px solid var(--line);padding:14px 18px;height:440px;overflow-y:auto;font-family:var(--mono);font-size:12.5px;line-height:1.65}.logpane .ln{display:flex;gap:14px}.logpane .ln .step{color:var(--amber);opacity:.7;flex:0 0 100px;text-align:right;-webkit-user-select:none;user-select:none}.logpane .ln .txt{color:var(--txt-2);white-space:pre-wrap;word-break:break-all}.logpane .cursor{color:var(--amber);animation:blink 1s steps(2) infinite}.deploy-status{font-size:24px;font-weight:600;letter-spacing:-.01em}.login{min-height:100vh;display:grid;place-items:center}.login .box{width:440px;max-width:90vw;border:1px solid var(--line);background:var(--panel);border-radius:var(--r);padding:36px;box-shadow:var(--shadow-lg),0 40px 120px -50px #f0a93b33}.login .mark{font-size:28px;font-weight:600;letter-spacing:-.02em;margin-bottom:6px}.login .mark b{color:var(--amber)}.login .sub{color:var(--dim);margin-bottom:28px;font-size:13px}.or-sep{text-align:center;color:var(--dim);font-size:11px;letter-spacing:.06em;text-transform:uppercase;margin:18px 0 12px}button.passkey-btn{width:100%;border-color:var(--line-2);color:var(--txt)}button.passkey-btn:hover:not(:disabled){border-color:var(--amber-line);color:var(--amber-hi);background:var(--amber-dim)}.mono-dim{color:var(--dim);font-family:var(--mono);font-size:12.5px}.kv{margin:0}.kv div{display:flex;gap:12px;padding:4px 0}.kv dt{color:var(--dim);flex:0 0 138px;font-size:12.5px}.kv dd{margin:0;word-break:break-all;color:var(--txt);font-family:var(--mono);font-size:12.5px}.classtag{font-family:var(--mono);font-size:10px;letter-spacing:.02em;text-transform:uppercase;border-radius:999px;padding:2px 8px;color:var(--dim);background:#ffffff0b}.classtag.build_public{color:var(--txt-2)}.classtag.build_secret{color:var(--amber);background:var(--amber-dim)}.dns{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 12px;font-family:var(--mono);font-size:12px;margin-top:8px;color:var(--txt-2)}.loading-dots:after{content:"";animation:loading-dots 1.2s steps(4,end) infinite}@keyframes loading-dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}@media(prefers-reduced-motion:reduce){.loading-dots:after{content:"…";animation:none}}.toaster{position:fixed;right:20px;bottom:46px;z-index:90;display:flex;flex-direction:column;gap:10px;max-width:390px}.toast{display:flex;align-items:flex-start;gap:10px;background:var(--panel-hi);border:1px solid var(--line-2);border-left:3px solid var(--dim);border-radius:var(--r-sm);padding:11px 14px;font-size:12.5px;color:var(--txt);box-shadow:var(--shadow-lg);animation:toast-in .18s ease-out}.toast-glyph{font-size:10px;line-height:1.5;flex:0 0 auto}.toast-msg{word-break:break-word}.toast-ok{border-left-color:var(--ok)}.toast-ok .toast-glyph{color:var(--ok)}.toast-err{border-left-color:var(--err)}.toast-err .toast-glyph{color:var(--err)}.toast-info{border-left-color:var(--amber)}.toast-info .toast-glyph{color:var(--amber)}@keyframes toast-in{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.svc-console{border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--panel-2);padding:10px;margin-top:8px}.svc-console-in{display:flex;gap:10px}.svc-console-in input{flex:1;background:var(--bg);border:1px solid var(--line-2);color:var(--amber);font-family:var(--mono);font-size:12.5px;padding:8px 10px}.svc-console-in input:focus{border-color:var(--amber-line)}.svc-console-out{height:240px;margin:10px 0 4px;border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden}.docs-layout{display:grid;grid-template-columns:244px 1fr;height:100%}.docs-nav{border-right:1px solid var(--line);padding:8px 0 20px;overflow-y:auto}.docs-cat{margin-top:20px}.docs-cat:first-child{margin-top:6px}.docs-cat-label{font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--dim);padding:0 20px 8px}.docs-nav a{display:block;padding:7px 20px;font-size:13px;color:var(--txt-2);border-left:2px solid transparent}.docs-nav a:hover{color:var(--txt);background:var(--panel)}.docs-nav a.on{color:var(--amber);border-left-color:var(--amber);background:var(--amber-dim)}.docs-content{padding:12px 40px 72px;overflow-y:auto;max-width:860px}.docs-eyebrow{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--dim);margin-bottom:8px}.docs-title{font-size:26px;font-weight:600;letter-spacing:-.02em;color:var(--txt);margin:0 0 20px}.doc-h3{font-size:17px;font-weight:600;color:var(--txt);margin:30px 0 12px;letter-spacing:-.01em}.doc-h4{font-size:14px;font-weight:600;color:var(--txt-2);margin:20px 0 8px}.doc-p{font-size:14px;line-height:1.7;color:var(--txt-2);margin:0 0 14px}.doc-ul{margin:0 0 14px;padding-left:20px}.doc-ul li{font-size:14px;line-height:1.65;color:var(--txt-2);margin:4px 0}.doc-check{color:var(--dim)}.doc-check.on{color:var(--ok)}.doc-code-inline{font-family:var(--mono);font-size:12.5px;color:var(--amber);background:var(--amber-dim);border-radius:var(--r-xs);padding:1px 6px}.doc-code-block{font-family:var(--mono);font-size:12.5px;line-height:1.6;color:var(--txt);background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--r-sm);padding:14px 16px;margin:0 0 16px;overflow-x:auto;white-space:pre}.doc-table{border-collapse:collapse;margin:0 0 16px;width:100%;font-size:12.5px;border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden}.doc-table th,.doc-table td{border-bottom:1px solid var(--line);padding:8px 12px;text-align:left;vertical-align:top}.doc-table th{color:var(--amber);background:var(--panel-2);font-weight:500}.doc-table td{color:var(--txt-2);line-height:1.55}.sglyph{font-size:10px;line-height:1}.pulse{animation:fp-pulse 1.2s ease-in-out infinite}@keyframes fp-pulse{0%,to{opacity:1}50%{opacity:.35}}.sdot{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--txt)}.sdot-mark{width:7px;height:7px;border-radius:50%;flex:0 0 auto}.topo{padding:22px 10px 12px}.topo-trivial{display:flex}.topo-ingress{display:flex;align-items:center;gap:12px;border:1px solid var(--amber-line);background:var(--amber-dim);border-radius:var(--r-sm);padding:10px 16px;font-size:12.5px}.topo-ingress-name{color:var(--amber);font-weight:500}.topo-ingress-domains{color:var(--dim);font-size:11.5px;margin-left:auto;font-family:var(--mono)}.topo-drop{width:2px;height:20px;background:var(--line-hot);margin:0 auto;border-radius:2px}.topo-tier{display:flex;gap:18px;flex-wrap:wrap;justify-content:center}.topo-data{margin-top:12px}.topo-node{position:relative;min-width:156px;border:1px solid var(--line-2);background:var(--panel-2);border-radius:var(--r-sm);padding:12px 14px 11px;box-shadow:var(--shadow)}.topo-node.primary{border-color:var(--amber-line)}.topo-node.internal{border-style:dashed;opacity:.85}.topo-node.service{min-width:136px}.topo-node-head{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--txt)}.topo-node-sub{font-size:11px;color:var(--dim);margin-top:4px;font-family:var(--mono)}.topo-route{position:absolute;top:-10px;left:12px;font-size:10px;letter-spacing:.02em;color:var(--amber);background:var(--panel);padding:1px 7px;border:1px solid var(--amber-line);border-radius:999px}.topo-route.off{color:var(--dim);border-color:var(--line-2)}.topo-bus{text-align:center;font-size:11px;letter-spacing:.04em;color:var(--dim);margin:16px 0 6px}.topo-envbar{display:flex;align-items:center;justify-content:space-between;margin:0 0 16px;padding-bottom:10px;border-bottom:1px dashed var(--line)}.topo-envbar-tag{font-size:12px;color:var(--dim)}.topo-envbar-tag b{color:var(--amber);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.topo-envbar-count{font-size:12px;color:var(--txt-2);font-family:var(--mono);font-variant-numeric:tabular-nums}.envtag{font-family:var(--mono);font-size:10px;letter-spacing:.02em;text-transform:uppercase;border:1px solid var(--amber-line);color:var(--amber);background:var(--amber-dim);border-radius:999px;padding:1px 8px}.envtag.global{border-color:var(--line-2);color:var(--dim);background:#ffffff0a}.vitals{padding:4px 2px}.vstats{display:grid;grid-template-columns:repeat(8,1fr);gap:12px;margin-bottom:18px}.vstat{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:13px 14px}.vstat-v{font-family:var(--mono);font-size:21px;color:var(--txt);font-weight:500;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.vstat-l{font-size:10.5px;letter-spacing:.02em;color:var(--dim);margin-top:4px}.vgrid{display:grid;grid-template-columns:1fr 180px;gap:14px;margin-bottom:14px}.vpanel{border:1px solid var(--line);background:var(--panel);border-radius:var(--r-sm);padding:14px 16px;box-shadow:var(--shadow)}.vpanel-t{font-size:11px;letter-spacing:.02em;color:var(--dim);margin-bottom:12px}.vpanel-gauge{display:flex;flex-direction:column;align-items:center}.vempty{font-size:12px;color:var(--dim);font-style:italic}.vtimeline{display:flex;gap:3px;align-items:flex-end;flex-wrap:wrap}.vtick{width:10px;height:18px;flex:0 0 auto;border-radius:2px;opacity:.88}.vtick:hover{opacity:1}.chart-legend{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--dim);font-family:var(--mono);font-variant-numeric:tabular-nums}.chart-legend b{color:var(--txt);font-weight:500;margin-left:2px}.chart-dot{width:8px;height:8px;border-radius:50%}.chart-axis{display:flex;gap:14px;font-size:10px;color:var(--dim);font-family:var(--mono);font-variant-numeric:tabular-nums}.gauge-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.gauge-value{font-family:var(--mono);font-size:23px;font-weight:500;color:var(--txt);font-variant-numeric:tabular-nums}.gauge-value i{font-size:12px;color:var(--dim);font-style:normal}.gauge-label{font-size:10px;letter-spacing:.02em;text-transform:uppercase;color:var(--dim);margin-top:3px}.vpanel-hint{font-size:10.5px;color:var(--dim);font-style:italic;margin-left:8px}.logs2{display:grid;grid-template-columns:232px 1fr;gap:14px;align-items:start}.logs2-side{border:1px solid var(--line);background:var(--panel);border-radius:var(--r-sm);display:flex;flex-direction:column;overflow:hidden}.logs2-side-t{font-size:11px;letter-spacing:.02em;color:var(--dim);padding:11px 14px;border-bottom:1px solid var(--line)}.logs2-item{display:flex;flex-direction:column;gap:3px;text-align:left;padding:10px 14px;background:none;border:none;border-left:2px solid transparent;border-bottom:1px solid var(--line);color:var(--txt-2);cursor:pointer;border-radius:0}.logs2-item:hover{background:var(--panel-2)}.logs2-item.on{border-left-color:var(--amber);background:var(--amber-dim)}.logs2-item-head{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--txt);word-break:break-all}.logs2-item-sub{font-size:10.5px;color:var(--dim);font-family:var(--mono)}.logs2-main{border:1px solid var(--line);background:var(--panel);border-radius:var(--r-sm);min-width:0;overflow:hidden}.logs2-main-t{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12.5px;color:var(--amber);padding:10px 14px;border-bottom:1px solid var(--line);word-break:break-all;font-family:var(--mono)}.logs2-pane{height:420px;margin:0;border:none}.phead-env{display:inline-flex;align-items:center;gap:8px;margin-left:16px}.phead-env>span{font-size:11px;letter-spacing:.02em;text-transform:uppercase;color:var(--dim)}.phead-env select{background:var(--panel-2);border:1px solid var(--amber-line);color:var(--amber);font-size:12.5px;padding:5px 10px;width:auto;border-radius:var(--r-xs)}.pbody{display:grid;grid-template-columns:178px 1fr;gap:18px;align-items:start}.ptabs{display:flex;flex-direction:column;border:1px solid var(--line);background:var(--panel);border-radius:var(--r-sm);position:sticky;top:4px;overflow:hidden;padding:6px;gap:2px}.ptabs a{padding:9px 12px;font-size:13px;color:var(--txt-2);border-radius:var(--r-xs);cursor:pointer}.ptabs a:hover{color:var(--txt);background:var(--panel-2)}.ptabs a.on{color:var(--amber);background:var(--amber-dim);font-weight:500}.pcontent{min-width:0}.mon-head{margin-bottom:16px}.mon-hostrow{display:flex;gap:22px;align-items:center}.mon-gauges{display:flex;gap:12px;flex:0 0 auto}.mon-cap{font-size:11px;color:var(--dim);margin-top:12px;font-family:var(--mono);font-variant-numeric:tabular-nums}.mon .vpanel{margin-bottom:14px}.host-list .host-card{margin-bottom:18px}.host-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}.host-name{font-size:15px;font-weight:600;color:var(--txt);letter-spacing:-.01em}.host-head .grow{flex:1}.host-meta{font-size:11.5px;color:var(--dim);font-family:var(--mono);font-variant-numeric:tabular-nums}.env-purge{display:flex;align-items:center;gap:14px}.host-actions{display:inline-flex;gap:8px;align-items:center}.host-access{display:flex;align-items:center;gap:12px;margin-top:14px;border-top:1px solid var(--line);padding-top:14px}.host-access .grow{flex:1}.host-ssh{font-family:var(--mono);font-size:12.5px;color:var(--amber);background:var(--amber-dim);border:1px solid var(--amber-line);border-radius:var(--r-xs);padding:4px 10px}.host-access-note{font-size:11px}.hostrole{font-size:10px;letter-spacing:.03em;text-transform:uppercase;padding:2px 9px;border-radius:999px;border:1px solid var(--line-2)}.hostrole-host{color:var(--amber);border-color:var(--amber-line);background:var(--amber-dim)}.hostrole-vm{color:var(--ok);border-color:var(--ok-dim);background:var(--ok-dim)}.host-detail{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.host-col{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 14px}.host-col-t{font-size:11px;letter-spacing:.02em;text-transform:uppercase;color:var(--dim);margin-bottom:10px}.host-item{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--txt-2);padding:6px 0;border-bottom:1px solid var(--line)}a.host-item:hover{color:var(--amber)}.host-item:last-child{border-bottom:none}.host-ipstate{font-family:var(--mono);font-size:10.5px;letter-spacing:.02em;text-transform:uppercase;color:var(--dim)}.host-empty{font-size:12.5px;padding:6px 0}.vm-section{margin-top:14px;border-top:1px solid var(--line);padding-top:14px}.vm-section-head{display:flex;align-items:center;gap:10px}.vm-section-head .grow{flex:1}.vm-create-btn{font-size:12px}.vm-form{margin-top:12px;border:1px solid var(--line-2);border-radius:var(--r-sm);padding:14px;background:var(--panel-2)}.vm-form-row{display:flex;gap:12px;align-items:flex-end;margin-bottom:12px}.vm-form-row .field{flex:1;min-width:0;margin-bottom:0}.vm-form-row .vm-num{flex:0 0 82px}.vm-check{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--txt-2);white-space:nowrap}.vm-check input{width:auto}.vm-form-actions{display:flex;gap:10px}.vm-orders{margin-top:14px;display:flex;flex-direction:column}.vm-order{display:flex;align-items:center;gap:12px;font-size:12.5px;padding:9px 0;border-bottom:1px solid var(--line)}.vm-order:last-child{border-bottom:none}.vm-order .grow{flex:1}.vm-order-name{color:var(--txt);font-family:var(--mono)}.vm-order-err{font-size:11.5px;color:var(--err);max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.mon-proj{display:flex;align-items:center;gap:10px;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:11px 14px;font-size:12.5px;color:var(--txt)}.mon-proj:hover{background:var(--panel-hi);border-color:var(--line-2)}.mon-proj b{font-weight:500}.mon-proj>span:last-child{margin-left:auto;font-size:10.5px;color:var(--dim);font-family:var(--mono)}.mon-alert{display:flex;align-items:center;gap:10px;padding:7px 0;font-size:12px;border-top:1px solid var(--line)}.mon-alert-mark{width:7px;height:7px;border-radius:50%;flex:0 0 auto}.mon-alert-kind{color:var(--amber);font-weight:500}.mon-alert-subj{color:var(--txt)}.mon-alert-detail{color:var(--dim)}.mon-alert-at{margin-left:auto;color:var(--dim);font-size:10.5px;font-family:var(--mono);font-variant-numeric:tabular-nums}
