.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:0 var(--space-6);border-radius:var(--r-pill);min-height:48px;font-family:var(--font-body);font-size:var(--fs-sm);letter-spacing:var(--ls-wide);cursor:pointer;white-space:nowrap;transition:transform var(--d-base) var(--ease-out), box-shadow var(--d-base) var(--ease-out), background var(--d-base) var(--ease-out), border-color var(--d-base) var(--ease-out), color var(--d-base) var(--ease-out);-webkit-user-select:none;user-select:none;isolation:isolate;border:1px solid #0000;font-weight:600;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn:disabled,.btn[aria-disabled=true],.btn.is-loading{opacity:.6;cursor:not-allowed;pointer-events:none}.btn--sm{min-height:38px;padding:0 var(--space-5);font-size:var(--fs-xs)}.btn--md{min-height:48px;padding:0 var(--space-6);font-size:var(--fs-sm)}.btn--lg{min-height:56px;padding:0 var(--space-8);font-size:var(--fs-base);letter-spacing:var(--ls-wider)}.btn--full{width:100%}.btn__label{z-index:1;align-items:center;display:inline-flex;position:relative}.btn__icon{z-index:1;transition:transform var(--d-base) var(--ease-out);align-items:center;display:inline-flex;position:relative}.btn:hover .btn__icon--r{transform:translate(3px)}.btn:hover .btn__icon--l{transform:translate(-2px)}.btn__shine{pointer-events:none;transition:transform .9s var(--ease-out);z-index:0;background:linear-gradient(100deg,#0000 30%,#ffffff38 50%,#0000 70%);position:absolute;inset:0;transform:translate(-140%)skew(-20deg)}.btn--shine:hover .btn__shine,.btn--shine:focus-visible .btn__shine{transform:translate(140%)skew(-20deg)}.btn__loader{z-index:2;border:2px solid;border-top-color:#0000;border-radius:50%;width:18px;height:18px;margin:auto;animation:.75s linear infinite spin-slow;position:absolute;inset:0}.btn.is-loading .btn__label,.btn.is-loading .btn__icon{opacity:0}.btn--primary{background:var(--brand);color:var(--bone);box-shadow:0 12px 28px #9b6f6f47,inset 0 1px #ffffff2e}.btn--primary:hover{background:var(--brand-deep);transform:translateY(-2px);box-shadow:0 18px 40px #9b6f6f5c,inset 0 1px #ffffff38}.btn--primary:active{transform:translateY(0)}.btn--gold{background:linear-gradient(135deg, var(--gold-light) 0%, var(--gold-warm) 100%);color:var(--ink);border-color:#fff6dc8c;box-shadow:0 12px 28px #d4a25352,inset 0 1px #ffffff73,inset 0 0 0 1px #fff6dc4d}.btn--gold:hover{transform:translateY(-2px);box-shadow:0 20px 44px #d4a2536b,inset 0 1px #ffffff80,inset 0 0 0 1px #fff6dc66}.btn--dark{background:var(--ink);color:var(--bone);box-shadow:0 10px 24px #1a121052}.btn--dark:hover{background:var(--ink-soft);transform:translateY(-2px);box-shadow:0 16px 36px #1a121066}.btn--outline{color:var(--ink);border-color:var(--brand);background:0 0}.btn--outline:hover{background:var(--brand);color:var(--bone);border-color:var(--brand);transform:translateY(-2px);box-shadow:0 12px 28px #9b6f6f3d}.btn--ghost{color:var(--ink);background:0 0;border-color:#0000}.btn--ghost:hover{background:var(--brand-soft);color:var(--brand)}.btn--soft{background:var(--surface-strong);color:var(--ink);border-color:var(--line);box-shadow:var(--sh-sm)}.btn--soft:hover{background:var(--cream);border-color:var(--line-strong);box-shadow:var(--sh-md);transform:translateY(-2px)}.btn:focus-visible{outline:2px solid var(--gold-warm);outline-offset:4px}
