:root{--ink: #0f172a;--ink-soft: #64748b;--paper: #f1f5f9;--paper-2: #e2e8f0;--surface: #ffffff;--line: #cbd5e1;--line-soft: #e2e8f0;--accent: #55be9b;--accent-deep: #3ea884;--accent-soft: rgba(85, 190, 155, .16);--danger: #b91c1c;--danger-soft: #fee2e2;--success: #188d6d;--rail: #e8ecf1;--rail-ink: #475569;--radius: 8px;--font: "Source Sans 3", system-ui, sans-serif;--font-display: "Sora", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%;background:linear-gradient(180deg,#f8fafc 0%,var(--paper) 100%);color:var(--ink);font-family:var(--font);font-size:15px}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.page-header{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.page-title{margin:0;font-family:var(--font-display);font-weight:600;font-size:1.5rem;letter-spacing:-.03em}.page-intro{margin:.25rem 0 0;color:var(--ink-soft);font-size:.95rem}.button-primary,.button-secondary,.button-ghost{border-radius:var(--radius);padding:.55rem .9rem;border:1px solid transparent;font-weight:600;font-size:.9rem}.button-primary{color:#fff;background:var(--accent)}.button-primary:hover:not(:disabled){background:var(--accent-deep)}.button-primary:disabled,.button-ghost:disabled,.button-secondary:disabled{opacity:.45;cursor:not-allowed}.button-secondary{border-color:var(--line);background:var(--surface);color:var(--ink)}.button-ghost{border-color:var(--line-soft);background:transparent;color:var(--ink-soft)}.button-ghost-active{color:var(--ink);border-color:var(--ink);background:var(--surface)}.field{width:100%;border:1px solid var(--line);border-radius:var(--radius);padding:.55rem .7rem;background:var(--surface)}.field:disabled{background:var(--paper);color:var(--ink-soft);border-color:var(--line-soft)}.field-mono{font-family:var(--font-mono);font-size:.85rem}.muted{color:var(--ink-soft)}.chip{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .5rem;border-radius:4px;border:1px solid var(--line-soft);background:var(--paper);font-size:.78rem;color:var(--ink-soft)}.badge-dot{width:.4rem;height:.4rem;border-radius:50%;background:currentColor}.status-success{color:var(--success)}.status-danger{color:var(--danger)}
