.fw-button{--_bg:var(--fw-accent);--_fg:var(--fw-accent-contrast);--_bg-hover:var(--fw-accent-hover);box-sizing:border-box;justify-content:center;align-items:center;gap:var(--fw-space-xs);font-family:var(--fw-font-body);font-weight:var(--fw-weight-medium);white-space:nowrap;border-radius:var(--fw-radius-md);background:var(--_bg);color:var(--_fg);cursor:pointer;transition:transform var(--fw-dur-press) var(--fw-ease-out), background-color var(--fw-dur-fast) var(--fw-ease-out), border-color var(--fw-dur-fast) var(--fw-ease-out);border:1px solid #0000;line-height:1;text-decoration:none;display:inline-flex}.fw-button--sm{font-size:var(--fw-text-sm);padding:var(--fw-space-xs) var(--fw-space-md)}.fw-button--md{font-size:var(--fw-text-base);padding:var(--fw-space-sm) var(--fw-space-lg)}.fw-button--lg{font-size:var(--fw-text-md);padding:var(--fw-space-md) var(--fw-space-xl)}.fw-button--secondary{--_bg:var(--fw-surface-raised);--_fg:var(--fw-text);--_bg-hover:var(--fw-surface-sunken);border-color:var(--fw-border-strong)}.fw-button--ghost{--_bg:transparent;--_fg:var(--fw-text);--_bg-hover:var(--fw-surface-raised)}@media (hover:hover) and (pointer:fine){.fw-button:hover{background:var(--_bg-hover)}}.fw-button:active{transform:scale(.97)}.fw-button:focus-visible{outline:2px solid var(--fw-focus);outline-offset:2px}.fw-button:disabled,.fw-button[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}@media (prefers-reduced-motion:reduce){.fw-button:active{transform:none}}
