*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#0f0f1a;color:#eee;font-family:Inter,-apple-system,BlinkMacSystemFont,system-ui,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:#fca5a5}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid #fbbf24;outline-offset:4px}[hidden]{display:none!important}.arcade-nav{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 24px;border-bottom:1px solid #303043}.arcade-logo{font-weight:900;text-decoration:none;color:#f87171}.arcade-nav>a:last-child{font-size:13px}.arcade-heading{max-width:1132px;margin:52px auto 24px;padding:0 24px}.arcade-heading small{color:#f87171;letter-spacing:2px;font-weight:800}.arcade-heading h1{font-size:clamp(38px,6vw,68px);letter-spacing:-2px;margin:10px 0}.arcade-heading p{color:#aaaabd;line-height:1.8;font-size:14px}.arcade-tabs{display:flex;flex-wrap:wrap;gap:10px;max-width:1132px;margin:0 auto;padding:0 24px}.arcade-tabs button{flex:1;min-width:130px;padding:17px;border:1px solid #3e3e52;border-radius:12px;color:#b8b8cb;background:#191927;text-align:left;font-weight:800}.arcade-tabs button small{display:block;margin-top:5px;font-size:11px;font-weight:400}.arcade-tabs [aria-selected=true]{border-color:#f87171;background:#f8717118;color:#fecaca}.arcade-game{max-width:1132px;margin:32px auto 65px;padding:24px;background:#191927;border:1px solid #343448;border-radius:20px}.arcade-game h2{margin:0;font-size:34px;letter-spacing:-1px}.arcade-game>p{color:#b4b4c6;font-size:14px;line-height:1.8}.game-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:24px 0}.game-toolbar button{min-height:44px;padding:10px 16px;border:1px solid #505067;border-radius:8px;color:#eee;background:#262536;font-size:13px}.game-toolbar button:first-child{background:#f87171;border-color:#f87171;color:#20131c;font-weight:800}.game-toolbar button:disabled{opacity:.45;cursor:default}.game-stat{margin-left:auto;color:#aaaabd;font-size:12px;font-variant-numeric:tabular-nums}.game-stat strong{font-size:23px;color:#ffcf89;margin:0 6px 0 12px}.popup-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;padding:25px;background:#10101b;border:1px solid #3e3e52;border-radius:13px}.popup-slot{min-height:120px;border:1px solid #40394b;border-radius:9px;background:#1e1c2c;color:#716b85;overflow:hidden;padding:0;text-align:left;transition:background .1s}.popup-slot small{display:flex;justify-content:space-between;background:#292536;padding:9px 12px;font-size:10px}.popup-slot>span{display:grid;place-items:center;padding:13px;text-align:center;min-height:80px;font-size:12px;line-height:1.5}.popup-slot.open{background:#f6bcb1;color:#321e2d;border-color:#ffd0ac;box-shadow:0 0 20px #f871711b}.popup-slot.open small{background:#d8787b;color:#301b2b}.popup-slot.hit>span{font-size:40px}.game-status{min-height:45px;color:#fca5a5!important;font-size:13px!important;line-height:1.8}.memory-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:570px;margin:0 auto;padding:22px;background:#10101b;border:1px solid #3e3e52;border-radius:16px}.memory-pad{min-height:155px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:2px solid var(--pad);border-radius:14px;background:color-mix(in srgb,var(--pad) 12%,#141320);color:var(--pad);font-size:14px}.memory-pad b{font-size:35px}.memory-pad.lit{background:var(--pad);color:#15111e;box-shadow:0 0 28px color-mix(in srgb,var(--pad) 40%,transparent)}.arcade-footer{max-width:1084px;margin:0 auto;padding:0 24px 55px;border-top:1px solid #343448}.arcade-footer h2{font-size:22px;padding-top:20px}.arcade-footer p{font-size:13px;line-height:1.8;color:#aaaabd}.arcade-install{display:inline-block;padding:14px 22px;border-radius:10px;background:#f87171;color:#20131c;text-decoration:none;font-weight:800;font-size:14px}.arcade-technical{font-size:11px!important;color:#8f8fa5!important}body #playground{padding-top:32px}@media(max-width:700px){.arcade-heading{margin-top:30px}.arcade-game{margin:25px 16px 40px;padding:16px}.arcade-tabs{padding:0 16px;gap:7px}.arcade-tabs button{min-width:0;padding:12px 9px;font-size:12px}.arcade-tabs button small{font-size:10px}.arcade-game h2{font-size:27px}.popup-board{gap:8px;padding:10px}.popup-slot{min-height:100px}.popup-slot small{font-size:8px;padding:7px}.popup-slot>span{min-height:73px;padding:8px;font-size:10px}.game-stat{margin-left:0;width:100%;text-align:right}.memory-board{gap:12px;padding:14px}.memory-pad{min-height:120px}.arcade-nav{padding:17px 20px}.arcade-heading{padding:0 20px}.game-toolbar button{font-size:12px;padding:9px 11px}.arcade-footer{margin:0 16px;padding:0 4px 40px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
body[data-single-game] .arcade-heading,body[data-single-game] .arcade-tabs{display:none}body[data-single-game] .arcade-game{margin-top:32px}
/* A little garden, with original mole sprites. */
.popup-board{background:#607e48 url('mole-garden.svg') center/cover;padding:35px 22px 20px;gap:12px;border:5px solid #3b4634;box-shadow:inset 0 0 40px #25332455}
.popup-slot{position:relative;height:145px;min-height:0;border:0;background:transparent!important;box-shadow:none!important;overflow:hidden}
.popup-slot .mole-hole{position:absolute;left:12%;right:12%;bottom:8px;height:40px;min-height:0;padding:0;background:#291f22;border:7px solid #8a6245;border-radius:50%;box-shadow:0 5px 0 #b28b56,0 8px 9px #26392080}
.popup-slot .mole-clip{position:absolute;inset:0 0 24px;display:block;overflow:hidden;padding:0;min-height:0}
.mole-sprite{position:absolute;width:110px;height:118px;left:50%;bottom:-4px;transform:translate(-50%,110%);transition:transform .13s ease-out;pointer-events:none;user-select:none}
.popup-slot.open .mole-sprite{transform:translate(-50%,0)}
.popup-slot .mole-index{position:absolute;right:10px;top:8px;width:21px;height:21px;display:grid;place-items:center;padding:0;border-radius:50%;background:#2a392759;color:#e6e8c4;font-size:10px}
.popup-slot .mole-slap{position:absolute;inset:18px 0 auto;display:none;min-height:0;padding:0;font-size:48px;z-index:3}
.popup-slot.hit .mole-sprite{animation:mole-bonk .38s ease-in forwards}
.popup-slot.hit .mole-slap{display:grid;animation:arcade-slap .38s ease-out both}
@keyframes mole-bonk{from{transform:translate(-50%,0) rotate(-8deg)}to{transform:translate(-50%,110%) rotate(12deg)}}
@keyframes arcade-slap{from{opacity:1;transform:rotate(-20deg) scale(1.3)}to{opacity:0;transform:rotate(10deg) scale(.7)}}
.memory-board{width:min(100%,480px);aspect-ratio:1;padding:0;gap:12px;overflow:hidden;position:relative;border:14px solid #08080d;border-radius:50%;background:#08080d;box-shadow:0 12px 0 #050508,0 22px 35px #0004}
.memory-board::after{content:'';position:absolute;left:50%;top:50%;width:23%;height:23%;transform:translate(-50%,-50%);border-radius:50%;border:6px solid #292837;background:#12111c;box-shadow:0 4px 12px #0007;pointer-events:none}
.memory-pad{min-height:0;min-width:0;border:0;border-radius:0;gap:0;background:color-mix(in srgb,var(--pad) 35%,#141320);color:#fff;font-size:40px}
.memory-pad b{font-size:clamp(30px,6vw,52px);text-shadow:0 2px 2px #0005}
.memory-pad.lit{background:var(--pad);color:#141320;box-shadow:inset 0 0 35px #fff5}
@media(max-width:540px){.popup-board{padding:24px 5px 9px;gap:4px}.popup-slot{height:110px}.popup-slot .mole-hole{left:3%;right:3%;height:29px;border-width:5px}.popup-slot .mole-clip{bottom:20px}.mole-sprite{width:82px;height:88px}.popup-slot .mole-index{right:1px;top:0;font-size:8px;width:16px;height:16px}.memory-board{border-width:10px;gap:9px}}
@media(prefers-reduced-motion:reduce){.popup-slot.hit .mole-sprite{transform:translate(-50%,110%)}.popup-slot.hit .mole-slap{display:none}}
/* Keep each number centered, including the anonymous text flex item. */
.popup-slot .mole-index{display:flex;align-items:center;justify-content:center;text-align:center;line-height:1}
.arcade-nav{flex-wrap:wrap}
.arcade-nav-links{display:flex;align-items:center;flex-wrap:wrap;gap:18px}
.arcade-nav-links a{font-size:12px;text-decoration:none}
.arcade-about{display:inline-block;padding:10px 14px;border:1px solid #b55b67;border-radius:8px;background:#f8717114;color:#fecaca;font-weight:700}
.arcade-all-games{color:#aaaabd}
body:not([data-single-game]) .arcade-all-games{display:none}
.arcade-about-link{display:inline-block;margin:12px 0 0 16px;font-size:13px;text-underline-offset:4px}
@media(max-width:420px){.arcade-nav-links{width:100%;justify-content:space-between;gap:10px}.arcade-about-link{margin-left:0}}
