:root{--bg: #0e1116;--panel: #171c26;--panel-2: #212940;--text: #e8ecf4;--muted: #93a0b4;--accent: #38bdf8;--accent-ink: #06283a;--wrong: #f87171;--gold: #fbbf24;color-scheme:dark}*{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-tap-highlight-color:transparent;overflow:hidden}.game{height:100%;max-width:860px;margin-inline:auto;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));display:flex;flex-direction:column;gap:10px;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.hud{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px}.chips{grid-column:1;grid-row:1;display:flex;flex-wrap:wrap;gap:6px;min-width:0}.chip{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding-inline:10px;border-radius:10px;background:var(--panel);font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}.chip[hidden]{display:none}.chip .icon{width:17px;height:17px;flex:none}.chip-value{direction:ltr;unicode-bidi:isolate}#score-chip .icon{color:var(--accent)}#best-chip .icon{color:var(--gold)}#combo-chip{color:#fdba74}#combo-chip .icon{color:#fb923c}#time-chip .icon{color:var(--muted)}#time-chip.is-low{color:var(--wrong);animation:tick 1s steps(1,end) infinite}#time-chip.is-low .icon{color:var(--wrong)}@keyframes tick{50%{opacity:.62}}.actions{grid-column:2;grid-row:1;display:flex;gap:6px;justify-self:end}.levels{grid-column:1 / -1;grid-row:2;display:flex;gap:6px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:44px;padding-inline:14px;border:0;border-radius:10px;background:var(--panel-2);color:var(--text);font:inherit;font-weight:600;cursor:pointer}.btn .icon{width:20px;height:20px;flex:none}.btn-icon{padding-inline:0}.btn-icon span[hidden]{display:none}.btn:active{transform:translateY(1px)}.btn[hidden]{display:none}.btn-primary{background:var(--accent);color:var(--accent-ink);padding-inline:24px}#sound-btn[aria-pressed=false]{color:var(--muted)}.level{flex:1;min-height:40px;padding-inline:6px;border:0;border-radius:10px;background:var(--panel);color:var(--muted);font:inherit;font-size:14px;font-weight:600;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.level.is-on{background:var(--panel-2);color:var(--text);box-shadow:inset 0 0 0 1.5px #38bdf88c}.level:disabled{cursor:default;opacity:.55}.level.is-on:disabled{opacity:1}.timebar{height:6px;flex:none;border-radius:999px;background:var(--panel);overflow:hidden}.timebar-fill{display:block;width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#34d399,#38bdf8);transform-origin:left center;transform:scaleX(1)}[dir=rtl] .timebar-fill{transform-origin:right center}.stage{position:relative;flex:1;min-height:0;min-width:0;display:flex;align-items:center;justify-content:center}.board{--board: 300px;--gap: calc(var(--board) * .035);--cell: calc((var(--board) - var(--gap) * 2) / 3);--rise: .14s;--fall: .19s;--hit: .11s;position:relative;width:var(--board);height:var(--board);display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:var(--gap);padding:calc(var(--board) * .03);border-radius:calc(var(--board) * .06);background:radial-gradient(ellipse at 28% 18%,rgba(74,222,128,.12),transparent 55%),radial-gradient(ellipse at 78% 88%,rgba(56,189,248,.08),transparent 55%),linear-gradient(160deg,#1b3a26,#12261a 60%,#0f1f16);box-shadow:inset 0 0 0 calc(var(--board) * .006) #ffffff0f,0 18px 40px #00000080;transition:width .18s ease,height .18s ease;touch-action:none}.hole{position:relative;padding:0;border:0;background:none;cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent}.hole:disabled{cursor:default;opacity:1}.mound{position:absolute;inset:44% 1% 6%;border-radius:50%;background:radial-gradient(ellipse at 50% 26%,#4c3826,#33261a 62%,#241a12)}.pit{position:absolute;inset:50% 13% 12%;border-radius:50%;background:radial-gradient(ellipse at 50% 24%,#10151b,#04060a 70%)}.burrow{position:absolute;left:4%;right:4%;top:calc(var(--cell) * .02);height:calc(var(--cell) * .67);overflow:hidden}.mole{position:absolute;left:0;right:0;margin-inline:auto;bottom:calc(var(--cell) * -.22);width:calc(var(--cell) * .71);height:calc(var(--cell) * .82);--fur: #a9764f;--fur-dark: #7a5133;--belly: #e0bb95;--nose: #f87f9c;transform:translateY(100%);transform-origin:bottom center;transition:transform var(--fall) cubic-bezier(.4,0,1,1);will-change:transform}.defs{position:absolute}.mole-art{width:100%;height:100%;display:block;filter:drop-shadow(0 calc(var(--cell) * .01) calc(var(--cell) * .02) rgba(0,0,0,.45))}.hole.is-up .mole{transform:translateY(0);transition:transform var(--rise) cubic-bezier(.22,1.4,.4,1)}.hole.is-hit .mole{transform:translateY(16%) scaleY(.8);transition:transform var(--hit) ease-in}.hole.is-golden .mole{--fur: #f5b83d;--fur-dark: #b4761a;--belly: #fde9b0;--nose: #f472b6}.mole-sparkles{opacity:0}.hole.is-golden .mole-sparkles{opacity:1;animation:twinkle .9s ease-in-out infinite}@keyframes twinkle{50%{opacity:.35}}.mole-eyes-hit,.hole.is-hit .mole-eyes{opacity:0}.hole.is-hit .mole-eyes-hit{opacity:1}.lip{position:absolute;left:1%;right:1%;top:69%;height:25%;border-radius:0 0 50% 50%/0 0 100% 100%;background:linear-gradient(180deg,#61492f 0 16%,#3b2b1d 62%,#241a12);box-shadow:inset 0 calc(var(--cell) * .014) 0 #ffe2b029}.splash{position:absolute;left:50%;top:46%;width:78%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;opacity:0;background:radial-gradient(circle,rgba(255,255,255,.5),rgba(255,214,138,.28) 45%,transparent 70%)}.hole.is-hit .splash{animation:splash .26s ease-out}@keyframes splash{0%{opacity:.9;scale:.3}to{opacity:0;scale:1.15}}.hole.is-miss .mound{animation:miss-thump .28s ease-out}@keyframes miss-thump{40%{transform:scale(.94);filter:brightness(1.25)}}.hole.is-escaped .lip,.hole.is-escaped .mound{animation:escaped .42s ease-out}@keyframes escaped{30%{filter:brightness(1.1) sepia(.5) hue-rotate(-38deg) saturate(2.4)}}.pop{position:absolute;left:50%;top:8%;translate:-50% 0;font-size:calc(var(--cell) * .22);font-weight:800;line-height:1;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.65);font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate;pointer-events:none;animation:pop-up .62s ease-out forwards}.pop.is-gold{color:var(--gold)}@keyframes pop-up{0%{opacity:0;translate:-50% 30%}20%{opacity:1}to{opacity:0;translate:-50% -70%}}.overlay{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;padding:12px;background:#0e111699;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:overlay-in .2s ease-out}.overlay[hidden]{display:none}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.overlay-card{max-width:100%;display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 22px;border-radius:16px;background:var(--panel);box-shadow:0 18px 44px #0000008c;text-align:center}.overlay-title{margin:0;font-size:clamp(20px,4.6vw,30px);font-weight:800}.overlay-line{margin:0;color:var(--muted);font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.overlay-note{margin:0;color:var(--muted);font-size:14px;font-variant-numeric:tabular-nums}.overlay-note:empty{display:none}.overlay-note.is-best{color:var(--gold);font-weight:700}.overlay-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:4px}.status{margin:0;min-height:1.3em;text-align:center;font-size:15px;font-weight:600;line-height:1.35}.status.is-hint{color:var(--muted);font-size:13px;font-weight:400}.status.is-over{color:var(--wrong)}@media(max-width:470px){.btn-label{display:none}#restart-btn{padding-inline:0}.game{padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}}@media(max-height:470px){.game{padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));gap:6px}.chip{min-height:32px;padding-inline:8px;font-size:14px}.btn{min-height:38px;min-width:38px}.level{min-height:32px;font-size:13px}.timebar{height:5px}.status{font-size:13px}.status.is-hint{font-size:12px}}@media(max-height:470px)and (min-aspect-ratio:13 / 10){.game{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;gap:8px 10px;max-width:none}.hud{grid-column:1;grid-row:1 / span 3;display:flex;flex-direction:column;justify-content:center;align-items:stretch;width:min(32vw,180px);min-height:0;overflow-y:auto;gap:6px}.chips,.levels{flex-direction:column;flex-wrap:nowrap}.chip{justify-content:space-between}.actions{justify-self:auto}.btn-label{display:none}#restart-btn{flex:1;padding-inline:0}.timebar{grid-column:2;grid-row:1}.stage{grid-column:2;grid-row:2}.status{grid-column:2;grid-row:3}}@media(prefers-reduced-motion:reduce){.board,.mole,.hole.is-up .mole,.hole.is-hit .mole{transition-duration:1ms}.hole.is-golden .mole-sparkles,#time-chip.is-low,.hole.is-hit .splash,.hole.is-miss .mound,.hole.is-escaped .lip,.hole.is-escaped .mound,.overlay{animation-duration:1ms;animation-iteration-count:1}.pop{animation-duration:.4s}}
