.button-content{position:relative;width:auto;border-radius:var(--radius-md);font-family:var(--font-sans);font-weight:var(--weight-medium);letter-spacing:var(--tracking-tight);line-height:1;white-space:nowrap;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid transparent;transition:background-color var(--dur-base) var(--ease-standard),border-color var(--dur-base) var(--ease-standard),color var(--dur-base) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard),transform var(--dur-fast) var(--ease-standard)}.button-content:active:not(:disabled){transform:scale(.99) translateY(1px)}.button-full{width:100%}.button-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.button-icon svg,.button-spinner{width:1em;height:1em}.button-spinner{flex-shrink:0;border-radius:var(--radius-full);border:2px solid;border-top:2px solid transparent;display:inline-block;animation:button-spin .7s linear infinite}@keyframes button-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.button-content{transition:none}.button-content:active:not(:disabled){transform:none}.button-spinner{animation-duration:1.4s}}.button-xsmall{height:28px;padding:0 10px;font-size:var(--text-xs);gap:.375rem}.button-sm,.button-small{height:32px;padding:0 12px;font-size:var(--text-sm);gap:.375rem}.button-md,.button-medium{height:40px;padding:0 16px;font-size:var(--text-sm)}.button-large,.button-lg{height:48px;padding:0 22px;font-size:var(--text-base)}.button-icon-only{padding:0;aspect-ratio:1/1;gap:0}.button-icon-only.button-xsmall{width:28px}.button-icon-only.button-sm,.button-icon-only.button-small{width:32px}.button-icon-only.button-md,.button-icon-only.button-medium{width:40px}.button-icon-only.button-large,.button-icon-only.button-lg{width:48px}.button-icon-only .button-icon svg{width:20px;height:20px}.button-icon-only.button-sm .button-icon svg,.button-icon-only.button-small .button-icon svg,.button-icon-only.button-xsmall .button-icon svg{width:18px;height:18px}.button-primary{background-color:var(--accent);border-color:var(--accent);color:var(--accent-on)}.button-primary:hover:not(:disabled){background-color:var(--accent-hover);border-color:var(--accent-hover)}.button-ink{background-color:var(--surface-ink);border-color:var(--surface-ink);color:var(--text-on-ink)}.button-ink:hover:not(:disabled){box-shadow:var(--shadow-md)}.button-secondary{background-color:var(--surface-raised);border-color:var(--border-strong);color:var(--text-ink)}.button-secondary:hover:not(:disabled){background-color:var(--surface-flat)}.button-ghost{background-color:transparent;border-color:transparent;color:var(--text-body)}.button-ghost:hover:not(:disabled){background-color:var(--surface-flat);color:var(--text-ink)}.button-offline{background-color:transparent;border-color:transparent;color:var(--text-muted)}.button-offline:hover:not(:disabled){background-color:var(--surface-flat);color:var(--text-ink)}.button-danger{background-color:transparent;border-color:var(--status-lost);color:var(--status-lost)}.button-danger:hover:not(:disabled){background-color:var(--status-lost-bg)}.button-content:focus:not(:focus-visible){outline:none;box-shadow:none}.button-content:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-tint);border-color:var(--accent)}.button-content:disabled{opacity:.45;cursor:not-allowed;pointer-events:none;box-shadow:none;transform:none}