:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--radius: 0;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--text-xs: 12px;--text-sm: 13px;--text-base: 14px;--text-md: 15px;--text-lg: 17px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 30px;--line: 1px solid var(--border);--shadow-none: none}:root,:root[data-theme=light]{color-scheme:light;--bg: #f5f6f7;--surface: #ffffff;--surface-2: #f0f2f4;--surface-3: #e6e9ec;--border: #d7dbe0;--border-strong: #b9bfc7;--text: #14181d;--text-muted: #5c6672;--text-faint: #8a939e;--accent: #1f5fd0;--accent-text: #ffffff;--ok: #1d7a3f;--ok-bg: #eaf5ee;--ok-border: #b8dcc6;--warn: #8a5a00;--warn-bg: #fdf5e3;--warn-border: #e6d3a3;--err: #b3261e;--err-bg: #fdeceb;--err-border: #e8bcb9;--info: #1f5fd0;--info-bg: #eaf0fb;--info-border: #bcd0ef;--code-bg: #eef0f2;--console-bg: #101317;--console-text: #d9dee4}:root[data-theme=dark]{color-scheme:dark;--bg: #101317;--surface: #171b20;--surface-2: #1d2229;--surface-3: #262c34;--border: #2b323b;--border-strong: #3c444f;--text: #e6e9ec;--text-muted: #9aa4b1;--text-faint: #6f7883;--accent: #5b9bff;--accent-text: #0b1220;--ok: #7ee2a8;--ok-bg: #12291d;--ok-border: #23543a;--warn: #ffd479;--warn-bg: #2b2413;--warn-border: #57492a;--err: #ff9b9b;--err-bg: #2a171b;--err-border: #4a2a30;--info: #bcd7ff;--info-bg: #122033;--info-border: #24384f;--code-bg: #1d2229;--console-bg: #0b0e12;--console-text: #d9dee4}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-sans);font-size:var(--text-base);line-height:1.5;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code{font-family:var(--font-mono);font-size:.92em;background:var(--code-bg);border:var(--line);padding:1px var(--space-1)}h1,h2,h3,h4{margin:0 0 var(--space-3);line-height:1.25;font-weight:600;letter-spacing:-.01em}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-lg)}h4{font-size:var(--text-xs);color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-2)}p{margin:0 0 var(--space-3);line-height:1.6}p:last-child{margin-bottom:0}hr{border:none;border-top:var(--line);margin:var(--space-5) 0}.layout{max-width:1080px;margin:0 auto;padding:var(--space-4) var(--space-4) var(--space-7)}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) 0;background:var(--bg);border-bottom:var(--line);flex-wrap:wrap}.logo{border:none;background:none;color:var(--text);font-weight:700;font-size:var(--text-lg);letter-spacing:-.02em;padding:0;cursor:pointer}.nav{display:flex;gap:var(--space-1)}.nav-item{border:var(--line);border-color:transparent;background:none;color:var(--text-muted);padding:var(--space-2) var(--space-3);font-size:var(--text-base)}.nav-item:hover:not(.active){color:var(--text);border-color:var(--border)}.nav-item.active{color:var(--text);background:var(--surface-2);border-color:var(--border);font-weight:600}.spacer{flex:1}.row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.row.actions{margin:var(--space-4) 0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-4)}.grid.two{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--space-4)}.card{background:var(--surface);border:var(--line);border-radius:0;padding:var(--space-5);margin-bottom:var(--space-4)}.card>.row:first-child{align-items:baseline;padding-bottom:var(--space-3);border-bottom:var(--line);margin-bottom:var(--space-4)}.card>.row:first-child h3{margin:0}.server{padding:var(--space-5)}.server header{gap:var(--space-2);align-items:baseline}.hint{color:var(--text-muted);font-size:var(--text-sm);margin:var(--space-2) 0}.lede{font-size:var(--text-md);color:var(--text-muted)}button{font:inherit;font-size:var(--text-base);padding:var(--space-2) var(--space-4);border-radius:0;border:var(--line);background:var(--surface);color:var(--text);cursor:pointer;line-height:1.4}button:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-2)}button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}button.primary:hover:not(:disabled){background:var(--accent);border-color:var(--accent);filter:brightness(1.08)}button.danger{border-color:var(--err-border);color:var(--err);background:transparent}button.danger:hover:not(:disabled){background:var(--err-bg);border-color:var(--err)}button.link{border:none;background:none;color:var(--accent);padding:0}button.link:hover:not(:disabled){background:none;text-decoration:underline}button.link.strong{font-weight:600}input,select,textarea{font:inherit;font-size:var(--text-base);padding:var(--space-2) var(--space-3);border-radius:0;border:var(--line);background:var(--surface);color:var(--text);width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}input:disabled,select:disabled,textarea:disabled{background:var(--surface-2);color:var(--text-faint)}textarea{resize:vertical;min-height:88px}label{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-3)}label.checkbox{flex-direction:row;align-items:center;gap:var(--space-2);color:var(--text)}label.checkbox input{width:auto;margin:0}.form{display:flex;flex-direction:column;gap:var(--space-4)}.tabs{display:flex;gap:0;margin:0 0 var(--space-4);border-bottom:var(--line);flex-wrap:wrap}.tab{border:none;border-bottom:2px solid transparent;background:none;color:var(--text-muted);border-radius:0;padding:var(--space-2) var(--space-4);margin-bottom:-1px}.tab:hover:not(.active){color:var(--text);background:var(--surface-2);border-color:transparent}.tab.active{color:var(--text);background:none;border-color:transparent;border-bottom-color:var(--accent);font-weight:600}.chip{padding:var(--space-1) var(--space-3);border-radius:0;font-size:var(--text-xs);background:transparent;color:var(--text-muted)}.chip.active{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}.badge{padding:2px var(--space-2);border-radius:0;background:var(--surface-2);border:var(--line);font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.badge.warn{color:var(--warn);border-color:var(--warn-border);background:var(--warn-bg)}.state{padding:2px var(--space-2);border-radius:0;background:var(--surface-2);color:var(--text-muted);font-size:var(--text-xs);white-space:nowrap;border:var(--line);font-variant-numeric:tabular-nums}.state.running{background:var(--ok-bg);color:var(--ok);border-color:var(--ok-border)}.state.starting,.state.provisioning,.state.pending{background:var(--info-bg);color:var(--info);border-color:var(--info-border)}.state.stopping{background:var(--warn-bg);color:var(--warn);border-color:var(--warn-border)}.state.error{background:var(--err-bg);color:var(--err);border-color:var(--err-border)}.state.deleted,.state.deleting{background:var(--surface-2);color:var(--text-faint)}.alert{border-radius:0;padding:var(--space-3) var(--space-4);border:1px solid var(--err-border);background:var(--err-bg);color:var(--err);margin:var(--space-3) 0;font-size:var(--text-sm);border-left-width:3px}.alert.success{border-color:var(--ok-border);background:var(--ok-bg);color:var(--ok)}.alert.info{border-color:var(--info-border);background:var(--info-bg);color:var(--info)}.alert.warn{border-color:var(--warn-border);background:var(--warn-bg);color:var(--warn)}.home{display:grid;grid-template-columns:1.2fr .8fr;gap:var(--space-7);align-items:start;margin-top:var(--space-6)}.hero h1{font-size:var(--text-3xl);margin-bottom:var(--space-3)}.features{list-style:none;padding:0;margin:var(--space-4) 0 0;display:grid;gap:var(--space-3);color:var(--text-muted)}.features li{padding-left:var(--space-5);position:relative}.features li:before{content:"—";position:absolute;left:0;color:var(--text-faint)}.auth{max-width:400px;display:flex;flex-direction:column;gap:var(--space-4)}.address{margin:var(--space-2) 0;font-family:var(--font-mono);font-size:var(--text-sm)}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-3) var(--space-5);margin:var(--space-4) 0}.facts dt{color:var(--text-faint);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em}.facts dd{margin:var(--space-1) 0 0;font-size:var(--text-md)}.metrics-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-3);padding:var(--space-4) 0 0;border-top:var(--line);margin-top:var(--space-4)}.metric{display:flex;flex-direction:column;gap:2px}.metric-label{color:var(--text-faint);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em}.metric-value{font-size:var(--text-xl);font-variant-numeric:tabular-nums}.metric-value small{color:var(--text-muted);font-size:var(--text-xs)}.actions{margin:var(--space-4) 0}.spark{margin:0}.spark svg{width:100%;height:100%;display:block}.spark.empty{display:flex;align-items:center;justify-content:center;color:var(--text-faint);font-size:var(--text-sm);border:1px dashed var(--border);border-radius:0}.spark figcaption{color:var(--text-muted);font-size:var(--text-xs);margin-top:var(--space-1)}.spark-single{height:100%;display:flex;align-items:center;justify-content:center;border:1px dashed var(--border);border-radius:0;font-size:var(--text-xl);font-variant-numeric:tabular-nums}.log{height:320px;overflow:auto;background:var(--console-bg);color:var(--console-text);border:var(--line);padding:var(--space-3);border-radius:0;font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.55;white-space:pre-wrap;margin:var(--space-3) 0}.dot{width:8px;height:8px;border-radius:0;background:var(--text-faint);display:inline-block}.dot.online{background:var(--ok)}.snapshots,.events{list-style:none;padding:0;margin:0;display:grid;gap:0}.snapshots li,.events li{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap;border-bottom:var(--line);padding:var(--space-3) 0;font-size:var(--text-sm)}.snapshots li:last-child,.events li:last-child{border-bottom:none}.events .kind{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-xs);min-width:130px}.empty-box{border:1px dashed var(--border);border-radius:0;padding:var(--space-6);color:var(--text-muted);text-align:center}.center{max-width:480px;margin:var(--space-7) auto;display:flex;flex-direction:column;gap:var(--space-4)}.footer{margin-top:var(--space-7);border-top:var(--line);padding-top:var(--space-3);color:var(--text-muted);font-size:var(--text-sm)}.toasts{position:fixed;top:var(--space-4);right:var(--space-4);z-index:50;display:flex;flex-direction:column;gap:var(--space-2);max-width:380px}.toast{border:1px solid var(--err-border);border-left-width:3px;background:var(--surface);color:var(--text);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);display:flex;gap:var(--space-3);align-items:flex-start}.toast.error{border-color:var(--err-border);border-left-color:var(--err)}.toast.success{border-color:var(--ok-border);border-left-color:var(--ok)}.toast.info{border-color:var(--info-border);border-left-color:var(--info)}@media (max-width: 860px){.home{grid-template-columns:1fr;gap:var(--space-5);margin-top:var(--space-4)}.hero h1{font-size:var(--text-2xl)}.cards{grid-template-columns:1fr}.layout{padding:var(--space-3) var(--space-3) var(--space-6)}}.table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.table th,.table td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:var(--line);vertical-align:top}.table th{color:var(--text-faint);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;font-weight:600;border-bottom-color:var(--border-strong)}.table tr:hover td{background:var(--surface-2)}.console{display:flex;flex-direction:column;gap:var(--space-3)}.console form{display:flex;gap:var(--space-2)}.console input{font-family:var(--font-mono)}.toast-text{flex:1;line-height:1.5}.toast-close{border:none;background:none;color:var(--text-faint);padding:0 var(--space-1);line-height:1;font-size:var(--text-md);cursor:pointer}.toast-close:hover{color:var(--text);background:none}
