body{padding:3vh 4vw;overflow:hidden}#app.wheel-window{width:min(1160px,92vw);height:min(748px,92vh);display:flex;flex-direction:column;position:relative;background:radial-gradient(ellipse at 30% 40%,#2b141625,transparent 58%),rgba(16,16,18,.97);border:1px solid #5a393b;border-top:2px solid #8b2435;border-radius:14px;box-shadow:0 28px 90px #0009;overflow:hidden;animation:arrive .22s ease-out}.wheel-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 24px;min-height:79px;border-bottom:1px solid var(--line);flex-shrink:0}.wheel-brand{display:flex;align-items:center;gap:18px}.wheel-brand>img{width:93px;height:42px;object-fit:contain;border-right:1px solid #b4936438;padding-right:18px}.wheel-brand h1{font-size:21px;line-height:1.5;font-weight:500}.wheel-brand .eyebrow{font-size:8px}.wheel-header nav{display:flex;gap:8px;align-items:center}.btn.small{min-height:32px;padding:7px 13px;font-size:10px;gap:7px}.btn b{font-weight:500;color:var(--gold)}.wheel-header .close{height:30px;width:30px;font-size:21px;margin-left:7px}.sound-button{height:31px;width:31px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--muted);display:grid;place-items:center}.sound-button svg{width:15px;height:15px}.wheel-body{display:grid;grid-template-columns:minmax(0,1fr) 360px;flex:1;min-height:0;overflow:auto}.wheel-stage{display:flex;flex-direction:column;align-items:center;min-width:0;padding:21px 28px 16px;position:relative;overflow:hidden}.stage-top{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px}.stage-top .eyebrow{font-size:9px;color:var(--gold)}.stage-edition{font-size:8px;color:#776972;letter-spacing:.12em}.stage-edition b{font-weight:400}.wheel-theatre{position:relative;width:min(440px,52vh);height:min(440px,52vh);flex-shrink:0;margin:auto 0;isolation:isolate;filter:drop-shadow(0 16px 22px #0008)}.wheel-halo{position:absolute;inset:-14px;border:1px solid #b493641b;border-radius:50%;box-shadow:0 0 45px #b4936407,inset 0 0 24px #b4936408}.wheel-halo:before{content:'';position:absolute;inset:-8px;border:1px dashed #b493641b;border-radius:50%}.wheel-rim{position:absolute;inset:0;border:5px solid #6b503b;border-radius:50%;box-shadow:inset 0 0 0 2px #e1c69266,0 0 0 2px #151215,0 0 0 3px #b4936480;pointer-events:none;background:repeating-conic-gradient(from -1deg,#d1b57f 0 1deg,transparent 1deg 7.5deg);mask:radial-gradient(transparent 0 66.5%,#000 67%);-webkit-mask:radial-gradient(transparent 0 66.5%,#000 67%)}.wheel-rotor{position:absolute;inset:8px;border:1px solid #b4936488;border-radius:50%;background:#151215;will-change:transform}.wheel-rotor>svg{position:absolute;inset:0;height:100%;width:100%;stroke-width:.8}.wheel-segment{stroke:#b4936445;stroke-width:1;transition:filter .2s}.wheel-segment.common{fill:#211b20}.wheel-segment.common:nth-of-type(2n){fill:#292026}.wheel-segment.rare{fill:#322439;stroke:#94799f66}.wheel-segment.legendary{fill:#493426;stroke:#be986477}.wheel-segment.won{filter:brightness(1.8);stroke:#e4c894;stroke-width:3}.wheel-prize{position:absolute;width:60px;height:63px;display:flex;flex-direction:column;justify-content:center;align-items:center;transform:translate(-50%,-50%);color:#c9b9bf;pointer-events:auto}.wheel-prize img{width:48px;height:45px;object-fit:contain;filter:drop-shadow(0 3px 4px #0008);user-select:none}.wheel-prize small{font-size:10px;font-weight:500;line-height:1.6;text-shadow:0 2px 3px #000}.wheel-prize.legendary img{filter:drop-shadow(0 0 9px #b4936444)}.wheel-hub{position:absolute;width:28%;height:28%;left:36%;top:36%;border-radius:50%;background:radial-gradient(circle,#291d20,#101012 72%);border:1px solid #b4936488;box-shadow:0 0 0 6px #141014cc,0 0 0 7px #b4936440,0 7px 20px #0009;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;pointer-events:none}.wheel-hub img{width:72%;height:35%;object-fit:contain}.wheel-hub span{font-size:7px;letter-spacing:.2em;color:#c4a575}.wheel-hub i{width:3px;height:3px;background:var(--red);rotate:45deg;box-shadow:0 0 8px #e5092c88}.wheel-pointer{position:absolute;left:calc(50% - 11px);top:-9px;z-index:3;width:22px;height:36px;filter:drop-shadow(0 3px 4px #000)}.wheel-pointer:before{content:'';position:absolute;inset:0;clip-path:polygon(0 0,100% 0,50% 100%);background:linear-gradient(90deg,#87603f,#ead2a1 50%,#87603f)}.wheel-pointer i{position:absolute;inset:4px 5px 12px;clip-path:polygon(0 0,100% 0,50% 100%);background:var(--red)}.is-spinning .wheel-halo{box-shadow:0 0 40px #b4936422;animation:aura 2s ease-in-out infinite}.stage-bottom{margin-top:16px;text-align:center;width:100%;display:flex;align-items:center;flex-direction:column;gap:9px}.rarity-key{display:flex;justify-content:center;gap:18px;font-size:8px;letter-spacing:.04em}.rarity-key span:before{content:'';display:inline-block;height:3px;width:3px;margin:0 5px 2px 0;background:currentColor;rotate:45deg}.common{--rarity:#c8b8bf;color:var(--rarity)}.rare{--rarity:#ae8db9;color:var(--rarity)}.legendary{--rarity:#d4b078;color:var(--rarity)}.odds-button{min-height:31px;font-size:10px;padding:6px 18px;gap:24px}.stage-bottom>p{font-size:8px;color:#96818c;line-height:1.7}.payment-panel{border-left:1px solid var(--line);padding:23px 23px 16px;background:#08080a35;min-width:0;display:flex;flex-direction:column}.payment-heading h2{font-size:19px;font-weight:500;margin-top:5px}.payment-heading>p{color:var(--muted);font-size:10px;line-height:1.8;margin-top:4px}.payment-heading .eyebrow{font-size:8px}.character-info{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 0 13px;border-bottom:1px solid var(--line);margin-bottom:13px}.character-info span{font-size:9px;color:var(--muted)}.character-info strong{font-size:20px;font-weight:500;line-height:1.4;font-variant-numeric:tabular-nums;display:block;color:var(--cream)}.character-info small{font-size:8px;color:#887780;text-align:right;line-height:1.7;max-width:125px}.methods{display:grid;gap:8px}.method{width:100%;position:relative;display:grid;grid-template-columns:34px minmax(0,1fr) 12px;gap:10px;align-items:center;border:1px solid #ffffff16;border-radius:8px;background:linear-gradient(100deg,#ffffff03,transparent);padding:12px 10px;text-align:left;min-height:73px}.method[aria-checked=true]{border-color:#a83b4c;background:linear-gradient(110deg,#e5092c10,transparent);box-shadow:inset 2px 0 var(--red)}.method:disabled{opacity:.55}.method-icon{width:32px;display:grid;place-items:center;color:var(--gold)}.method-icon svg{width:23px;height:23px}.method-icon img{width:34px;height:26px;object-fit:contain}.method-text{min-width:0;line-height:1.5}.method-text>strong{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:12px;font-weight:500;color:var(--cream)}.method-text>strong b{font-size:10px;color:var(--gold);font-weight:500;white-space:nowrap}.method-text small{display:block;font-size:9px;line-height:1.5;color:var(--muted);margin-top:2px;overflow-wrap:anywhere}.method-dot{width:9px;height:9px;border-radius:50%;border:1px solid #77646d}.method[aria-checked=true] .method-dot{border-color:#e5092c;background:#e5092c;box-shadow:0 0 0 3px #e5092c19}.spin-summary{border-top:1px solid var(--line);margin-top:auto;padding-top:14px;min-height:72px;display:grid;gap:5px;align-content:center;font-size:10px;color:var(--muted)}.spin-summary>div{display:flex;justify-content:space-between;gap:14px}.spin-summary b{font-weight:400;color:var(--cream);font-variant-numeric:tabular-nums}.spin-button{width:100%;min-height:42px;font-size:12px;justify-content:space-between;padding-inline:19px}.spin-button:disabled{opacity:.45}.spin-state{font-size:10px;line-height:1.7;min-height:36px;color:var(--gold);padding-top:9px;overflow-wrap:anywhere}.spin-state small{display:block;font-size:9px;color:var(--muted)}.spin-state.error{color:#d1a4ad}.account-note{font-size:8px;color:#7f6f79;line-height:1.8;padding-top:5px}.payment-panel>#check-spin{width:100%;margin-bottom:5px}.wheel-status-line{height:32px;min-height:32px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding:6px 23px;font-size:8px;color:#8e7d86}.wheel-status-line b{font-weight:400;color:#b49c7b}.wheel-status-line i{width:3px;height:3px;display:inline-block;background:var(--gold);border-radius:50%;margin-right:4px}.wheel-status-line kbd{font-size:8px;margin:0 4px 0 0}.spinner{width:12px;height:12px;border:1px solid #ffffff30;border-top-color:var(--gold);border-radius:50%;display:inline-block;animation:spin .7s linear infinite}.muted{color:var(--muted)}
dialog{width:min(460px,92vw);max-height:90vh;overflow:auto}dialog.wide{width:min(680px,92vw)}.modal-content{padding:22px 26px}.modal-title{font-size:21px;text-align:left;margin:12px 0 5px!important;font-weight:500}.modal-subtitle{font-size:10px;color:var(--muted);line-height:1.8}.modal-actions{grid-template-columns:1fr 1fr;margin-top:18px;gap:9px}.modal-actions.single{grid-template-columns:1fr}.modal-actions .btn{min-height:37px;font-size:11px;padding:8px 12px}.facts{margin:19px 0 0;border-top:1px solid var(--line);padding-top:5px}.facts>div{display:flex;justify-content:space-between;gap:15px;font-size:11px;padding:9px 0;color:var(--muted)}.facts b{font-size:13px;color:var(--cream);font-weight:500;font-variant-numeric:tabular-nums}.result-content{text-align:center;position:relative;overflow:hidden}.result-content:before{content:'';position:absolute;inset:50px 10% 70px;background:radial-gradient(ellipse,color-mix(in srgb,var(--rarity) 15%,transparent),transparent 65%);pointer-events:none}.result-art{display:grid;place-items:center;width:142px;height:142px;border:1px solid color-mix(in srgb,var(--rarity) 35%,transparent);border-radius:50%;margin:19px auto 14px;position:relative;box-shadow:0 0 0 9px #ffffff02;animation:result-in .55s ease-out}.result-art:before{content:'';position:absolute;inset:-9px;border:1px dashed color-mix(in srgb,var(--rarity) 30%,transparent);border-radius:50%}.result-art img{width:100px;height:100px;object-fit:contain;filter:drop-shadow(0 8px 13px #000b)}.result-content h2{font-size:23px}.rarity-badge{display:inline-flex;align-items:center;gap:5px;border:1px solid color-mix(in srgb,var(--rarity) 35%,transparent);border-radius:4px;padding:3px 7px;color:var(--rarity);font-size:9px;margin:5px 0}.result-content h3{font-size:18px;color:var(--cream);font-weight:500;margin:8px 0}.result-quantity{font-size:24px;color:var(--rarity);font-variant-numeric:tabular-nums}.delivery-status{margin-top:15px;padding-top:12px;border-top:1px solid var(--line);font-size:11px;color:var(--cream);line-height:1.9}.result-reference{font-size:8px;color:#887780;margin-top:8px;overflow-wrap:anywhere}.probability-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:15px}.probability-totals>div{border:1px solid color-mix(in srgb,var(--rarity) 28%,transparent);background:#ffffff02;border-radius:6px;padding:8px 10px;font-size:9px}.probability-totals b{display:block;font-size:19px;font-weight:500;font-variant-numeric:tabular-nums}.reward-list{margin-top:13px;max-height:42vh;overflow:auto;scrollbar-width:thin;scrollbar-color:#53323c transparent}.reward-row{display:grid;grid-template-columns:39px minmax(0,1fr) 55px;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.reward-row img{width:36px;height:36px;object-fit:contain}.reward-row strong{font-size:11px;font-weight:400;display:block;color:var(--cream)}.reward-row small{font-size:8px;display:block;margin-top:3px;color:var(--muted)}.reward-row>b{font-size:13px;font-weight:500;text-align:right;color:var(--rarity)}.probability-note{font-size:9px;line-height:1.9;color:var(--muted);border-left:1px solid var(--gold);padding-left:12px;margin-top:14px}.ledger-tabs{display:flex;gap:18px;border-bottom:1px solid var(--line);margin-top:13px}.ledger-tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:10px 0;color:var(--muted);font-size:11px}.ledger-tabs button[aria-selected=true]{border-bottom-color:var(--red);color:var(--cream)}.ledger-list{max-height:48vh;overflow:auto;scrollbar-width:thin;scrollbar-color:#53323c transparent}.ledger-row{display:grid;grid-template-columns:37px minmax(0,1fr) 107px;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.ledger-row img{width:35px;height:38px;object-fit:contain}.ledger-row strong{font-size:12px;font-weight:400;color:var(--cream);display:block}.ledger-row small{font-size:9px;line-height:1.7;display:block;color:var(--muted)}.ledger-row .rarity-badge{font-size:7px;padding:1px 4px;margin-top:3px}.ledger-row .right{text-align:right;line-height:1.8}.ledger-row .right>span{font-size:9px;color:var(--gold);display:block}.ledger-row .btn{font-size:9px;min-height:29px;padding:5px 9px;gap:4px;width:100%}.copy-button{background:transparent;border:0;color:#9c8591;font-size:8px;padding:2px 0;max-width:100%;overflow-wrap:anywhere}.empty-state{padding:38px 15px;text-align:center;font-size:11px;color:var(--muted);line-height:2}.inline-error{font-size:10px;color:#d4acb5;line-height:1.8;padding:10px 0}.item-tooltip{position:fixed;z-index:80;pointer-events:none;width:220px;max-width:calc(100vw - 16px);padding:11px 13px;border:1px solid #694647;border-top:2px solid var(--gold);border-radius:8px;background:#101012fa;color:var(--cream);box-shadow:0 8px 28px #0008;animation:arrive .15s ease-out}.item-tooltip strong{font-size:12px;font-weight:500}.item-tooltip p{font-size:10px;line-height:1.8;color:var(--muted);margin-top:5px}.item-tooltip small{font-size:9px;color:var(--gold);display:block;margin-top:6px}#toast{font-size:11px;line-height:1.7;z-index:100;bottom:3vh;padding:11px 20px}#closed{text-align:center;line-height:2;color:var(--muted)}#closed>img{display:block;width:150px;margin:0 auto 13px}#closed h2{color:var(--cream);font-size:21px;font-weight:500}#closed p{font-size:11px;margin-bottom:16px}#closed .btn{margin:4px;text-decoration:none}.no-scene .preview-scene{display:none}.result-content.legendary .result-art{box-shadow:0 0 0 9px #b4936406,0 0 35px #b4936430}.result-content.rare .result-art{box-shadow:0 0 0 9px #9d77ad07,0 0 30px #9d77ad20}@keyframes aura{50%{opacity:.55}}@keyframes spin{to{rotate:360deg}}@keyframes result-in{from{opacity:0;transform:translateY(9px) scale(.9)}to{opacity:1;transform:none}}
@media(max-height:820px){.wheel-header{padding:12px 21px;min-height:69px}.wheel-stage{padding:16px 24px 12px}.wheel-theatre{width:min(410px,51vh);height:min(410px,51vh)}.stage-bottom{gap:7px;margin-top:12px}.payment-panel{padding:16px 21px 12px}.payment-heading h2{font-size:18px}.character-info{padding:10px 0;margin-bottom:10px}.character-info strong{font-size:19px}.method{min-height:66px;padding:9px 10px}.methods{gap:7px}.spin-summary{min-height:62px;padding-top:10px}.spin-state{min-height:33px}.account-note{font-size:7px}.modal-content{padding:18px 23px}}
@media(max-width:1100px){.wheel-body{grid-template-columns:minmax(0,1fr) 324px}.wheel-header{padding-inline:18px}.wheel-brand{gap:13px}.wheel-brand>img{width:79px;padding-right:12px}.wheel-brand h1{font-size:19px}.wheel-brand .eyebrow{font-size:7px}.wheel-header nav{gap:6px}.wheel-header .btn{font-size:9px;padding-inline:10px}.wheel-stage{padding-inline:18px}.wheel-theatre{max-width:94%;max-height:94%}.stage-edition{font-size:7px}.payment-panel{padding-inline:17px}.wheel-prize{width:52px;height:57px}.wheel-prize img{width:41px;height:41px}}
@media(min-width:2200px){#app.wheel-window{width:1240px;height:780px}.wheel-body{grid-template-columns:minmax(0,1fr) 380px}.wheel-theatre{width:465px;height:465px}.payment-panel{padding:29px 28px 21px}.method{min-height:82px}.methods{gap:11px}.spin-summary{min-height:80px}}
@media(max-width:760px){#app.wheel-window{height:94vh;width:94vw}.wheel-header{flex-wrap:wrap;gap:11px}.wheel-header nav{width:100%;justify-content:flex-end}.wheel-brand h1{font-size:18px}.wheel-body{grid-template-columns:1fr}.wheel-stage{min-height:470px}.wheel-theatre{width:330px;height:330px;max-width:86vw;max-height:86vw}.payment-panel{border-left:0;border-top:1px solid var(--line);min-height:530px}.wheel-status-line>span:last-child{display:none}.ledger-row{grid-template-columns:30px minmax(0,1fr) 92px;gap:8px}.wheel-status-line{padding-inline:15px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.wheel-rotor{will-change:auto}}
@media(min-width:2200px){.method{min-height:80px}.methods{gap:10px}}
/* Wheel redesign v2: a dark engraved dial, suspended prize medallions and a fixed seal. */
.wheel-stage{background:radial-gradient(ellipse at 50% 43%,#b4936408,transparent 61%)}
.wheel-theatre{width:min(436px,49vh);height:min(436px,49vh);margin:auto 0;filter:drop-shadow(0 18px 23px #0008)}
.wheel-halo{inset:-12px;border:1px solid #b4936429;box-shadow:0 0 0 6px #101012,0 0 0 7px #b4936412,inset 0 0 25px #0009;background:radial-gradient(circle,transparent 58%,#b4936412 69%,transparent 71%)}
.wheel-halo:before{inset:7px;border:1px solid #b4936435;box-shadow:0 0 0 2px #070709}
.wheel-rotor{inset:9px;background:radial-gradient(circle,#191619 0 28%,#100f12 58%,#1f191d 100%);border:1px solid #b4936455;box-shadow:inset 0 0 34px #000a;--wheel-angle:0deg}
.wheel-rotor>svg{isolation:isolate}
.wheel-segment{fill:#19171b;stroke:#b4936438;stroke-width:.7;transition:filter .24s,fill .24s}
.wheel-segment.common{fill:#19171b}.wheel-segment.common:nth-of-type(2n){fill:#201c20}
.wheel-segment.rare{fill:#29212f;stroke:#94799f45}.wheel-segment.legendary{fill:#32281e;stroke:#b4936455}
.wheel-segment.won{fill:#4b3927;filter:brightness(1.25);stroke:#d4b078;stroke-width:1.5}
.wheel-rim{inset:0;border:2px solid #9c805a;background:repeating-conic-gradient(from -1deg,#b49364b0 0 .7deg,transparent .7deg 5deg);mask:radial-gradient(transparent 0 68.3%,#000 68.6%);-webkit-mask:radial-gradient(transparent 0 68.3%,#000 68.6%);box-shadow:inset 0 0 0 3px #171316,0 0 0 3px #09090b,0 0 0 4px #b4936440}
.wheel-prize{width:17%;height:17%;transform:translate(-50%,-50%);pointer-events:none}
.prize-medallion{height:100%;width:100%;position:relative;display:flex;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--rarity) 35%,transparent);border-radius:50%;background:radial-gradient(circle at 40% 30%,#262127,#111014 75%);box-shadow:0 4px 9px #0009,inset 0 0 0 4px #ffffff02;transform:rotate(calc(-1 * var(--wheel-angle)));transition:border-color .2s,box-shadow .2s;pointer-events:auto}
.prize-medallion:before{content:'';position:absolute;inset:4px;border:1px solid color-mix(in srgb,var(--rarity) 14%,transparent);border-radius:50%;pointer-events:none}
.wheel-prize img,.wheel-prize.legendary img{width:66%;height:66%;object-fit:contain;mix-blend-mode:screen;filter:brightness(.55) contrast(3.2) grayscale(1) sepia(.25) brightness(1.5);border-radius:10%;transition:scale .2s;cursor:help}
.wheel-prize img:hover{scale:1.1}.wheel-prize small{position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);background:#171316;border:1px solid #b493643b;border-radius:99px;min-width:29px;padding:1px 6px;font-size:9px;line-height:1.4;color:var(--cream);text-shadow:none}
.prize-medallion>i{height:3px;width:3px;position:absolute;top:-2px;left:calc(50% - 1px);rotate:45deg;background:var(--rarity);box-shadow:0 0 6px color-mix(in srgb,var(--rarity) 40%,transparent)}
.wheel-prize.won .prize-medallion{border-color:#e4c894;box-shadow:0 0 0 4px #b4936415,0 0 25px #b4936450,inset 0 0 18px #b4936425}
.wheel-prize.won small{border-color:#b49364;color:#ead7d2}.wheel-prize.won img{scale:1.08}
.sector-index{position:absolute;transform:translate(-50%,-50%) rotate(calc(-1 * var(--wheel-angle)));font-size:8px;letter-spacing:.08em;color:#a88f6f99;font-variant-numeric:tabular-nums;pointer-events:none}
.wheel-hub{width:30%;height:30%;left:35%;top:35%;gap:6px;border:1px solid #c3a5759c;background:radial-gradient(circle at 40% 30%,#2c2025,#121014 68%);box-shadow:0 0 0 4px #111014,0 0 0 5px #b4936455,0 0 0 11px #101012b8,0 8px 19px #000b}
.wheel-hub:before{content:'';position:absolute;inset:7px;border:1px solid #b493642f;border-radius:50%}.wheel-hub span{font-size:7px;letter-spacing:.19em}.wheel-hub img{width:76%;height:38%}
.wheel-pointer{width:28px;height:40px;top:-17px;left:calc(50% - 14px);transform-origin:50% 7px;filter:drop-shadow(0 4px 4px #000b)}
.wheel-pointer:before{clip-path:polygon(50% 100%,4% 25%,21% 0,79% 0,96% 25%);background:linear-gradient(100deg,#71553b,#ead7b0 45%,#b49364 65%,#6a4d35)}
.wheel-pointer i{inset:6px 7px 13px;background:linear-gradient(#b5142c,#e5092c);clip-path:polygon(50% 100%,0 0,100% 0)}
.wheel-ornaments{position:absolute;inset:-17px;border-radius:50%;pointer-events:none}.wheel-ornaments i{position:absolute;width:5px;height:5px;rotate:45deg;border:1px solid #b4936470;background:#191315}.wheel-ornaments i:nth-child(1){left:calc(50% - 2px);top:-2px}.wheel-ornaments i:nth-child(2){left:calc(50% - 2px);bottom:-2px}.wheel-ornaments i:nth-child(3){top:calc(50% - 2px);left:-2px}.wheel-ornaments i:nth-child(4){top:calc(50% - 2px);right:-2px}
.wheel-sweep{position:absolute;inset:-8px;border-radius:50%;pointer-events:none;opacity:0;background:conic-gradient(from -30deg,transparent 0 75%,#b4936433 92%,#ead7b066 99%,transparent);mask:radial-gradient(transparent 0 69%,#000 69.5%);-webkit-mask:radial-gradient(transparent 0 69%,#000 69.5%);transition:opacity .2s}
.is-fast .wheel-sweep{opacity:1;animation:dial-sweep 1.2s linear infinite}.is-spinning .wheel-halo{animation:none;box-shadow:0 0 0 6px #101012,0 0 0 7px #b4936428,0 0 35px #b4936418}.is-fast .wheel-prize{pointer-events:none}
.has-winner .wheel-halo{border-color:#b4936470;box-shadow:0 0 0 6px #101012,0 0 0 7px #b4936433,0 0 35px #b4936425}
.stage-bottom{gap:8px;margin-top:19px}.draw-caption{max-width:100%;text-align:center;min-height:38px;line-height:1.7}.draw-caption strong{display:block;font-size:13px;font-weight:500;color:var(--cream);overflow-wrap:anywhere}.draw-caption small{display:block;font-size:8px;color:var(--muted);letter-spacing:.02em}.rarity-key{gap:15px;font-size:8px}.odds-button{min-height:29px;font-size:9px;padding:5px 16px}.stage-bottom>p{font-size:7px}
@keyframes dial-sweep{to{transform:rotate(360deg)}}
@media(max-height:820px){.wheel-theatre{width:min(365px,46vh);height:min(365px,46vh)}.stage-bottom{gap:6px;margin-top:14px}.draw-caption{min-height:33px}.draw-caption strong{font-size:12px}.wheel-stage{padding-top:14px;padding-bottom:10px}}
@media(min-width:2200px){.wheel-theatre{width:435px;height:435px}}
@media(max-width:760px){.wheel-theatre{width:320px;height:320px;max-width:76vw;max-height:76vw}.wheel-stage{min-height:520px}.wheel-prize small{font-size:8px}.sector-index{font-size:7px}}
@media(prefers-reduced-motion:reduce){.wheel-sweep{display:none}.wheel-rotor{will-change:auto}}

/* This full-color transparent asset needs no sketch-background treatment. */
.wheel-prize img[src$="dirtywater.png"]{filter:saturate(.6) brightness(1.25) drop-shadow(0 2px 3px #0008);mix-blend-mode:normal}

/* 10 sectors / 4 rarity tiers. Keep medallions within each 36-degree sector. */
.uncommon{--rarity:#b98d87;color:var(--rarity)}
.wheel-segment.uncommon{fill:#302127;stroke:#b98d8745}
.dense-wheel .wheel-prize{width:15%;height:15%}
.dense-wheel .wheel-prize small{font-size:8px;min-width:24px;padding-inline:5px}
.dense-wheel .sector-index{font-size:7px}
.probability-totals{grid-template-columns:repeat(4,minmax(0,1fr))}
.probability-totals small{display:block;font-size:8px;color:var(--muted);margin:3px 0}
.rarity-key{flex-wrap:wrap;gap:5px 12px}
.result-content.uncommon .result-art{box-shadow:0 0 0 9px #b98d8707,0 0 30px #b98d8720}
@media(max-width:480px){.probability-totals{grid-template-columns:repeat(2,minmax(0,1fr))}}
.wheel-prize img[src$="goldnugget.png"]{filter:saturate(.6) brightness(1.25) drop-shadow(0 2px 3px #0008);mix-blend-mode:normal}
/* Rarity celebrations: finite, cosmetic only; buttons remain live throughout. */
.reward-reveal{--fx-time:.65s;--fx-strength:.12;--fx-reach:1;isolation:isolate}
.reward-reveal.uncommon{--fx-time:1.05s;--fx-strength:.2;--fx-reach:1.15}
.reward-reveal.rare{--fx-time:1.5s;--fx-strength:.28;--fx-reach:1.35}
.reward-reveal.legendary{--fx-time:2.2s;--fx-strength:.4;--fx-reach:1.5}
.reward-showcase{height:206px;width:100%;position:relative;display:grid;place-items:center;isolation:isolate;margin-top:4px}
.reward-showcase .result-art{width:142px;height:142px;margin:0;z-index:2;border-color:color-mix(in srgb,var(--rarity) 55%,transparent);background:radial-gradient(circle at 40% 30%,#292027,#111014 75%);box-shadow:0 0 0 6px #ffffff03,0 0 26px color-mix(in srgb,var(--rarity) 15%,transparent);animation:reward-art-in var(--fx-time) cubic-bezier(.2,.8,.2,1) both}
.reward-showcase .result-art:before{inset:7px;border:1px solid color-mix(in srgb,var(--rarity) 22%,transparent)}
.reward-showcase .result-art img{width:96px;height:96px;mix-blend-mode:screen;filter:brightness(.55) contrast(3.2) grayscale(1) sepia(.25) brightness(1.6);z-index:1;position:relative}
.reward-showcase .result-art img[src$="dirtywater.png"],.reward-showcase .result-art img[src$="goldnugget.png"]{mix-blend-mode:normal;filter:saturate(.65) brightness(1.25) drop-shadow(0 4px 7px #0008)}
.rarity-fx{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:visible;color:var(--rarity)}
.fx-aura{position:absolute;left:50%;top:50%;width:285px;height:215px;translate:-50% -50%;border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--rarity) 24%,transparent),transparent 66%);animation:reward-aura var(--fx-time) ease-out both}
.fx-orbit{position:absolute;left:50%;top:50%;width:176px;height:176px;translate:-50% -50%;border:1px solid color-mix(in srgb,var(--rarity) 45%,transparent);border-radius:50%;animation:reward-orbit var(--fx-time) cubic-bezier(.2,.8,.2,1) both}
.fx-orbit:before,.fx-orbit:after{content:'';position:absolute;width:5px;height:5px;rotate:45deg;background:var(--rarity);box-shadow:0 0 9px color-mix(in srgb,var(--rarity) 60%,transparent);left:calc(50% - 2px);top:-3px}
.fx-orbit:after{top:auto;bottom:-3px;width:3px;height:3px;left:calc(50% - 1px)}
.fx-orbit.second{width:197px;height:197px;border-style:dashed;opacity:.45;animation-name:reward-orbit-reverse}
.common .fx-orbit.second,.common .fx-beams,.common .fx-shockwave{display:none}
.uncommon .fx-beams{display:none}
.fx-beams{position:absolute;left:50%;top:50%;width:282px;height:222px;translate:-50% -50%;border-radius:50%;background:repeating-conic-gradient(from 5deg,transparent 0 17deg,color-mix(in srgb,var(--rarity) 35%,transparent) 18deg 20deg,transparent 21deg 30deg);mask:radial-gradient(transparent 0 30%,#000 44%,transparent 73%);-webkit-mask:radial-gradient(transparent 0 30%,#000 44%,transparent 73%);animation:reward-beams var(--fx-time) ease-out both}
.legendary .fx-beams{width:342px;height:254px;background:repeating-conic-gradient(from 5deg,transparent 0 12deg,#d4b07888 13deg 14deg,transparent 15deg 20deg)}
.legendary .fx-orbit{border-radius:24%;width:174px;height:174px;box-shadow:0 0 16px #b4936415}
.legendary .fx-orbit.second{border-radius:50%;width:204px;height:204px}
.fx-shockwave{position:absolute;left:50%;top:50%;width:148px;height:148px;translate:-50% -50%;border:1px solid var(--rarity);border-radius:50%;animation:reward-shockwave var(--fx-time) ease-out both}
.fx-spark{position:absolute;left:50%;top:50%;height:4px;width:4px;background:var(--rarity);rotate:var(--twist);box-shadow:0 0 7px currentColor;animation:reward-spark var(--fx-time) cubic-bezier(.15,.7,.25,1) var(--delay) both}
.rare .fx-spark,.legendary .fx-spark{width:3px;height:9px;clip-path:polygon(50% 0,65% 40%,100% 50%,65% 60%,50% 100%,35% 60%,0 50%,35% 40%)}
.legendary .fx-spark:nth-of-type(3n){height:14px;width:5px}
.reward-flavor{font-size:9px;letter-spacing:.06em;color:var(--muted);line-height:1.8;margin:3px 0 9px}
.reveal-tier{position:relative;z-index:2}.reveal-tier .rarity-badge{font-size:11px;padding:4px 12px;background:color-mix(in srgb,var(--rarity) 7%,#101012);animation:reward-tier var(--fx-time) ease-out both}
.legendary .reveal-tier .rarity-badge{letter-spacing:.08em;color:#e5c791;border-color:#b4936499;box-shadow:0 0 23px #b4936425}
.reward-reveal .result-quantity{color:var(--rarity)}.reward-reveal .modal-actions,.reward-reveal .delivery-status,.reward-reveal .result-reference{position:relative;z-index:3}
.reward-reveal.legendary:before{background:radial-gradient(ellipse,#b4936422,transparent 70%);inset:35px 0 80px}
.fx-static .result-art,.fx-static .rarity-fx *,.fx-static .reveal-tier .rarity-badge{animation:none!important}.fx-static .fx-shockwave,.fx-static .fx-spark{display:none}.fx-static .fx-beams{opacity:.3}
@keyframes reward-art-in{0%{opacity:0;transform:translateY(9px) scale(.8)}40%{opacity:1;transform:translateY(0) scale(1.06)}75%,100%{opacity:1;transform:scale(1)}}
@keyframes reward-aura{0%{opacity:0;scale:.65}35%{opacity:1;scale:1.15}100%{opacity:.7;scale:1}}
@keyframes reward-orbit{from{opacity:0;transform:rotate(-70deg) scale(.72)}45%{opacity:1}to{opacity:.7;transform:rotate(45deg) scale(1)}}
@keyframes reward-orbit-reverse{from{opacity:0;transform:rotate(90deg) scale(.8)}45%{opacity:.65}to{opacity:.45;transform:rotate(-25deg) scale(1)}}
@keyframes reward-beams{0%{opacity:0;transform:rotate(-20deg) scale(.6)}30%{opacity:.9}100%{opacity:.35;transform:rotate(20deg) scale(1)}}
@keyframes reward-shockwave{0%{opacity:0;scale:.6}20%{opacity:.7}100%{opacity:0;scale:var(--fx-reach)}}
@keyframes reward-spark{0%{opacity:0;transform:translate(0,0) scale(0)}20%{opacity:1}75%{opacity:.8}100%{opacity:0;transform:translate(var(--x),var(--y)) scale(.3)}}
@keyframes reward-tier{0%{opacity:.6;transform:translateY(4px)}60%,100%{opacity:1;transform:translateY(0)}}
.wheel-theatre{--win:#c8b8bf}.wheel-theatre[data-winner-rarity="uncommon"]{--win:#b98d87}.wheel-theatre[data-winner-rarity="rare"]{--win:#ae8db9}.wheel-theatre[data-winner-rarity="legendary"]{--win:#d4b078}
.has-winner .wheel-segment.won{fill:color-mix(in srgb,var(--win) 26%,#141216);stroke:var(--win)}
.has-winner .wheel-prize.won .prize-medallion{border-color:var(--win);box-shadow:0 0 0 4px color-mix(in srgb,var(--win) 9%,transparent),0 0 27px color-mix(in srgb,var(--win) 38%,transparent),inset 0 0 18px color-mix(in srgb,var(--win) 15%,transparent)}
.has-winner .wheel-halo{border-color:color-mix(in srgb,var(--win) 55%,transparent);box-shadow:0 0 0 6px #101012,0 0 0 7px color-mix(in srgb,var(--win) 20%,transparent),0 0 30px color-mix(in srgb,var(--win) 15%,transparent);animation:winner-ring .6s ease-out both}
.has-winner[data-winner-rarity="rare"] .wheel-halo{animation-duration:1.1s}.has-winner[data-winner-rarity="legendary"] .wheel-halo{animation-duration:1.7s}
.has-winner .draw-caption strong{color:var(--win)}
@keyframes winner-ring{0%{filter:brightness(1)}35%{filter:brightness(1.7)}100%{filter:brightness(1)}}
@media(max-height:820px){.reward-showcase{height:185px}.reward-showcase .result-art{width:126px;height:126px}.reward-showcase .result-art img{width:85px;height:85px}.reward-reveal .delivery-status{margin-top:10px;padding-top:9px}.reward-reveal .modal-actions{margin-top:14px}.reward-reveal h3{margin:5px 0}.reward-flavor{margin-bottom:5px}}
@media(prefers-reduced-motion:reduce){.rarity-fx *,.reward-showcase .result-art,.reveal-tier .rarity-badge,.has-winner .wheel-halo{animation:none!important}.fx-spark,.fx-shockwave{display:none}.fx-beams{opacity:.3}}
