button{font-family:var(--font-ui);letter-spacing:-.005em;background-color:var(--canvas-raised);color:var(--ink-900);border:1px solid var(--ink-100);border-radius:var(--r-md);cursor:pointer;white-space:nowrap;transition:background-color .2s var(--ease-out),border-color .2s var(--ease-out),color .2s var(--ease-out),box-shadow .2s var(--ease-out),transform 80ms var(--ease-out);align-items:center;gap:8px;padding:11px 18px;font-size:15px;font-weight:500;line-height:1;display:inline-flex}button:hover:not(:disabled){background-color:var(--canvas-sunk);border-color:var(--ink-300)}button:focus-visible{box-shadow:var(--ring);outline:none}button:active:not(:disabled){transform:scale(.98)}button:disabled,button[disabled],button.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}button.primary{background-color:var(--accent-600);color:#fff;border-color:#0000;box-shadow:inset 0 1px #ffffff26}button.primary:hover:not(:disabled){background-color:var(--accent-700);border-color:#0000}[data-theme=dark] button.primary{color:#14110d}button.ghost{color:var(--ink-700);background-color:#0000;border-color:#0000}button.ghost:hover:not(:disabled){background-color:var(--canvas-sunk);color:var(--ink-900);border-color:#0000}button.dark{background-color:var(--ink-900);color:var(--canvas);border-color:#0000}button.dark:hover:not(:disabled){background-color:var(--ink-700);border-color:#0000}button.sm{border-radius:8px;padding:6px 12px;font-size:13px}button.lg{border-radius:12px;padding:14px 22px;font-size:16px}
