.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-height);padding:0 var(--space-4);border-radius:var(--radius-control);font:var(--type-control);white-space:nowrap;transition:background-color var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out), filter var(--motion-fast) var(--ease-out), transform var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out);display:inline-flex;position:relative}.button--lg{min-height:var(--control-height-lg);padding-inline:var(--space-5)}.button:hover:not(:disabled){filter:brightness(.96)}.button:active:not(:disabled){transform:scale(var(--press-scale));filter:brightness(.92)}.button:focus-visible{box-shadow:var(--ring-focus);border-radius:var(--radius-control);outline:none}.button:disabled{cursor:not-allowed;opacity:var(--disabled-opacity)}.button--primary{background:var(--accent-primary);color:var(--text-on-accent)}.button--secondary{background:var(--surface-muted);color:var(--text-body)}.button--outline{color:var(--text-body);box-shadow:var(--ring-hairline);background:0 0}.button--outline:hover:not(:disabled){box-shadow:inset 0 0 0 1px var(--border-field);filter:none}.button--outline:focus-visible{box-shadow:var(--ring-hairline), var(--ring-focus)}.button--quiet{color:var(--text-secondary);padding-inline:var(--space-3);background:0 0}.button--quiet:hover:not(:disabled){background:var(--wash-hover);color:var(--text-body)}.button--destructive{color:var(--accent-error);box-shadow:inset 0 0 0 1px var(--accent-error-border);background:0 0}.button--destructive:hover:not(:disabled){background:var(--accent-error-bg);box-shadow:inset 0 0 0 1px var(--accent-error);filter:none}.button--destructive:focus-visible{box-shadow:inset 0 0 0 1px var(--accent-error), var(--ring-focus)}.button--busy .button__label{opacity:var(--disabled-opacity)}.button--busy:after{content:"";width:14px;height:14px;animation:button-spin var(--motion-spin) linear infinite;border:2px solid;border-right-color:#0000;border-radius:50%;position:absolute}@keyframes button-spin{to{transform:rotate(360deg)}}
