/* Game-specific content; the copied Dice family stylesheet remains unchanged. */
.game-frame{grid-template-rows:48px minmax(300px,1fr) 108px}
.moles-space{display:grid;grid-template-rows:44px 58px minmax(160px,1fr) 24px;gap:8px;padding:14px 28px 12px;min-height:0;background-image:linear-gradient(#ffffff02 1px,transparent 1px),linear-gradient(90deg,#ffffff02 1px,transparent 1px);background-size:32px 32px}
.moles-setting{display:flex;align-items:center;justify-content:center;gap:16px;min-width:0}.moles-setting>.field-label{margin:0;white-space:nowrap}.mole-options{display:flex;gap:5px}.mole-options button{width:44px;height:38px;min-height:44px;border-radius:9px;font-size:13px;background:#1b1d27}.mole-options button[aria-pressed=true]{color:#eef0f7;border-color:#55c8f2;background:#55c8f219;box-shadow:inset 0 0 0 1px #55c8f229}.odds-link{border:0;background:none;color:var(--muted);font-size:10px;min-height:44px;padding:0 3px;white-space:nowrap}
.moles-stats{display:grid;grid-template-columns:1fr 1.35fr 1fr;width:min(460px,100%);margin:auto;text-align:center;align-items:center}.moles-stats small{display:block;color:var(--muted);font-size:10px;margin-bottom:4px}.moles-stats strong{font-size:25px;line-height:1.1;font-weight:800;letter-spacing:-.04em}.moles-stats strong span{font-size:12px;letter-spacing:0;color:var(--muted);margin-left:3px}.moles-stats .current-stat strong{font-size:36px}.moles-stats .current-stat.live strong{color:var(--green)}
.moles-board{display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(3,minmax(0,1fr));gap:0 14px;align-self:center;justify-self:center;width:min(420px,100%);height:min(100%,242px);min-height:160px}.mole-hole{position:relative;grid-column:span 2;border:0;background:none;border-radius:50%;isolation:isolate;padding:0;min-height:44px;touch-action:manipulation;color:#55c8f2;opacity:1!important;overflow:visible}.mole-hole:nth-child(1),.mole-hole:nth-child(6){grid-column:2/span 2}.mole-hole:nth-child(2),.mole-hole:nth-child(7){grid-column:4/span 2}.mole-hole:nth-child(3){grid-column:1/span 2}.mole-hole::before{content:"";position:absolute;width:86%;height:45%;left:7%;bottom:8%;border-radius:50%;background:#0b0c11;box-shadow:0 3px 0 #252b3b,inset 0 3px 7px #0009;border:2px solid #343d51;transition:border-color .16s,box-shadow .16s}.mole-hole:not(:disabled):hover::before{border-color:#55c8f2;box-shadow:0 3px 0 #293d4c,0 0 20px #55c8f214}.mole-hole:not(:disabled):hover .hole-mark{color:#d0eaf4;transform:translate(-50%,0) scale(1.1)}.hole-mark{position:absolute;left:50%;bottom:24%;transform:translateX(-50%);width:14px;height:14px;stroke:#626d83;transition:.16s;z-index:2}.mole-hole:disabled{cursor:default}.mole-hole .mole-figure{position:absolute;width:76%;height:92%;bottom:8%;left:12%;fill:currentColor;stroke:none;opacity:0;transform:translateY(12px) scale(.88);transform-origin:50% 100%;transition:opacity .18s,transform .28s cubic-bezier(.2,.8,.25,1.3);pointer-events:none}.mole-hole.revealed .mole-figure{opacity:1;transform:translateY(0) scale(1)}.mole-hole.revealed .hole-mark,.mole-hole.empty .mole-figure{opacity:0}.mole-hole.hit{color:var(--green)}.mole-hole.hit::before{border-color:#35d59b;box-shadow:0 3px 0 #145f48,0 0 25px #35d59b25}.mole-hole.hit .mole-figure{animation:mole-hit .48s ease-out}.mole-hole.picked.empty::before{border-color:#ff5d73;box-shadow:0 3px 0 #632e3e}.mole-hole.picked.empty::after{content:"×";position:absolute;inset:auto 0 12%;font:800 27px Sora;color:var(--red)}.mole-hole.revealed:not(.hit){color:#657891}.mole-hole.idle .mole-figure{opacity:.55;transform:translateY(10%) scale(.85)}.mole-hole.idle .hole-mark{display:none}.mole-hole .hole-number{position:absolute;bottom:-2%;left:0;right:0;font-size:8px;color:#555e73;line-height:1}.mole-hole.hit .hole-number{color:var(--green)}
.moles-message{text-align:center;min-height:24px;font-size:11px;font-weight:600;line-height:24px;color:var(--muted);white-space:nowrap}.moles-message.win{color:var(--green)}.moles-message.loss{color:var(--red)}.moles-message strong{font-size:16px;margin-right:7px}.moles-actions{display:flex;gap:9px;width:350px;height:64px}.moles-actions>.direction-button{flex:1.35;flex-direction:column;gap:2px;min-width:0;touch-action:manipulation}.moles-actions>.direction-button>span{font-size:16px}.moles-actions small{font-size:10px;font-weight:800}.random-button{border-radius:13px;display:flex;align-items:center;justify-content:center;gap:7px;flex:1;background:#1b1d27;color:#bac2d5;font-size:12px}.random-button svg{width:20px}.direction-button:disabled{opacity:.55}.moles-actions .direction-button.wager-profit-active{opacity:1}.moles-actions .direction-button.wager-profit-active::after{background-size:500px 100%}
.moles-stats.large-multiplier{width:min(660px,100%);grid-template-columns:.7fr 1.5fr 1.5fr}.moles-stats.large-multiplier strong{font-size:20px}.moles-stats.large-multiplier .current-stat strong{font-size:27px}.amount-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.amount-grid button{min-height:44px}
.moles-payouts{width:100%;border-collapse:collapse;font-size:11px;text-align:right}.moles-payouts th,.moles-payouts td{padding:10px 8px;border-bottom:1px solid var(--edge)}.moles-payouts th{color:var(--muted);font-size:10px}.moles-payouts tr.current{color:var(--green);background:#35d59b0b}.moles-payouts td:first-child,.moles-payouts th:first-child{text-align:left}.moles-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:17px}.moles-rules>div{padding:14px 9px;background:var(--card);border:1px solid var(--edge);border-radius:12px;text-align:center}.moles-rules b{display:block;color:var(--blue);font-size:22px;margin-bottom:8px}.moles-rules span{color:#b4bacd;font-size:11px}.moles-form{display:grid;gap:14px}.moles-form label{display:grid;gap:8px;color:var(--muted);font-size:11px}.moles-form input,.moles-form select{width:100%;height:44px;background:#0b0c11;color:var(--text);border:1px solid var(--edge2);padding:0 12px;border-radius:9px;font-size:13px}.moles-form .two-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.moles-form .primary{margin-top:2px}.form-error{font-size:11px!important;color:var(--red)!important;min-height:18px}.moles-records{display:grid;gap:8px}.moles-records button{width:100%}.modal-body .empty-state{text-align:center;padding:35px 0;color:var(--muted)}
@media(min-width:761px) and (max-height:800px){.moles-space{padding-top:8px;padding-bottom:8px;gap:4px}.game-footer{padding-top:9px;padding-bottom:9px}.moles-board{max-width:390px}}
@media(max-width:760px){.game-frame{grid-template-rows:44px minmax(280px,1fr) 158px}.moles-space{padding:12px 16px 10px;grid-template-rows:66px 62px minmax(160px,1fr) 24px;gap:7px;background-size:24px 24px}.moles-setting{flex-wrap:wrap;gap:0 8px;justify-content:space-between;align-content:center}.moles-setting>.field-label{font-size:10px;order:0}.moles-setting>.odds-link{order:1;min-height:24px}.mole-options{order:2;width:100%;justify-content:space-between;gap:6px}.mole-options button{height:36px;min-height:44px;flex:1;width:auto}.moles-board{width:min(344px,100%);height:min(100%,263px);gap:0 8px}.moles-stats strong{font-size:22px}.moles-stats .current-stat strong{font-size:33px}.moles-stats small{font-size:9px}.moles-stats strong span{font-size:10px}.moles-actions{grid-column:1/-1;grid-row:2;width:100%;height:60px;gap:8px}.moles-actions>.direction-button{height:60px}.moles-actions>.direction-button>span{font-size:15px}.random-button{font-size:11px;border-radius:12px}.moles-message{font-size:10px}.moles-message strong{font-size:14px}.mole-hole .hole-number{font-size:8px}.moles-payouts th,.moles-payouts td{padding:10px 4px;font-size:10px}}
@media(max-width:760px) and (max-height:650px){.moles-space{grid-template-rows:66px 50px minmax(160px,1fr) 24px;padding-top:6px;padding-bottom:6px;gap:3px}.moles-board{height:160px;width:280px}.moles-stats .current-stat strong{font-size:28px}.moles-stats strong{font-size:20px}.game-frame{min-height:534px}.moles-message{font-size:9px}.moles-stats small{margin-bottom:3px}}
@media(prefers-reduced-motion:reduce){.mole-hole .mole-figure{transition:none}.mole-hole.hit .mole-figure{animation:none}}
@media(max-width:760px){.moles-stats.large-multiplier{grid-template-columns:.5fr 1.7fr 1.7fr;gap:6px}.moles-stats.large-multiplier strong{font-size:14px;letter-spacing:-.05em}.moles-stats.large-multiplier .current-stat strong{font-size:18px}.moles-stats.large-multiplier strong span{font-size:8px}.moles-stats.large-multiplier small{font-size:8px}}
/* Original sampled body morph and facial motion run inside a stationary aperture. */
.mole-hole .mole-figure{width:100%;left:0;height:170%;bottom:-10%;opacity:0;transform:translateY(16px);transition:opacity .16s,transform .22s ease-out;--mole-body:#ffc200;--mole-accent:#ff7e00}
.mole-hole.idle .mole-figure{opacity:0;transform:translateY(16px)}
.mole-hole.preview .mole-figure,.mole-hole.revealed:not(.empty) .mole-figure{opacity:1;transform:translateY(0)}
.mole-hole.hit .mole-figure{animation:mole-hit .48s ease-out}
.mole-hole.waiting .hole-mark{display:block;opacity:1}
.mole-window{position:absolute;inset:0;pointer-events:none;mask-image:linear-gradient(#000 0 0),radial-gradient(ellipse closest-side,#000 98%,transparent 100%);mask-size:100% 69.5%,82% 38%;mask-position:center top,center 81.451613%;mask-repeat:no-repeat}
@keyframes mole-hit{0%,100%{transform:translateY(0) scale(1)}35%{transform:translateY(6px) scale(1.04,.88)}70%{transform:translateY(1px) scale(.99,1)}}
.mole-hole.picked.empty::after{animation:mole-miss .48s ease-out}
@keyframes mole-miss{0%{opacity:0;transform:scale(.75)}40%{opacity:1;transform:scale(1.12)}100%{opacity:1;transform:scale(1)}}
@media(max-width:760px){
 #gamePage .game-frame{min-height:582px}
 .game-frame{grid-template-rows:44px minmax(378px,1fr) 158px}
 .moles-space{grid-template-rows:88px 62px minmax(160px,1fr) 24px}
 .moles-setting>.odds-link{min-height:44px}
 .mole-options{gap:4px}
}
@media(max-width:760px) and (max-height:650px){
 #gamePage .game-frame{min-height:548px}
 .game-frame{grid-template-rows:44px minmax(344px,1fr) 158px}
 .moles-space{grid-template-rows:88px 50px minmax(160px,1fr) 24px}
}
@media(prefers-reduced-motion:reduce){.mole-hole .mole-figure{transition:none;animation:none}.mole-hole.picked.empty::after{animation:none}}
/* Action choreography stays inside the existing seven holes. No layout changes. */
.mole-hole .mole-figure{transform:translateY(80%);transition:opacity .16s,transform .15s ease-out}
.mole-hole.idle .mole-figure{transform:translateY(80%)}
/* Count changes and reset must not crossfade outgoing idle moles into the new set. */
.mole-hole.idle:not(.preview) .mole-figure{visibility:hidden}
.mole-hole.preview .mole-figure,.mole-hole.revealed:not(.empty) .mole-figure{transform:translateY(0)}
.mole-hole.hit .mole-figure{animation:none}
.moles-board.is-burrowing .mole-figure{transform:translateY(80%);opacity:0;transition:transform .22s ease-in,opacity .12s .1s}
/* A single preview mole travels per beat; others keep their native idle loop. */
.mole-hole.preview-diving .mole-figure,.mole-hole.departing .mole-figure{opacity:0;transform:translateY(80%);transition:transform .22s ease-in,opacity .12s .1s}
.mole-hammer{position:absolute;right:-8%;top:-28%;width:72%;max-width:82px;height:auto;z-index:6;pointer-events:none;opacity:0;transform-origin:65% 80%}
.mole-hole.swing .mole-hammer{animation:mole-hammer .48s cubic-bezier(.2,.65,.3,1) both}
@keyframes mole-hammer{0%{opacity:0;transform:translate(5px,-12px) rotate(-55deg)}12%{opacity:1;transform:translate(5px,-12px) rotate(-48deg)}33%{opacity:1;transform:translate(-8px,8px) rotate(-4deg)}43%{opacity:1;transform:translate(-6px,6px) rotate(-8deg)}75%{opacity:1;transform:translate(8px,-14px) rotate(-35deg)}100%{opacity:0;transform:translate(14px,-18px) rotate(-42deg)}}
.mole-impact{position:absolute;left:5%;top:-14%;width:90%;height:108%;z-index:5;overflow:visible;pointer-events:none}
.hit-sparks,.miss-dust,.dizzy-stars,.mole-hurt-face{opacity:0}
.mole-hole.struck.hit .mole-figure{animation:mole-recoil .4s ease-out both}
@keyframes mole-recoil{0%{transform:translateY(0)}25%{transform:translateY(12px) scale(1.06,.82)}55%{transform:translateY(4px) scale(.98,1.02)}100%{transform:translateY(0)}}
.mole-hole.struck.hit .hit-sparks{animation:mole-sparks .3s ease-out both;transform-origin:50% 30%}
@keyframes mole-sparks{0%{opacity:1;transform:scale(.65)}35%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.2)}}
.mole-hole.struck.hit .dizzy-stars{animation:mole-dizzy .4s ease-out both;transform-origin:50% 25%}
@keyframes mole-dizzy{0%{opacity:0;transform:rotate(-12deg)}25%,70%{opacity:1}100%{opacity:0;transform:rotate(15deg)}}
.mole-hole.struck.hit .mole-hurt-face{opacity:1}
.mole-hole.struck.hit .mole-original-motion>g:nth-child(4),.mole-hole.struck.hit .mole-original-motion>g:nth-child(5){opacity:0!important}
.mole-hole.revealed.picked.empty::after{opacity:1;animation:none;z-index:4}
.moles-board[data-motion=windup] .mole-hole.picked.empty::after{opacity:0}
.mole-hole.struck.picked.empty::after{opacity:1;animation:mole-miss .32s ease-out both}
.mole-hole.struck.picked.empty .miss-dust{animation:mole-dust .38s ease-out both;transform-origin:50% 77%}
@keyframes mole-dust{0%{opacity:1;transform:scale(.55)}40%{opacity:1}100%{opacity:0;transform:scale(1.2)}}
.mole-hole.struck.picked.empty::before{animation:mole-rim .22s ease-out}
@keyframes mole-rim{0%,100%{transform:translateX(0)}25%{transform:translateX(-2px)}65%{transform:translateX(2px)}}
.moles-board[data-motion=windup] .mole-figure{--mole-body:#ffc200;--mole-accent:#ff7e00}
.moles-board[data-motion=windup] .mole-hole.picked::before{border-color:#55c8f2;box-shadow:0 3px 0 #293d4c}
/* Compact screens keep the hammer arc below the stats without moving the board. */
@keyframes mole-hammer-compact{0%{opacity:0;transform:translate(5px,2px) rotate(-55deg)}12%{opacity:1;transform:translate(5px,2px) rotate(-48deg)}33%{opacity:1;transform:translate(-8px,8px) rotate(-4deg)}43%{opacity:1;transform:translate(-6px,6px) rotate(-8deg)}75%{opacity:1;transform:translate(8px,6px) rotate(-15deg)}100%{opacity:0;transform:translate(14px,6px) rotate(-22deg)}}
@media(max-width:760px){
 .mole-hammer{top:-12%}
 .mole-hole.swing .mole-hammer{animation-name:mole-hammer-compact}
}
@media(prefers-reduced-motion:reduce){
 .mole-hole .mole-figure,.mole-hole.preview-diving .mole-figure,.mole-hole.departing .mole-figure,.moles-board.is-burrowing .mole-figure{transition:none}
 .mole-hole.departing .mole-figure{animation:none;opacity:0}
 .mole-hole.swing .mole-hammer{animation:none;opacity:0}
 .mole-hole.struck.hit .mole-figure,.mole-hole.struck.picked.empty::before,.mole-hole.struck.picked.empty::after{animation:none}
 .mole-hole.struck.hit .hit-sparks,.mole-hole.struck.hit .dizzy-stars,.mole-hole.struck.picked.empty .miss-dust{animation:none;opacity:0}
}
#molesStatus{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:8px 12px;color:var(--muted);font-size:12px}
#molesStatus[hidden]{display:none}
#molesStatus button{min-height:44px;border-radius:9px;padding:0 10px}
.moles-seed{display:flex;flex-direction:column}.moles-seed label{margin-bottom:8px}.moles-seed input{box-sizing:border-box;width:100%;min-height:44px;background:#0b0c11;color:var(--text);border:1px solid var(--edge2);border-radius:9px;padding:0 12px}.moles-seed-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.moles-seed-actions button{min-height:44px}
.moles-seed-actions .primary{width:auto;margin:0;padding:9px 14px;font-size:12px;border-radius:10px}
.moles-limit-value{display:block;overflow-wrap:anywhere}
