.app-button{border-radius:var(--radius-control);letter-spacing:-.025em;white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:.5rem;font-weight:600;display:inline-flex}a.app-button{text-decoration:none}.app-button:disabled{cursor:not-allowed;opacity:.4}.app-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.app-button--md{block-size:2.75rem;padding-inline:1.25rem;font-size:.875rem}.app-button--lg{block-size:3.25rem;padding-inline:1.75rem;font-size:1rem}.app-button--block{inline-size:100%}.app-button--primary{background:var(--color-accent);color:var(--color-accent-ink)}.app-button--primary:hover{background:var(--color-accent-dim)}.app-button--outline{border:1px solid var(--color-line-strong);color:var(--color-fg)}.app-button--outline:hover{border-color:var(--color-accent);background:var(--color-surface)}.app-button--ghost{color:var(--color-muted)}.app-button--ghost:hover{background:var(--color-surface);color:var(--color-fg)}button.app-button{transition-property:color,background-color,border-color,transform;transition-duration:.15s,.15s,.15s,.1s}button.app-button:active:not(:disabled){transform:scale(.98)}@media (prefers-reduced-motion:reduce){button.app-button:active:not(:disabled){transform:none}}
