.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:var(--radius-pill);padding:14px 28px;font-size:15px;font-weight:700;text-decoration:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease,background .15s ease;white-space:nowrap;min-height:48px}.btn:disabled{cursor:not-allowed;opacity:.55}.btn--primary{background:var(--accent-yellow);color:#1a1300;box-shadow:0 6px 18px rgba(252,187,0,.35)}.btn--primary:hover:not(:disabled){background:#ffc61a;transform:translateY(-1px)}.btn--secondary{background:#fff;color:var(--fg);border:1.5px solid var(--card-border)}.btn--secondary:hover:not(:disabled){background:var(--card-bg-hover)}.btn--ghost{background:transparent;color:var(--fg-muted);padding:10px 16px;border-radius:var(--radius-md)}.btn--ghost:hover:not(:disabled){color:var(--fg);background:var(--card-bg-hover)}.btn--danger{background:#fdecec;color:var(--accent-red);border:1px solid #f7c9ca}.btn--danger:hover:not(:disabled){background:#fbdada}.btn__spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(0,0,0,.15);border-top-color:currentcolor;animation:btn-spin .7s linear infinite}@keyframes btn-spin{to{transform:rotate(1turn)}}.btn__label--loading{opacity:.85}