:root{--bg: #14110f;--surface: #1c1815;--surface-elevated: #26211d;--surface-2: #312a24;--text-primary: #f3ede3;--text-muted: #b8aa96;--text-dim: #7e7263;--border: #3a322b;--border-strong: #51473d;--brand-500: #d4512c;--accent: var(--brand-500);--accent-quiet: color-mix(in srgb, var(--brand-500) 18%, var(--surface));--focus-ring: color-mix(in srgb, var(--brand-500) 55%, var(--text-primary));--success: #7fa37c;--warning: #c6934a;--danger: #b85c4b;--font-display: "Fraunces", ui-serif, Georgia, serif;--font-body: "Inter Tight", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--r-control: 6px;--r-card: 10px;--r-modal: 14px;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--s-8: 64px;--ease-enter: cubic-bezier(.16, 1, .3, 1);--ease-exit: cubic-bezier(.7, 0, .84, 0);--dur-micro: 80ms;--dur-short: .18s;--dur-medium: .32s}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--text-primary);font-family:var(--font-body);font-size:14px;line-height:1.5;letter-spacing:-.005em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}input,textarea,select{font:inherit;color:inherit}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--r-control)}.display{font-family:var(--font-display);font-weight:400;letter-spacing:-.02em;font-feature-settings:"opsz" auto}.mono{font-family:var(--font-mono);font-feature-settings:"tnum";font-size:12px;color:var(--text-dim)}.label-micro{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);font-weight:500}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);height:36px;padding:0 var(--s-4);border-radius:var(--r-control);font-weight:500;font-size:13px;background:var(--surface-elevated);color:var(--text-primary);border:1px solid var(--border);transition:background var(--dur-micro) var(--ease-enter),border-color var(--dur-micro) var(--ease-enter)}.btn:hover{background:var(--surface-2);border-color:var(--border-strong)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--brand-500);color:#1a0e08;border-color:var(--brand-500);font-weight:600}.btn-primary:hover{background:color-mix(in srgb,var(--brand-500) 90%,white);border-color:color-mix(in srgb,var(--brand-500) 90%,white)}.btn-danger{background:var(--danger);color:#1a0808;border-color:var(--danger)}.btn-danger:hover{background:color-mix(in srgb,var(--danger) 90%,white)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-muted)}.btn-ghost:hover{background:var(--surface);color:var(--text-primary)}.input{width:100%;height:36px;padding:0 var(--s-3);background:var(--surface-elevated);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--r-control);transition:border-color var(--dur-micro) var(--ease-enter)}.input:focus{outline:none;border-color:var(--border-strong)}.input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card)}.pill{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:999px;background:var(--surface-elevated);font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);border:1px solid var(--border)}.pill-success{background:color-mix(in srgb,var(--success) 20%,var(--surface));color:var(--success);border-color:color-mix(in srgb,var(--success) 40%,var(--border))}.pill-warning{background:color-mix(in srgb,var(--warning) 18%,var(--surface));color:var(--warning);border-color:color-mix(in srgb,var(--warning) 40%,var(--border))}.pill-danger{background:color-mix(in srgb,var(--danger) 20%,var(--surface));color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,var(--border))}.hr{height:1px;background:var(--border);margin:var(--s-5) 0}.dot{width:6px;height:6px;border-radius:50%;background:currentColor;display:inline-block}
