.jp-wheel-dialog{width:min(430px,calc(100vw - 24px));max-height:92dvh;overflow-y:auto;overflow-x:hidden;padding:22px;box-sizing:border-box;border:2px solid #d2b66d;border-radius:22px;background:linear-gradient(140deg,#215340,#0b2c20);color:#f2e5ba;text-align:center;box-shadow:inset 0 1px 3px #f4e8af44,0 10px 45px #0009}.jp-wheel-dialog::backdrop{background:#03150dd9}.jp-wheel-dialog h2{margin:0 0 8px;font:700 24px/1.3 Trebuchet MS,sans-serif;color:#ffe39d}.jp-wheel-dialog p{font:14px/1.45 Trebuchet MS,sans-serif;margin:10px 0}.jp-wheel-stage{position:relative;width:min(100%,330px);margin:20px auto 16px}.jp-wheel-stage canvas{display:block;width:100%;height:auto;border-radius:50%;box-sizing:border-box;border:7px solid #c9a456;box-shadow:0 4px 0 #7d592c,0 8px 16px #0007}.jp-wheel-pointer{position:absolute;top:-10px;left:calc(50% - 12px);width:24px;height:28px;background:#ffe19a;clip-path:polygon(0 0,100% 0,50% 100%);z-index:2}.jp-wheel-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:23%;height:auto;object-fit:contain;pointer-events:none}.jp-wheel-dialog .jp-wheel-rules{font-size:11px;color:#caddc5}.jp-wheel-dialog .jp-wheel-result{min-height:26px;color:#ffdf89;font-size:21px;font-weight:700}.jp-wheel-dialog button{display:block;width:100%;padding:12px 15px;border:1px solid #cfb572;border-radius:12px;background:#2b684a;color:#fff0b6;font-size:16px;font-weight:700;cursor:pointer}.jp-wheel-dialog .jp-wheel-close{margin-top:8px;background:#163c2c;font-size:13px}.jp-wheel-dialog button:disabled{opacity:.6}.jp-wheel-dialog button:focus-visible{outline:2px solid #fff0bd;outline-offset:3px}@media(max-width:380px){.jp-wheel-dialog{padding:14px}.jp-wheel-dialog h2{font-size:21px}.jp-wheel-dialog p{font-size:12px}}

.jp-wheel-dialog [hidden]{display:none!important}

.jp-wheel-dialog::backdrop{background:#102d22 url('/assets/wheel-jungle-cartoon-v114.webp') center/cover no-repeat}
@media(max-width:600px){.jp-wheel-dialog::backdrop{background-image:url('/assets/wheel-jungle-cartoon-mobile-v114.webp')}.jp-wheel-dialog{width:calc(100vw - 38px);max-height:calc(100dvh - 36px)}.jp-wheel-stage{width:min(100%,310px)}}
@media(max-height:650px){.jp-wheel-dialog{padding:12px 18px}.jp-wheel-stage{width:min(100%,240px);margin-top:18px;margin-bottom:14px}.jp-wheel-dialog p{margin:6px 0}.jp-wheel-dialog .jp-wheel-result{min-height:16px}.jp-wheel-dialog button{padding:9px 12px}}

/* Jungle cabinet: stationary foliage and sculpted gold rim around the spinning wheel. */
.jp-wheel-dialog{border:3px solid #bd9c51;background:radial-gradient(ellipse at 50% 38%,#32654a55,transparent 65%),repeating-linear-gradient(100deg,#ffffff02 0 1px,transparent 1px 5px),linear-gradient(140deg,#173e2d,#071f19);box-shadow:inset 0 0 0 2px #f8dfa451,inset 0 0 0 6px #0b241c,inset 0 0 36px #0008,0 16px 55px #000b}
.jp-wheel-dialog h2{letter-spacing:1.5px;color:#ffe29b;text-shadow:0 2px 0 #835b29,0 4px 6px #0008}
.jp-wheel-stage{isolation:isolate;margin-top:28px;margin-bottom:24px}
.jp-wheel-stage canvas{position:relative;z-index:1;border:0;box-shadow:0 0 0 4px #50381e,0 0 0 6px #d5b76d,0 8px 0 5px #4a301b,0 16px 23px #0009}
.jp-wheel-foliage{position:absolute;inset:0;z-index:0;pointer-events:none}
.jp-wheel-leaf{position:absolute;display:block;width:25%;height:13%;border-radius:100% 0 100% 0;background:linear-gradient(155deg,transparent 48%,#91a154 49% 51%,transparent 52%),repeating-linear-gradient(25deg,transparent 0 8px,#061f1844 9px 10px),linear-gradient(140deg,#618548,#193e2c 70%);border:1px solid #758b4b;box-shadow:0 3px 4px #0008}
.jp-wheel-leaf-0{left:-3%;top:14%;transform:rotate(20deg)}.jp-wheel-leaf-1{left:-7%;top:29%;transform:rotate(-16deg)}.jp-wheel-leaf-2{left:2%;bottom:6%;transform:rotate(-35deg)}.jp-wheel-leaf-3{right:-3%;top:14%;transform:scaleX(-1) rotate(20deg)}.jp-wheel-leaf-4{right:-7%;top:29%;transform:scaleX(-1) rotate(-16deg)}.jp-wheel-leaf-5{right:2%;bottom:6%;transform:scaleX(-1) rotate(-35deg)}
.jp-wheel-pointer{top:-16px;left:calc(50% - 15px);width:30px;height:40px;background:linear-gradient(90deg,#95703a,#fff0b3 48%,#c49545 52%,#f6d783);filter:drop-shadow(0 3px 2px #0009);z-index:3}
.jp-wheel-center{z-index:2;filter:drop-shadow(0 4px 3px #0009)}
.jp-wheel-dialog button{background:linear-gradient(#3a7853,#205038);border:2px solid #c9ac62;box-shadow:inset 0 0 0 2px #e9d49433,0 3px 0 #061b14;text-shadow:0 2px 2px #0b241c}
.jp-wheel-dialog .jp-wheel-close{border:1px solid #9c884f;background:linear-gradient(#193d2d,#102b21);box-shadow:none}

/* The wheel floats directly over the jungle, without a surrounding panel. */
.jp-wheel-dialog{border:0;border-radius:0;background:transparent;box-shadow:none;color:#fff1cc;scrollbar-width:thin;scrollbar-color:#ad9458 transparent}
.jp-wheel-dialog h2{font-size:clamp(24px,5vw,30px);text-shadow:0 2px 0 #644017,0 3px 8px #061c13,0 0 16px #061c13}
.jp-wheel-dialog p{color:#fff1cc;text-shadow:0 1px 3px #000,0 0 8px #04160e,0 0 16px #04160e}
.jp-wheel-dialog .jp-wheel-rules{color:#edf2d6;text-shadow:0 1px 3px #000,0 0 8px #04160e,0 0 16px #04160e}
.jp-wheel-dialog .jp-wheel-result{color:#ffdf89}

.jp-wheel-celebration{position:fixed;inset:0;z-index:1000;pointer-events:none;overflow:hidden}.jp-wheel-celebration img{position:absolute;left:var(--coin-origin-x);top:var(--coin-origin-y);width:var(--coin-size);height:var(--coin-size);object-fit:contain;opacity:0;animation:jp-wheel-coin-flight var(--coin-time) ease-out forwards}.jp-wheel-gain-pop{position:absolute;left:var(--coin-origin-x);top:var(--coin-origin-y);transform:translate(-50%,-50%);font:900 clamp(36px,10vw,70px)/1.1 Trebuchet MS,sans-serif;white-space:nowrap;color:#ffe18a;-webkit-text-stroke:1px #503314;paint-order:stroke fill;text-shadow:0 3px 5px #000b;animation:jp-wheel-pop 2.5s ease-out forwards;z-index:2}@keyframes jp-wheel-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}18%{opacity:1;transform:translate(-50%,-50%) scale(1.18)}35%,70%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-80%) scale(1.05)}}@keyframes jp-wheel-coin-flight{0%{opacity:1;transform:translate(-50%,-50%) rotate(0deg) scale(.6)}15%{opacity:1}78%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--coin-x)),calc(-50% + var(--coin-y))) rotate(var(--coin-spin)) scale(1)}}
