/* BUTTONS: PRIMARY(gold) · SECONDARY(purple glass, default) · GHOST · DANGER · LOCKED · states */
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:0 12px;border-radius:var(--cv-radius-sm);border:1px solid rgba(184,108,255,.4);background:linear-gradient(160deg,rgba(123,63,242,.28),rgba(18,10,36,.6));color:var(--cv-text);font-family:var(--cv-font-ui);font-weight:700;font-size:13px;transition:transform .08s,box-shadow .2s,filter .2s}
.btn:not(:disabled):hover{box-shadow:var(--cv-glow-purple)}
.btn:not(:disabled):active{transform:translateY(1px) scale(.98)}
.btn:focus-visible{outline:2px solid var(--cv-cyan);outline-offset:2px}
.btn:disabled{cursor:not-allowed}
.btn:disabled:not(.locked){opacity:.42;filter:saturate(.5)}
.btn.gold{background:var(--cv-grad-gold);color:var(--cv-ink-on-gold);border-color:#fff0bf;box-shadow:0 2px 0 var(--cv-darkgold)}
.btn.gold:not(:disabled):hover{filter:brightness(1.08);box-shadow:var(--cv-glow-gold),0 2px 0 var(--cv-darkgold)}
.btn.gold:not(:disabled):active{transform:translateY(2px);box-shadow:0 0 0 var(--cv-darkgold)}
.btn.gold::after,.cta-primary::after{content:'';position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);animation:shine 3.2s infinite;opacity:.6;pointer-events:none}
.btn.jade{background:var(--cv-grad-violet);color:#fff;border-color:#e0c8ff;box-shadow:0 2px 0 var(--cv-purple)}
.btn.ghost{background:transparent;border:1px solid var(--cv-line)}.btn.ghost:hover{border-color:var(--cv-lightgold)}
.btn.danger{background:var(--cv-grad-crimson);border-color:#ff9db0;color:#fff}.btn.danger:not(:disabled):hover{box-shadow:var(--cv-glow-crimson)}
.btn.locked,.btn.locked:disabled{background:rgba(20,12,36,.8);border:1px dashed rgba(184,108,255,.35);color:var(--cv-muted);opacity:1}
.btn.sm{min-height:34px;padding:0 10px;font-size:12px}
.btn.big{min-height:52px;font-size:16px;font-family:var(--cv-font-display);width:100%;margin-top:10px}
.bigbtn{font-size:17px!important;padding:0 28px!important;min-height:50px!important;font-family:var(--cv-font-display)}
.btn.choice{justify-content:flex-start;text-align:left;flex-direction:column;align-items:flex-start;padding:8px 12px;min-height:52px}.btn.choice small{color:var(--cv-muted);font-weight:600}
.x{flex:none;width:40px;height:40px;border-radius:50%;background:rgba(0,0,0,.3);border:1px solid var(--cv-line-gold);display:inline-flex;align-items:center;justify-content:center}
.chip-btn{border-radius:var(--cv-radius-pill);border:1px solid var(--cv-line-gold);background:rgba(18,10,36,.75);padding:5px 14px;font-size:12.5px;display:flex;align-items:center;gap:6px;backdrop-filter:blur(6px)}
.chip-btn b{color:var(--cv-cyan);font-family:var(--cv-font-num);font-size:14px}
/* Segmented choice */
.seg{display:flex;gap:6px;flex-wrap:wrap}
.seg button{flex:1;min-width:88px;min-height:44px;border-radius:var(--cv-radius-sm);border:1px solid var(--cv-line);background:rgba(58,23,104,.3);font-weight:700;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:4px 6px;transition:all var(--cv-dur) var(--cv-ease)}
.seg button small{font-size:10.5px;color:var(--cv-muted);font-weight:600}
.seg button.on{border-color:var(--cv-lightgold);background:linear-gradient(180deg,rgba(217,164,65,.35),rgba(58,23,104,.5));box-shadow:var(--cv-glow-gold)}
.seg button.locked{opacity:.5;border-style:dashed}
