.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.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{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;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;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}:root{--paper:#f6f1e7;--paper-raised:#fffdf8;--ink:#26221d;--ink-soft:#6b6255;--ink-faint:#9c927f;--line:#e3d9c7;--line-strong:#cfc3ab;--accent:#2f2a24;--good:#2f7d5a;--warn:#b7791f;--bad:#b3452f;--shadow:0 1px 2px #26221d0f, 0 8px 24px #26221d0f;--radius:14px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.6}a{color:inherit}h1,h2,h3{letter-spacing:-.01em;margin:0 0 6px;font-weight:650}h1{font-size:24px}h2{font-size:18px}code{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em}.shell{flex-direction:column;min-height:100vh;display:flex}.topbar{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--paper-raised) 82%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:20;align-items:center;gap:16px;padding:14px 22px;display:flex;position:sticky;top:0}.brand{letter-spacing:.01em;align-items:center;gap:10px;font-weight:700;text-decoration:none;display:flex}.brand-mark{background:var(--accent);width:30px;height:30px;color:var(--paper-raised);border-radius:9px;place-items:center;font-size:15px;display:grid}.nav{flex-wrap:wrap;gap:4px;margin-left:8px;display:flex}.nav a{color:var(--ink-soft);border-radius:999px;padding:6px 12px;font-size:14px;text-decoration:none}.nav a.active,.nav a:hover{background:color-mix(in srgb, var(--line) 60%, transparent);color:var(--ink)}.topbar-right{align-items:center;gap:10px;margin-left:auto;display:flex}main{flex:1;width:100%;max-width:1180px;margin:0 auto;padding:22px}.page-head{flex-wrap:wrap;align-items:flex-end;gap:14px;margin-bottom:18px;display:flex}.page-head p{color:var(--ink-soft);margin:0;font-size:14px}.crumbs{color:var(--ink-soft);align-items:center;gap:4px;margin-bottom:6px;font-size:13px;display:flex}.crumbs a{border-radius:8px;align-items:center;min-height:32px;padding:0 10px;text-decoration:none;display:inline-flex}.crumbs a:hover{background:color-mix(in srgb, var(--line) 55%, transparent);color:var(--ink)}.page-actions{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.grid{gap:14px;display:grid}.grid.servers{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.grid.two-col{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.card h3{font-size:15px}.card-head{align-items:center;gap:10px;margin-bottom:10px;display:flex}.card-head .grow{flex:1;min-width:0}.card-title{text-decoration:none;display:block}.card-title:hover h3{text-underline-offset:3px;text-decoration:underline}.muted{color:var(--ink-soft);font-size:13px}.faint{color:var(--ink-faint);font-size:12px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.stack{gap:8px;display:grid}.dot{background:var(--ink-faint);border-radius:50%;flex:none;width:9px;height:9px}.dot.on{background:var(--good);box-shadow:0 0 0 4px color-mix(in srgb, var(--good) 18%, transparent)}.dot.off{background:var(--bad)}.metrics{gap:9px;margin-top:12px;display:grid}.metric-row{grid-template-columns:44px 1fr 78px;align-items:center;gap:10px;font-size:13px;display:grid}.bar{background:color-mix(in srgb, var(--line) 70%, transparent);border-radius:999px;height:7px;overflow:hidden}.bar span{background:var(--ink);border-radius:999px;height:100%;transition:width .25s;display:block}.bar span.warm{background:var(--warn)}.bar span.hot{background:var(--bad)}.bar span.calm{background:var(--good)}.spark{width:100%;height:150px;display:block}.spark-wrap{border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 55%, var(--paper-raised));border-radius:12px;padding:10px 12px}button,.input,select,textarea{font:inherit;color:inherit}button{border:1px solid var(--line-strong);background:var(--paper-raised);cursor:pointer;border-radius:10px;padding:7px 14px;font-size:14px}button:hover:not(:disabled){border-color:var(--ink-soft)}button:disabled{opacity:.55;cursor:not-allowed}button.primary{background:var(--accent);color:var(--paper-raised);border-color:var(--accent)}button.danger{color:var(--bad);border-color:color-mix(in srgb, var(--bad) 45%, var(--line))}button.ghost{background:0 0;border-color:#0000}button.tiny{padding:3px 9px;font-size:12.5px}input[type=text],input[type=email],input[type=password],input[type=number],select,textarea{border:1px solid var(--line-strong);background:var(--paper-raised);border-radius:10px;outline:none;width:100%;padding:9px 12px}input:focus,select:focus,textarea:focus{border-color:var(--ink-soft);box-shadow:0 0 0 3px color-mix(in srgb, var(--line) 60%, transparent)}label{color:var(--ink-soft);gap:5px;font-size:13px;display:grid}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:9px 10px}th{color:var(--ink-soft);font-size:12.5px;font-weight:600}tbody tr:last-child td{border-bottom:none}.badge{border:1px solid var(--line-strong);background:color-mix(in srgb, var(--paper) 65%, var(--paper-raised));color:var(--ink-soft);border-radius:999px;align-items:center;gap:5px;padding:2px 9px;font-size:12.5px;display:inline-flex}.badge.good{color:var(--good);border-color:color-mix(in srgb, var(--good) 40%, var(--line))}.badge.warn{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 40%, var(--line))}.badge.bad{color:var(--bad);border-color:color-mix(in srgb, var(--bad) 40%, var(--line))}.notice{border:1px solid var(--line-strong);background:color-mix(in srgb, var(--paper) 60%, var(--paper-raised));border-radius:12px;padding:12px 14px;font-size:14px}.notice.error{border-color:color-mix(in srgb, var(--bad) 40%, var(--line));color:var(--bad)}pre.code{background:var(--accent);color:#f4efe4;white-space:pre-wrap;word-break:break-all;border-radius:10px;margin:0;padding:12px;font-size:12.5px;line-height:1.55;overflow-x:auto}.terminal{border:1px solid var(--accent);background:#1d1a16;border-radius:12px;overflow:hidden}.terminal-bar{background:var(--accent);color:#e9e2d5;align-items:center;gap:8px;padding:7px 12px;font-size:13px;display:flex}.terminal-body{color:#e9e2d5;white-space:pre-wrap;word-break:break-word;min-height:320px;max-height:60vh;padding:8px 10px;font-family:JetBrains Mono,ui-monospace,Menlo,monospace;font-size:13px;overflow:auto}.terminal-body input{color:#e9e2d5;caret-color:#e9e2d5;font-family:inherit;font-size:inherit;background:0 0;border:none;width:100%;padding:0}footer.site{text-align:center;color:var(--ink-faint);padding:18px 22px 26px;font-size:12.5px}.center-page{max-width:420px;margin:8vh auto 0}.empty{text-align:center;color:var(--ink-faint);padding:34px 16px}.stripes{gap:2px;display:flex}.stripes i{background:var(--line-strong);border-radius:2px;width:4px;height:22px}.stripes i.ok{background:var(--good)}.stripes i.bad{background:var(--bad)}.stripes i.pending{background:var(--line)}.modal-backdrop{z-index:60;background:#26221d6b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{width:min(560px,100%);max-height:88vh;overflow:auto}.link-button{color:var(--ink-soft);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;text-decoration:underline}@media (width<=720px){.topbar{flex-wrap:wrap;padding:12px 14px}.nav{order:3;width:100%;margin-left:0}main{padding:16px 14px 26px}.metric-row{grid-template-columns:40px 1fr 70px}th:last-child,td:last-child{white-space:nowrap}}
