.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:800;color:var(--ink);background:var(--lemon);border:var(--bd);border-radius:12px;padding:12px 20px;cursor:pointer;text-decoration:none;box-shadow:var(--sh-s);transition:transform .08s,box-shadow .08s}
.btn:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--ink)}
.btn:active{transform:translate(3px,3px);box-shadow:0 0 0 var(--ink)}
.btn.pink{background:var(--pink)}.btn.mint{background:var(--mint)}.btn.sky{background:var(--sky)}.btn.white{background:var(--white)}
.btn.sm{padding:6px 12px;font-size:.9rem;border-radius:9px}
.btn.icon{width:46px;height:46px;padding:0;border-radius:50%;font-size:1.1rem}
.btn:disabled,.btn[aria-busy=true]{cursor:not-allowed;opacity:.85;transform:none;box-shadow:var(--sh-s)}
.spin{width:18px;height:18px;border:3px solid var(--ink);border-right-color:transparent;border-radius:50%;animation:rot .7s linear infinite}
@keyframes rot{to{transform:rotate(360deg)}}
.chip{font:inherit;font-weight:800;background:var(--white);border:var(--bd);border-radius:10px;padding:10px 16px;cursor:pointer;box-shadow:var(--sh-s);transition:transform .08s,box-shadow .08s}
.chip:hover{transform:translate(-1px,-1px)}
.chip[aria-pressed=true]{background:var(--pink);transform:translate(3px,3px);box-shadow:0 0 0 var(--ink)}
