@import "https://fonts.googleapis.com/css2?family=Geist:wght@300..700&family=Geist+Mono:wght@400..600&display=swap";
:root{--brand-teal:#40c9d6;--brand-blue:#4070c0;--brand-primary:#4070c0;--brand-primary-hover:#365fa6;--brand-primary-press:#2d4f8a;--brand-gradient:linear-gradient(105deg, #40c9d6 0%, #4070c0 100%);--brand-gradient-soft:linear-gradient(105deg, #40c9d624 0%, #4070c024 100%);--gray-0:#fff;--gray-50:#fafafa;--gray-100:#f4f4f5;--gray-200:#e7e7e9;--gray-300:#d6d6d9;--gray-400:#a8a8ad;--gray-500:#76767c;--gray-600:#52525a;--gray-700:#3a3a40;--gray-800:#26282c;--gray-850:#1c1e22;--gray-900:#16181b;--gray-950:#0e0f11;--gray-1000:#08090a;--status-up:#1f9d63;--status-up-bg:#1f9d631f;--status-warn:#c98a14;--status-warn-bg:#c98a141f;--status-down:#d14343;--status-down-bg:#d143431f;--status-info:#4070c0;--status-info-bg:#4070c01f;--r-xs:6px;--r-sm:8px;--r-md:10px;--r-lg:12px;--r-xl:16px;--r-2xl:24px;--r-full:999px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--sp-20:80px;--sp-24:96px;--ease:cubic-bezier(.4, 0, .2, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--dur-fast:.15s;--dur:.18s;--dur-slow:.24s;--font-sans:"Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--fs-display:60px;--lh-display:1.04;--tr-display:-.03em;--fs-h1:44px;--lh-h1:1.08;--tr-h1:-.025em;--fs-h2:32px;--lh-h2:1.14;--tr-h2:-.02em;--fs-h3:24px;--lh-h3:1.25;--tr-h3:-.015em;--fs-h4:19px;--lh-h4:1.35;--tr-h4:-.01em;--fs-body-lg:18px;--lh-body-lg:1.6;--fs-body:16px;--lh-body:1.6;--fs-sm:14px;--lh-sm:1.55;--fs-caption:13px;--lh-caption:1.4;--fs-mono:13px}:root,:root[data-theme=light]{--bg:var(--gray-50);--surface:var(--gray-0);--surface-2:var(--gray-100);--surface-3:var(--gray-200);--border:var(--gray-200);--border-strong:var(--gray-300);--fg1:var(--gray-900);--fg2:var(--gray-600);--fg3:var(--gray-500);--fg-on-accent:#fff;--ring:#4070c052;--shadow-sm:0 1px 2px #1012140d;--shadow-md:0 4px 16px #10121412;--shadow-lg:0 12px 40px #1012141a}:root[data-theme=dark]{--bg:var(--gray-950);--surface:var(--gray-900);--surface-2:var(--gray-850);--surface-3:var(--gray-800);--border:#ffffff14;--border-strong:#ffffff24;--fg1:#f4f4f5;--fg2:#a8a8ad;--fg3:#76767c;--fg-on-accent:#fff;--ring:#40c9d666;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 16px #00000080;--shadow-lg:0 16px 48px #0009}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:var(--gray-950);--surface:var(--gray-900);--surface-2:var(--gray-850);--surface-3:var(--gray-800);--border:#ffffff14;--border-strong:#ffffff24;--fg1:#f4f4f5;--fg2:#a8a8ad;--fg3:#76767c;--ring:#40c9d666;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 16px #00000080;--shadow-lg:0 16px 48px #0009}}.t-display{font-family:var(--font-sans);font-weight:600;font-size:var(--fs-display);line-height:var(--lh-display);letter-spacing:var(--tr-display);color:var(--fg1)}.t-h1{font-family:var(--font-sans);font-weight:600;font-size:var(--fs-h1);line-height:var(--lh-h1);letter-spacing:var(--tr-h1);color:var(--fg1)}.t-h2{font-family:var(--font-sans);font-weight:600;font-size:var(--fs-h2);line-height:var(--lh-h2);letter-spacing:var(--tr-h2);color:var(--fg1)}.t-h3{font-family:var(--font-sans);font-weight:600;font-size:var(--fs-h3);line-height:var(--lh-h3);letter-spacing:var(--tr-h3);color:var(--fg1)}.t-h4{font-family:var(--font-sans);font-weight:600;font-size:var(--fs-h4);line-height:var(--lh-h4);letter-spacing:var(--tr-h4);color:var(--fg1)}.t-body-lg{font-family:var(--font-sans);font-weight:400;font-size:var(--fs-body-lg);line-height:var(--lh-body-lg);color:var(--fg2)}.t-body{font-family:var(--font-sans);font-weight:400;font-size:var(--fs-body);line-height:var(--lh-body);color:var(--fg2)}.t-sm{font-family:var(--font-sans);font-weight:400;font-size:var(--fs-sm);line-height:var(--lh-sm);color:var(--fg2)}.t-caption{font-family:var(--font-sans);font-weight:500;font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--fg3)}.t-overline{font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--fg3);font-size:12px;font-weight:600;line-height:1.2}.t-mono{font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--fg2);font-weight:400}.tnum{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.t-gradient{background:var(--brand-gradient);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text}
*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);background:var(--bg);color:var(--fg1);-webkit-font-smoothing:antialiased;transition:background var(--dur) var(--ease), color var(--dur) var(--ease)}a{color:inherit;text-decoration:none}button{font-family:var(--font-sans);cursor:pointer}.tnum{font-variant-numeric:tabular-nums}.gradient-text{background:var(--brand-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.btn{white-space:nowrap;border-radius:var(--r-full);transition:background var(--dur) var(--ease), transform var(--dur-fast) var(--ease), border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:500;line-height:1;display:inline-flex}.btn:active{transform:scale(.98)}.btn:focus-visible{box-shadow:0 0 0 3px var(--ring);outline:none}.btn-primary{background:var(--brand-primary);color:#fff}.btn-primary:hover{background:var(--brand-primary-hover)}.btn-gradient{background:var(--brand-gradient);color:#fff}.btn-gradient:hover{filter:brightness(1.05)}.btn-secondary{background:var(--surface);color:var(--fg1);border-color:var(--border-strong)}.btn-secondary:hover{background:var(--surface-2)}.btn-ghost{color:var(--fg2);background:0 0}.btn-ghost:hover{background:var(--surface-2);color:var(--fg1)}.btn-outline{color:var(--fg1);border-color:var(--border-strong);background:0 0}.btn-outline:hover{background:var(--surface-2)}.btn-sm{padding:7px 14px;font-size:13px}.btn-lg{padding:13px 24px;font-size:15px}.btn:disabled{opacity:.45;pointer-events:none}.btn-icon{border-radius:var(--r-sm);width:34px;height:34px;color:var(--fg2);transition:background var(--dur), color var(--dur);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.btn-icon:hover{background:var(--surface-2);color:var(--fg1)}.segmented{border-radius:var(--r-full);border:1px solid var(--border);background:var(--surface);gap:2px;padding:3px;display:inline-flex}.segmented button{color:var(--fg2);border-radius:var(--r-full);transition:background var(--dur), color var(--dur);background:0 0;border:none;align-items:center;gap:7px;padding:6px 14px;font-size:13px;font-weight:500;display:inline-flex}.segmented button:hover{color:var(--fg1)}.segmented button.on{background:var(--surface-3);color:var(--fg1)}.segmented button.on .seg-dot{background:var(--brand-primary);border-radius:50%;width:6px;height:6px}.segmented button .seg-dot{background:0 0;border-radius:50%;width:6px;height:6px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg)}.pill{border-radius:var(--r-full);align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;line-height:1.4;display:inline-flex}.pill .dot{border-radius:50%;width:7px;height:7px}.pill-up{color:var(--status-up);background:var(--status-up-bg)}.pill-up .dot{background:var(--status-up)}.pill-warn{color:var(--status-warn);background:var(--status-warn-bg)}.pill-warn .dot{background:var(--status-warn)}.pill-down{color:var(--status-down);background:var(--status-down-bg)}.pill-down .dot{background:var(--status-down)}.pill-info{color:var(--status-info);background:var(--status-info-bg)}.pill-info .dot{background:var(--status-info)}.theme-toggle{border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);width:38px;height:38px;color:var(--fg2);transition:background var(--dur) var(--ease), color var(--dur) var(--ease);justify-content:center;align-items:center;display:inline-flex}.theme-toggle:hover{background:var(--surface-2);color:var(--fg1)}@media (prefers-reduced-motion:no-preference){.fade-up{animation:fadeUp var(--dur-slow) var(--ease-out) both}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}.scroll-thin::-webkit-scrollbar{width:10px;height:10px}.scroll-thin::-webkit-scrollbar-thumb{background:var(--border-strong);border:3px solid var(--bg);border-radius:999px}.scroll-thin::-webkit-scrollbar-track{background:0 0}

