/* SIXSEVEN V2.4 — actual 6.7-second reaction game */
.game-section{background:#161311;color:#f4eee5;position:relative;isolation:isolate;padding:clamp(88px,10vw,150px) 0 0;overflow:hidden}
.game-section::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.38;background:repeating-linear-gradient(90deg,transparent 0 154px,#ffffff0a 155px 156px,transparent 157px 308px),radial-gradient(ellipse at 50% 43%,#62231566,transparent 72%)}
.game-eyebrow{display:flex;align-items:center;gap:16px;color:#ccc0b5;font:11px var(--mono);letter-spacing:.11em}.game-live{color:#f35937;font-size:27px}.game-label{margin-left:auto;color:#ee5738}
.game-title-line{display:flex;align-items:center;justify-content:space-between;margin:25px 0 15px;gap:20px}.game-title-line h2{font:clamp(70px,11vw,175px)/.99 var(--display);letter-spacing:-.025em;margin:0;white-space:nowrap}.game-title-line h2 span{color:#ef4d2c;text-shadow:8px 8px 0 #05040455;display:inline-block;transform:rotate(-4deg)}
.game-corner-stamp{border:3px solid #e64a2b;transform:rotate(8deg);font:900 24px/.98 var(--condensed);color:#f2a18e;padding:15px 18px;box-shadow:7px 7px 0 #07050566}
.game-intro>p{color:#c7bcb1;font:600 clamp(18px,2vw,26px)/1.3 var(--condensed);max-width:780px;margin:0 0 42px}.game-intro>p strong{color:#f3e9df}
.game-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.65fr);gap:clamp(22px,3vw,45px);align-items:stretch}
.game-arena{position:relative;isolation:isolate;overflow:hidden;min-width:0;min-height:690px;border:2px solid #f2e8d9;background:radial-gradient(ellipse at 50% 51%,#4e211c 0,#201918 45%,#111010 100%);box-shadow:12px 14px 0 #050404cc;display:flex;flex-direction:column}
.game-noise{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.18;background:repeating-linear-gradient(0deg,transparent 0 42px,#e1a09316 43px 44px),repeating-linear-gradient(90deg,transparent 0 42px,#e1a09316 43px 44px)}
.game-arena-bar{z-index:3;padding:19px 24px;display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid #635047;color:#e1d7cc;background:#1a1513b8;font:10px var(--mono);letter-spacing:.08em}
.game-signal{color:#f07056}.game-hud{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:3;padding:18px 24px;font:10px var(--mono);color:#b7a89f;letter-spacing:.12em}.game-hud span{display:flex;flex-direction:column;gap:4px}.game-hud span:last-child{text-align:right}.game-hud b{font:900 35px/.95 var(--display);color:#f3eadd;letter-spacing:.01em}
.game-center{position:relative;z-index:2;text-align:center;min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin-top:10px;pointer-events:none}.game-prompt-label{font:10px var(--mono);letter-spacing:.14em;color:#feb49a;min-height:15px}.game-prompt{font:clamp(105px,17vw,235px)/.97 var(--display);letter-spacing:-.07em;color:#f5ede3;text-shadow:7px 9px 0 #e94b2925;transform-origin:50% 60%;min-height:115px;white-space:nowrap}.game-prompt span{color:#e84b2d}.game-prompt-sub{font:800 clamp(15px,1.6vw,22px) var(--condensed);color:#d9c4b7;letter-spacing:.02em;min-height:25px}
.game-hands{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:0 clamp(20px,4vw,48px);z-index:3;position:relative;margin:12px 0 20px}.game-hand{appearance:none;border:2px solid #6d5148;background:#211b19;color:#f0e6dc;min-height:212px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;transition:background .13s,border-color .13s,box-shadow .13s;touch-action:manipulation;user-select:none;-webkit-tap-highlight-color:transparent}.game-hand img{height:126px;max-width:65%;width:auto;object-fit:contain;filter:drop-shadow(4px 5px 0 #0008);transition:transform .18s cubic-bezier(.18,.88,.28,1.4)}.game-hand-seven img{transform:scaleX(-1)}.game-hand-mark{position:absolute;left:14px;top:12px;display:flex;align-items:center;gap:10px;font:900 38px/.9 var(--display);z-index:2}.game-hand-mark small{font:9px var(--mono);letter-spacing:.05em;color:#d1bcb0}.game-key{position:absolute;bottom:11px;right:14px;font:10px var(--mono);color:#b4a398}.game-hand:not(:disabled){cursor:pointer;border-color:#a77767}.game-hand:not(:disabled):hover,.game-hand.is-target{border-color:#f3eee5;background:#e74b2c;color:white}.game-hand.is-target .game-hand-mark small,.game-hand.is-target .game-key{color:#fff1e5}.game-hand.is-target img{filter:drop-shadow(6px 7px 0 #581d18);transform:translateY(-10px) rotate(-9deg) scale(1.12)}.game-hand-seven.is-target img{transform:scaleX(-1) translateY(-10px) rotate(-9deg) scale(1.12)}.game-hand.is-hit{background:#f8e8d4!important;color:#16120f!important;border-color:#f8e8d4;box-shadow:inset 0 0 0 8px #e94b2b}.game-hand.is-hit img{transform:translateY(-26px) rotate(-17deg) scale(1.24)}.game-hand-seven.is-hit img{transform:scaleX(-1) translateY(-26px) rotate(-17deg) scale(1.24)}.game-hand.is-wrong{background:#821f1a!important;border-color:#f5d9d0!important}
.game-track{height:6px;margin:4px 24px 0;background:#5e3631;overflow:hidden;z-index:3}.game-track-fill{height:100%;width:0%;background:#f35836;transition:width .07s linear}.game-idle-panel{margin-top:auto;z-index:4;display:flex;align-items:center;flex-direction:column;padding:18px 30px 25px;gap:12px;background:#f0e7dc;color:#18120e}.game-idle-panel>span{font:11px var(--mono);letter-spacing:.08em}.game-play{display:flex;align-items:center;justify-content:center;gap:42px;background:#e84c2b;color:white;border:0;width:min(100%,470px);padding:20px 24px;font:900 31px/1 var(--condensed);box-shadow:5px 5px 0 #971b13;transition:transform .14s}.game-play:hover{transform:translateY(-2px)}.game-play b{font-size:26px}.game-idle-panel small{font:9px var(--mono);color:#6d6057;text-align:center}
.game-arena[data-game-state="playing"] .game-idle-panel,.game-arena[data-game-state="result"] .game-idle-panel{display:none}.game-arena[data-game-state="playing"] .game-hands{margin-bottom:25px}.game-arena[data-game-state="playing"] .game-track{margin-top:auto;margin-bottom:25px}
.game-arena[data-game-state="countdown"] .game-idle-panel{display:none}.game-arena[data-game-state="countdown"] .game-track{margin-top:auto;margin-bottom:25px}
.game-arena.is-good .game-prompt{animation:gameGood .25s ease-out}.game-arena.is-bad{animation:gameBad .27s steps(3,end)}.game-arena.is-bad .game-prompt{color:#ff8368}.game-arena.is-good .game-center{filter:drop-shadow(0 0 30px #ee4f2b60)}
.game-flying{position:absolute;inset:0;z-index:5;pointer-events:none;overflow:hidden}.game-fx{position:absolute;left:50%;top:44%;font:900 clamp(45px,7vw,105px)/1 var(--display);color:#fff7e8;text-shadow:4px 5px #ed4b2c,8px 8px #17100c;animation:gameParticle .75s cubic-bezier(.2,.78,.22,1) forwards;will-change:transform,opacity}
.game-result[hidden]{display:none!important}.game-result{position:absolute;inset:65px 0 0;z-index:12;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px clamp(14px,4vw,45px);background:linear-gradient(180deg,#1b1211f7,#2b1513fa);text-align:center;border-top:2px solid #f05e3b;animation:gameResultEnter .36s cubic-bezier(.18,.88,.32,1.2)}.game-result-kicker{font:10px var(--mono);letter-spacing:.07em;color:#f5a78e}.game-result h3{font:clamp(38px,6vw,70px)/1 var(--display);margin:16px 0 2px;color:#f1e8dc}.game-result-score{font:clamp(120px,18vw,220px)/.95 var(--display);color:#f35938;text-shadow:8px 10px 0 #090605;margin:0}.game-result>p{font:700 clamp(18px,2vw,26px)/1.16 var(--condensed);margin:2px 0 18px;color:#f2e4d8}.game-result-details{display:flex;justify-content:center;gap:clamp(13px,3vw,30px);width:100%;margin:10px 0 27px}.game-result-details span{display:flex;flex-direction:column;color:#a99a8f;font:10px var(--mono);gap:5px;white-space:nowrap}.game-result-details b{color:#f4e9da;font:28px var(--display)}.game-result-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;width:min(100%,540px)}.game-result-actions button{border:1px solid #f5ded3;min-height:57px;color:#f5ebdf;background:transparent;font:900 20px var(--condensed);padding:10px}.game-result-actions .game-again{background:#ee4e2c;border-color:#ee4e2c}.game-result-actions button:hover{filter:brightness(1.15)}.game-download{margin-top:16px;background:transparent;color:#d0b7a7;border:0;border-bottom:1px solid #a86a59;font:11px var(--mono);padding:8px}.game-download:hover{color:white}
.game-side{border:1px solid #5b3b33;background:#211b18;display:flex;flex-direction:column;min-width:0;box-shadow:9px 10px 0 #0009}.game-side-top{font:10px var(--mono);color:#e2d5c5;padding:24px 22px;border-bottom:1px solid #61493e;display:flex;justify-content:space-between;gap:7px}.game-side-top span:last-child{color:#f46546}.game-instruction{display:grid;grid-template-columns:37px 1fr;gap:12px;padding:clamp(20px,2.4vw,34px) 24px;border-bottom:1px solid #61493e}.game-instruction>span{font:11px var(--mono);color:#f46b4c;padding-top:4px}.game-instruction h3{font:900 clamp(25px,2.8vw,38px)/1 var(--condensed);color:#fff0e4;margin:0 0 12px}.game-instruction p{font:600 17px/1.28 var(--condensed);color:#bdb0a6;margin:0}.game-side-bottom{padding:28px 23px 25px;display:flex;flex-direction:column;gap:5px;background:#ee4f2e;margin-top:auto}.game-side-bottom>span{font:10px var(--mono);letter-spacing:.04em}.game-side-bottom strong{font:clamp(75px,9vw,125px)/1 var(--display);color:#ffefe4}.game-side-bottom small{font:11px/1.5 var(--mono);color:#fbe0d3}.game-aside-note{font:9px var(--mono);letter-spacing:.16em;color:#ab9384;padding:17px 23px;margin:0}
.game-bottom{display:flex;align-items:center;gap:22px;margin-top:70px;padding:25px 0 55px;border-top:1px solid #765345;font:10px var(--mono);color:#c8ad9e}.game-bottom>span{font-size:30px;color:#ef4c2c}.game-bottom p{margin:0;flex:1}.game-bottom a{color:#fff0e6;font:800 17px var(--condensed);border-bottom:1px solid #e64b2f;padding-bottom:5px}.game-bottom a:hover{color:#f27353}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@keyframes gameGood{0%{transform:scale(.91) rotate(-4deg)}60%{transform:scale(1.1) rotate(3deg)}100%{transform:scale(1)}}
@keyframes gameBad{0%,100%{transform:translateX(0)}25%{transform:translateX(-10px)}50%{transform:translateX(9px)}75%{transform:translateX(-5px)}}
@keyframes gameParticle{0%{transform:translate(-50%,-50%) scale(.4) rotate(-8deg);opacity:0}17%{opacity:1}100%{transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) scale(1.3) rotate(var(--r));opacity:0}}
@keyframes gameResultEnter{0%{opacity:0;transform:translateY(26px)}100%{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.game-grid{grid-template-columns:minmax(0,1.35fr) minmax(270px,.75fr);gap:20px}.game-arena{min-height:650px}.game-side-top,.game-instruction{padding-inline:17px}.game-instruction h3{font-size:29px}.game-hand{min-height:190px}.game-hand img{height:109px}}
@media(max-width:800px){.game-grid{grid-template-columns:1fr}.game-arena{min-height:610px;max-width:740px;width:100%;margin:auto}.game-side{max-width:740px;width:100%;margin:auto}.game-instructions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.game-instruction{grid-template-columns:1fr;gap:8px;padding:20px 15px}.game-instruction h3{font-size:25px}.game-instruction p{font-size:16px}.game-side-bottom strong{font-size:82px}.game-title-line h2{font-size:clamp(70px,13vw,130px)}.game-corner-stamp{font-size:18px}}
@media(max-width:560px){.game-section{padding-top:75px}.game-eyebrow{font-size:8px;gap:8px}.game-label{font-size:8px}.game-title-line{margin:24px 0 15px}.game-title-line h2{font-size:clamp(50px,12.4vw,78px)}.game-corner-stamp{display:none}.game-intro>p{font-size:19px;margin-bottom:27px}.game-arena{min-height:600px;box-shadow:5px 7px 0 #000b}.game-arena-bar{padding:14px 13px;font-size:8px}.game-hud{padding:14px 14px}.game-hud b{font-size:27px}.game-center{min-height:178px;margin:0}.game-prompt{font-size:clamp(113px,32vw,170px)}.game-prompt-sub{font-size:17px}.game-prompt-label{font-size:8px}.game-hands{gap:9px;padding:0 12px;margin:6px 0 15px}.game-hand{min-height:190px}.game-hand img{height:113px;max-width:73%}.game-hand-mark{left:9px;top:9px;font-size:31px}.game-hand-mark small{font-size:7px}.game-key{right:10px;bottom:9px;font-size:9px}.game-track{margin-inline:13px}.game-idle-panel{padding:17px 14px 22px}.game-play{font-size:27px;min-height:65px}.game-idle-panel small{font-size:8px}.game-result{inset:52px 0 0;padding:14px 12px}.game-result-kicker{font-size:8px}.game-result h3{font-size:43px;margin:15px 0 6px}.game-result-score{font-size:clamp(104px,28vw,165px)}.game-result>p{font-size:19px}.game-result-details{gap:11px;margin:14px 0 18px}.game-result-details span{font-size:8px}.game-result-details b{font-size:22px}.game-result-actions button{font-size:18px;padding:8px;min-height:51px}.game-download{font-size:10px}.game-instructions{grid-template-columns:1fr}.game-instruction{grid-template-columns:35px 1fr;padding:19px}.game-instruction h3{font-size:27px}.game-side-bottom{padding:23px}.game-side-bottom strong{font-size:95px}.game-bottom{flex-wrap:wrap;gap:9px;margin-top:55px}.game-bottom p{flex-basis:calc(100% - 48px);font-size:9px}.game-bottom a{margin-left:40px}}
@media(max-width:380px){.game-title-line h2{font-size:12vw}.game-hands{padding:0 9px;gap:6px}.game-hand{min-height:178px}.game-hand img{height:97px}.game-result-score{font-size:100px}.game-result-details span{font-size:7px}.game-result-actions button{font-size:16px}.game-arena{min-height:580px}}
@media(prefers-reduced-motion:reduce){.game-arena.is-bad,.game-arena.is-good .game-prompt,.game-fx,.game-result{animation:none!important}.game-hand,.game-hand img{transition:none!important}}
/* V2.4 QA: keep the active playfield and result in the viewport. */
.game-grid{align-items:start}
.game-arena{height:738px;min-height:738px;scroll-margin-top:12px}
.game-side{height:738px}
.game-instruction{padding:18px 21px}
.game-instruction h3{font-size:29px;margin-bottom:7px}
.game-instruction p{font-size:16px}
.game-side-bottom{padding:17px 21px 13px}
.game-side-bottom strong{font-size:80px}
@media(max-width:800px){.game-arena{height:660px;min-height:660px}.game-side{height:auto}.game-instruction h3{font-size:25px}}
@media(max-width:560px){.game-arena{height:645px;min-height:645px}.game-result-score{font-size:clamp(95px,24vw,135px)}.game-result h3{font-size:clamp(32px,9vw,42px)}}
@media(max-width:380px){.game-arena{height:620px;min-height:620px}.game-result-score{font-size:95px}}
/* Compact internal flow so the primary PLAY control is never clipped. */
.game-center{min-height:175px}
.game-hands{margin-top:2px;margin-bottom:10px}
.game-idle-panel{padding-block:14px 17px;gap:9px}
@media(max-width:560px){.game-center{min-height:150px}.game-hands{margin:0 0 10px}.game-hand{min-height:172px}.game-hand img{height:105px}.game-idle-panel{padding:10px 12px 15px;gap:8px}}
@media(max-width:380px){.game-hand{min-height:158px}.game-hand img{height:92px}}

/* V2.5: level system, unmistakable full-card touch targets and finale. */
.game-section{overflow:clip}
.game-intro>p strong{color:#f6eee4}
.game-arena{height:745px;min-height:745px;scroll-margin-top:16px}
.game-arena-bar{flex-shrink:0}
.game-level-status{position:relative;z-index:3;padding:7px 22px;display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid #5b403b;border-bottom:1px solid #5b403b;background:#0e0b0acc;font:10px var(--mono);letter-spacing:.07em;color:#f1e0d3;min-height:35px}
.game-level-status strong{color:#ff6c48;font-size:12px}.game-level-status span{font-size:9px;color:#cbb4a8}
.game-hud{padding-top:14px;padding-bottom:13px}
.game-center{margin-top:0;min-height:173px}
.game-prompt{font-size:clamp(110px,14vw,185px);min-height:105px}
.game-prompt-label{font-weight:800;font-size:12px;letter-spacing:.08em;color:#ffbc9e}
.game-prompt-sub{font-size:clamp(16px,1.6vw,21px);letter-spacing:.02em;color:#f3e4d8;text-wrap:balance;padding:0 10px}
.game-hands{gap:16px;padding-inline:25px;margin:6px 0 18px}
.game-hand{min-height:225px;border:3px solid #806156;cursor:pointer;touch-action:manipulation;position:relative;background:#251b18;transition:background .18s,border-color .18s,box-shadow .18s,transform .16s}
.game-hand:disabled{cursor:default;opacity:.88}.game-hand.is-target{border-color:#fff6e8!important;background:#ef4b29!important;box-shadow:inset 0 0 0 5px #fff1dd,0 0 25px #ff4d2866;transform:translateY(-2px)}
.game-hand.is-target:before{content:"";position:absolute;inset:5px;border:2px dashed #ffffff8c;pointer-events:none}
.game-hand.is-target:focus-visible{outline:4px solid #ffe188}
.game-hand.is-available:not(.is-target){opacity:.8}
.game-hand:not(:disabled):active{transform:scale(.97)}
.game-hand img{height:124px;max-width:62%;pointer-events:none}
.game-hand-mark,.game-key,.game-hit-hint{pointer-events:none}
.game-hit-hint{position:absolute;z-index:5;left:50%;bottom:10px;transform:translateX(-50%);font:900 20px/.92 var(--condensed);letter-spacing:.02em;color:#1a100d;background:#fff2de;padding:7px 12px;white-space:nowrap;opacity:0;transition:opacity .12s}
.game-hand.is-target .game-hit-hint{opacity:1}
.game-hand.is-target .game-key{opacity:0}
.game-hand:disabled .game-hit-hint{display:none}
.game-track{margin:7px 22px 0;height:8px;flex-shrink:0}
.game-idle-panel[hidden]{display:none!important}
.game-arena:not([data-game-state="idle"]) .game-idle-panel{display:none!important}
.game-arena[data-game-state="training"] .game-track,.game-arena[data-game-state="playing"] .game-track{margin-top:auto;margin-bottom:24px}
.game-arena[data-game-state="playing"] .game-hands,.game-arena[data-game-state="training"] .game-hands{margin-bottom:8px}
.game-level-panel[hidden]{display:none!important}
.game-level-panel{position:absolute;inset:64px 0 0;z-index:13;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:30px 28px;background:radial-gradient(circle at 50% 30%,#59251e,#1c1513 66%);border-top:2px solid #f35c39}
.game-level-panel>span{font:11px/1.5 var(--mono);letter-spacing:.1em;color:#f69b7a}
.game-level-panel>strong{font:clamp(100px,16vw,188px)/1 var(--display);color:#fbf0e4;text-shadow:10px 12px 0 #e74a2b;margin-top:10px}
.game-level-panel>strong i{font:italic 26px var(--condensed);color:#f1a38b;vertical-align:middle;text-shadow:none}
.game-level-panel>h3{font:clamp(36px,5vw,65px)/1 var(--display);margin:13px 0 6px;color:#f45c38}
.game-level-panel>p{font:700 clamp(18px,2vw,24px)/1.3 var(--condensed);color:#e4d8ce;max-width:490px;text-wrap:balance;margin:8px 0 22px}
.game-panel-score{font:11px var(--mono);color:#c7aaa0;display:flex;gap:20px;align-items:center;margin:6px 0 25px}
.game-panel-score b{font:38px/.9 var(--display);color:#fff0e4}
.game-level-panel .game-play{min-height:64px;width:min(100%,430px)}
.game-result-best{font:11px var(--mono);color:#d4b4a5;margin:0 0 14px}.game-result-best b{color:white}
.game-result-details{margin-bottom:12px}
.game-arena[data-game-state="finale"] .game-hand{opacity:.3}
.game-finale{position:fixed;inset:0;z-index:600;background:radial-gradient(circle at 50% 45%,#f56e3d 0,#eb4428 35%,#1b100f 95%);overflow:hidden;pointer-events:none;visibility:hidden;opacity:0;isolation:isolate}
.game-finale.is-live{visibility:visible;opacity:1;pointer-events:auto;animation:finaleBackdrop 3.8s ease both}
.game-finale::before{position:absolute;content:"";inset:-25%;background:repeating-conic-gradient(from -20deg at center,#f8eadb36 0deg 3deg,transparent 4deg 14deg);opacity:.55;transform:rotate(0deg) scale(.7)}
.game-finale.is-live::before{animation:finaleRays 3.8s ease-out both}
.finale-ripple{position:absolute;left:50%;top:50%;width:200px;aspect-ratio:1;border:24px solid #fff6e7;border-radius:50%;transform:translate(-50%,-50%) scale(0);opacity:0;box-shadow:0 0 0 38px #17100e}
.game-finale.is-live .finale-ripple{animation:finaleRipple 2.6s .3s cubic-bezier(.15,.73,.28,1) both}
.finale-burst{position:absolute;width:min(35vw,500px);aspect-ratio:1;background:#0b0808;clip-path:polygon(50% 0,62% 34%,98% 17%,76% 51%,100% 68%,62% 70%,50% 100%,35% 70%,0 86%,20% 50%,2% 25%,38% 32%);opacity:.23}
.finale-burst-a{left:-11vw;top:-9vw;transform:rotate(12deg)}.finale-burst-b{right:-11vw;bottom:-12vw;transform:rotate(-9deg);background:#fff8e8;opacity:.26}
.game-finale.is-live .finale-burst-a{animation:finaleSpin 3.8s linear both}.game-finale.is-live .finale-burst-b{animation:finaleSpinBack 3.8s linear both}
.finale-hands{position:absolute;inset:0;z-index:1;display:flex;justify-content:space-between;align-items:center;pointer-events:none}
.finale-hands img{width:min(42vw,610px);max-height:86vh;object-fit:contain;filter:drop-shadow(16px 17px 0 #17110d);transform:translateX(-110vw) rotate(-30deg)}
.finale-hands img+img{transform:translateX(110vw) scaleX(-1) rotate(30deg)}
.game-finale.is-live .finale-hands img:first-child{animation:finaleHandLeft 3.8s cubic-bezier(.18,.86,.23,1) both}
.game-finale.is-live .finale-hands img+img{animation:finaleHandRight 3.8s cubic-bezier(.18,.86,.23,1) both}
.finale-center{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;pointer-events:none;color:#fef4e6;text-shadow:6px 8px #18110ec5;padding:25px}
.finale-center>span{font:12px var(--mono);letter-spacing:.09em;background:#1b100f;padding:9px 13px}
.finale-center>strong{font:clamp(130px,33vw,480px)/.9 var(--display);letter-spacing:-.07em;transform:rotate(-7deg)}
.finale-center>h2{font:clamp(38px,8vw,105px)/.94 var(--display);margin:4px 0 22px;color:#fff4e5}
.finale-center>p{font:12px var(--mono);letter-spacing:.11em;background:#18110f;padding:9px 16px}
.game-finale.is-live .finale-center>strong{animation:finaleBigType 3.8s cubic-bezier(.16,.83,.26,1) both}
.game-finale.is-live .finale-center>h2{animation:finaleCaption 3.8s ease both}
.finale-skip{position:absolute;right:clamp(16px,3vw,55px);bottom:clamp(18px,4vh,38px);z-index:5;background:#17110f;color:#fff1e2;border:2px solid #fff5e6;padding:14px 23px;font:900 18px var(--condensed);cursor:pointer;pointer-events:auto}
.finale-skip:hover{background:white;color:#1b100f}
@keyframes finaleBackdrop{0%{filter:saturate(.65);transform:scale(1.04)}20%{filter:saturate(1.25);transform:scale(1)}100%{filter:saturate(1);transform:scale(1)}}
@keyframes finaleRays{0%{transform:rotate(-24deg) scale(.5);opacity:0}35%{opacity:.65}100%{transform:rotate(40deg) scale(1.2);opacity:.4}}
@keyframes finaleRipple{0%{transform:translate(-50%,-50%) scale(0);opacity:0}20%{opacity:.92}100%{transform:translate(-50%,-50%) scale(18);opacity:0}}
@keyframes finaleSpin{to{transform:rotate(140deg) scale(1.3)}}
@keyframes finaleSpinBack{to{transform:rotate(-148deg) scale(1.3)}}
@keyframes finaleHandLeft{0%{transform:translateX(-110vw) rotate(-45deg)}27%{transform:translateX(-11vw) rotate(-14deg)}44%{transform:translateX(-3vw) rotate(4deg)}61%{transform:translateX(-13vw) rotate(-13deg)}83%{transform:translateX(-3vw) rotate(5deg)}100%{transform:translateX(-13vw) rotate(-9deg)}}
@keyframes finaleHandRight{0%{transform:translateX(110vw) scaleX(-1) rotate(45deg)}27%{transform:translateX(11vw) scaleX(-1) rotate(14deg)}44%{transform:translateX(3vw) scaleX(-1) rotate(-4deg)}61%{transform:translateX(13vw) scaleX(-1) rotate(13deg)}83%{transform:translateX(3vw) scaleX(-1) rotate(-5deg)}100%{transform:translateX(13vw) scaleX(-1) rotate(9deg)}}
@keyframes finaleBigType{0%{opacity:0;transform:rotate(-26deg) scale(.2)}35%{opacity:1;transform:rotate(9deg) scale(1.22)}57%{transform:rotate(-8deg) scale(.94)}78%{transform:rotate(6deg) scale(1.08)}100%{transform:rotate(-5deg) scale(1)}}
@keyframes finaleCaption{0%,32%{opacity:0;transform:translateY(35px)}45%,100%{opacity:1;transform:translateY(0)}}
@media(max-width:800px){.game-arena{height:700px;min-height:700px}.game-hands{gap:12px}.game-hand{min-height:190px}.game-level-panel{inset:62px 0 0}}
@media(max-width:560px){
 .game-arena{height:660px;min-height:660px}.game-level-status{padding:7px 13px}.game-level-status strong{font-size:10px}.game-level-status span{font-size:8px}
 .game-hud{padding:11px 13px}.game-hud b{font-size:27px}.game-center{min-height:152px}
 .game-prompt{font-size:clamp(100px,31vw,150px);min-height:90px}.game-prompt-label{font-size:10px}.game-prompt-sub{font-size:15px;min-height:38px;line-height:1.14}
 .game-hands{gap:9px;padding-inline:10px;margin-bottom:10px}.game-hand{min-height:178px}.game-hand img{height:106px;max-width:74%}
 .game-hand-mark{top:8px;left:9px;font-size:31px}.game-hand-mark small{font-size:7px}
 .game-hit-hint{font-size:16px;padding:6px 9px;bottom:8px}.game-key{font-size:8px}
 .game-track{margin:6px 12px 0}.game-arena[data-game-state="training"] .game-track,.game-arena[data-game-state="playing"] .game-track{margin-bottom:14px}
 .game-level-panel{inset:52px 0 0;padding:17px 14px}.game-level-panel>span{font-size:9px}.game-level-panel>strong{font-size:114px}.game-level-panel>h3{font-size:45px}.game-level-panel>p{font-size:19px;margin:11px 0 18px}.game-panel-score{margin:5px 0 17px}.game-panel-score b{font-size:28px}.game-level-panel .game-play{min-height:60px;font-size:24px}
 .game-result{inset:52px 0 0}.game-result-score{font-size:clamp(100px,27vw,139px)}
 .finale-center>strong{font-size:35vw}.finale-center>span{font-size:8px}.finale-center>h2{font-size:12vw}.finale-center>p{font-size:9px}.finale-hands img{width:65vw;max-width:none}
}
@media(max-width:380px){.game-arena{height:640px;min-height:640px}.game-center{min-height:137px}.game-hand{min-height:159px}.game-hand img{height:91px}.game-level-panel>strong{font-size:102px}.game-level-panel>h3{font-size:38px}.game-level-panel>p{font-size:18px}}
@media(prefers-reduced-motion:reduce){.game-finale,.game-finale *, .game-hand.is-target{animation:none!important;transition:none!important}.game-arena.is-good,.game-arena.is-bad{animation:none!important}}

/* Mobile tap QA — no stale hover can make the incorrect hand look active. */
.game-hand.is-available:not(.is-target),.game-hand.is-available:not(.is-target):hover{background:#251b19!important;border-color:#806156!important;color:#f0e6dc!important;opacity:.92;box-shadow:none!important;transform:none!important}
.game-hand.is-available:not(.is-target) .game-hit-hint{opacity:0!important}
.game-hand.is-target .game-hit-hint{background:#fff5e4;color:#22110c;opacity:1!important;box-shadow:0 3px 0 #5c271b}
.game-result{background:#241715}
@media(hover:hover){.game-hand.is-available:not(.is-target):hover{background:#3d2b25!important}}

/* V2.6: deadline visualization; resets every cue. The level-progress bar is separate. */
.game-reaction[hidden]{display:none!important}
.game-reaction{position:relative;z-index:5;margin:0 24px 8px;flex-shrink:0}
.game-reaction>span{display:block;font:9px/1.3 var(--mono);letter-spacing:.1em;color:#f9b59c;margin-bottom:6px}
.game-reaction-rail{height:10px;background:#422420;overflow:hidden;outline:1px solid #875044}
.game-reaction-rail>div{height:100%;width:100%;background:linear-gradient(90deg,#e5e2d8,#f86037);transform-origin:left center;transform:scaleX(0)}
.game-new-cue .game-prompt{animation:cueHit .14s cubic-bezier(.23,1,.3,1) both}
@keyframes cueHit{from{transform:scale(1.18);filter:drop-shadow(0 0 15px #e84b2b)}to{transform:scale(1);filter:none}}
.game-arena[data-level="3"] .game-signal,.game-arena[data-level="4"] .game-signal,.game-arena[data-level="5"] .game-signal{color:#ff6c4b}
.game-arena[data-level="5"] .game-reaction-rail{height:13px;outline-color:#ef5834}
.game-arena[data-level="5"] .game-prompt-label{color:#f85636}
@media(max-width:560px){.game-reaction{margin:0 13px 7px}.game-reaction>span{font-size:8px}.game-reaction-rail{height:8px}.game-arena[data-game-state="playing"] .game-hands{margin-bottom:4px}.game-arena[data-game-state="playing"] .game-track{margin-bottom:10px}}
@media(prefers-reduced-motion:reduce){.game-new-cue .game-prompt{animation:none}}

/* V2.6 / 3 lives — visible hands with immediate feedback and per-level reset */
.game-hud .game-lives-block{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:108px}
.game-lives-caption{display:flex;align-items:baseline;justify-content:center;gap:8px;font:10px/1 var(--mono);letter-spacing:.09em;color:#ead2c8}
.game-lives-caption strong{font:12px/1 var(--mono);color:#ff6a48;letter-spacing:0}
.game-lives-icons{display:flex;justify-content:center;align-items:center;gap:5px;min-height:36px}
.game-lives-icons .game-life{height:34px;width:28px;max-width:none;object-fit:contain;filter:drop-shadow(0 0 5px #e94b2b88);transition:opacity .24s,filter .24s,transform .24s}
.game-lives-icons .game-life.is-lost{opacity:.16;filter:grayscale(1);transform:rotate(18deg) translateY(3px)}
.game-lives-icons.is-damaged .game-life:not(.is-lost){animation:gameLifeShake .34s ease-out}
@keyframes gameLifeShake{0%{transform:translateX(-5px)}33%{transform:translateX(5px)}66%{transform:translateX(-2px)}100%{transform:translateX(0)}}
.game-arena[data-game-state="out-of-lives"] .game-prompt{color:#ff5339}
@media(max-width:560px){.game-hud{padding:8px 13px}.game-hud .game-lives-block{min-width:90px;gap:4px}.game-lives-icons{min-height:28px;gap:3px}.game-lives-icons .game-life{height:27px;width:24px}.game-lives-caption{font-size:9px}.game-lives-caption strong{font-size:10px}}
@media(max-width:360px){.game-hud .game-lives-block{min-width:75px}.game-lives-icons .game-life{height:25px;width:21px}}
@media(prefers-reduced-motion:reduce){.game-lives-icons.is-damaged .game-life:not(.is-lost){animation:none}}


/* SIXSEVEN V4.0 — clarity, pacing and tactile accessibility */
.play-page .game-arena{background:radial-gradient(ellipse at 50% 43%,#4c221b 0%,#251816 48%,#120f0e 93%);border-color:#b8a198;box-shadow:7px 8px 0 #0009}
.play-page .game-arena-bar{gap:8px;min-height:52px;padding:10px 17px;color:#c4b1a7}
.game-arena-actions{display:flex;align-items:center;gap:8px;min-width:0}
.game-arena-actions .game-signal{font:9px/1.25 var(--mono);max-width:230px;white-space:normal;text-align:right}
.game-pause-toggle,.game-audio-toggle{flex:none;border:1px solid #765245;color:#f4e9de;background:#241b18;min-height:35px;padding:6px 11px;font:900 12px var(--condensed);letter-spacing:.06em;cursor:pointer}
.game-pause-toggle:hover:not(:disabled),.game-audio-toggle:hover{border-color:#ff6c4a;background:#3e2620}
.game-pause-toggle:disabled{opacity:.4;cursor:not-allowed}
.game-audio-toggle[aria-pressed=false]{opacity:.6}
.game-pause-toggle:focus-visible,.game-audio-toggle:focus-visible{outline:3px solid #d9ff4f;outline-offset:2px}
.play-page .game-center{min-height:175px;flex-shrink:0}
.play-page .game-hands{flex:1 1 auto;min-height:0;max-height:245px;align-items:stretch;padding:0 20px;margin:6px 0 9px}
.play-page .game-hand{height:100%;min-height:170px;max-height:245px;border-width:2px;outline-offset:3px;will-change:transform}
.play-page .game-hand:not(.is-target):hover{border-color:#9d7263}
.play-page .game-hand.is-target{border-color:#fdf7e8!important;box-shadow:inset 0 0 0 4px #ffe8d7,0 0 21px rgba(247,90,55,.4)}
.play-page .game-hand.is-target img{filter:drop-shadow(5px 8px 0 #61221d)}
.play-page .game-reaction{margin:2px 20px 8px;flex:0 0 auto;min-height:29px}
.play-page .game-reaction>span{display:block;margin-bottom:5px;color:#edb0a0}
.play-page .game-reaction-rail{height:9px;background:#4a2722}
.play-page .game-reaction-rail>div{background:linear-gradient(90deg,#d9ff4f 0%,#f8d481 50%,#f65e3d 100%)}
.play-page .game-track{flex:0 0 8px;margin:0 20px 18px!important;background:#57392f;height:8px}
.play-page .game-track-fill{background:linear-gradient(90deg,#f35d37,#d9ff4f)}
.play-page .game-center:before{content:'';position:absolute;width:min(46%,230px);aspect-ratio:1;left:50%;top:50%;transform:translate(-50%,-51%);z-index:-1;border:1px solid rgba(255,255,255,.045);border-radius:50%;box-shadow:0 0 0 20px rgba(255,255,255,.014),0 0 0 42px rgba(255,255,255,.011);pointer-events:none}
.play-page .game-arena[data-game-state=playing] .game-prompt{color:#f9f2e7}
.play-page .game-arena[data-game-state=playing] .game-prompt-label{color:#d9ff4f}
.play-page .game-hand.is-available:not(.is-target) .game-hit-hint{display:none}
.play-page .game-hand.is-hit{background:#e8faad!important;border-color:#e8faad!important;box-shadow:inset 0 0 0 5px #b7d651,0 0 26px #d9ff4f55!important}
.play-page .game-hand.is-wrong{background:#b6271f!important;border-color:#ffd0be!important;box-shadow:inset 0 0 0 4px #f18063!important}
.play-page .game-arena.game-new-cue .game-hand.is-target{animation:v4TargetPulse .16s ease-out both}
@keyframes v4TargetPulse{from{filter:brightness(1.8);box-shadow:inset 0 0 0 7px #fff3de,0 0 40px #ff8057}to{filter:brightness(1)}}
.game-pause-panel[hidden]{display:none!important}
.game-pause-panel{position:absolute;inset:52px 0 0;z-index:30;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:13px;padding:24px 22px;background:linear-gradient(145deg,rgba(19,16,14,.97),rgba(56,29,22,.98));border-top:2px solid #d9ff4f}
.game-pause-kicker{font:10px var(--mono);letter-spacing:.1em;color:#d9ff4f}
.game-pause-panel>strong{font:120px/.9 var(--display);color:#d9ff4f}
.game-pause-panel h3{font:clamp(40px,6vw,65px)/.95 var(--display);margin:0;color:#f7eee2}
.game-pause-panel p{font:700 clamp(17px,2vw,23px)/1.25 var(--condensed);max-width:430px;margin:0;color:#d6c1b7}
.game-pause-panel .game-play{width:min(100%,350px);margin-top:12px}
.game-pause-panel small{font:9px var(--mono);color:#bba99b}
.play-page .game-arena[data-game-state=paused] .game-hand{opacity:.4}
.play-page .game-arena .game-fx{top:51%}
.play-page .game-result-score{font-size:clamp(80px,13vw,170px)}
@media(max-width:960px){.play-page .game-hands{max-height:none}.play-page .game-hand{max-height:none}}
@media(max-width:600px){
  .play-page .game-arena{height:clamp(595px,calc(100svh - 107px),745px);min-height:595px}
  .play-page .game-arena-bar{min-height:43px;padding:7px 9px}.play-page .game-arena-bar>span{font-size:8px;max-width:116px}
  .game-arena-actions{gap:5px}.game-arena-actions .game-signal{display:none}
  .game-pause-toggle,.game-audio-toggle{min-height:32px;padding:5px 8px;font-size:10px}
  .play-page .game-hud{padding:7px 10px}.play-page .game-hud b{font-size:27px}
  .play-page .game-level-status{padding:7px 11px;min-height:31px}
  .play-page .game-center{min-height:clamp(140px,23svh,192px);flex:0 0 auto}
  .play-page .game-prompt{font-size:clamp(95px,25vw,140px);min-height:90px}
  .play-page .game-prompt-sub{font-size:17px;min-height:20px}
  .play-page .game-reaction{margin:0 11px 8px;min-height:22px}
  .play-page .game-reaction>span{font-size:8px}
  .play-page .game-hands{flex:1 1 auto;min-height:190px;max-height:none;margin:4px 0 12px;padding:0 10px;gap:10px}
  .play-page .game-hand{height:100%;min-height:180px;max-height:none}
  .play-page .game-hand img{height:clamp(97px,14svh,140px);max-width:70%}
  .play-page .game-track{margin:0 11px 15px!important}
  .play-page .game-arena[data-game-state=idle] .game-hands{flex:0 0 200px;min-height:200px}
  .game-pause-panel{inset:43px 0 0}.game-pause-panel>strong{font-size:100px}
  .game-pause-panel h3{font-size:46px}
  .play-page .game-fx{font-size:57px}
}
@media(max-width:375px){.play-page .game-arena{min-height:565px;height:clamp(565px,calc(100svh - 103px),710px)}.play-page .game-hands{min-height:165px;gap:7px;padding-inline:8px}.play-page .game-hand{min-height:165px}.play-page .game-hand img{height:93px}}
@media(prefers-reduced-motion:reduce){.play-page .game-arena.game-new-cue .game-hand.is-target{animation:none}.play-page .game-hand{will-change:auto}}

.play-page .game-hand{touch-action:none}
.play-page .game-hand:focus-visible{outline:3px solid #d9ff4f;outline-offset:2px}
.play-page .game-pause-toggle:focus-visible,.play-page .game-audio-toggle:focus-visible{outline:3px solid #d9ff4f}
@media(max-width:600px){.play-page .game-level-panel>h3{font-size:clamp(31px,8.5vw,51px);max-width:100%;overflow-wrap:anywhere;text-wrap:balance}}
