.sg-btn{justify-content:center;align-items:center;gap:var(--sp-2);font-family:var(--font-sans);font-weight:var(--fw-medium);letter-spacing:var(--tracking-tight);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);border:1px solid #0000;display:inline-flex}.sg-btn:active:not(:disabled){transform:translateY(.5px)}.sg-btn:disabled{cursor:not-allowed;opacity:.55}.sg-btn[data-loading]{cursor:progress;opacity:1}.sg-btn:focus-visible{box-shadow:var(--shadow-focus);outline:none}.sg-btn--sm{height:30px;padding:0 var(--sp-3);font-size:var(--fs-sm)}.sg-btn--md{height:36px;padding:0 var(--sp-4);font-size:var(--fs-base)}.sg-btn--lg{height:44px;padding:0 var(--sp-5);font-size:var(--fs-md)}.sg-btn--block{width:100%}.sg-btn--primary{background:var(--c-accent);color:var(--text-on-accent);box-shadow:var(--shadow-xs)}.sg-btn--primary:hover:not(:disabled){background:var(--c-accent-hover)}.sg-btn--primary:active:not(:disabled){background:var(--c-accent-active)}.sg-btn--secondary{background:var(--bg-surface);color:var(--text-primary);border-color:var(--border-strong);box-shadow:var(--shadow-xs)}.sg-btn--secondary:hover:not(:disabled){background:var(--bg-surface-2)}.sg-btn--ghost{color:var(--text-secondary);background:0 0}.sg-btn--ghost:hover:not(:disabled){background:var(--bg-surface-2);color:var(--text-primary)}.sg-btn--subtle{background:var(--bg-inset);color:var(--text-primary)}.sg-btn--subtle:hover:not(:disabled){background:var(--bg-surface-2)}.sg-btn--danger{background:var(--c-danger);color:#fff}.sg-btn--danger:hover:not(:disabled){filter:brightness(.94)}.sg-btn__icon{justify-content:center;align-items:center;display:inline-flex}.sg-btn__icon svg{width:16px;height:16px}.sg-btn__spinner{animation:.8s linear infinite sg-spin}.sg-btn__label{align-items:center;display:inline-flex}
