a.rf-btn{text-decoration:none}a.rf-btn--primary,a.rf-btn--primary:visited{color:var(--rf-color-on-primary)}a.rf-btn--secondary,a.rf-btn--secondary:visited,a.rf-btn--danger-outline,a.rf-btn--danger-outline:visited{color:var(--rf-color-text)}.rf-btn{justify-content:center;align-items:center;gap:var(--rf-space-3);font:var(--rf-text-button);font-feature-settings:var(--rf-font-feature);letter-spacing:var(--rf-tracking-wide);cursor:pointer;transition:background-color var(--rf-duration-fast) var(--rf-ease-default), border-color var(--rf-duration-fast) var(--rf-ease-default), color var(--rf-duration-fast) var(--rf-ease-default), box-shadow var(--rf-duration-fast) var(--rf-ease-default), opacity var(--rf-duration-fast) var(--rf-ease-default);white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;display:inline-flex;position:relative}.rf-btn:focus-visible{box-shadow:var(--rf-shadow-focus);outline:none}.rf-btn:disabled{cursor:not-allowed;opacity:.5}.rf-btn--sm{height:32px;padding:0 var(--rf-space-4);border-radius:var(--rf-radius-sm);font:var(--rf-text-button-sm)}.rf-btn--md{height:36px;padding:0 var(--rf-space-5);border-radius:var(--rf-radius-md)}.rf-btn--lg{height:44px;padding:0 var(--rf-space-7);border-radius:var(--rf-radius-md)}.rf-btn--primary{background-color:var(--rf-color-primary);color:var(--rf-color-on-primary)}.rf-btn--primary:hover:not(:disabled){background-color:var(--rf-color-primary-hover)}.rf-btn--primary:active:not(:disabled){background-color:var(--rf-color-primary-pressed)}.rf-btn--secondary{background-color:var(--rf-color-surface-elevated);color:var(--rf-color-text);border-color:var(--rf-color-border)}.rf-btn--secondary:hover:not(:disabled){background-color:var(--rf-color-border-subtle);border-color:var(--rf-color-border-strong)}.rf-btn--tertiary{color:var(--rf-color-text);background-color:#0000}.rf-btn--tertiary:hover:not(:disabled){background-color:var(--rf-color-surface-elevated)}.rf-btn--danger{background-color:var(--rf-color-danger);color:var(--rf-color-text-on-accent)}.rf-btn--danger:hover:not(:disabled){opacity:.9}.rf-btn--danger-outline{background-color:var(--rf-color-surface-elevated);color:var(--rf-color-text);border-color:var(--rf-color-border)}.rf-btn--danger-outline:hover:not(:disabled){color:var(--rf-color-danger-text);border-color:var(--rf-color-danger);background-color:var(--rf-color-danger-soft)}.rf-btn--danger-outline:active:not(:disabled){background-color:var(--rf-color-danger-bg)}.rf-btn--ghost{color:var(--rf-color-text-secondary);background-color:#0000}.rf-btn--ghost:hover:not(:disabled){color:var(--rf-color-text);background-color:var(--rf-color-surface-elevated)}.rf-btn--loading .rf-btn__label{opacity:.6}.rf-btn__spinner{animation:.8s linear infinite rf-spin;display:flex}.rf-btn--loading-glow{animation:1.2s ease-in-out infinite rf-btn-glow}@keyframes rf-btn-glow{0%,to{box-shadow:0 0 0 1px var(--rf-color-primary), 0 0 0 0 color-mix(in srgb, var(--rf-color-primary) 0%, transparent)}50%{box-shadow:0 0 0 1px var(--rf-color-primary), 0 0 12px 2px color-mix(in srgb, var(--rf-color-primary) 45%, transparent)}}@media (prefers-reduced-motion:reduce){.rf-btn--loading-glow{box-shadow:0 0 0 2px var(--rf-color-primary);animation:none}}.rf-btn__icon{flex-shrink:0;display:flex}.rf-btn--icon-sm{width:32px;height:32px;padding:0}.rf-btn--icon-xs{border-radius:var(--rf-radius-sm);width:28px;height:28px;padding:0}.rf-btn--full-width{width:100%;max-width:20rem;margin-inline:auto}@keyframes rf-spin{to{transform:rotate(360deg)}}
