@layer components{.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--touch-target);padding:0 var(--space-5);border-radius:var(--corner-full);font:inherit;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--motion-fast) var(--motion-ease), border-color var(--motion-fast) var(--motion-ease), transform var(--motion-fast) var(--motion-ease), box-shadow var(--motion-fast) var(--motion-ease);border:1px solid #0000;line-height:1;text-decoration:none;display:inline-flex}.btn:active:not(:disabled){transform:scale(.98)}.btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:var(--corner-full)}.btn:disabled{cursor:not-allowed;opacity:.5}.btn--lg{min-height:52px;padding:0 var(--space-6);font-size:var(--font-size-lg)}.btn--full{width:100%}.btn--primary{background:var(--accent);color:var(--on-accent);box-shadow:var(--elevation-1)}.btn--primary:hover:not(:disabled){background:var(--accent-hover)}.btn--secondary{background:var(--surface-card);border-color:var(--line);color:var(--fg-primary)}.btn--secondary:hover:not(:disabled){background:var(--surface-muted)}.btn--ghost{color:var(--accent);background:0 0}.btn--ghost:hover:not(:disabled){background:var(--accent-soft)}.btn--danger{background:var(--danger);color:var(--on-danger)}.btn__icon{display:inline-flex}.btn__spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:1em;height:1em;animation:.8s linear infinite btn-spin}@keyframes btn-spin{to{transform:rotate(360deg)}}}
