:root{--bg:#e7e4dc;--paper:#fbfaf6;--paper-2:#f6f4ed;--paper-3:#f3f1ea;--ink:#23252b;--ink-2:#5a5749;--muted:#8a877d;--muted-2:#a8a496;--muted-3:#b3ab98;--line:#e4e0d6;--line-2:#eae6dc;--line-3:#d9d4c9;--teal:#2f6f6a;--teal-dark:#28605c;--teal-bg:#e6ede9;--teal-line:#cfe0da;--red:#be483a;--amber:#c48e34;--green:#5c8a62;--font-sans:"IBM Plex Sans", system-ui, sans-serif;--font-serif:"Newsreader", Georgia, serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--radius:10px;--radius-sm:8px}
*{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:14px}a{color:var(--teal)}a:hover{color:var(--teal-dark)}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;margin:0;padding:0}button:disabled{opacity:.55;cursor:default}input,select{font:inherit;color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.mono{font-family:var(--font-mono)}.serif{font-family:var(--font-serif)}.eyebrow{letter-spacing:.07em;color:var(--muted-2);font-size:11px}.muted{color:var(--muted-2);font-size:12px}.btn{border-radius:9px;align-items:center;gap:6px;min-height:40px;padding:10px 16px;font-size:13px;display:inline-flex}.btn-primary{color:var(--paper);background:var(--ink);font-weight:500}.btn-primary:hover{background:#111215}.btn-teal{color:var(--paper);background:var(--teal);font-weight:500}.btn-teal:hover{background:var(--teal-dark)}.btn-secondary{color:var(--ink-2);background:var(--paper);border:1px solid var(--line-3)}.btn-secondary:hover{background:var(--paper-3)}.btn-danger{color:var(--red);background:var(--paper);border:1px solid var(--line-3)}.field{color:var(--ink-2);flex-direction:column;gap:6px;font-size:12.5px;display:flex}.field input,.field select{border:1px solid var(--line-3);border-radius:var(--radius-sm);background:var(--paper);min-height:40px;padding:10px 12px}.error-text{color:var(--red);font-size:12.5px}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.pill{border:1px solid var(--line-2);background:var(--paper-3);color:var(--muted-2);border-radius:20px;padding:3px 10px;font-size:12px}
