/* Short, smooth puzzle-book feedback. No animation delays an action. */
.feel-result{color:#17263a;text-align:left;margin:0 0 24px;padding:18px;border:2px solid #17263a;background:#e4f2f4;box-shadow:4px 4px #17263a;position:relative}
.feel-result[data-perfect=true]{background:#edf2d3}.feel-stamp{display:inline-block;padding:7px 10px;background:#f9e2a7;border:2px solid #17263a;box-shadow:2px 2px #17263a;font:900 12px/1.4 ui-monospace,monospace;letter-spacing:.05em;transform:rotate(-2deg)}
.feel-result[data-perfect=true] .feel-stamp{background:#b8d957}.feel-meter{margin:18px 0 12px}.feel-meter>p{font:800 11px/1.5 ui-monospace,monospace!important;color:#17263a!important;letter-spacing:.02em;margin:0 0 8px!important}.feel-meter-track{height:14px;border:2px solid #17263a;background:#fffdf5;overflow:hidden}.feel-meter-track>i{display:block;height:100%;background:repeating-linear-gradient(90deg,#91b54a 0 14px,#d8ec91 14px 17px);transform-origin:left}
.feel-result .feel-best{font:13px/1.5 Arial,sans-serif!important;margin:10px 0 0!important;color:#34465a!important}.feel-sound-row{display:flex;justify-content:center;width:100%;margin:30px auto 12px}.feel-sound{min-height:44px;padding:10px 18px;border:2px solid #17263a;background:#fffdf5;color:#17263a;box-shadow:3px 3px #17263a;font:800 11px/1.4 ui-monospace,monospace;cursor:pointer}.feel-sound[aria-pressed=true]{background:#d8ec91}.feel-sound:active{transform:translate(2px,2px);box-shadow:1px 1px #17263a}.feel-sound:focus-visible{outline:3px solid #3e86a5;outline-offset:5px}
.feel-enter{position:relative;animation:feel-stamp .24s cubic-bezier(.2,.8,.2,1) both}.feel-enter[data-feel=cards]{animation-name:feel-cards}.feel-enter[data-feel=settle]{animation-name:feel-settle}.feel-enter .feel-meter-track>i{animation:feel-fill .38s cubic-bezier(.2,.8,.2,1) both}.feel-bits{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}.feel-bits i{position:absolute;left:calc(8% + var(--n)*11%);top:40%;width:8px;height:8px;border:1px solid #17263a;background:#91c7dc;animation:feel-bit .5s ease-out both;animation-delay:calc(var(--n)*.012s)}.feel-bits i:nth-child(3n){background:#f9e2a7}.feel-bits i:nth-child(2n){background:#b8d957}
@keyframes feel-stamp{from{transform:translateY(-5px) scale(.985);opacity:.6}to{transform:none;opacity:1}}
@keyframes feel-cards{from{transform:translateY(6px);opacity:.65}to{transform:none;opacity:1}}
@keyframes feel-settle{from{transform:translateX(-5px);opacity:.65}to{transform:none;opacity:1}}
@keyframes feel-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes feel-bit{0%{transform:translateY(12px) rotate(0);opacity:0}25%{opacity:1}100%{transform:translateY(-65px) rotate(90deg);opacity:0}}
/* Result actions stay before long explanations and use the same honest free replay. */
.pack-result .pack-submit,.prior-reveal .prior-next{margin:14px 0 22px}.pack-result-actions,.prior-result-actions{margin:22px 0}.pack-result-actions .button.feel-replay,.prior-result-actions .button.feel-replay{background:#b8d957!important;color:#17263a;border:2px solid #17263a}
.stake-results .feel-replay{display:block;width:100%;margin:18px 0 12px;background:#b8d957;color:#17263a;border:2px solid #17263a;min-height:48px}.bet-in-play.is-win .bet-in-play-copy>strong{color:#d8ec91}.stake-table .feel-meter>p{color:inherit!important}.stake-table .feel-result .feel-meter>p{color:#17263a!important}
#daily-summary .feel-result{margin-top:18px}.result-card .feel-meter{margin:14px 0}.result-card #next-button{margin:12px 0 18px}.result-card #result-detail{margin-bottom:12px}
#finalScreen .feel-result{margin:18px auto;text-align:left;max-width:480px}#finalScreen #playAgainBtn{background:#b8d957;color:#17263a;border:2px solid #17263a;box-shadow:3px 3px #17263a;min-height:48px}
@media(max-width:650px){.feel-result{padding:14px}.feel-stamp{font-size:11px}.feel-sound-row{margin-top:24px}}
@media(prefers-reduced-motion:reduce){.feel-enter,.feel-enter *,.feel-bits i{animation:none!important;transition:none!important}.feel-bits{display:none}}
.lowball-sound-row{order:5;flex:none;align-self:center}
.feel-sound{width:auto;flex:none;letter-spacing:normal;border-radius:0}

/* Subtle tactile feedback; interaction and scoring never wait for these transitions. */
.feel-sound{transition:background-color .16s ease,box-shadow .16s ease,transform .16s ease}
.feel-enter[data-feel=settle]{animation-duration:.22s}
@media(prefers-reduced-motion:reduce){.feel-sound{transition:none}}

.clock-running .feel-enter,.clock-running .feel-enter *{animation:none!important;transition:none!important}.clock-running .feel-bits{display:none}

/* Keep action geometry fixed: animate the content, never move a control under the pointer. */
.feel-enter[data-feel-stable=true]{animation-name:feel-fade}
.feel-enter[data-feel-stable=true] :is(h2,h3,.feel-stamp){animation:feel-detail .24s cubic-bezier(.2,.8,.2,1) both}
@keyframes feel-fade{from{opacity:.6}to{opacity:1}}
@keyframes feel-detail{from{transform:translateY(3px);opacity:.7}to{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){.feel-enter[data-feel-stable=true] :is(h2,h3,.feel-stamp){animation:none!important}}
