:root{color-scheme:light dark;--bg: #f5f5f2;--surface: #ffffff;--surface-2: #ecece8;--text: #1c1c1a;--text-muted: #5f605c;--border: #d3d3ce;--border-strong: #9a9a94;--accent: #0f6e5c;--accent-contrast: #ffffff;--accent-soft: #dcefe9;--danger: #b3261e;--danger-soft: #fbe9e7;--focus: #1d4ed8;--radius: 8px;--touch: 44px;--font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--fs: 17px;--shadow: 0 -2px 12px rgba(0, 0, 0, .08)}@media(prefers-color-scheme:dark){:root{--bg: #131312;--surface: #1d1d1b;--surface-2: #2a2a27;--text: #ececea;--text-muted: #a4a49f;--border: #3b3b37;--border-strong: #6a6a64;--accent: #3ec9ab;--accent-contrast: #0b1a16;--accent-soft: #163b33;--danger: #ff8a80;--danger-soft: #3a1f1d;--focus: #8ab4ff;--shadow: 0 -2px 12px rgba(0, 0, 0, .5)}}@media(min-width:900px){:root{--fs: 16px}}*,*:before,*:after{box-sizing:border-box}html{font-size:var(--fs);-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font);line-height:1.4;color:var(--text);background:var(--bg)}h1,h2,h3{margin:0;line-height:1.2;font-weight:600}button,input{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field>label,.field>.label{font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em}.input{width:100%;min-height:var(--touch);padding:0 12px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text)}.input::placeholder{color:var(--text-muted);opacity:.7}.input[aria-invalid=true]{border-color:var(--danger);background:var(--danger-soft)}.input--num{font-variant-numeric:tabular-nums;text-align:right}.error{margin:0;font-size:.85rem;color:var(--danger)}.hint{margin:0;font-size:.85rem;color:var(--text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--touch);min-width:var(--touch);padding:0 14px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);cursor:pointer;font-weight:500}.btn:hover{background:var(--surface-2)}.btn:disabled{opacity:.5;cursor:default}.btn--primary{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast)}.btn--primary:hover{filter:brightness(1.08);background:var(--accent)}.btn--ghost{border-color:transparent;background:transparent;color:var(--text-muted)}.btn--ghost:hover{color:var(--danger);background:var(--danger-soft)}.segmented{display:inline-flex;margin:0;padding:0;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);overflow:hidden}.segmented>legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.segmented label{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:var(--touch);min-height:calc(var(--touch) - 2px);padding:0 12px;cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:600}.segmented label+label{border-left:1px solid var(--border)}.segmented input{position:absolute;inset:0;margin:0;opacity:0;cursor:pointer}.segmented input:checked+span{color:var(--accent-contrast)}.segmented label:has(input:checked){background:var(--accent);color:var(--accent-contrast)}.segmented label:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:-2px}.segmented--stretch{display:flex}.segmented--stretch label{flex:1}.chips{display:flex;gap:8px;margin:0;padding:2px;border:0;overflow-x:auto;scrollbar-width:thin}.chips>legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.chip{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:56px;min-height:var(--touch);padding:0 12px;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface);font-variant-numeric:tabular-nums;font-weight:600;cursor:pointer}.chip input{position:absolute;inset:0;margin:0;opacity:0;cursor:pointer}.chip:has(input:checked){border-color:var(--accent);background:var(--accent);color:var(--accent-contrast)}.chip:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.card{padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.num{font-variant-numeric:tabular-nums}
