.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:2px solid transparent;border-radius:var(--radius-full);font-family:var(--font-display);font-weight:var(--font-semibold);line-height:var(--leading-none);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn:focus-visible{outline:none;border-color:var(--color-yellow);box-shadow:0 0 0 3px rgba(247,198,0,.25)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--sm{height:2.25rem;padding:0 var(--space-4)}.btn--md,.btn--sm{font-size:var(--text-sm)}.btn--md{height:2.75rem;padding:0 var(--space-6)}.btn--lg{height:3.25rem;padding:0 var(--space-8);font-size:var(--text-base)}.btn--primary{background:var(--color-yellow);color:var(--color-ink);border-color:transparent}.btn--primary:hover:not(:disabled){background:var(--color-primary-hover);color:var(--color-ink)}.btn--secondary{background-color:var(--color-ink);color:var(--color-white);border-color:transparent}.btn--secondary:hover:not(:disabled){background-color:var(--color-true-black);color:var(--color-white)}.btn--outline{background-color:transparent;color:var(--color-ink);border-color:var(--color-ink)}.btn--outline:hover:not(:disabled){background-color:var(--color-ink);color:var(--color-white)}.btn--ghost{background-color:transparent;color:var(--color-ink);border-color:transparent}.btn--ghost:hover:not(:disabled){background-color:var(--color-surface-brand)}.btn--danger{background-color:var(--color-error);color:var(--color-white);border-color:var(--color-error)}.btn--danger:hover:not(:disabled){background-color:#c94532;border-color:#c94532}.btn--full{width:100%}.btn--loading{position:relative;cursor:wait}.btn__spinner{width:1rem;height:1rem;border:2px solid;border-right:2px solid transparent;border-radius:var(--radius-full);animation:btn-spin .6s linear infinite}@keyframes btn-spin{to{transform:rotate(1turn)}}.btn__icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.btn__icon--left{margin-right:var(--space-1)}.btn__icon--right{margin-left:var(--space-1)}.btn__label{display:inline-flex;align-items:center}