/* 在线抽签 */
.cq-chips{display:flex;flex-wrap:wrap;gap:.4rem}
.cq-chip{border:1px solid #e3e8ee;background:#fff;color:#334155;border-radius:1rem;padding:.3rem .8rem;font-size:.8125rem;cursor:pointer}
.cq-chip:hover{border-color:var(--site-primary,#b91c1c);color:var(--site-primary,#b91c1c)}
.cq-chip.is-on{border-color:var(--site-primary,#b91c1c);background:var(--site-tint,#fef2f2);color:var(--site-primary,#b91c1c);font-weight:600}
.cq-opts{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}
.cq-check{display:inline-flex;align-items:center;gap:.35rem;margin:0;font-size:.875rem;color:#3f4a5a}
.cq-stage{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem 1rem;
  border-radius:.75rem;background:linear-gradient(180deg,#fdf6ef,#f7ece0)}
.cq-tube{position:relative;width:7rem;height:9rem;cursor:pointer;transition:transform .12s linear}
.cq-tube-body{position:absolute;left:0;right:0;bottom:0;height:7.5rem;border-radius:.6rem .6rem .9rem .9rem;
  background:linear-gradient(180deg,#b91c1c,#7f1d1d);box-shadow:inset 0 6px 12px rgba(255,255,255,.18),0 6px 14px rgba(120,20,20,.28)}
.cq-tube-label{position:absolute;left:0;right:0;bottom:2.4rem;text-align:center;color:#ffe8cc;font-size:1.5rem;font-weight:700;
  text-shadow:0 1px 0 rgba(0,0,0,.25)}
.cq-stick{position:absolute;bottom:6.4rem;width:.55rem;height:3.4rem;border-radius:.3rem .3rem 0 0;
  background:linear-gradient(180deg,#fff7ed,#e7c9a9);box-shadow:0 1px 2px rgba(0,0,0,.18)}
.cq-stick:nth-child(1){left:1.1rem;transform:rotate(-6deg)}
.cq-stick:nth-child(2){left:2.1rem;transform:rotate(2deg);height:3.8rem}
.cq-stick:nth-child(3){left:3.1rem;transform:rotate(-2deg);height:3.2rem}
.cq-stick:nth-child(4){left:4.2rem;transform:rotate(5deg);height:3.6rem}
.cq-stick:nth-child(5){left:5.2rem;transform:rotate(-4deg);height:3.3rem}
.cq-tube.is-shaking{animation:cq-shake .5s ease-in-out 1}
.cq-tube.is-shaking .cq-stick{animation:cq-hop .5s ease-in-out 1}
.cq-tube.is-shaking .cq-stick:nth-child(3){animation-delay:.08s}
.cq-tube.is-shaking .cq-stick:nth-child(2){animation-delay:.14s}
@keyframes cq-shake{0%,100%{transform:rotate(0) translateY(0)}25%{transform:rotate(-7deg) translateY(-4px)}50%{transform:rotate(6deg) translateY(2px)}75%{transform:rotate(-4deg) translateY(-2px)}}
@keyframes cq-hop{0%,100%{transform:translateY(0)}40%{transform:translateY(-10px)}}
.cq-draw{min-width:11rem}
.cq-result{padding:1rem 0 .25rem}
.cq-result-card{position:relative;max-width:34rem;margin:0 auto;padding:1.5rem 1.5rem 1.25rem;border-radius:.75rem;text-align:center;
  background:linear-gradient(180deg,#fffdf8,#fff7ed);border:2px solid var(--site-primary,#b91c1c);
  box-shadow:0 8px 24px rgba(120,20,20,.14);animation:cq-pop .38s cubic-bezier(.2,.9,.3,1.3) 1}
@keyframes cq-pop{from{opacity:0;transform:scale(.86) translateY(10px)}to{opacity:1;transform:none}}
.cq-badge{display:inline-block;padding:.15rem .7rem;border-radius:1rem;background:var(--site-primary,#b91c1c);color:#fff;font-size:.8125rem;font-weight:700}
.cq-title{margin-top:.6rem;font-size:1.75rem;font-weight:800;color:#7f1d1d;letter-spacing:.06em}
.cq-poem{margin-top:.75rem;font-size:1.0625rem;line-height:2;color:#4b3a2a;white-space:pre-wrap}
.cq-note{margin-top:.75rem;padding-top:.75rem;border-top:1px dashed rgba(150,120,90,.35);font-size:.875rem;color:#7a6a58}
  .cq-stage{padding:1rem .5rem}
  .cq-title{font-size:1.375rem}
}
