@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600&display=swap');*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;background:#102c34;color:#f5f1e6;font-family:'Space Grotesk','Arial',sans-serif}body{overflow:hidden}button,a,input{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #f9c744;outline-offset:5px}button{color:inherit}button:disabled{opacity:.5;cursor:default}[hidden]{display:none!important}#experience{height:100dvh;min-height:300px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 70% 40%,#1e3f46 0,transparent 65%),#102c34;user-select:none}#experience:before{content:'';position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#ffffff04 1px,transparent 1px),linear-gradient(90deg,#ffffff04 1px,transparent 1px);background-size:14vw 14vw}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;padding:20px 4vw;position:relative;z-index:3}.brand{font-weight:400;font-size:22px;line-height:.86;letter-spacing:2px;color:inherit;text-decoration:none;position:relative}.brand i{position:absolute;left:60px;bottom:0;font-style:normal}.edition,.eyebrow,.micro{font-size:11px;letter-spacing:2px;line-height:1.6}.edition{opacity:.65}.tools{display:flex;gap:12px}.tools button{border:1px solid #ffffff24;background:transparent;padding:8px 12px;border-radius:30px;font-size:12px}.screen{position:absolute;inset:88px 0 0;padding:3vh 5vw 4vh;animation:enter .3s ease}.eyebrow{color:#b6c3c2;margin:0 0 14px}h1,h2,p{margin-top:0}h2{font-size:clamp(34px,4vw,64px);font-weight:500;letter-spacing:-2px;line-height:1.07;margin-bottom:24px}em{font-style:normal;color:#f9c744}.primary,.secondary{border:1px solid #f9c744;padding:17px 24px;letter-spacing:1.5px;font-size:11px;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;background:#f9c744;color:#102c34;min-height:50px}.primary:hover{background:#ffda77}.primary span{font-size:24px}.secondary{background:transparent;color:#f5f1e6;border-color:#ffffff44}.secondary:hover{border-color:#f9c744}.text-button{border:0;background:none;padding:16px 12px;text-transform:uppercase;font-size:10px;letter-spacing:1.3px}.micro{opacity:.6;margin:20px 0 0;font-size:9px}.attract{display:flex;align-items:center;gap:6vw}.attract-copy{position:relative;z-index:1;width:49%}.attract h1{font-size:clamp(60px,9vw,150px);line-height:.85;letter-spacing:-.06em;font-weight:600;margin:26px 0}.title-dot{font-size:.2em;vertical-align:top;color:#f9c744;padding-left:.5em}.tagline{font-size:clamp(20px,2.2vw,34px);line-height:1.2;margin:30px 0}.ambient-panel{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(10px,2vw,32px);width:40%;max-width:550px;transform:rotate(-5deg);padding:20px;border:1px solid #ffffff1a;border-radius:18px;box-shadow:0 30px 70px #0003}.ambient-panel i{aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 36% 30%,#fffdf2,#d3d6ce 70%,#7f9090);box-shadow:inset 0 0 0 5px #173b4144,0 5px 12px #0003;animation:breathe 7s infinite;animation-delay:calc(var(--i)*.55s)}.attract-foot{position:absolute;bottom:2vh;left:5vw;font-size:9px;letter-spacing:2px;opacity:.5}.intro,.instructions{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding-left:13vw}.intro p:not(.eyebrow),#mode-rule{font-size:20px;line-height:1.5;max-width:640px}.intro h2{font-size:clamp(38px,5vw,76px)}.instructions h2{font-size:clamp(50px,7vw,100px)}.legend{display:flex;gap:30px;margin:0 0 20px;font-size:13px}.legend i{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;font-style:normal;margin-right:8px;font-size:24px}.amber{background:#f9c744;color:#102c34}.blue{background:#6eaec8;color:#102c34}.instructions .micro{margin:0 0 24px}.modes{overflow:auto}.modes h2{margin-bottom:3vh}#mode-list{display:grid;grid-template-columns:repeat(5,1fr);gap:15px}#mode-list button{position:relative;border:1px solid #ffffff25;background:#ffffff03;text-align:left;padding:22px 18px;color:inherit;transition:background .2s}#mode-list button:hover{background:#ffffff0a;border-color:#f9c744}#mode-list b{display:block;font-size:22px;font-weight:500;margin:16px 0 8px}#mode-list p{font-size:13px;line-height:1.5;min-height:42px;color:#becbcb}#mode-list .num{font-size:12px;color:#f9c744;letter-spacing:2px}.mini{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:85px;margin:22px auto 8px}.mini i{aspect-ratio:1;background:#d1d8d1;border-radius:50%}.mini i:nth-child(4){background:#f9c744;animation:pulse 3s infinite}.countdown{display:flex;flex-direction:column;align-items:center;justify-content:center}.countdown strong{font-size:clamp(140px,24vw,280px);font-weight:500;line-height:1;color:#f9c744}.countdown p:last-child{margin-top:25px;font-size:14px}.game{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:5vw;padding-top:0;padding-bottom:2vh;touch-action:none}.game-main{min-height:0;display:flex;flex-direction:column}.game-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;height:35px;font-size:10px;letter-spacing:1px}.game-heading .eyebrow{margin:0}.grid-wrap{position:relative;flex:1;min-height:0}.target-grid{display:grid;height:100%;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,minmax(0,1fr));gap:clamp(6px,1.7vh,22px) 3vw;padding:1vh 1vw}.target{position:relative;border:0;background:none;display:flex;align-items:center;justify-content:center;touch-action:none;padding:0}.target:before{content:'';width:min(100%,17vh);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 38% 28%,#f5f3e5,#c6cfca 70%,#889f9c);box-shadow:inset 0 0 0 4px #132d3d55,inset 0 -5px 8px #172e3433,0 6px 16px #0003;transition:background .06s}.target small{position:absolute;bottom:5%;font-size:9px;letter-spacing:1px;opacity:.35}.target-mark{position:absolute;font-size:30px;color:#102c34;opacity:0}.target[data-state=active]:before{background:radial-gradient(circle at 38% 28%,#fff3b2,#f9c744 70%,#c48c25);box-shadow:inset 0 0 0 4px #b6812855,0 0 25px #f9c74422}.target[data-state=forbidden]:before{background:radial-gradient(circle at 38% 28%,#c9e3eb,#72afc6 70%,#416e89)}.target[data-state=active] .target-mark,.target[data-state=forbidden] .target-mark,.target[data-state=miss] .target-mark{opacity:1}.target[data-state=hit]:before{background:#fff5be;animation:hit .18s ease}.target[data-state=miss]:before{background:#cb907b}.target[data-state=disabled]{opacity:.3}.focus{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;width:42px;height:42px;display:grid;place-items:center;border:1px solid #f9c744;border-radius:50%;background:#102c34}.focus i{font-style:normal;color:#f9c744;font-size:22px}.game-note{text-align:center;font-size:9px;letter-spacing:2px;margin:10px 0 0;color:#b9c9c7}.hud{display:flex;flex-direction:column;justify-content:center;gap:4vh;border-left:1px solid #ffffff24;padding-left:3vw}.hud span,.result-stats span{display:block;font-size:10px;letter-spacing:1.5px;color:#b9c9c7}.hud strong{font-size:clamp(26px,3.5vw,55px);font-weight:500;display:block;line-height:1.2;margin-top:10px;font-variant-numeric:tabular-nums}.hud-time strong{font-size:clamp(38px,6vw,85px)}.hud small{font-size:14px;margin-left:6px;color:#b9c9c7}.hud-pair{display:flex;gap:25px;justify-content:space-between;border-bottom:1px solid #ffffff24;padding-bottom:20px}.time-track{height:4px;background:#ffffff18;margin-top:14px}.time-track i{display:block;background:#f9c744;height:100%;width:100%}.results{display:grid;grid-template-columns:1.7fr 1fr;gap:5vw;overflow:auto}.result-main h2{font-size:clamp(30px,3.5vw,52px)}.result-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin:3vh 0}.result-stats strong{font-size:clamp(35px,4vw,64px);font-weight:500;line-height:1.2;color:#f9c744;letter-spacing:-2px}.result-stats small{font-size:13px;margin-left:7px}.result-actions{display:flex;gap:10px;flex-wrap:wrap}.result-actions button{padding:15px;font-size:9px;gap:10px}.result-disclaimer{font-size:10px;color:#b9c9c7;line-height:1.5;margin-top:20px}.result-side{border-left:1px solid #ffffff24;padding-left:4vw}.bar{margin:20px 0}.bar label{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px}.bar div{height:4px;background:#ffffff14;margin-top:10px}.bar i{height:100%;background:#f9c744;display:block}.map-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:10px}.map-grid span{background:#ffffff09;text-align:center;padding:7px;font-size:11px}.map-grid span[data-hit=true]{background:#f9c74424;color:#f9c744}#ranking-form{border-top:1px solid #ffffff24;margin-top:25px;padding-top:20px}#ranking-form label{font-size:11px;display:block;margin-bottom:10px}#ranking-form>div{display:flex;gap:8px}input{width:100%;min-width:0;border:1px solid #ffffff33;background:transparent;color:#f5f1e6;padding:12px;font-size:13px}#save-score{padding:10px;font-size:9px}#save-status{font-size:11px;margin-top:10px}.ranking{overflow:auto}.ranking h2{font-size:clamp(30px,4vw,55px)}#ranking-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}#ranking-tabs button{border:1px solid #ffffff33;background:transparent;padding:10px 14px;font-size:12px}#ranking-tabs button[aria-pressed=true]{background:#f9c744;color:#102c34}.ranking-table{overflow-x:auto;max-height:45vh}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;font-size:9px;letter-spacing:1px;color:#b9c9c7}td,th{padding:14px 10px;border-bottom:1px solid #ffffff22}#ranking-empty{margin:30px 0;color:#b9c9c7}#notice{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);font-size:11px}#experience[data-state=game] .edition{visibility:hidden}#experience[data-state=game] .topbar{height:65px}#experience[data-state=game] .screen{top:65px}#experience[data-state=game] .tools button[data-action=home]{opacity:.45}#experience[data-state=game] .tools button{padding:6px 10px}.attract .primary{max-width:100%}@keyframes enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes breathe{0%,75%,100%{filter:none}80%,90%{background:#f9c744;box-shadow:0 0 24px #f9c74422}}@keyframes pulse{50%{opacity:.4}}@keyframes hit{50%{transform:scale(1.05);box-shadow:0 0 0 10px #f9c74422}}
@media(min-width:1500px){.game{grid-template-columns:minmax(0,1fr) 280px;gap:7vw}.target:before{width:min(100%,18vh)}.hud{padding-left:4vw}}
@media(max-width:900px){#mode-list{grid-template-columns:repeat(3,1fr)}#mode-list button{padding:16px}.mini{width:65px;gap:5px;margin:10px auto}#mode-list b{font-size:19px}.game{grid-template-columns:minmax(0,1fr) 155px;gap:3vw}.hud{padding-left:2vw}.hud-pair{gap:10px}.results{gap:3vw}.result-side{padding-left:3vw}.result-actions{gap:5px}.result-actions button{padding:12px}}
@media(max-width:600px){.topbar{height:65px;padding:14px 5vw}.brand{font-size:17px}.brand i{left:46px}.edition{display:none}.tools{gap:5px}.tools button{padding:6px 9px;font-size:10px}.screen{top:65px;padding:22px 6vw;overflow:auto}h2{letter-spacing:-1px}.attract{align-items:flex-start;flex-direction:column;gap:15px;padding-top:5vh}.attract-copy{width:100%}.attract h1{font-size:clamp(57px,16vw,90px);margin:18px 0}.tagline{margin:20px 0;font-size:24px}.attract .micro{margin-top:12px}.ambient-panel{position:absolute;width:40%;right:4%;bottom:4%;opacity:.35;transform:rotate(-7deg);gap:8px;padding:10px;pointer-events:none}.attract-foot{left:6vw;bottom:2vh;font-size:7px;max-width:50%;line-height:1.7}.intro,.instructions{justify-content:center}.intro h2{font-size:40px}.intro p:not(.eyebrow),#mode-rule{font-size:17px}.legend{gap:14px;flex-wrap:wrap;font-size:11px}.modes h2{font-size:31px}#mode-list{grid-template-columns:repeat(2,1fr);gap:9px}#mode-list button{padding:12px}#mode-list b{font-size:18px;margin:9px 0 5px}#mode-list p{font-size:11px;min-height:28px;margin:0}.mini{width:48px;gap:3px;margin:10px auto 0}#mode-list button:last-child{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr}#mode-list button:last-child .num{grid-column:1}#mode-list button:last-child b{grid-column:1}#mode-list button:last-child p{grid-column:1}#mode-list button:last-child .mini{grid-column:2;grid-row:1/4;align-self:center}.game{display:flex;flex-direction:column;padding:10px 4vw 16px;gap:8px;overflow:hidden}.game-main{flex:1;min-height:0}.game-heading{height:27px;font-size:8px}.game-heading .eyebrow{font-size:9px}.target-grid{gap:8px 2vw;padding:8px 0}.target:before{width:min(100%,12.5vh)}.target small{font-size:7px;bottom:1%}.target-mark{font-size:25px}.game-note{font-size:7px;letter-spacing:1px;margin:5px 0}.hud{flex-direction:row;border-left:0;border-top:1px solid #ffffff24;padding:12px 0 0;gap:14px;justify-content:space-between;align-items:flex-start}.hud>div{flex:1}.hud-pair{flex:2!important;border:0;padding:0;gap:14px}.hud strong,.hud-time strong{font-size:27px;margin-top:5px}.hud small{font-size:9px;margin-left:2px}.hud span{font-size:7px;letter-spacing:.5px}.hud .micro{display:none}.time-track{margin-top:5px}.focus{width:28px;height:28px}.focus i{font-size:16px}.results{display:block}.result-main h2{font-size:32px}.result-stats{gap:16px;margin:25px 0}.result-stats strong{font-size:46px}.result-side{border:0;border-top:1px solid #ffffff24;padding:24px 0;margin-top:20px}.result-actions .primary{width:100%}.result-disclaimer{font-size:9px}.ranking h2{font-size:34px}#ranking-tabs{gap:5px}#ranking-tabs button{font-size:10px;padding:8px}td,th{padding:12px 7px;white-space:nowrap}table{font-size:10px}}
@media(max-height:550px) and (min-width:601px){.topbar{height:55px}.screen{top:55px;padding-top:10px}.attract h1{font-size:65px;margin:10px 0}.tagline{font-size:22px;margin:15px 0}.ambient-panel{max-width:310px}.primary{padding:10px 17px;min-height:40px}.instructions h2{font-size:48px;margin-bottom:10px}#mode-rule{font-size:16px}.mini{width:45px;margin:10px auto}#mode-list button{padding:12px}#mode-list b{font-size:18px}#mode-list p{font-size:11px}.modes h2{font-size:32px;margin-bottom:15px}.results{overflow:auto}.hud{gap:15px}.hud .micro{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before{animation:none!important;transition:none!important}}


/* Official panel: four columns, three rows. Screen remains flat for comfortable input. */
.ambient-panel,.mini,.target-grid,.map-grid{grid-template-columns:repeat(4,1fr)}.ambient-panel{transform:perspective(900px) rotateX(8deg) rotateZ(-3deg)}.mini{width:100px}.ambient-panel i{animation:none}.ambient-panel i:nth-child(3),.ambient-panel i:nth-child(9){animation:official-light 7s ease-in-out infinite}.ambient-panel i:nth-child(9){animation-delay:2.5s}@keyframes official-light{0%,30%,70%,100%{filter:none}40%,60%{background:radial-gradient(circle at 36% 30%,#fff3b2,#f9c744 70%,#c48c25);box-shadow:inset 0 0 0 5px #ab782855,0 0 20px #f9c74420}}
#mode-list{grid-template-columns:repeat(6,minmax(0,1fr))}#mode-list button{padding:20px 12px}#mode-list b{font-size:20px}.attract-foot{line-height:1.6;max-width:580px}.game{display:flex;flex-direction:column;gap:14px;padding-top:8px}.game-main{flex:1;min-height:0}.hud{order:-1;flex-direction:row;gap:4vw;align-items:center;justify-content:space-between;border:1px solid #ffffff22;border-radius:8px;padding:12px 3vw;background:#0b2028}.hud>div{flex:1}.hud-pair{flex:2!important;border-bottom:0;padding-bottom:0;justify-content:space-around}.hud strong{font-size:clamp(24px,3.5vw,52px);margin-top:5px}.hud-time strong{font-size:clamp(28px,4vw,58px)}.hud .micro{display:none}.time-track{margin-top:6px}.target-grid{grid-template-rows:repeat(3,minmax(0,1fr));padding:1vh 2vw;gap:1.5vh 3vw;border:1px solid #b9956530;border-radius:10px;background:linear-gradient(145deg,#a98a5512,#d3ac721e)}.target:before{width:min(100%,19vh);box-shadow:inset 0 0 0 5px #8b704a80,inset 0 -5px 8px #172e3433,0 6px 16px #0003}.focus{width:30px;height:30px}.focus i{font-size:17px}.handoff>p:not(.eyebrow){max-width:680px;line-height:1.5}#duel-comparison{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:24px 0}.duel-person{padding:24px;border:1px solid #ffffff33}.duel-person.winner{border-color:#f9c744;background:#f9c7440a}.duel-person strong{display:block;font-size:clamp(40px,6vw,80px);font-weight:500;color:#f9c744}.duel-person strong small{font-size:14px}.duel-person p{line-height:1.6;font-size:14px}.results.is-duel{grid-template-columns:1fr;max-width:1200px}.handoff h2{font-size:clamp(35px,5vw,72px)}
@media(max-width:1100px){#mode-list{grid-template-columns:repeat(3,minmax(0,1fr))}#mode-list button{padding:14px}.mini{width:64px;gap:4px;margin-top:10px}#mode-list p{min-height:28px;font-size:11px}.modes h2{font-size:36px;margin-bottom:18px}}
@media(max-width:600px){#mode-list{grid-template-columns:repeat(2,minmax(0,1fr))}#mode-list button:last-child{grid-column:auto;display:block}#mode-list b{font-size:18px}.modes h2{font-size:28px}.mini{width:60px}.ambient-panel{width:50%;bottom:10%;right:4%;padding:10px;gap:7px}.attract-foot{max-width:88%;font-size:7px;bottom:2vh}.game{gap:8px;padding:8px 4vw 12px}.hud{padding:10px 9px;gap:8px;flex-shrink:0}.hud-pair{gap:7px;justify-content:space-between}.hud strong,.hud-time strong{font-size:24px}.hud span{font-size:7px}.hud small{font-size:9px}.target-grid{gap:8px 1vw;padding:10px 1vw}.target:before{width:min(100%,14vh)}.target-mark{font-size:20px}.target small{bottom:10%;font-size:7px}.game-note{line-height:1.6}.focus{width:23px;height:23px}.focus i{font-size:13px}#duel-comparison{gap:10px}.duel-person{padding:14px 10px}.duel-person strong{font-size:42px}.duel-person strong small{display:block;font-size:11px}.duel-person p{font-size:12px}}
@media(max-height:550px) and (min-width:601px){.hud{padding:6px 2vw;gap:2vw}.hud strong,.hud-time strong{font-size:26px}.hud span{font-size:8px}.game{gap:5px}.target:before{width:min(100%,18vh)}#mode-list{grid-template-columns:repeat(6,minmax(0,1fr))}#mode-list b{font-size:14px}.mini{width:48px}#mode-list button{padding:10px}.modes h2{font-size:26px}.handoff h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){.ambient-panel i{animation:none!important}}

@media(min-width:1101px){#mode-list{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-height:550px) and (min-width:601px){#mode-list{grid-template-columns:repeat(5,minmax(0,1fr))}}
