.quest-wheel-section{max-width:940px;margin:28px auto 58px;padding:0 24px;scroll-margin-top:20px}
.quest-wheel-intro{text-align:center;margin-bottom:24px}
.quest-wheel-kicker{display:inline-block;font:700 11px 'Space Mono',monospace;letter-spacing:1.5px;text-transform:uppercase;background:var(--yellow);border:2px solid var(--ink);border-radius:7px;padding:5px 9px;transform:rotate(-1deg)}
.quest-wheel-intro h2{font:800 clamp(34px,6vw,54px)/1 'Baloo 2',sans-serif;margin:12px 0 5px}
.quest-wheel-intro p{margin:0;color:var(--ink-muted);font-size:16px}
.quest-wheel-card{display:grid;grid-template-columns:minmax(300px,1.08fr) minmax(270px,.92fr);gap:34px;align-items:center;background:var(--card);border:3px solid var(--ink);border-radius:22px;padding:32px;box-shadow:8px 8px 0 var(--ink);position:relative;overflow:hidden}
.quest-wheel-card::before{content:"";position:absolute;inset:0;background-image:radial-gradient(var(--lav2) 1.2px,transparent 1.2px);background-size:18px 18px;opacity:.28;pointer-events:none}
.wheel-stage{position:relative;width:min(100%,470px);aspect-ratio:1;margin:auto;filter:drop-shadow(5px 7px 0 rgba(30,27,46,.18));z-index:1}
.wheel-pointer{position:absolute;z-index:5;top:-7px;left:50%;width:64px;height:76px;transform:translateX(-50%);filter:drop-shadow(2px 3px 0 var(--ink));pointer-events:none}
.wheel-pointer path{fill:#ff5964;stroke:var(--ink);stroke-width:6;stroke-linejoin:round}
.wheel-pointer circle{fill:var(--yellow);stroke:var(--ink);stroke-width:5}
.wheel-image-mask{position:absolute;inset:0;border-radius:50%;overflow:hidden}
.quest-wheel{position:absolute;width:108%;height:108%;inset:-4%;display:block;object-fit:cover;transform-origin:50% 50%;will-change:transform}
.quest-wheel-old{display:none!important}
.wheel-winner-highlight{position:absolute;z-index:3;inset:2.5%;border-radius:50%;clip-path:polygon(21% 0,79% 0,50% 50%);background:rgba(255,255,255,.28);filter:drop-shadow(0 0 8px #fff);opacity:0;pointer-events:none;transition:opacity .2s ease}
.wheel-winner-highlight.is-visible{opacity:1}
.wheel-rim{fill:#f5e6bd;stroke:var(--ink);stroke-width:3.5}
.wheel-rim-sketch{fill:none;stroke:var(--ink);stroke-width:1.5;stroke-dasharray:1 6;stroke-linecap:round;opacity:.72}
.wheel-face{fill:#292536;stroke:var(--ink);stroke-width:2.5}
.wheel-segment{stroke:var(--ink);stroke-width:2.5;stroke-linejoin:round;transition:filter .2s ease,opacity .2s ease}
.wheel-segment.is-winner{filter:brightness(1.13) drop-shadow(0 0 7px #fff);stroke-width:6}
.wheel-label{font:800 18px/1 'Baloo 2',sans-serif;fill:var(--ink);text-anchor:middle;letter-spacing:.3px;pointer-events:none}
.wheel-sketch{fill:none;stroke:var(--ink);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.wheel-sketch-fill{fill:#f8d36b;stroke:var(--ink);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.wheel-hub{fill:#292536;stroke:var(--ink);stroke-width:3.5}
.wheel-hub-ring{fill:none;stroke:#f5e6bd;stroke-width:1.5;stroke-dasharray:2 5;opacity:.45}
.wheel-star{fill:#f8d36b;stroke:var(--ink);stroke-width:3;stroke-linejoin:round}
.wheel-copy{position:relative;z-index:1}
.wheel-copy h3{font:800 30px/1.05 'Baloo 2',sans-serif;margin:0 0 8px}
.wheel-copy>p{color:var(--ink-muted);line-height:1.6;margin:0 0 20px}
.wheel-spin-btn{width:100%;font:800 24px 'Baloo 2',sans-serif;background:#0b8992;color:#fff;border:4px solid var(--ink);border-radius:15px;padding:17px 24px;box-shadow:6px 6px 0 var(--ink);cursor:pointer;transition:transform .1s ease,box-shadow .1s ease,background .2s ease}
.wheel-spin-btn:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--ink);background:#08777f}
.wheel-spin-btn:active:not(:disabled){transform:translate(3px,3px);box-shadow:2px 2px 0 var(--ink)}
.wheel-spin-btn:disabled{cursor:wait;opacity:.72}
.wheel-copy>.wheel-status{min-height:20px;margin:25px 0 0;font:700 11px 'Space Mono',monospace;color:var(--ink-muted);text-align:center}
.wheel-result{position:relative;z-index:1;margin-top:22px;padding:23px;background:var(--lav);border:3px dashed var(--ink);border-radius:15px}
.wheel-result[hidden]{display:none}
.wheel-win-category{display:inline-block;font:700 11px 'Space Mono',monospace;letter-spacing:1px;text-transform:uppercase;background:var(--yellow);border:2px solid var(--ink);border-radius:99px;padding:5px 9px}
.wheel-result-label{display:block;margin-top:14px;font:700 11px 'Space Mono',monospace;letter-spacing:1px;text-transform:uppercase;color:var(--ink-muted)}
.wheel-result h3{font:800 28px/1.08 'Baloo 2',sans-serif;margin:5px 0 8px}
.wheel-result p{line-height:1.55;margin:0}
.wheel-result-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.wheel-result-actions button{font:800 15px 'Baloo 2',sans-serif;border:3px solid var(--ink);border-radius:10px;padding:11px 10px;cursor:pointer;color:var(--ink);box-shadow:3px 3px 0 var(--ink)}
.wheel-accept{background:var(--yellow)}
.wheel-again{background:#fff}
.wheel-result-actions button:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}
.wheel-accept.is-committed{background:#8ED6A0}
@media(max-width:760px){.quest-wheel-card{grid-template-columns:1fr;padding:24px 18px;gap:22px}.wheel-copy{text-align:center}.wheel-copy h3{font-size:27px}.wheel-stage{width:min(100%,420px)}.wheel-result{text-align:left}}
@media(max-width:420px){.quest-wheel-section{padding:0 13px}.quest-wheel-card{padding:19px 12px 24px;border-radius:17px;box-shadow:5px 5px 0 var(--ink)}.wheel-pointer{width:52px;height:63px;top:-8px}.wheel-label{font-size:17px}.wheel-icon{font-size:24px}.wheel-result-actions{grid-template-columns:1fr}.wheel-result h3{font-size:25px}}
@media(prefers-reduced-motion:reduce){.quest-wheel{transition-duration:.01ms!important}.wheel-segment{transition:none}.wheel-spin-btn{transition:none}}
