.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);font-family:inherit;font-weight:var(--font-weight-semibold);transition:background var(--duration-fast) var(--ease), transform var(--duration-fast) var(--ease);display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--color-amber);outline-offset:2px}.btn:active:not(:disabled){transform:scale(.98)}.btn-icon{align-items:center;display:inline-flex}.btn-primary{background:var(--color-ink);color:var(--color-canvas)}.btn-primary:hover:not(:disabled){background:color-mix(in srgb, var(--color-ink) 88%, var(--color-amber) 12%)}.btn-secondary{background:var(--color-canvas-alt);color:var(--color-ink)}.btn-secondary:hover:not(:disabled){background:color-mix(in srgb, var(--color-canvas-alt) 92%, var(--color-ink) 8%)}.btn-accent{background:var(--color-amber);color:var(--color-ink)}.btn-accent:hover:not(:disabled){background:color-mix(in srgb, var(--color-amber) 92%, var(--color-ink) 8%)}.btn-ghost{color:var(--color-ink);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--color-canvas-alt)}.btn-sm{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);min-height:36px}.btn-md{padding:var(--space-3) var(--space-4);font-size:var(--font-size-base);min-height:48px}.btn-lg{padding:var(--space-4) var(--space-6);font-size:var(--font-size-md);min-height:56px}
