.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:.75rem;font-weight:600;letter-spacing:.01em;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease,transform .2s cubic-bezier(.34,1.56,.64,1);border:none;cursor:pointer;text-decoration:none}.btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-white),0 0 0 4px var(--color-primary)}.btn:disabled{pointer-events:none;opacity:.5}.btn--sm{min-height:2rem;padding:0 .75rem;font-size:.8125rem}.btn--md{min-height:2.5rem;padding:0 1.125rem;font-size:.9375rem}.btn--lg{min-height:2.75rem;padding:0 1.5rem;font-size:1rem}.btn--rounded{border-radius:9999px}.btn--primary{background-color:var(--color-primary);color:var(--color-white)}.btn--primary:hover{background-color:var(--color-primary-hover)}.btn--primary:active{transform:translateY(1px)}.btn--primary.btn--rounded:hover{transform:translateY(-2px);box-shadow:0 8px 24px color-mix(in srgb,var(--color-primary) 35%,transparent)}.btn--primaryLight{background-color:var(--color-primary-light);color:var(--color-white)}.btn--primaryLight:hover{background-color:var(--color-primary-hover)}.btn--primaryLight:active{transform:translateY(1px)}.btn--secondary{background-color:var(--color-bg-card);color:var(--color-text);border:1px solid var(--color-border)}.btn--secondary:hover{background-color:var(--color-bg-muted);border-color:var(--color-border-strong)}.btn--ghost{background-color:rgba(0,0,0,0);color:var(--color-text-muted)}.btn--ghost:hover{background-color:var(--color-bg-input);color:var(--color-text)}.btn--ghostDark{background:hsla(0,0%,100%,.08);color:hsla(0,0%,100%,.8);border:1px solid hsla(0,0%,100%,.15)}.btn--ghostDark:hover{background:hsla(0,0%,100%,.14);color:#fff}.btn--link{background:none;color:var(--color-primary);min-height:unset;padding:0;border-radius:0;font-size:.875rem;font-weight:500;text-decoration:underline;text-underline-offset:3px}.btn--link:hover{opacity:.75}.btn--danger{background-color:var(--color-danger);color:#fff}.btn--danger:hover{background-color:var(--color-danger-hover)}.btn--danger:active{transform:translateY(1px)}.btn--danger:focus-visible{box-shadow:0 0 0 2px var(--color-white),0 0 0 4px var(--color-danger)}.btn--dangerGhost{background-color:rgba(0,0,0,0);color:var(--color-danger);border:1px solid var(--color-danger-bg-soft)}.btn--dangerGhost:hover{background-color:var(--color-danger-bg-soft);border-color:var(--color-danger)}.btn--dangerGhost:focus-visible{box-shadow:0 0 0 2px var(--color-white),0 0 0 4px var(--color-danger)}