.forbidden-game{font:16px/1.45 system-ui,sans-serif;text-align:center}
#surprise:has(.forbidden-game) #day-label{display:none}
#surprise.town-frame[data-frame-theme="graffiti"]:has(.forbidden-game){--modal-control-ink:#d3286e}
#surprise.town-frame[data-frame-theme="graffiti"]:has(.forbidden-game) .frame-scroll{padding:8px 4px 10px;gap:8px}
.button-machine{
 position:relative;max-width:320px;margin:auto;padding:12px 12px 10px;border:2px solid #554b36;border-radius:12px;
 background:linear-gradient(137deg,#315d58,#193535 62%);color:#fff0c6;
 box-shadow:inset 0 0 0 2px #729487,0 5px 0 #362c2c;
}
.button-machine[hidden],.button-reward[hidden]{display:none}
.machine-display{position:relative;display:grid;place-content:center;justify-items:center;gap:5px;min-height:106px;padding:8px;background:#122b2d;border:1px solid #779089;border-radius:5px;box-shadow:inset 0 2px 4px #0007}
.button-machine .button-warning{margin:0;font:650 14px/1.3 system-ui,sans-serif;color:#fff0c6}
.machine-ticket{padding:3px 8px;border-block:1px dashed #835b42;background:#ffdf9c;color:#402c24;font:800 10px/1.2 monospace;rotate:-3deg;animation:machine-print .28s ease-out both}
.machine-chancla{width:28px;height:37px;object-fit:contain;rotate:26deg;animation:machine-flight .38s ease-out both}
.machine-display [hidden]{display:none}
.button-machine[data-press="1"] .machine-ticket,.button-machine[data-press="6"] .machine-ticket{background:#ffb3a4;color:#5d1b25}
.button-machine[data-press="5"] .machine-ticket{background:#ace6cf;rotate:8deg}
.machine-leds{display:flex;justify-content:center;gap:7px;margin:12px 0 2px}
.machine-leds i{width:12px;height:4px;border-radius:2px;background:#162f2d}
.machine-leds .lit{background:#ffd26c;box-shadow:0 0 5px #ffbd41}
.button-machine:is([data-press="4"],[data-press="5"],[data-press="6"]) .machine-leds .lit{background:#ff735f}
.machine-panel{display:grid;place-items:center;margin:10px auto 0;width:min(100%,222px);padding:10px 17px 15px;border-radius:8px;background:repeating-linear-gradient(132deg,#ecb854 0 9px,#253b37 9px 18px);box-shadow:inset 0 0 0 2px #162d2c,0 2px 0 #112421}
.forbidden-red{width:100%;min-height:64px;border:2px solid #801a29;border-radius:7px;padding:7px;background:linear-gradient(#ff8563 0 8%,#dd463d 8% 75%,#b22933 100%);box-shadow:0 5px 0 #691625,inset 0 0 0 2px #f9906d;color:#fff2cb;font:400 clamp(18px,5.8vw,24px)/1 'Lilita One',sans-serif;text-shadow:0 2px #742035;cursor:pointer;touch-action:manipulation}
.forbidden-red span{display:block;border:1px solid #fff0bc82;border-radius:3px;padding:8px 2px}
.forbidden-red:active{translate:0 4px;box-shadow:0 1px 0 #691625,inset 0 0 0 2px #f9906d}
.forbidden-red:focus-visible,.button-replay:focus-visible{outline:3px solid #fcd578;outline-offset:3px}
.button-replay{min-height:48px;padding:9px 15px;border:0;border-radius:6px;font:750 14px system-ui,sans-serif;cursor:pointer}
.button-reward{
 padding:18px 12px;margin:10px auto;max-width:300px;color:#472d24;background:#ffefd0;
 border-block:3px dashed #b38453;box-shadow:0 4px 12px #6c442633;font-family:monospace
}
.button-reward>span{font-size:10px;letter-spacing:.15em}.button-reward h3{margin:.4em 0;font-size:20px}
.button-reward p{margin:.5em 0}
.button-reward .button-replay{margin-top:6px;background:#27554b;color:#fff0cc}
@keyframes machine-print{from{translate:0 -6px;opacity:0}to{translate:0;opacity:1}}
@keyframes machine-flight{from{translate:-68px 3px;rotate:-40deg}to{translate:0;rotate:26deg}}
@media(prefers-reduced-motion:reduce){.machine-ticket,.machine-chancla{animation:none}}
.kiss-runner .play-scene{aspect-ratio:600/520;max-width:min(100%,400px);border-radius:9px;background:#27485d}
.kiss-runner .play-scene canvas{display:block;width:100%;height:auto;touch-action:manipulation}
.kiss-runner .scene-hud{font-variant-numeric:tabular-nums;justify-content:center;color:#fbe7bb;background:#294d56;text-align:center}
.kiss-runner .scene-actions{justify-content:center}
.kiss-runner :is(.runner-go,.runner-jump){min-height:48px;padding:8px 28px;border:1px solid #1e4f53;border-radius:24px;background:#1f6261;color:#fff2cd;font:700 16px system-ui,sans-serif;cursor:pointer}
.kiss-runner .runner-jump{min-width:55%;background:#284a61;border-color:#284a61}
.kiss-runner :is(.runner-go,.runner-jump)[hidden]{display:none}
.kiss-runner .scene-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.kiss-runner .scene-ending{text-align:center}
