@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap";:root{--color-bg: #0f1117;--color-surface: #1a1d27;--color-surface-2: #22263a;--color-border: rgba(255, 255, 255, .08);--color-border-hover: rgba(255, 255, 255, .16);--color-text: #e2e8f0;--color-text-muted: rgba(226, 232, 240, .5);--color-text-faint: rgba(226, 232, 240, .28);--color-primary: #06b6d4;--color-primary-dim: rgba(6, 182, 212, .12);--color-success: #22c55e;--color-success-dim: rgba(34, 197, 94, .12);--color-warning: #f59e0b;--color-warning-dim: rgba(245, 158, 11, .12);--color-danger: #ef4444;--color-danger-dim: rgba(239, 68, 68, .12);--font-sans: "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", ui-monospace, monospace;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 10px;--topbar-height: 40px;--sidebar-width: 160px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:1rem;line-height:1.6;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}h1{font-size:1.5rem;font-weight:600;line-height:1.2}h2{font-size:1.25rem;font-weight:600;line-height:1.3}h3{font-size:1rem;font-weight:600;line-height:1.3}h4{font-size:.875rem;font-weight:600;line-height:1.4}p{margin-bottom:1rem}p:last-child{margin-bottom:0}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}input,textarea,select{font-family:var(--font-sans);font-size:.9375rem;color:var(--color-text);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.625rem .875rem;width:100%;transition:border-color .15s,box-shadow .15s;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #06b6d42e}input::placeholder{color:var(--color-text-faint)}label{display:block;font-size:.875rem;font-weight:500;color:var(--color-text-muted);margin-bottom:.375rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-sans);font-size:.9375rem;font-weight:500;padding:.6rem 1.25rem;border-radius:var(--radius-sm);border:none;cursor:pointer;transition:opacity .15s,transform .1s;text-decoration:none;white-space:nowrap}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#0a1a1f;font-weight:600}.btn-primary:hover:not(:disabled){opacity:.88}.btn-ghost{background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border)}.btn-ghost:hover:not(:disabled){background:var(--color-surface-2);color:var(--color-text);border-color:var(--color-border-hover)}.btn-full{width:100%}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.25rem}.badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;font-weight:500;padding:.2rem .6rem;border-radius:20px}.badge-up{background:var(--color-success-dim);color:var(--color-success)}.badge-silent{background:var(--color-danger-dim);color:var(--color-danger)}.badge-never{background:#ffffff0f;color:var(--color-text-muted)}.badge-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.alert-error{background:var(--color-danger-dim);color:var(--color-danger);border:1px solid rgba(239,68,68,.25);border-radius:var(--radius-sm);padding:.75rem 1rem;font-size:.875rem}.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(6,182,212,.2);border-top-color:var(--color-primary);border-radius:50%;animation:spin .6s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff3d}::-webkit-scrollbar-corner{background:transparent}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
