/* JP's original cabinet: reusable image sprites, exact live numbers and hit targets. */
.prestige-slot{--rim:#ffd77a;--velvet:#240b36;color:#fff1cb}
.prestige-slot .guardian-scene{background-position:left center;filter:saturate(1.08);opacity:.9}
.prestige-slot .guardian-title h2{font-family:Georgia,serif;background:linear-gradient(#fff8e3 6%,#ffdb7a 42%,#d68c26 60%,#fff0b0 82%);background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 2px #5d280c) drop-shadow(0 0 20px #ffb72e50)}
.prestige-slot .guardian-feature{border:2px solid #ebc477;background:linear-gradient(#411555,#25112f);color:#ffe7a7;box-shadow:inset 0 0 0 2px #916224,0 0 18px #fda23544}
.prestige-slot .reel-frame{border-radius:20px;padding:12px;border:3px solid #fff0b7;background:linear-gradient(115deg,#fdf4cf,#cf9746 14%,#75512f 24%,#ffe9a3 36%,#ddac58 46%,#fff8d7 64%,#784d24 82%,#efcd86);box-shadow:inset 0 0 0 4px #6d4725,0 0 0 2px #422044,0 0 0 6px #bb944e,0 14px 30px #000b,0 0 35px #fdab443d}
.prestige-slot .cabinet-lights{inset:5px;border:2px dotted #fff4cd;border-radius:14px;opacity:.9}
.prestige-slot .reel-window{border:2px solid #ffdc83;box-shadow:0 0 0 3px #300e38,inset 0 0 22px #000a}
.prestige-slot .reel-grid{gap:2px;background:#8e613a}
.prestige-slot .slot-reel{background:#16081e}
.prestige-slot .reel-stack>.slot-symbol{filter:saturate(1.12) contrast(1.05);border-bottom:1px solid #b18a3c55}
.prestige-slot .feature-meter{border-radius:10px;border:2px solid #e8bc64;background:linear-gradient(#471954,#210d2c);box-shadow:inset 0 0 0 2px #755020,0 3px 12px #0007;padding:8px 4px}
.prestige-slot .feature-meter:nth-child(3){background:linear-gradient(#751e43,#310e29);border-color:#ffd86a}
.prestige-slot .feature-meter b{color:#fff2b0;font-size:clamp(1.4rem,2.8vw,2.5rem);text-shadow:0 2px 0 #714318,0 0 15px #ffb22c80}
.prestige-slot .feature-meter span,.prestige-slot .feature-meter small{color:#ffe7b6}
.prestige-slot .winning-lines{min-height:36px;max-width:100%;scrollbar-width:none}
.prestige-slot .slot-message{font-size:1rem;white-space:normal;min-height:25px}
.prestige-slot .vault-console{background:linear-gradient(#442145ef,#201026f5);border:2px solid #e3b86b;box-shadow:inset 0 0 0 3px #72502a,0 0 18px #ffc45822;border-radius:15px}
.prestige-slot .slot-spin{color:#32131f!important;text-shadow:0 1px #fff8;min-height:68px}
.prestige-slot .slot-spin strong{font:900 1.7rem Georgia,serif;letter-spacing:.1em}
.prestige-slot .slot-spin small{color:#452027}
.prestige-slot .vault-bonus-overlay{inset:56px 0 0;background:radial-gradient(ellipse at center,#581f4788,#120517f2);backdrop-filter:blur(10px);padding:16px}
.prestige-slot .bonus-cinematic{opacity:.18}
.prestige-slot .slot-bonus{border:3px solid #f1c879;background:linear-gradient(#331338ed,#140a20f5)!important;box-shadow:inset 0 0 0 3px #885d28,0 0 70px #f4b94040;max-height:100%;overflow:auto}
.prestige-slot .slot-bonus h3{font:900 clamp(1.6rem,4vw,3rem)/1.1 Georgia,serif;letter-spacing:.035em;color:#ffecac;text-shadow:0 2px #79451e,0 0 24px #ffb43c55}
.prestige-slot .bonus-choices button{min-height:145px;background:linear-gradient(#553065,#231329);border:2px solid #e5ba66;box-shadow:inset 0 0 0 2px #855631,0 6px 18px #0008!important}
.lock-choice-art,.lock-coin-art,.coin-motion,.wheel-hub-art{background-image:var(--slot-symbols);background-size:500% 200%;background-position:75% 100%;background-repeat:no-repeat}
.lock-choice-art{display:block;width:120px;height:130px;margin:0 auto 12px;border-radius:16px}
/* Eight outcome sectors remain functional geometry; jewel chip artwork is swappable. */
.prestige-slot .lounge-wheel-stage{width:min(390px,70vw);height:auto;aspect-ratio:1;margin:22px auto;padding-top:12px}
.prestige-slot .bonus-wheel{--wheel-radius:130px;width:100%;height:100%;border:10px solid #ffdf91;background:repeating-conic-gradient(from 0deg,#e7c578 0deg 1deg,transparent 1deg 45deg),conic-gradient(#711b75 0deg 45deg,#144e85 45deg 90deg,#9a5e0d 90deg 135deg,#ac2c62 135deg 180deg,#692080 180deg 225deg,#145c88 225deg 270deg,#a06c0f 270deg 315deg,#9b2559 315deg 360deg);box-shadow:inset 0 0 0 3px #553421,inset 0 0 25px #0006,0 0 0 3px #86592b,0 0 0 6px #d6a651,0 0 55px #ffb13980}
.prestige-slot .wheel-value{top:50%;left:50%;width:70px;height:38px;line-height:38px;margin-left:-35px;margin-top:-19px;font:900 clamp(1.2rem,3vw,1.9rem)/38px Georgia,serif;color:#fff0bb;text-shadow:0 2px #51222c,0 0 8px #fcb63555}
.prestige-slot .wheel-hub{width:28%;height:28%;overflow:hidden;border:3px solid #ffebaf;background:#2c0c26;box-shadow:0 0 0 4px #7c4d22,0 6px 20px #0008}
.wheel-hub-art{position:absolute;inset:0}.wheel-hub b{position:relative;background:#29122ed9;padding:5px;border:1px solid #e8bf61;color:#fff3c0;font:900 .875rem Georgia,serif}
.prestige-slot .wheel-pointer{font-size:2.6rem;top:-15px;filter:drop-shadow(0 0 8px #ffc139)}
.prestige-slot .wheel-running{animation:wheel-spin 4.15s cubic-bezier(.12,.65,.08,1) forwards}
.prestige-slot .wheel-feature-overlay .slot-bonus{width:min(620px,100%)}
.prestige-slot .lock-bonus{width:min(730px,100%);padding:22px 28px;overflow:visible}
.lock-feature-head{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin:16px 0;color:#ffedba}
.lock-feature-head>div{border:1px solid #e2b767;border-radius:10px;background:linear-gradient(#4f2253,#210a28);padding:8px}
.lock-feature-head small{display:block;font:700 .875rem system-ui;color:#e5c4db;letter-spacing:.04em}
.lock-feature-head strong{display:block;font:900 clamp(1.4rem,3vw,2.2rem) Georgia,serif;color:#ffdf84;font-variant-numeric:tabular-nums;text-shadow:0 0 16px #ffb93a44}
.lock-feature-head .respins-display{background:linear-gradient(#865224,#43242b);border:2px solid #ffe6a1;box-shadow:0 0 20px #e8a44033}
.lock-board{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;padding:8px;border:3px solid #fff0b5;border-radius:13px;background:linear-gradient(#a87435,#301134);box-shadow:0 0 0 3px #815026,0 0 25px #ffc24a55}
.lock-cell{position:relative;aspect-ratio:1;overflow:hidden;background:radial-gradient(ellipse,#35103c,#130a1d);border:1px solid #af763955;border-radius:7px;display:flex;flex-direction:column;align-items:center;justify-content:center;isolation:isolate}
.lock-empty{font:700 1.2rem Georgia,serif;color:#85644238;letter-spacing:.1em}
.lock-coin-art{position:absolute;inset:0;z-index:-1;filter:brightness(.68) saturate(.75)}
.lock-cell strong{font:900 clamp(1rem,2.5vw,1.7rem) Georgia,serif;color:#fff8d6;text-shadow:0 2px 0 #613719,0 0 4px #000,0 0 8px #000;font-variant-numeric:tabular-nums;background:#5d3309a6;border-radius:7px;padding:3px 6px;max-width:100%}
.lock-cell small{font:700 .875rem system-ui;color:#ffea9d;text-shadow:0 0 4px #000;background:#25101ccf;padding:1px 5px;border-radius:5px}
.coin-locked{border-color:#e7bc69;box-shadow:inset 0 0 0 2px #a0652855,0 0 12px #fbb84025}
.coin-premium{border:2px solid #fff6ad;box-shadow:inset 0 0 0 2px #f5d08177,0 0 20px #ffb23c88}
.coin-premium .lock-coin-art{filter:brightness(1.05) saturate(1.25)}
.coin-landed{animation:lock-landing .65s cubic-bezier(.16,.8,.3,1)}
.coin-motion{position:absolute;inset:-100% 0 0;height:300%;background-size:500% 200%;opacity:.8;animation:coin-respin .22s linear infinite;filter:blur(2px)}
.lock-status{min-height:22px!important;font-size:1rem!important;color:#fff0bf!important;margin:13px 0!important}
.lock-auto-note{font:700 .875rem system-ui;color:#cbaad1;min-height:44px;display:grid;place-items:center}
.prestige-slot .bonus-award{font:900 clamp(1.4rem,4vw,2.7rem) Georgia,serif;letter-spacing:.03em;color:#ffeb99;text-shadow:0 0 20px #ffb83b66}
.prestige-slot .bonus-award small{font:.875rem system-ui}
@keyframes lock-landing{0%{transform:scale(.55) rotateY(90deg);filter:brightness(2.5)}60%{transform:scale(1.1)}100%{transform:none;filter:none}}
@keyframes coin-respin{to{transform:translateY(33.333%)}}
@media(max-width:760px) and (orientation:portrait){
 .prestige-slot.slot-machine{height:100svh;min-height:660px;gap:8px;padding:calc(8px + env(safe-area-inset-top)) 12px calc(8px + env(safe-area-inset-bottom));max-width:600px}
 .prestige-slot .guardian-title{flex:1;min-height:95px;max-height:190px;justify-content:center;padding-left:42%}
 .prestige-slot .guardian-title h2{font-size:clamp(1.35rem,5vw,2rem);margin:5px 0}
 .prestige-slot .guardian-title h2 span{font-size:1.7em}
 .prestige-slot .guardian-feature{font-size:.75rem;padding:4px 7px;max-width:100%}
 .prestige-slot .feature-meters{margin-bottom:10px;gap:6px}
 .prestige-slot .feature-meter{padding:5px 2px}
 .prestige-slot .feature-meter b{font-size:1.4rem;margin:0}
 .prestige-slot .feature-meter small{font-size:.75rem}
 .prestige-slot .reel-frame{padding:8px;border-radius:14px;margin:0 4px}
 .prestige-slot .slot-message{margin:10px 0 0;font-size:.875rem;min-height:22px}
 .prestige-slot .winning-lines{margin-top:4px;min-height:32px}
 .prestige-slot .winning-lines button{min-height:32px;padding:4px 10px}
 .prestige-slot .vault-console{padding:8px 10px;gap:7px;flex-shrink:0}
 .prestige-slot .console-stat strong{font-size:1.55rem}
 .prestige-slot .slot-spin{min-height:54px}
 .prestige-slot .slot-spin strong{font-size:1.5rem}
 .prestige-slot .vault-utilities button{min-height:38px;padding:4px}
 .prestige-slot .vault-bonus-overlay{inset:56px 0 0;padding:14px;overflow:auto}
 .prestige-slot .bonus-choices button{min-height:94px}
 .prestige-slot .lock-choice-art{width:70px;height:78px;grid-row:1/3;margin:0}
 .prestige-slot .lock-bonus{padding:16px 10px}
 .lock-feature-head{gap:5px;margin:13px 0}
 .lock-feature-head>div{padding:7px 2px}
 .lock-feature-head small{font-size:.75rem}
 .lock-feature-head strong{font-size:1.45rem}
 .lock-board{padding:5px;gap:4px}
 .lock-cell strong{font-size:clamp(.875rem,3.5vw,1.3rem);padding:2px}
 .lock-cell small{font-size:.75rem}
 .prestige-slot .lounge-wheel-stage{width:min(350px,74vw)}
 .prestige-slot .bonus-wheel{--wheel-radius:clamp(80px,26vw,115px)}
 .prestige-slot .wheel-value{font-size:1.35rem}
}
@media(orientation:landscape) and (max-height:600px){
 .prestige-slot.slot-machine{height:100svh;min-height:350px;gap:5px 16px;padding:6px 16px}
 .prestige-slot .vault-play-area{max-width:calc((100svh - 195px)*1.667)}
 .prestige-slot .feature-meter{padding:3px}
 .prestige-slot .feature-meter b{font-size:1.1rem}
 .prestige-slot .feature-meter small{display:none}
 .prestige-slot .reel-frame{padding:6px;border-radius:12px}
 .prestige-slot .slot-message{font-size:.875rem;margin-top:7px;min-height:20px}
 .prestige-slot .winning-lines{min-height:30px;margin:4px 0 0}
 .prestige-slot .slot-spin{min-height:48px}
 .prestige-slot .slot-spin strong{font-size:1.2rem}
 .prestige-slot .vault-bonus-overlay{inset:43px 0 0;padding:10px}
 .prestige-slot .lock-bonus{padding:10px 18px;max-width:540px}
 .prestige-slot .lock-bonus h3{font-size:1.4rem;margin:2px}
 .lock-feature-head{margin:7px 0;gap:8px}
 .lock-feature-head>div{padding:3px}
 .lock-feature-head small{font-size:.75rem}
 .lock-feature-head strong{font-size:1.3rem}
 .lock-board{max-width:390px;margin:auto;padding:4px;gap:4px}
 .lock-status{margin:7px 0!important;font-size:.875rem!important;min-height:20px!important}
 .lock-auto-note{min-height:25px;font-size:.75rem}
 .prestige-slot .lock-bonus .gold{min-height:38px;padding:6px 18px}
 .prestige-slot .bonus-award{margin:6px 0;font-size:1.5rem}
 .prestige-slot .wheel-feature-overlay .slot-bonus{max-width:620px;display:grid;grid-template-columns:1fr 300px;gap:4px 10px;align-items:center}
 .wheel-feature-overlay .eyebrow,.wheel-feature-overlay h3,.wheel-feature-overlay .gold,.wheel-feature-overlay .bonus-award{grid-column:1}
 .prestige-slot .lounge-wheel-stage{grid-column:2;grid-row:1/6;width:260px;height:auto;aspect-ratio:1;transform:none;margin:auto;padding-top:12px}
 .prestige-slot .bonus-wheel{--wheel-radius:85px}
 .prestige-slot .wheel-value{font-size:1.25rem}
}
@media(prefers-reduced-motion:reduce){.coin-landed,.coin-motion{animation:none}.prestige-slot .wheel-running{animation:none}.coin-motion{filter:none}}
.reduce .coin-landed,.reduce .coin-motion,.reduce .prestige-slot .wheel-running{animation:none}

.free-feature-reveal{position:absolute;inset:24% 8% 28%;z-index:4;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:radial-gradient(ellipse,#631c71f2,#21092ee6);border:3px solid #ffdf91;border-radius:18px;box-shadow:inset 0 0 0 4px #8e522b,0 0 60px #ffb62f70;pointer-events:none;animation:bigwin-pop .55s ease-out;color:#ffec9f;text-shadow:0 2px #693a1a}
.free-feature-reveal>span{font:900 clamp(1.5rem,4vw,3rem) Georgia,serif;letter-spacing:.04em}
.free-feature-reveal>strong{font:900 clamp(4rem,12vw,8rem)/1.1 Georgia,serif;text-shadow:0 3px #6b321b,0 0 35px #f8b33380}
.free-feature-reveal>small{font:700 .875rem system-ui;letter-spacing:.04em;padding:0 8px}
@media(orientation:landscape) and (max-height:600px){.free-feature-reveal{inset:20% 25% 25%;}.free-feature-reveal>strong{font-size:4rem}.free-feature-reveal>span{font-size:1.5rem}}
