@font-face{font-family:RaidersPlaque;src:url('../assets/shared/cinzel-bold.woff2') format('woff2');font-display:swap;font-weight:700}
#panel{padding:24px;max-height:92dvh;border:22px solid transparent;border-image:url('../assets/raccoon/dialog-frame-v1.webp') 180 stretch;border-radius:0;background:#091622f5;box-shadow:0 12px 60px #000c;scrollbar-color:#98784c #091622}
#panel h2,#panel h3{font-family:RaidersPlaque,Georgia,serif;color:#f3cc7d}#panel p{color:#cbd9e2}
#panel .close{z-index:5;width:36px;height:36px;top:0;right:0;border:2px solid #c8a05c;background:#322310;color:#ffe7ae;box-shadow:0 3px 5px #0008}
#panel[data-kind="buy"]{padding:0;border:0;background:transparent;width:min(600px,94vw,calc(90dvh * .8));height:auto;aspect-ratio:.8;overflow:hidden;box-shadow:0 10px 45px #0009}
#panel[data-kind="buy"] .close{width:8%;height:6.4%;top:1.6%;right:3.4%;border:0;background:transparent;color:transparent;box-shadow:none}
.bonus-menu-art{position:relative;width:100%;aspect-ratio:.8}.bonus-menu-plate{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}
.bonus-menu-art .buy-grid{position:absolute;inset:0;display:block}.bonus-menu-art .buy-option{position:absolute;min-height:0;padding:0;border:0;border-radius:12px;background:transparent;left:6.5%;width:41.5%;height:30.5%;top:18%;box-shadow:none;outline-offset:-3px}
.bonus-menu-art .buy-option{left:10.5%;width:38%;top:19.3%;height:31.5%}.bonus-menu-art .buy-option:nth-child(even){left:51.5%}.bonus-menu-art .buy-option:nth-child(n+3){top:52.2%}.bonus-menu-art .buy-option:hover{box-shadow:inset 0 0 14px #ffe097aa}
.bonus-price{position:absolute;left:7%;right:7%;bottom:1%;height:24%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;color:#ffe5ac;line-height:1}
.bonus-menu-art .bonus-price .purchase-cost{font-size:clamp(18px,4.5vw,32px);height:80%;display:flex;align-items:center;justify-content:center}
.purchase-wager [data-menu-bet]{position:absolute;top:5%;height:65%;width:16%;padding:0;border:0;background:none;box-shadow:none;color:#ffe4a0;font:700 clamp(20px,5vw,36px) RaidersPlaque,Georgia,serif;min-height:0;min-width:0;touch-action:manipulation}
.purchase-wager [data-menu-bet="-1"]{left:1%}.purchase-wager [data-menu-bet="1"]{right:1%}.purchase-wager [data-menu-bet]:disabled{opacity:.3}
.bonus-price .purchase-multiple{display:block;width:100%;font-size:clamp(10px,2vw,16px);color:#f3c790}.bonus-price .purchase-cost{display:block;width:100%;font-size:clamp(12px,3.5vw,24px)}
.purchase-wager{position:absolute;left:10%;right:10%;top:87.5%;height:9.5%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#e6c993;font-size:12px}.purchase-wager>span{display:flex;align-items:center;gap:10px}.purchase-wager .purchase-cost{display:block;width:80px;font-size:18px}.purchase-wager small{font-size:10px;color:#bdc9d6}
.purchase-confirm{text-align:center}.purchase-confirm h2{margin:8px 0 16px!important}.confirm-symbol{height:100px;width:120px;object-fit:contain;display:block;margin:auto}.full-price{border:2px solid #aa854b;background:#07121ce6;padding:12px;border-radius:8px;display:flex;flex-direction:column;align-items:center;gap:8px}.full-price>span{color:#e3c790;font-size:13px;letter-spacing:2px}.full-price .purchase-cost{display:block;font-size:40px;width:100%}.full-price small{font-size:11px;color:#c1cdd6}
#panel .dialog-action{border:3px solid #d4aa58;border-radius:9px;background:linear-gradient(#3e7840,#18361c);box-shadow:inset 0 0 0 1px #ffe3a355,0 3px 4px #0008;color:#ffe4a5;font-family:RaidersPlaque,Georgia,serif;font-size:15px;min-height:44px}#panel input[type="range"]{width:150px;height:24px}.symbol-guide{padding:8px 0;border-bottom:1px solid #b5945033}.symbol-guide img{flex-shrink:0}
.game .receipt{inset:auto;left:50%;top:48%;transform:translate(-50%,-50%);width:min(90%,calc(var(--receipt-height,400px) * 1.333333333));height:auto;aspect-ratio:1.333333333;max-height:none;border:0;border-radius:0;background:url('../assets/raccoon/win-receipt-v1.webp') center/100% 100% no-repeat;box-shadow:none;display:block;padding:0;filter:drop-shadow(0 10px 20px #000b)}
.receipt>img,.receipt>h2{display:none}.receipt #receipt-amount{position:absolute;left:17.5%;top:42.6%;width:66.6%;height:24.1%;display:flex;align-items:center;justify-content:center;font-size:clamp(14px,4.3vw,64px);color:#ffe7a5}.receipt #receipt-basis{position:absolute;left:24.4%;top:74.2%;width:53.5%;height:8.7%;margin:0;display:flex;align-items:center;justify-content:center;font-size:clamp(9px,1.1vw,13px);line-height:1.2;color:#e1cba2}
@media(orientation:portrait){#panel{padding:14px;border-width:14px}#panel h2{font-size:21px}.symbol-guide img{width:65px;height:65px}.symbol-guide p{font-size:12px}#panel[data-kind="buy"]{width:min(94vw,calc(90dvh * .8))}.game .receipt{width:94%;max-height:none;top:50%}.receipt #receipt-amount{font-size:clamp(26px,10vw,44px)}.confirm-symbol{height:82px}.full-price .purchase-cost{font-size:32px}}
@media(max-height:430px) and (orientation:landscape){#panel{padding:12px;border-width:12px}#panel[data-kind="buy"]{width:calc(92dvh * .8)}.bonus-price .purchase-cost{font-size:13px}.bonus-price .purchase-multiple{display:block;width:100%;font-size:9px}.purchase-wager{font-size:9px;gap:2px}.purchase-wager .purchase-cost{font-size:13px;width:65px}.purchase-wager small{font-size:7px}.confirm-symbol{height:64px}#panel h2{font-size:19px}.game .receipt{width:45%;top:46%;max-height:none}.receipt #receipt-amount{font-size:32px}.receipt #receipt-basis{font-size:9px}}

#panel[data-kind="entry"]{width:min(480px,92vw);max-height:92dvh;text-align:center}
.bonus-entry h2{margin:0 0 12px;font-size:clamp(22px,4vw,32px)}
.bonus-entry>img{display:block;margin:auto;width:min(190px,32dvh);height:min(190px,32dvh);object-fit:contain}
.bonus-entry p{max-width:34em;margin:12px auto;font-size:clamp(12px,2vw,16px);line-height:1.4}
.bonus-entry .entry-basis{font-size:11px;color:#d7b67b}
.bonus-entry button{width:100%;margin-top:10px}
@media(max-height:430px){#panel[data-kind="entry"]{width:min(600px,92vw)}.bonus-entry>img{width:90px;height:90px;float:left;margin-right:20px}.bonus-entry h2{font-size:22px}.bonus-entry p{font-size:12px}}

/* One complete painted card per mode; hit area follows its actual button. */
#panel[data-kind="entry"]{padding:0;border:0;border-image:none;background:transparent;box-shadow:none;width:min(560px,94vw,calc(92dvh - 30px));max-height:96dvh;overflow:visible}
.entry-accessible{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.entry-art-wrap{position:relative;aspect-ratio:1;width:100%}
.entry-painted-art{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 24px #000b)}
#panel .baked-entry .painted-entry-hit{position:absolute;left:18%;top:79%;width:64%;height:14%;min-height:0;padding:0;margin:0;border:0;border-radius:50%;background:transparent;box-shadow:none;color:transparent;touch-action:manipulation}
#panel .baked-entry .painted-entry-hit:focus-visible{outline:3px solid #fff1a3;outline-offset:2px}
#panel .baked-entry .entry-basis{margin:3px 0 0;color:#fff0c6;text-shadow:0 1px 3px #000;font-size:clamp(9px,1.2vw,12px);line-height:1.25;background:#07121be6;border-radius:6px;padding:3px 8px}
#panel .baked-entry .entry-basis{background:none;border:0;border-radius:0;padding:3px 0}
.bonus-gate{position:absolute;inset:0;z-index:90;pointer-events:auto;overflow:hidden;isolation:isolate}
.gate-leaf{position:absolute;top:0;bottom:0;width:50%;overflow:hidden;will-change:transform}
.gate-leaf.left{left:0;transform:translateX(-103%)}.gate-leaf.right{right:0;transform:translateX(103%)}
.gate-leaf img{position:absolute;top:0;left:0;width:200%;height:100%;max-width:none;object-fit:cover;pointer-events:none}
.gate-leaf.right img{left:-100%}
@media(prefers-reduced-motion:reduce){.bonus-gate{display:none}}
.entry-blink,.entry-lantern-light{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.entry-blink{opacity:0;mask-image:radial-gradient(ellipse 16% 7% at 50% 39%,#000 70%,transparent 100%);animation:entry-eye-blink 4s linear 1}
[data-feature="super"] .entry-blink{mask-image:radial-gradient(ellipse 16% 6% at 50% 46%,#000 70%,transparent 100%)}
.entry-lantern-light{filter:brightness(1.35);opacity:0;mask-image:radial-gradient(ellipse 7% 11% at 11% 47%,#000,transparent),radial-gradient(ellipse 7% 11% at 89% 47%,#000,transparent);animation:entry-lantern-flame 2.7s ease-in-out 2}
.entry-glint{position:absolute;pointer-events:none;width:5%;aspect-ratio:1;background:#fff8ca;clip-path:polygon(50% 0,61% 37%,100% 50%,61% 62%,50% 100%,38% 62%,0 50%,38% 37%);opacity:0;animation:entry-gem-glint 1.3s ease-in-out 1}
.glint-a{left:15%;top:58%;animation-delay:.7s}.glint-b{right:15%;top:59%;animation-delay:1.4s}
@keyframes entry-eye-blink{0%,44%,53%,100%{opacity:0}46%,51%{opacity:1}}
@keyframes entry-lantern-flame{0%,100%{opacity:0}22%{opacity:.45}38%{opacity:.16}62%{opacity:.35}}
@keyframes entry-gem-glint{0%,100%{opacity:0;transform:rotate(-15deg)}45%{opacity:.95;transform:rotate(15deg)}}
@media(prefers-reduced-motion:reduce){.entry-blink,.entry-lantern-light,.entry-glint{display:none;animation:none}}
#win-celebration{position:absolute;inset:0;z-index:70;display:grid;place-items:center;background:#030b16c7;cursor:pointer;overflow:hidden;touch-action:manipulation}
#win-celebration[hidden]{display:none!important}
.win-stack{position:relative;z-index:2;width:min(650px,92vw,calc(88dvh * 1.3));text-align:center;filter:drop-shadow(0 8px 30px #000b)}
.win-badge{display:block;width:100%;height:min(170px,26dvh);object-fit:contain;margin:0 auto 10px;animation:win-badge-in .56s cubic-bezier(.2,.9,.3,1) both}
.win-count{display:block;width:100%;height:min(100px,17dvh);font-size:clamp(28px,8vw,80px);color:#ffe39a}
.win-stack small{font-size:11px;color:#cbd7e0}
.win-rays{position:absolute;width:140vmax;height:140vmax;background:repeating-conic-gradient(from 0deg,#ffd77612 0deg 9deg,transparent 9deg 21deg);animation:award-rays 25s linear infinite}
.win-confetti{position:absolute;inset:0;pointer-events:none}.win-confetti i{position:absolute;left:var(--x);top:-10%;width:18px;height:18px;border-radius:50%;border:2px solid #fff19b;background:linear-gradient(35deg,#9c5d13,#ffdf68,#a97216);box-shadow:0 0 10px #ecb24d77;animation:award-coin 2.8s var(--delay) linear infinite}
#win-celebration[data-tier="epic"] .win-confetti i:nth-child(odd){border-radius:3px;background:linear-gradient(45deg,#6411a3,#f0a1ff);transform:rotate(45deg)}
@keyframes award-rays{to{transform:rotate(360deg)}}@keyframes award-coin{to{top:110%;transform:translateX(var(--drift)) rotateY(720deg) rotateZ(140deg)}}@keyframes win-badge-in{0%{opacity:0;transform:scale(.2) rotate(-8deg)}55%{opacity:1;transform:scale(1.12) rotate(2deg)}78%{transform:scale(.96)}100%{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.win-rays,.win-confetti i{animation:none}.win-rays{opacity:.3}}
@media(orientation:portrait){.win-count{font-size:clamp(30px,12vw,60px)}}

/* A readable settlement over the actual board, without a second large card. */
.game .receipt{left:5%;right:5%;top:36%;width:90%;height:auto;aspect-ratio:auto;transform:none;background:none;filter:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;pointer-events:none}
.game .receipt>h2{display:block;margin:0;font-family:RaidersPlaque,Georgia,serif;font-size:clamp(24px,5vw,56px);color:#ffe8a2;text-shadow:0 3px 0 #643509,0 0 8px #000,0 4px 16px #000}
.game .receipt #receipt-amount{position:relative;inset:auto;width:100%;height:clamp(65px,12vh,115px);font-size:clamp(42px,10vw,90px);filter:drop-shadow(0 3px 2px #000) drop-shadow(0 0 9px #000)}
.game .receipt #receipt-basis{position:relative;inset:auto;min-height:30px;height:auto;width:100%;color:#fff2cc;text-shadow:0 1px 3px #000,0 0 7px #000;font-size:clamp(11px,2vw,15px)}
#win-celebration{background:#020a1270}.win-rays{opacity:.45}
#entry-sound-choice{display:flex;align-items:center;gap:10px;margin-top:24px;color:#e6c782;font:14px RaidersPlaque,Georgia,serif;cursor:pointer}#entry-sound{width:24px;height:24px;accent-color:#e9bd43}

/* Raccoon award lettering and live numeral sprites, with no enclosing card. */
.award-number{display:flex;align-items:flex-end;justify-content:center;gap:calc(var(--award-height)*.045);height:var(--award-height);filter:drop-shadow(0 3px 2px #150420aa)}
.award-number img{display:block;height:100%;width:calc(var(--award-height)*var(--ratio));object-fit:contain;flex:none}
.award-number i{display:block;position:relative;flex:none;width:calc(var(--award-height)*.18);height:calc(var(--award-height)*.18);margin-bottom:calc(var(--award-height)*.05);border-radius:35%;background:linear-gradient(150deg,#fff5c2,#ffd459 45%,#dc8c19);box-shadow:calc(var(--award-height)*.025) calc(var(--award-height)*.03) 0 #461251,inset 0 0 0 1px #fff0a0}
.award-number .award-comma{transform:rotate(-20deg);height:calc(var(--award-height)*.24)}
.award-number .award-times{background:none;box-shadow:none;width:calc(var(--award-height)*.65);height:100%;font:bold var(--award-height)/1 Georgia,serif;color:#ffdd7a}
.game .receipt{justify-content:center;gap:clamp(6px,1.4vh,14px);isolation:isolate}
.game .receipt:before{content:'';position:absolute;inset:-12% -6%;z-index:-1;background:radial-gradient(ellipse,#050917d9 0%,#05091788 48%,transparent 74%);pointer-events:none}
.game .receipt>h2{width:min(85%,560px);height:auto;aspect-ratio:6/1;font-size:0;background:var(--award-total-source,url('../assets/raccoon/award-total-won-v2.png')) center/100% auto no-repeat;text-shadow:none;flex:none}
.game .receipt #receipt-amount{height:clamp(58px,15vh,145px);font-size:clamp(44px,11vw,125px);filter:none;flex:none}
.game .receipt #receipt-basis{min-height:16px;font-size:clamp(10px,1.3vw,14px);line-height:1.15;text-align:center;flex:none}
@media(max-height:430px){.game .receipt{gap:4px}.game .receipt>h2{height:30px}.game .receipt #receipt-amount{height:58px;font-size:52px}.game .receipt #receipt-basis{font-size:9px}}
