.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-pill);font-family:var(--font-sans);font-weight:var(--weight-semibold);letter-spacing:-.01em;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);border:1px solid #0000;line-height:1;text-decoration:none;display:inline-flex;position:relative}.btn:hover{text-decoration:none}.btn:active:not(:disabled){transform:scale(.98)}.btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.btn:disabled,.btn[aria-disabled=true]{cursor:not-allowed;opacity:.45}.btn--sm{height:var(--control-sm);padding:0 var(--space-4);font-size:var(--text-sm)}.btn--md{height:var(--control-md);padding:0 var(--space-5);font-size:var(--text-md)}.btn--lg{height:var(--control-lg);padding:0 var(--space-6);font-size:var(--text-xl);font-weight:var(--weight-bold)}.btn--block{width:100%}.btn__icon{margin-left:-2px;display:inline-flex}.btn__icon svg{width:var(--icon-md);height:var(--icon-md)}.btn--sm .btn__icon svg{width:var(--icon-sm);height:var(--icon-sm)}.btn__spinner{animation:.8s linear infinite btn-spin}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn--primary{background:var(--color-brand);color:var(--color-on-brand)}.btn--primary:hover:not(:disabled){background:var(--color-brand-hover)}.btn--primary:active:not(:disabled){background:var(--color-brand-active)}.btn--primary:disabled:not([aria-busy=true]){background:var(--color-surface-selected);color:var(--color-text-tertiary);opacity:1}.btn--secondary{background:var(--color-surface-raised);border-color:var(--color-border-strong);color:var(--color-text)}.btn--secondary:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-border-hover)}.btn--ghost{color:var(--color-text-secondary);background:0 0}.btn--ghost:hover:not(:disabled){background:var(--color-neutral-soft);color:var(--color-text)}.btn--danger{color:var(--color-danger);background:0 0;border-color:#ff6b6b80}.btn--danger:hover:not(:disabled){background:var(--color-danger-soft);border-color:var(--color-danger)}.btn--danger-solid{background:var(--color-danger);color:var(--color-on-solid)}.btn--danger-solid:hover:not(:disabled){background:#ff8585}.icon-btn{border-radius:var(--radius-pill);color:var(--color-text-secondary);transition:background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);background:0 0;border:0;flex:none;place-items:center;padding:0;display:inline-grid}.icon-btn--sm{width:32px;height:32px}.icon-btn--md{width:var(--control-sm);height:var(--control-sm)}.icon-btn svg{width:var(--icon-lg);height:var(--icon-lg)}.icon-btn--sm svg{width:var(--icon-sm);height:var(--icon-sm)}.icon-btn:hover:not(:disabled){background:var(--color-neutral-soft);color:var(--color-text)}.icon-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.icon-btn:disabled{opacity:.4}.link-btn{color:var(--color-brand-text);font-weight:var(--weight-semibold);text-underline-offset:3px;background:0 0;border:0;padding:0;display:inline}.link-btn:hover{text-decoration:underline}
