/* v7.4 情侣大转盘（#/wheel）· 移动端优先（375px）· 复用 chess.css 的 ch- 基础组件，本文件只放 wh- 专用样式 */
.hc.wheel{border-left-color:var(--qc,#ff5c8a)}
body[data-view=wheel]{padding-bottom:calc(96px + var(--sab))}
.wh-hero{display:flex;align-items:center;gap:14px;margin:8px 0;padding:14px 16px;border-radius:18px;background:linear-gradient(120deg,var(--cd),var(--cm));color:#fff;box-shadow:0 6px 20px rgba(74,42,94,.14)}
.wh-hero b{display:block;font-size:20px}.wh-hero small{display:block;font-size:12.5px;opacity:.9;margin-top:3px;line-height:1.45}
.wh-mini{flex:0 0 64px;width:64px;height:64px;animation:whIdle 9s linear infinite}
@keyframes whIdle{to{transform:rotate(360deg)}}
.wh-stage{background:linear-gradient(170deg,var(--cs),#fff);border-radius:20px;padding:10px 10px 8px;box-shadow:inset 0 0 0 2px rgba(0,0,0,.04)}
.wh-wname{text-align:center;font-size:15px;margin:2px 0 6px;min-height:22px}.wh-wname small{color:var(--muted);font-size:12px;font-weight:600}
.wh-box{position:relative;width:min(84vw,330px);aspect-ratio:1/1;margin:0 auto}
.wh-box canvas{display:block;width:100%;height:100%;border-radius:50%;box-shadow:0 8px 26px rgba(43,34,48,.18);will-change:transform;-webkit-transform:translateZ(0)}
.wh-ptr{position:absolute;left:50%;top:-8px;width:0;height:0;margin-left:-15px;border-left:15px solid transparent;border-right:15px solid transparent;border-top:30px solid var(--cd);filter:drop-shadow(0 2px 2px rgba(0,0,0,.3));z-index:2}
.wh-hub{position:absolute;left:50%;top:50%;width:62px;height:62px;margin:-31px 0 0 -31px;border-radius:50%;background:#fff;color:var(--cd);font-weight:900;font-size:16px;box-shadow:0 3px 10px rgba(0,0,0,.25);border:4px solid var(--cm);z-index:2}
.wh-slots{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;min-height:34px;margin:10px 0 2px}
.wh-slot{display:inline-flex;flex-direction:column;align-items:center;font-size:13px;font-weight:800;background:#fff;border-radius:10px;padding:4px 9px;color:#3a2340;box-shadow:0 1px 4px rgba(0,0,0,.08);max-width:46%;text-align:center;line-height:1.3}
.wh-slot small{font-size:10.5px;font-weight:700;color:var(--muted)}
.wh-slot.x{opacity:.5;text-decoration:line-through}.wh-slot.ev{background:#fff1d0;color:#8a5a00}
.wh-note{text-align:center;white-space:normal}
.wh-btns{display:flex;flex-direction:column;gap:8px;margin:12px 0 4px}
.wh-btns .wh-go{width:100%;min-height:54px;font-size:17px;border-radius:16px}
.wh-btns .cta.wh-go{background:linear-gradient(90deg,var(--cm),var(--cd))}
.wh-btns .ghost.wh-go{background:var(--cs);color:var(--cd);font-weight:800}
.wh-btns .wh-go:disabled{opacity:.5}
.wh-votes{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}
.wh-vote{min-height:52px;border-radius:14px;background:#f6f2f4;font-weight:800;font-size:14px;color:#4b4250}
.wh-vote.done{background:#e8f8ee;color:#1d7a46}
.wh-revote{margin-top:8px}
.wh-private{text-align:center}.wh-private h3{font-size:19px}
.wh-pick{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.wh-pick .ch-small{flex:1 1 100%}.wh-pick .ghost{min-height:40px;background:var(--cs);color:var(--cd)}
.wh-timer{width:100%;min-height:46px;margin:6px 0;background:#eaf3ff!important;color:#1f4f9a!important;font-weight:800}
.wh-remind{text-align:center}.wh-remind.in{text-align:left;background:#fff4d6;border-radius:12px;padding:10px 12px;margin:8px 0;color:#6b5000}
.wh-remind.in p{margin:4px 0 0;font-size:14px;line-height:1.6}
.ch-ps.n3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ch-x .wh-stage{background:linear-gradient(170deg,#2a1430,#47203f)}.ch-x .wh-wname{color:#fff}.ch-x .wh-note{color:#e8cfe0}
@media (prefers-reduced-motion:reduce){.wh-mini{animation:none}.wh-box canvas{transition:none!important}}
@media (min-width:600px){.wh-btns{flex-direction:row;flex-wrap:wrap}.wh-btns .wh-go{flex:1 1 45%}}
