/* Local review wheel: upright text follows its sector, never baked into art. */
.rd-wheel-wrap:before{inset:5px}
.rd-wheel-center{width:34%;background:url("assets/redesign/wheel-v8.png") center/294.117647% no-repeat;box-shadow:none}
.rd-wheel-label-anchor{width:12%;height:0}
.rd-wheel-label-content{width:100%;left:-50%;top:0;transform:rotate(calc(-1 * var(--wheel-angle,0deg)));transform-origin:50% 0}
.rd-wheel-text-anchor .rd-wheel-label-content{margin-top:0;transform:rotate(calc(-1 * var(--wheel-angle,0deg))) translateY(-50%)}
.rd-wheel-label-content b{margin:0;padding:0;background:none;border-radius:0;box-shadow:none;text-shadow:none;color:#32134e;font-size:clamp(12px,3.7cqw,17px);font-weight:850;line-height:1.05;letter-spacing:-.035em;white-space:nowrap}
.rd-wheel-label-content small{display:block;color:#674186;font-size:clamp(9px,2.6cqw,12px);font-weight:750;line-height:1.15;letter-spacing:.025em}
.rd-wheel-label-content .rd-sector-star,.rd-star-anchor .rd-sector-star{display:block;position:absolute;top:-6cqw;bottom:auto;left:0;width:100%;height:auto;aspect-ratio:1;background:linear-gradient(145deg,#ffda64,#ffb71b 56%,#e29108);filter:drop-shadow(0 1px 1px #b3711840)}
.rd-sector-nft{position:absolute;width:130%;height:auto;aspect-ratio:1;left:-15%;top:-7.8cqw;bottom:auto;object-fit:contain;border-radius:0;box-shadow:none;background:none;filter:drop-shadow(0 2px 3px #65428325)}
.rd-nft-anchor .rd-wheel-label-content b{margin:0;font-size:clamp(11px,3.2cqw,15px)}
.rd-prize-spotlight{z-index:0;clip-path:polygon(50% 50%,38.59% 0,61.41% 0)}
.rd-wheel-label-layer{z-index:1}
.rd-wheel-pointer-image{width:14%;height:auto;aspect-ratio:1;top:-2%;filter:drop-shadow(0 3px 3px #64379c40)}
.rd-wheel-center{width:29%;outline-offset:-8px}
.rd-wheel-caption{min-height:0}
.rd-wheel-caption:has([data-rd-wheel-status]:empty){height:0;margin:0}
.rd-wheel-toolbar{margin-bottom:9px}
.rd-preview-badge{display:inline-flex;align-items:center;margin:0 0 3px;padding:4px 9px;background:#eee6f6;border:1px solid #d5c4e7;border-radius:20px;color:#795896;font-size:10px;font-weight:650}
.rd-wheel-toolbar .rd-sound{border-color:#cbb8df;background:#ede3f760;min-height:36px}
.rd-wheel-wrap[data-phase="landed"] .rd-wheel-label-anchor:first-child b{color:#32134e}
.rd-pending-prize{margin-top:18px}
.rd-pending-prize b{font-size:clamp(22px,5.5vw,28px);letter-spacing:-.035em;line-height:1.15}
.rd-pending-prize small{display:block;max-width:280px;margin:8px auto 0;line-height:1.4}
.rd-claim-actions{gap:10px;margin-top:13px}
.rd-claim-actions .rd-button{border-radius:16px;font-weight:750}
@media(prefers-reduced-motion:reduce){.rd-wheel-wrap:before,.rd-wheel-pointer-image{animation:none!important}}
@media(max-width:500px){.rd-wheel-wrap{width:calc(100% + 22px);max-width:none;margin-inline:-11px}}
/* V9: no prizes or letters baked into the rotating PNG. Each prize is one DOM group. */
.rd-wheel-prize-group{position:absolute;inset:0;pointer-events:none}
.rd-wheel-prize-group .rd-wheel-label-anchor{width:12%;height:0}
.rd-wheel-prize-group .rd-v9-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;transform:rotate(calc(-1 * var(--wheel-angle,0deg))) translateY(-50%);margin:0}
.rd-wheel-prize-group .rd-v9-icon{position:static;display:block;width:clamp(26px,9.5cqw,44px);height:clamp(26px,9.5cqw,44px);aspect-ratio:1;object-fit:contain;border-radius:0;box-shadow:none;background:none;filter:drop-shadow(0 1px 1px #54266d24)}
.rd-wheel-prize-group .rd-official-star{background:linear-gradient(145deg,#ffde68,#ffc329 60%,#e89d12);filter:drop-shadow(0 1px 1px #ad74042b)}
.rd-wheel-prize-group .rd-v9-label-anchor b{font-size:clamp(14px,4cqw,19px);font-weight:850;line-height:1.05;letter-spacing:-.025em;white-space:nowrap}
.rd-wheel-prize-group .rd-v9-label-anchor small{font-size:clamp(10px,2.8cqw,13px);font-weight:750;line-height:1.05;letter-spacing:.02em}
.rd-wheel-center{width:32%;background:url("assets/redesign/wheel-v9.webp") center/312.5% no-repeat;box-shadow:none;z-index:2}
.rd-wheel-center:after{content:"";position:absolute;inset:33% 30% 33% 39%;clip-path:polygon(0 0,100% 50%,0 100%);background:linear-gradient(150deg,#fff,#ece0ff);filter:drop-shadow(0 2px 2px #48267240)}
.rd-wheel-wrap[data-phase="landed"] .rd-wheel-label-layer{filter:none}
.rd-wheel-pointer-image{top:-5%;width:12%}
/* Keep the outcome controls above the mobile tab bar without shrinking the wheel. */
.rd-gifts .rd-preview-badge{font-size:11px;line-height:15px;padding:0;background:none;border:0;margin:0 0 4px;color:#695286}
.rd-gifts .rd-sub{margin-bottom:4px;font-size:14px}
.rd-gifts .rd-balances{margin:6px 0 4px}
.rd-gifts .rd-wheel-toolbar{margin:0 0 8px;min-height:32px}
.rd-gifts .rd-wheel-toolbar .rd-sound{min-height:40px;font-size:12px}
.rd-gifts .rd-wheel-toolbar{flex-wrap:wrap;gap:8px;justify-content:flex-end}
.rd-gifts .rd-wheel-toolbar .rd-wheel-welcome{margin-right:auto}
.rd-gifts .rd-wheel-toolbar .rd-sound,.rd-gifts .rd-wheel-toolbar .rd-haptics{min-height:44px;padding:8px 12px;font-size:12px;border:1px solid #cbb8df;border-radius:24px;background:#ede3f760}
.rd-gifts .rd-haptics[aria-pressed="true"]{color:#7130d0;background:#e4d4fa;border-color:#b798e3}
.rd-gifts .rd-haptics[aria-pressed="false"]{opacity:.65}
.rd-gifts .rd-pending-prize{margin:10px 0 6px}
.rd-gifts .rd-pending-prize small{font-size:12px;margin-top:5px;color:#695286}
.rd-gifts .rd-claim-actions{margin-top:8px}
.rd-wheel-prize-group .rd-v9-label-anchor small{font-size:clamp(11px,2.8cqw,13px)}
.rd-wheel-caption:not(:has([data-rd-wheel-status]:empty)){margin:6px 0 7px;min-height:16px}
/* Wheel caption v10: one baseline, one sector-centre radius; no split XP lines. */
.rd-wheel-prize-group .rd-v9-label-anchor{width:0;height:0}
.rd-wheel-prize-group .rd-v9-label-anchor .rd-v9-content{width:max-content;left:0;top:0;transform-origin:0 0;transform:rotate(calc(-1 * var(--wheel-angle,0deg))) translate(-50%,-50%)}
.rd-wheel-prize-group .rd-v9-label-anchor .rd-v9-caption{display:inline-flex;flex-direction:row;align-items:baseline;justify-content:center;gap:2px;white-space:nowrap;letter-spacing:0;line-height:1.1;color:#301344;font-weight:700;text-shadow:none}
.rd-wheel-prize-group .rd-v9-caption strong{font-family:inherit;font-size:clamp(12px,3.7cqw,14px);font-weight:800;line-height:1.1;letter-spacing:-.025em}
.rd-wheel-prize-group .rd-v9-caption span{font-size:clamp(10px,3.1cqw,11px);font-weight:750;line-height:1.1;color:#513064;letter-spacing:-.02em;white-space:nowrap}
/* The prize, rather than the rim decoration, is the visual focus. Separate
   caption/icon radii leave room for these larger upright sprites at every turn. */
.rd-wheel-prize-group .rd-v9-icon-anchor .rd-v9-icon{width:clamp(28px,10.5cqw,48px);height:clamp(28px,10.5cqw,48px)}
/* Compact quantity key and honest saved boost inventory. */
.rd-wheel-key{display:flex;justify-content:center;align-items:center;gap:18px;color:#513064;font-size:12px;font-weight:650;line-height:1.3;margin:5px 0 0}
.rd-wheel-key>span{display:inline-flex;align-items:center;gap:5px}
.rd-wheel-key img{width:19px;height:19px;object-fit:contain}
.rd-boost-saved{flex:none;border-radius:10px;background:#e8dff3;color:#644b7b;font-size:12px;font-weight:650;padding:7px 10px}
.rd-boost-note{color:#644b7b;font-size:13px;line-height:1.45;margin:0 0 12px}
