.mini-dialog{width:min(1240px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 24px);padding:0;border:3px solid #fffaf1;border-radius:32px;background:#cff0e9;color:#205c66;box-shadow:0 24px 90px #123d5860;overflow:auto;text-align:center}
.mini-dialog::backdrop{background:#23454f99;backdrop-filter:blur(9px)}
.mini-shell{padding:25px 32px 24px;position:relative;background:url('./assets/minigames/sky.webp') center/cover;min-height:650px}
.mini-header{display:flex;align-items:center;gap:16px;text-align:left}.mini-logo{width:80px;height:62px;object-fit:contain}.mini-header>div:nth-child(2){flex:1;min-width:0}.mini-kicker{font-size:11px;letter-spacing:1.7px;font-weight:900;margin:0 0 4px}.mini-dialog h2{font:800 clamp(27px,3vw,46px)/1.08 'Baloo 2',system-ui;color:#087d8c;margin:0}.mini-stakes{font-size:16px;line-height:1.5;margin:16px auto 10px;max-width:780px;font-weight:700}.mini-limit{font-weight:800;color:#256970;font-size:14px;margin:10px 0 20px}
.mini-choices{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}.mini-choice{flex:0 1 calc(25% - 14px);min-width:0;border:2px solid #fffdf5;background:#fffdf1e8;color:#216573;border-radius:24px;padding:12px 12px 16px;display:flex;flex-direction:column;align-items:center;box-shadow:0 4px 0 #729d9130;transition:transform .16s,border-color .16s}.mini-choice:hover{transform:translateY(-4px)}.mini-choice[aria-pressed=true]{border-color:#159aab;background:#fffdf8;box-shadow:0 0 0 2px #159aab,0 5px 0 #6baba94a}.mini-choice img{width:112px;height:105px;object-fit:contain}.mini-choice strong{font:800 21px/1.2 'Baloo 2',system-ui;margin:6px 0}.mini-choice span{font-size:13px;line-height:1.4;max-width:185px}.mini-instructions{max-width:740px;margin:18px auto 12px;font-size:14px;line-height:1.5}.mini-primary,.mini-secondary{font:800 17px 'Baloo 2',system-ui;min-height:46px;border-radius:15px;padding:10px 22px;border:2px solid #fffdf4;cursor:pointer}.mini-primary{background:#ec399b;color:white;box-shadow:0 4px 0 #b92676}.mini-secondary{background:#fffbed;color:#276d79}.mini-primary:hover{background:#d82788}.mini-secondary:hover{background:#e2f7ef}.mini-primary:active,.mini-secondary:active{transform:translateY(2px)}.mini-start{min-width:250px}.mini-leave{margin-left:10px}.mini-opponent{margin-top:18px}.mini-opponent select{font:inherit;font-size:16px;min-height:44px;padding:8px 12px;margin-left:10px;border:1px solid #387d86;border-radius:10px;background:#fffdf6;color:#235965}.mini-clock{background:#fffbea;border-radius:18px;padding:9px 20px;text-align:center;flex-shrink:0}.mini-clock span{display:block;font-size:10px;font-weight:900;letter-spacing:1px}.mini-clock strong{font:800 32px/1.15 'Baloo 2',system-ui;font-variant-numeric:tabular-nums}.mini-urgent{color:#b02065}.mini-progress{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 18px;margin:10px 0;font-size:16px}.mini-progress progress{width:180px;height:15px;accent-color:#e73994}.mini-feedback{font-size:13px;min-width:170px}.mini-arena{position:relative;width:100%;height:clamp(300px,47dvh,560px);isolation:isolate;touch-action:none;border-radius:22px;background:#eafcf52b}.mini-objects{position:absolute;inset:0;pointer-events:none}.mini-sprite{position:absolute;width:10%;height:17%;min-width:44px;min-height:44px;padding:0;border:0;background:none;transform:translate(-50%,-50%);pointer-events:none;filter:drop-shadow(0 7px 5px #264f5126)}button.mini-sprite{pointer-events:auto;cursor:crosshair}.mini-sprite img{width:100%;height:100%;object-fit:contain;pointer-events:none}.mini-sprite[data-art=bag]{width:17%;height:31%}.mini-sprite[data-art=blaster]{width:16%;height:26%}.mini-sprite[data-art=candy]{width:7%;height:12%}.mini-cracked{opacity:.65;filter:drop-shadow(0 0 4px #ef3b98)}.mini-controls{display:flex;gap:10px;align-items:center;justify-content:center}.mini-controls button{min-width:95px;touch-action:none;user-select:none}.mini-fire{margin-left:30px;min-width:155px!important}.mini-controls-help{max-width:740px;margin:14px auto;font-size:14px;font-weight:700;line-height:1.4}.mini-tic{position:absolute;inset:5% auto 5% 50%;transform:translateX(-50%);height:90%;aspect-ratio:1;max-width:100%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:8px}.mini-cell{border:3px solid #f3d689;border-radius:18px;background:#fffcef;color:#ce318b;font:800 clamp(25px,6vh,55px) 'Baloo 2',system-ui;min-width:44px;min-height:44px;opacity:1!important}.mini-cell[data-mark=O]{color:#118b98}.mini-cell:disabled{cursor:default}.mini-overlay{position:absolute;inset:0;z-index:3;background:#fff9edf5;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px}.mini-overlay h3,.mini-result h3{font:800 clamp(29px,4vw,48px)/1.1 'Baloo 2',system-ui;margin:18px 0 10px}.mini-overlay p,.mini-result p{font-size:18px;max-width:520px;line-height:1.5}.mini-overlay button{margin:10px}.mini-result{padding:30px 0 60px}.mini-result img{height:200px;width:200px;object-fit:contain}.mini-result p{margin:15px auto 24px}.mini-dialog [hidden]{display:none!important}.mini-dialog :focus-visible{outline:3px solid #9c176c;outline-offset:4px}.mini-dialog[data-game=invaders] .mini-shell{background-color:#12465a;background-blend-mode:multiply;color:#fff7e7}.mini-dialog[data-game=invaders] h2{color:#fff3db}.mini-dialog[data-game=invaders] .mini-clock,.mini-dialog[data-game=invaders] .mini-overlay,.mini-dialog[data-game=invaders] .mini-result{color:#246572}.mini-dialog[data-game=invaders] .mini-result{background:#fff8e9;border-radius:25px}.mini-dialog[data-game=worm] .mini-arena{background:#eddda877}.mini-dialog[data-game=ducks] .mini-arena{background:#b0e5ee99}
@media(max-width:760px){.mini-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px);border-radius:23px}.mini-shell{padding:18px 14px;min-height:0}.mini-header{flex-wrap:wrap;gap:10px}.mini-logo{width:46px;height:42px}.mini-dialog h2{font-size:28px}.mini-kicker{font-size:9px;letter-spacing:.8px}.mini-stakes{font-size:14px;margin:12px auto}.mini-choice{flex-basis:calc(50% - 7px);padding:10px;border-radius:17px}.mini-choice img{width:85px;height:74px}.mini-choice strong{font-size:18px}.mini-choice span{font-size:12px}.mini-limit{font-size:12px;margin:12px 0}.mini-start{min-width:0;width:100%}.mini-leave{margin:12px 0 0;width:100%}.mini-clock{padding:7px 14px;margin-left:auto}.mini-clock strong{font-size:26px}.mini-pause{font-size:14px;min-height:44px;padding:8px 13px}.mini-progress{gap:7px;font-size:14px}.mini-progress progress{width:110px}.mini-feedback{flex-basis:100%;min-width:0}.mini-arena{height:clamp(255px,42dvh,420px)}.mini-controls-help{font-size:12px}.mini-controls button{min-width:68px;padding:8px 13px}.mini-fire{margin-left:auto;min-width:90px!important}.mini-sprite{width:15%;height:17%}.mini-sprite[data-art=candy]{width:10%;height:13%}.mini-sprite[data-art=bag]{width:23%;height:28%}.mini-sprite[data-art=blaster]{width:21%;height:24%}.mini-result{padding:20px 0 30px}.mini-result img{width:140px;height:140px}.mini-result p{font-size:16px}}
@media(max-height:550px) and (orientation:landscape){.mini-shell{padding:12px 22px}.mini-header h2{font-size:27px}.mini-header{flex-wrap:nowrap}.mini-arena{height:235px}.mini-stakes{margin:8px auto}.mini-logo{height:40px}.mini-controls-help{margin:8px auto}.mini-choice{flex-basis:calc(25% - 14px)}}
@media(prefers-reduced-motion:reduce){.mini-choice{transition:none}}
.mini-hole-number{position:absolute;bottom:0;right:0;background:#fff8df;color:#285b62;border:2px solid #e3c582;border-radius:8px;padding:1px 7px;font-weight:900;font-size:15px}.friend-controls{flex-wrap:wrap}
/* Falling objects enter through the sky edge, without covering the HUD. */
.mini-arena{overflow:clip}.mini-shell .mini-stakes,.mini-shell .mini-instructions,.mini-shell .mini-controls-help{color:inherit}.mini-shell p{opacity:1}
@media(max-width:760px){.mini-header>div:nth-child(2){flex-basis:calc(100% - 60px)}.mini-clock{margin-left:0}.mini-pause{margin-left:auto}.mini-arena{height:clamp(230px,36dvh,380px)}}
@media(max-height:550px) and (orientation:landscape){.mini-dialog:has(.mini-play:not([hidden])) .mini-shell{min-height:0;padding:8px 16px}.mini-dialog:has(.mini-play:not([hidden])) .mini-header{gap:8px}.mini-dialog:has(.mini-play:not([hidden])) .mini-header>div:nth-child(2){flex-basis:auto}.mini-dialog:has(.mini-play:not([hidden])) .mini-stakes{display:none}.mini-dialog .mini-arena{height:150px}.mini-dialog .mini-clock{padding:3px 12px}.mini-dialog .mini-clock strong{font-size:23px}.mini-dialog .mini-progress{margin:5px 0;font-size:12px}.mini-dialog .mini-feedback{flex-basis:auto}.mini-dialog .mini-controls-help{font-size:11px;margin:5px auto}.mini-dialog .mini-controls button{min-height:44px;padding:4px 15px}.mini-dialog .mini-result{padding:0 0 15px}.mini-dialog .mini-result img{height:75px;width:75px}}
/* Keep the game stage as immersive as the approved arcade concepts. */
@media(min-width:1000px) and (min-height:750px){.mini-dialog{width:min(1380px,calc(100% - 40px))}.mini-shell{min-height:850px;padding:32px 40px}.mini-header h2{font-size:46px}.mini-picker{padding-top:12px}.mini-choice img{width:142px;height:142px}.mini-choice{padding:14px 16px 18px}.mini-choice strong{font-size:24px}.mini-choice span{font-size:15px}.mini-choices{gap:18px}.mini-choice{flex-basis:calc(25% - 18px)}.mini-arena{height:clamp(440px,51dvh,590px)}.mini-controls button{min-height:58px;font-size:20px;min-width:115px}.mini-fire{min-width:185px!important}.mini-stakes{font-size:18px}.mini-progress{font-size:18px;margin:18px 0}.mini-controls-help{font-size:16px}}
.mini-dialog[data-game=invaders] .mini-arena{background:transparent}.mini-sprite[data-art=bag]{height:39%;width:21%}.mini-sprite[data-art=blaster]{height:32%;width:20%}
.mini-sprite[data-art=hole]{width:20%;height:22%;z-index:-1}.mini-sprite[data-art=hook]{width:7%;height:16%}
.mini-gummy{margin:16px auto}.mini-gummy select{font:inherit;font-size:16px;padding:10px 15px;border:2px solid #278891;border-radius:12px;background:#fffbee}.mini-invader{width:5%!important;height:8%!important;min-width:0;min-height:0}.mini-enemy-shot{width:4%!important;height:7%!important;filter:hue-rotate(90deg)}.mini-dialog[data-game=invaders] .mini-sprite[data-art=candy]:not(.mini-enemy-shot){width:6%;height:12%}.mini-dialog[data-game=catch] .mini-sprite[data-art=bag]{width:9%;height:19%;min-width:0;min-height:0}.mini-dialog[data-game=toss] .mini-sprite[data-art=bottle]{width:7%;height:14%;min-width:44px}.mini-sport{position:absolute;inset:0;pointer-events:none}.baseball-diamond{position:absolute;inset:25% 20% 5%;background:#edd3a5;clip-path:polygon(50% 0,100% 45%,50% 100%,0 45%)}.baseball-fence{position:absolute;top:17%;width:100%;height:12%;border-block:5px solid #fffbdf;background:repeating-linear-gradient(90deg,#fff9df 0 5px,transparent 5px 8%)}.pitcher{position:absolute;height:20%;left:47%;top:22%;filter:hue-rotate(150deg)}.batter{position:absolute;height:36%;left:25%;bottom:2%}.worm-bat{position:absolute;height:29%;left:35%;bottom:8%;transform-origin:bottom;transform:rotate(-35deg);transition:transform .09s}.worm-bat.swinging{transform:rotate(75deg)}.baseball-ball{position:absolute;width:25px;height:25px;background:#fff;border-radius:50%;border-inline:2px dashed #ce476e;transform:translate(-50%,-50%);z-index:2}.baseball-zone{position:absolute;left:47%;top:74%;padding:10px 20px;border:3px dashed white;color:#36695f;border-radius:25px;font-size:12px}.pitch-type{position:absolute;top:1%;text-align:center;width:100%;font-size:23px;font-weight:800}.pong-line{position:absolute;left:50%;height:100%;border-left:3px dashed #ffffff90}.pong-paddle{position:absolute;width:18px;border-radius:9px;background:#eb409b;transform:translateY(-50%);left:4%}.pong-paddle.computer{left:auto;right:4%;background:#138ca1}.pong-ball{position:absolute;width:35px;height:35px;object-fit:contain;transform:translate(-50%,-50%)}.mini-dialog[data-game=pong] .mini-arena{background:#226574}.mini-dialog[data-game=baseball] .mini-arena{background:#b9dfb580}
.open-catch-bag img{clip-path:polygon(0 15%,100% 15%,100% 100%,0 100%)}.open-catch-bag:after{content:'';position:absolute;left:19%;right:19%;height:18%;top:10%;background:#17646e;border:3px solid #adf1ed;border-radius:50%;box-shadow:inset 0 5px 5px #092d39}.mini-dialog[data-game=invaders] .mini-sprite[data-art=candy]:not(.mini-enemy-shot){filter:drop-shadow(0 3px 4px #ffffff66)}
.batting-meter{position:absolute;bottom:1%;left:57%;right:5%;height:14px;border-radius:10px;background:#edd4aa}.batting-window{position:absolute;height:100%;background:#5cae7f;border-radius:6px}.batting-meter i{position:absolute;height:22px;top:-4px;width:5px;background:#ea3f95;border:1px solid white}.pitcher{transition:transform .12s}.mini-dialog[data-game=baseball] .mini-fire{margin-left:0}

.worm-bat{left:35%;bottom:17%;height:32%;transform-origin:20% 90%;transform:rotate(-65deg);transition:transform .18s ease-out}
.worm-bat.swinging{transform:rotate(55deg) translateY(-8%)}
.baseball-ball.foul{box-shadow:0 0 0 3px #ef5593}
@media(prefers-reduced-motion:reduce){.worm-bat,.pitcher{transition:none}}

/* Approved carnival, blaster, batting and fishing designs. */
.bottle-shelf{position:absolute;left:15%;right:15%;height:12px;background:#b56a55;border-bottom:5px solid #834842;border-radius:3px}
.mini-dialog[data-game=toss] .mini-sprite[data-art=bottle]{height:17%;width:8%}
.mini-dialog[data-game=invaders] .mini-sprite[data-art=blaster]{width:18%;height:26%}
.worm-bat{width:31%;height:auto;left:32%;bottom:17%;transform-origin:0 50%;transform:rotate(-65deg);transition:transform .16s ease-out;z-index:3}
.worm-bat.swinging{transform:rotate(0deg)}
.duck-water{position:absolute;inset:15% 3% 2%;border:10px solid #ddcb94;border-radius:46% 42% 38% 36%;background:radial-gradient(ellipse at 40% 30%,#81dfdf,#43bacd);box-shadow:inset 0 0 25px #1795b355}
.duck-dock{position:absolute;left:40%;top:0;width:20%;height:14%;background:repeating-linear-gradient(0deg,#bd8764 0 17px,#895b40 18px 21px);border:4px solid #93654a}
.duck-lines{position:absolute;inset:0;width:100%;height:100%;z-index:1;overflow:visible}.duck-lines path{fill:none;stroke:#fffceb;stroke-width:3}
.mini-dialog[data-game=ducks] .mini-sprite[data-art=fish]{width:10%;height:16%;min-width:44px}
.mini-dialog[data-game=ducks] .mini-sprite[data-art=hook]{width:5%;height:9%}
@media(prefers-reduced-motion:reduce){.worm-bat{transition:none}}

/* Original gummy artwork uncurls for contact, then returns to its resting pose. */
.worm-bat,.worm-bat.swinging{left:32%;bottom:17%;width:31%;height:32%;transform:none;transition:none}
.worm-bat img{position:absolute;pointer-events:none;transition:transform .15s ease-out,opacity .12s linear}
.worm-curled{height:100%;width:auto;left:0;bottom:0;transform-origin:25% 85%;transform:rotate(-25deg)}
.worm-straight{width:100%;height:auto;left:0;bottom:0;transform-origin:0 50%;transform:rotate(-25deg) scaleX(.45);opacity:0}
.worm-bat.swinging .worm-curled{opacity:0;transform:rotate(50deg) scale(.8)}
.worm-bat.swinging .worm-straight{opacity:1;transform:rotate(0deg) scaleX(1)}
@media(prefers-reduced-motion:reduce){.worm-bat img{transition:none}}

/* Fish swim below a translucent water surface. */
.mini-dialog[data-game=ducks] .duck-water{background:radial-gradient(ellipse at 35% 25%,#55c8dc,#168aa8 70%,#146e94);box-shadow:inset 0 0 35px #125d8055}
.mini-dialog[data-game=ducks] .mini-sprite[data-art=fish]{width:12%;height:15%;filter:drop-shadow(0 5px 3px #07537133);opacity:.9}
.mini-dialog[data-game=ducks] .mini-arena::after{content:"";position:absolute;inset:15% 3% 2%;border-radius:46% 42% 38% 36%;pointer-events:none;z-index:1;background:repeating-linear-gradient(115deg,transparent 0 12%,#b3f7ed12 13% 17%,transparent 18% 28%);box-shadow:inset 0 2px 0 #cafff477}
.mini-dialog[data-game=ducks] .duck-lines{z-index:2}

.mini-dialog[data-game=invaders] .mini-sprite[data-art=skittle]{width:3.5%;height:6%;min-width:12px;min-height:12px;filter:none}

.mini-intro{max-width:690px;margin:25px auto 0;background:#fffdf1;padding:28px;border-radius:24px;text-align:left}.mini-intro-top{display:flex;align-items:center;gap:20px}.mini-intro-top img{width:110px;height:110px;object-fit:contain}.mini-intro h3{font:800 28px/1.2 'Baloo 2',system-ui;margin:0 0 8px}.mini-intro dt{font-weight:850;margin-top:20px}.mini-intro dd{margin:5px 0 0;line-height:1.6}.mini-intro-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.mini-intro-actions button{flex:1}.mini-intro-note{font-size:13px;line-height:1.6;text-align:center;margin-top:18px}.mini-intro-status{font-size:14px;line-height:1.5}.mini-intro-status:empty{display:none}.mini-intro button:disabled{opacity:.65;cursor:wait}@media(max-width:500px){.mini-intro{padding:20px}.mini-intro-top img{width:75px;height:85px}.mini-intro h3{font-size:23px}.mini-intro-actions{flex-direction:column}}
