.btn{justify-content:center;align-items:center;gap:var(--spacing-2);border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-body);letter-spacing:.03em;white-space:nowrap;transition:color var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast);border:1px solid #0000;outline:none;flex-shrink:0;font-weight:500;text-decoration:none;display:inline-flex;position:relative}.btn:focus-visible{outline:2px solid var(--color-accent-gold-border);outline-offset:2px}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;pointer-events:none}.btn--sm{height:28px;padding:0 var(--spacing-3);letter-spacing:.04em;border-radius:var(--radius-sm);font-size:12px}.btn--sm .btn__icon{width:14px;height:14px}.btn--md{height:36px;padding:0 var(--spacing-4);font-size:13px}.btn--lg{height:44px;padding:0 var(--spacing-6);letter-spacing:.02em;font-size:14px}.btn--lg .btn__icon{width:18px;height:18px}.btn--default{border-color:var(--color-border-default);color:var(--color-text-secondary);background:0 0}.btn--default:hover{background:var(--color-bg-elevated);border-color:var(--color-border-strong);color:var(--color-text-primary)}.btn--default:active{background:var(--color-bg-overlay)}.btn--primary{background:var(--color-accent-gold);border-color:var(--color-accent-gold);color:var(--color-text-inverse);font-weight:600}.btn--primary:hover{background:var(--color-accent-gold-hover);border-color:var(--color-accent-gold-hover);box-shadow:var(--shadow-glow-gold)}.btn--primary:active{background:var(--color-accent-gold-hover);box-shadow:none}.btn--danger{background:var(--color-bear-subtle);border-color:var(--color-bear-border);color:var(--color-bear)}.btn--danger:hover{border-color:var(--color-bear);box-shadow:var(--shadow-glow-bear);background:#ff4d6a24}.btn--danger:active{box-shadow:none;background:#ff4d6a33}.btn--warning{background:var(--color-warning-subtle);color:var(--color-warning);border-color:#f59e0b4d}.btn--warning:hover{border-color:var(--color-warning);background:#f59e0b24}.btn--warning:active{background:#f59e0b33}.btn--ghost{color:var(--color-text-secondary);background:0 0;border-color:#0000}.btn--ghost:hover{background:var(--color-bg-elevated);color:var(--color-text-primary)}.btn--ghost:active{background:var(--color-bg-overlay)}.btn--link{color:var(--color-accent-gold);text-underline-offset:3px;background:0 0;border-color:#0000;height:auto;padding:0;font-weight:400;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.btn--link:hover{-webkit-text-decoration-color:var(--color-accent-gold);text-decoration-color:var(--color-accent-gold);color:var(--color-accent-gold-hover)}.btn--full-width{width:100%}.btn--icon-only{padding:0}.btn--icon-only.btn--sm{width:28px}.btn--icon-only.btn--md{width:36px}.btn--icon-only.btn--lg{width:44px}.btn__icon{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.btn__icon svg{width:100%;height:100%}.btn__label{line-height:1}.btn--loading{cursor:wait;pointer-events:none}.btn--loading .btn__label{opacity:.6}.btn__spinner{border:2px solid;border-top-color:#0000;border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.65s linear infinite se-btn-spin;display:inline-block}@keyframes se-btn-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.btn{transition-duration:.01ms!important}.btn__spinner{animation-duration:.01ms!important}}
