.s2g-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding-inline:var(--space-6);border:var(--border-width-thin) solid transparent;border-radius:var(--radius-sm);font-family:var(--font-family-primary);font-size:var(--font-size-body-sm);font-weight:var(--font-weight-medium);line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color var(--duration-normal) var(--ease-standard),border-color var(--duration-normal) var(--ease-standard),color var(--duration-normal) var(--ease-standard),transform var(--duration-normal) var(--ease-standard),box-shadow var(--duration-normal) var(--ease-standard)}.s2g-button--primary{background:var(--color-accent);color:#fff}.s2g-button--primary:hover{background:var(--color-accent-hover);transform:translateY(-1px)}.s2g-button--primary:active{background:var(--color-accent-active);transform:translateY(0)}.s2g-button--secondary{background:var(--color-surface-secondary);border-color:var(--color-border);color:var(--color-text-primary)}.s2g-button--secondary:hover{background:var(--color-surface-tertiary);border-color:var(--color-border-strong);transform:translateY(-1px)}.s2g-button--ghost{background:transparent;color:var(--color-text-secondary)}.s2g-button--ghost:hover{color:var(--color-text-primary);background:var(--color-accent-subtle)}.s2g-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.s2g-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}
