/* Performance wheel. The dark studio is intentional in both cabinet themes. */
.pd-r2-card,.pd-r2 { --r2-text:#f9f3eb; --r2-muted:#9499a3; --r2-gold:#ffb272; --r2-line:#ffffff12; color:var(--r2-text); }
.pd-app .pd-r2-card { position:relative; display:grid; grid-template-columns:1fr 1fr; min-height:350px; overflow:hidden; border:1px solid #ffffff14; border-radius:20px; background:radial-gradient(ellipse at 74% 55%,#6a341d38,transparent 48%),#101216; isolation:isolate; }
.pd-r2-card-copy { position:relative; z-index:2; padding:38px 42px; }
.pd-r2-kicker { display:flex; align-items:center; gap:8px; color:var(--r2-gold); font-size:9px; font-weight:600; letter-spacing:1.6px; text-transform:uppercase; }
.pd-r2-kicker > span { width:5px; height:5px; border-radius:50%; background:#ffb272; box-shadow:0 0 12px #ff8f4f99; }
.pd-r2-kicker b { margin-left:12px; padding:4px 7px; border:1px solid #ffb27233; border-radius:4px; font-size:7px; font-weight:500; letter-spacing:1px; }
.pd-app .pd-r2-card h3 { margin:20px 0 16px; color:var(--r2-text); font-size:clamp(32px,3.2vw,47px); font-weight:550; line-height:1.05; letter-spacing:-1.9px; }
.pd-r2-card h3 em { color:var(--r2-gold); font-style:normal; }
.pd-app .pd-r2-card p { max-width:none; margin:0 0 25px; color:var(--r2-muted); font-size:12px; line-height:1.8; }
.pd-app .pd-r2-card .cult-pro-button-wrap,.pd-app .pd-r2-card button.pd-roulette-button { max-width:265px; }
.pd-app .pd-r2-card .pd-roulette-availability { max-width:265px; padding-top:13px; color:#9c938b; font-size:10px; }
.pd-r2-card-art { position:relative; min-width:0; display:grid; place-items:center; }
.pd-r2-card-art img { position:relative; z-index:1; width:105%; max-width:450px; height:auto; margin:-35px 20px -35px -55px; filter:drop-shadow(0 22px 20px #0007); transition:transform .9s cubic-bezier(.2,.7,.2,1); }
.pd-r2-card:hover .pd-r2-card-art img { transform:rotate(8deg) translateY(-5px); }
.pd-r2-card-word { position:absolute; top:4px; right:5px; font-size:125px; font-weight:800; color:#ffffff03; letter-spacing:-10px; line-height:1; }
.pd-r2-card-orbit { position:absolute; width:320px; height:320px; border:1px solid #fc9c5130; border-radius:50%; box-shadow:0 0 50px #f47a2011,inset 0 0 50px #f47a2011; }
.pd-r2-card-orbit::after { content:''; position:absolute; inset:-24px; border:1px dashed #ffffff0d; border-radius:50%; }
.pd-r2-card-prize { position:absolute; right:25px; bottom:50px; z-index:2; display:flex; flex-direction:column; gap:3px; padding:15px 19px; border:1px solid #ffe0be30; border-radius:12px; background:linear-gradient(130deg,#27231ff5,#15171bef); box-shadow:0 12px 24px #0005; transform:rotate(-5deg); }
.pd-r2-card-prize > span { font-size:7px; color:#b7a89a; letter-spacing:1.5px; }
.pd-r2-card-prize strong { color:#ffbd88; font-size:28px; font-weight:500; letter-spacing:-1px; }
.pd-r2-card-prize small { color:#b7a89a; font-size:9px; }
.pd-r2-edition { position:absolute; right:26px; bottom:18px; color:#666363; font-size:8px; letter-spacing:2px; }

body.pd-app .sheet-layer[data-mode='modal'] .pd-roulette-sheet--v2 { width:min(1080px,calc(100vw - 48px)); }
body.pd-app .sheet-layer .pd-sheet.pd-roulette-sheet--v2 { border:1px solid #ffffff1a; background:#121419; color:#f9f3eb; box-shadow:0 40px 120px #0008; }
body.pd-app .sheet-layer .pd-sheet.pd-roulette-sheet--v2 .pd-sheet__scroll { padding:0; }
body.pd-app .sheet-layer .pd-sheet.pd-roulette-sheet--v2 .sheet__title { margin:0; padding:19px 60px 19px 26px; border-bottom:1px solid #ffffff0c; color:#b9bcc2; font-size:12px; font-weight:500; letter-spacing:.1px; }
body.pd-app .sheet-layer .pd-sheet.pd-roulette-sheet--v2 .sheet__close-icon { top:11px; color:#b9bcc2; background:#ffffff08; }
.pd-roulette-modal.pd-r2 { grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); background:#14161b; }
.pd-r2-stage { position:relative; display:flex; flex-direction:column; justify-content:center; min-width:0; min-height:620px; overflow:hidden; isolation:isolate; border-right:1px solid var(--r2-line); background:radial-gradient(ellipse at 50% 58%,#91532523,transparent 58%),linear-gradient(145deg,#171a20,#0d0f13 75%); }
.pd-r2-stage::before { content:''; position:absolute; inset:0; z-index:-1; background-image:linear-gradient(#ffffff03 1px,transparent 1px),linear-gradient(90deg,#ffffff03 1px,transparent 1px); background-size:44px 44px; mask-image:linear-gradient(#000,transparent 80%); }
.pd-r2-stage::after { content:''; position:absolute; width:60%; height:8%; bottom:14%; left:20%; background:#0009; border-radius:50%; filter:blur(20px); z-index:-1; }
.pd-r2-stage-top { position:absolute; top:26px; left:26px; right:26px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.pd-r2-stage-top .pd-r2-kicker { font-size:8px; color:#c3b7aa; letter-spacing:1.7px; }
.pd-r2-mode { padding:4px 8px; border:1px solid #d5ab7830; border-radius:5px; color:#cbaa84; font-size:8px; letter-spacing:1.4px; }
.pd-r2-stage-word { position:absolute; top:78px; left:30px; right:20px; z-index:-1; color:transparent; -webkit-text-stroke:1px #ffffff07; font-size:clamp(80px,9vw,132px); line-height:.84; letter-spacing:-8px; font-weight:800; pointer-events:none; }
.pd-r2-viewport { position:relative; width:100%; height:480px; flex:none; margin:25px 0; touch-action:pan-y; transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .8s; }
.pd-r2-viewport > canvas { display:block; position:absolute; inset:0; width:100%; height:100%; opacity:0; transition:opacity .8s; }
.pd-r2--ready .pd-r2-viewport > canvas { opacity:1; }
.pd-r2-fallback { position:absolute; inset:10% 13%; display:grid; place-items:center; opacity:0; }
.pd-r2--fallback .pd-r2-fallback { opacity:1; }
.pd-r2--fallback .pd-roulette-wheel-frame { width:100%; max-width:360px; }
.pd-r2-loader { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:12px; z-index:2; }
.pd-r2-loader[hidden] { display:none; }
.pd-r2-loader > span { width:60px; height:60px; margin-bottom:12px; border:1px solid #ffba7330; border-top-color:#ffba73; border-radius:50%; animation:pd-r2-loading 1.3s linear infinite; }
.pd-r2-loader b { color:#dfd7ce; font-size:12px; font-weight:500; }
.pd-r2-loader small { color:#817b76; font-size:10px; }
.pd-r2-stage-bottom { position:absolute; left:26px; right:26px; bottom:24px; display:flex; align-items:center; justify-content:space-between; gap:15px; }
.pd-r2-stage-bottom > span:first-child { color:#c89973; font-size:7px; letter-spacing:1.3px; }
.pd-r2-stage-bottom > span:last-child { color:#656970; font-size:9px; }
.pd-r2-details.pd-roulette-details { padding:32px 30px 26px; gap:16px; }
.pd-r2-details > .pd-r2-kicker { color:#b5a393; font-size:8px; letter-spacing:1.6px; }
.pd-app .pd-r2-details h2 { margin:0; color:var(--r2-text); font-size:clamp(27px,2.65vw,35px); letter-spacing:-1.4px; font-weight:500; line-height:1.15; }
.pd-app .pd-r2-details h2 em { color:var(--r2-gold); }
.pd-r2-description { margin:0 0 3px; color:var(--r2-muted); font-size:11px; line-height:1.8; max-width:300px; }
.pd-r2 .pd-roulette-prize-heading { padding:5px 0 0; }
.pd-app .pd-r2 .pd-roulette-prize-heading h3 { color:#e4dfd9; font-size:11px; }
.pd-r2 .pd-roulette-prize-heading > span { color:#787d86; font-size:8px; }
.pd-r2 .pd-roulette-prizes { gap:6px; }
.pd-r2 .pd-roulette-prizes li { position:relative; min-height:46px; gap:14px; padding:9px 13px; background:#ffffff03; border:1px solid #ffffff0b; border-radius:8px; }
.pd-r2 .pd-r2-prize-no { width:18px; color:#626873; font:400 9px/1.5 monospace; }
.pd-r2 .pd-roulette-prizes strong { color:#e2ded8; font-size:13px; font-weight:500; display:flex; align-items:center; gap:10px; }
.pd-r2 .pd-roulette-prizes strong small { font-size:6px; letter-spacing:1px; color:#daa26d; }
.pd-r2 .pd-roulette-chance { color:#93959b; font-size:10px; }
.pd-r2 .pd-roulette-prize-top { background:linear-gradient(105deg,#da8b3815,#da8b3804); border-color:#ffb27225; }
.pd-r2 .pd-roulette-prize-top strong,.pd-r2 .pd-roulette-prize-top .pd-r2-prize-no { color:#ffc185; }
.pd-r2 .pd-roulette-prizes li.is-selected { background:#fca65c24; border-color:#f2b374; box-shadow:0 0 18px #ffb2720c; }
.pd-r2 .pd-roulette-prizes li.is-selected strong { color:#ffc185; }
.pd-r2 .pd-roulette-odds-note { color:#707681; font-size:8px; line-height:1.6; }
.pd-r2-test { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px; border:1px dashed #cbb18930; border-radius:8px; color:#c0ab92; font-size:10px; }
.pd-r2-test select { min-width:0; max-width:68%; padding:5px 23px 5px 8px; border:1px solid #ffffff19; border-radius:5px; background:#1c1f26; color:#d3c4b4; font:inherit; color-scheme:dark; }
.pd-r2-test select:focus-visible { outline:2px solid #ffb272; outline-offset:3px; }
.pd-r2 .pd-roulette-result { min-height:64px; padding:11px 13px; background:#0e10154d; border:1px solid #ffffff0b; border-radius:8px; gap:4px; }
.pd-r2 .pd-roulette-result strong { color:#e0d8ce; font-size:11px; }
.pd-r2 .pd-roulette-result > span { color:#8e939d; font-size:10px; }
.pd-r2 .pd-roulette-result.is-winner { border-color:#feb06850; background:linear-gradient(100deg,#ffae6617,transparent); }
.pd-r2 .pd-roulette-result.is-winner strong { color:#ffc28a; font-size:16px; }
.pd-r2 .pd-roulette-result.is-error { border-color:#e7826d66; }
.pd-app .pd-r2 button.pd-roulette-button { min-height:52px; background:linear-gradient(115deg,#ffca93,#f6a45d 55%,#ef8c40); border-color:#ffd8ac80; color:#281709; box-shadow:inset 0 1px 0 #ffe4c8,0 6px 24px #f99e4920; font-size:12px; border-radius:9px; }
.pd-r2 .pd-roulette-availability { color:#84878f; font-size:9px; }
.pd-r2.is-spinning .pd-r2-viewport { filter:drop-shadow(0 0 20px #ff8c2417); }
.pd-r2-reveal { position:absolute; left:7%; right:7%; bottom:57px; display:flex; flex-direction:column; align-items:center; gap:3px; padding:14px 20px 17px; border:1px solid #ffe0a533; border-radius:16px; background:linear-gradient(120deg,#2a211af5,#17191cf5); box-shadow:0 20px 50px #0006,0 0 40px #ff9a3210; opacity:0; transform:translateY(25px) scale(.94); pointer-events:none; transition:opacity .6s,transform .8s cubic-bezier(.15,.8,.15,1); }
.pd-r2-reveal > span { color:#d9b287; font-size:8px; letter-spacing:2px; }
.pd-r2-reveal > strong { color:#ffcc8f; font-size:65px; font-weight:550; letter-spacing:-4px; line-height:1.04; text-shadow:0 0 28px #ffa24035; }
.pd-r2-reveal > small { color:#c1b4a3; font-size:10px; }
.pd-r2--revealed .pd-r2-reveal { opacity:1; transform:translateY(0) scale(1); }
.pd-r2--revealed .pd-r2-viewport { transform:translateY(-47px) scale(.88); }
.pd-r2-celebration { position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:3; }
.pd-r2-shockwave { position:absolute; left:50%; top:46%; width:260px; height:260px; border:2px solid #ffc077; border-radius:50%; opacity:0; }
.pd-r2.has-won .pd-r2-shockwave { animation:pd-r2-shockwave 1.3s ease-out both; }
.pd-r2-confetti i { position:absolute; left:var(--x); top:42%; width:5px; height:10px; border-radius:1px; background:var(--color); opacity:0; }
.pd-r2.has-won .pd-r2-confetti i { animation:pd-r2-confetti var(--duration) cubic-bezier(.15,.7,.35,1) var(--delay) both; }
.pd-r2--jackpot .pd-r2-reveal { border-color:#fbc08777; box-shadow:0 20px 50px #0006,0 0 70px #ff9a3220; }
@keyframes pd-r2-loading { to { transform:rotate(360deg); } }
@keyframes pd-r2-shockwave { 0% { opacity:.7; transform:translate(-50%,-50%) scale(.3); } 100% { opacity:0; transform:translate(-50%,-50%) scale(2.6); } }
@keyframes pd-r2-confetti { 0% { opacity:0; transform:translate(0,0) rotate(0); } 10% { opacity:1; } 45% { opacity:1; transform:translate(calc(var(--dx) * .7),var(--rise)) rotate(calc(var(--turn) * .5)); } 100% { opacity:0; transform:translate(var(--dx),var(--fall)) rotate(var(--turn)); } }
@media (max-width:900px) and (min-width:701px) {
    .pd-r2-details.pd-roulette-details { padding:26px 22px; gap:14px; }
    .pd-r2-stage { min-height:620px; }
    .pd-r2-viewport { height:390px; }
    .pd-r2-stage-bottom > span:last-child { display:none; }
    .pd-r2 .pd-roulette-prizes strong small { display:none; }
}
@media (max-width:700px) {
    body.pd-app .sheet-layer[data-mode='modal'] .pd-roulette-sheet--v2 { width:100%; }
    .pd-roulette-modal.pd-r2 { grid-template-columns:1fr; }
    .pd-r2-stage { min-height:330px; border-right:0; border-bottom:1px solid var(--r2-line); }
    .pd-r2-stage-top { top:15px; left:20px; right:20px; }
    .pd-r2-stage-top .pd-r2-kicker { font-size:7px; }
    .pd-r2-stage-word { top:65px; left:24px; font-size:100px; }
    .pd-r2-viewport { height:300px; width:min(100%,440px); margin:25px auto 14px; }
    .pd-r2-stage-bottom { left:20px; right:20px; bottom:12px; }
    .pd-r2-stage-bottom > span:first-child { font-size:6px; }
    .pd-r2-stage-bottom > span:last-child { font-size:8px; }
    .pd-r2-details.pd-roulette-details { padding:23px 22px; gap:13px; }
    .pd-r2-details > .pd-r2-kicker { display:none; }
    .pd-app .pd-r2-details h2 { font-size:27px; letter-spacing:-1px; }
    .pd-r2-details h2 br { display:none; }
    .pd-r2-details h2 em::before { content:' '; }
    .pd-r2-description { max-width:100%; font-size:10px; }
    .pd-r2 .pd-roulette-result { order:1; }
    .pd-r2-test { order:2; }
    .pd-r2 .pd-r2-details > :is(.cult-pro-button-wrap,.pd-roulette-button) { order:3; }
    .pd-r2 .pd-r2-details > .pd-roulette-availability { order:4; }
    .pd-r2 .pd-roulette-prize-heading { order:5; }
    .pd-r2 .pd-roulette-prizes { order:6; grid-template-columns:repeat(2,minmax(0,1fr)); }
    .pd-r2 .pd-roulette-odds-note { order:7; }
    .pd-r2 .pd-roulette-prizes li { padding:9px; gap:7px; }
    .pd-r2 .pd-roulette-prizes strong { font-size:11px; }
    .pd-r2 .pd-roulette-prizes strong small { display:none; }
    .pd-r2 .pd-r2-prize-no { width:12px; font-size:8px; }
    .pd-r2 .pd-roulette-chance { font-size:9px; }
    .pd-r2-reveal { bottom:34px; left:14%; right:14%; padding:10px 14px; gap:2px; }
    .pd-r2-reveal > span { font-size:7px; letter-spacing:1.5px; }
    .pd-r2-reveal > strong { font-size:48px; letter-spacing:-2px; }
    .pd-r2-reveal > small { font-size:9px; }
    .pd-r2--revealed .pd-r2-viewport { transform:translateY(-27px) scale(.88); }
    .pd-app .pd-r2-card { grid-template-columns:1fr; min-height:0; }
    .pd-r2-card-copy { padding:28px; }
    .pd-app .pd-r2-card h3 { font-size:39px; }
    .pd-r2-card-art { grid-row:1; height:240px; margin-bottom:-20px; }
    .pd-r2-card-art img { width:285px; margin:0; }
    .pd-r2-card-orbit { width:200px; height:200px; }
    .pd-r2-card-prize { right:20px; bottom:20px; padding:10px 14px; }
    .pd-r2-card-prize strong { font-size:24px; }
    .pd-r2-card-word { font-size:100px; right:20px; }
    .pd-r2-card-copy .pd-r2-kicker { font-size:8px; }
    .pd-app .pd-r2-card .cult-pro-button-wrap,.pd-app .pd-r2-card button.pd-roulette-button,.pd-app .pd-r2-card .pd-roulette-availability { max-width:100%; }
    .pd-r2-edition { display:none; }
}
@media (prefers-reduced-motion:reduce) {
    .pd-r2 *, .pd-r2 *::before, .pd-r2 *::after, .pd-r2-card * { animation:none!important; transition:none!important; }
    .pd-r2-card:hover .pd-r2-card-art img { transform:none; }
}
