/* Approved console bands retain every illustrated edge at each phone height. */
.fs2-game{height:100%;width:100%;max-width:600px;position:relative;display:flex;flex-direction:column;overflow:hidden;padding:0;color:#edf8ff;background:#030d14;font-family:inherit;box-sizing:border-box;isolation:isolate;container-type:size}
.fs2-game *{box-sizing:border-box}.fs2-game button{font:inherit;color:inherit;touch-action:manipulation;cursor:pointer;-webkit-tap-highlight-color:transparent}.fs2-game button:focus-visible{outline:3px solid #ffd471;outline-offset:-3px}.fs2-accessible-title{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:0}
.fs2-game .fs2-top{position:relative;top:auto;z-index:2;display:block;flex:none;width:100%;height:auto;min-height:0;aspect-ratio:887/190;margin:0;padding:0;background:url('game-art/focus-console-v1-header.webp') center/100% 100% no-repeat;box-shadow:none;color:#edf8ff}
.fs2-control{position:absolute;display:grid;place-items:center;min-width:44px;min-height:44px;width:13.1%;height:56.3%;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none;line-height:1}.fs2-top .fs2-control{top:calc(34% - 22px);height:44px}.fs2-back{left:5.18%}.fs2-help{right:0;width:12.2%}.fs2-play{right:max(44px,10.48%);width:11.95%}.fs2-play img{position:absolute;left:auto;right:calc(10.48cqw - max(44px,10.48cqw));top:50%;transform:translateY(-50%);width:11.95cqw;height:auto;max-height:none;pointer-events:none;user-select:none}.fs2-control:disabled{cursor:default}.fs2-play:disabled img{opacity:.7}
.fs2-hud{position:absolute;inset:0;pointer-events:none;font-variant-numeric:tabular-nums;text-shadow:0 1px 4px #000}.fs2-clock{position:absolute;left:18.26%;top:63%;width:17%;height:32%;display:flex;align-items:center;justify-content:center;font-size:clamp(17px,5cqw,23px);line-height:1;color:#e5f7ff}.fs2-clock.is-urgent{color:#ffb196;animation:fs2-urgent 1s ease-in-out infinite}.fs2-score{position:absolute;left:37.2%;top:65%;width:24.35%;height:29%;display:block;text-align:center;font-size:9px;line-height:1.15}.fs2-score>b{font-size:clamp(13px,3.8cqw,18px);color:#c8fff0}.fs2-combo{display:block;white-space:nowrap;font-size:clamp(8px,2.4cqw,11px);font-weight:800;color:#b8efdf}.fs2-time{position:absolute;left:64%;top:70%;width:24%;height:16%;overflow:hidden;border-radius:1px;pointer-events:none}.fs2-time>span{display:block;height:100%;background:linear-gradient(90deg,#4b92bb88,#afe5e6bb);box-shadow:0 0 8px #a0e6fb}
.fs2-body{position:relative;flex:1;min-height:0;width:100%;overflow:hidden;background:url('game-art/focus-console-v1-body.webp') center/100% 100% no-repeat;container-type:size}.fs2-board{position:absolute;inset:0;transition:opacity .12s}.fs2-board.is-concealed{visibility:hidden;opacity:0;pointer-events:none}.fs2-rule{position:absolute;left:27.3%;top:1.11%;width:45%;height:8.07%;display:flex;align-items:center;justify-content:center;gap:9px;text-align:center;text-shadow:0 1px 5px #000}.fs2-rule>div{display:flex;flex-direction:column}.fs2-rule small{font-size:clamp(9px,2.4cqw,11px);line-height:1.15;color:#c4dce8;letter-spacing:.035em}.fs2-rule b{font-size:clamp(18px,5cqw,23px);line-height:1.1;letter-spacing:.07em}.fs2-rule[data-rule=color] b{color:#d0b4ff}.fs2-next{position:absolute;right:-2%;bottom:7%;font-size:clamp(10px,2.7cqw,12px);font-weight:800;color:#bcdce9}.fs2-next small{font-size:8px;font-weight:500;letter-spacing:0}.is-switching .fs2-rule{animation:fs2-switch .45s ease-out}.is-switching .fs2-rule small{color:#ffe799;font-weight:900}
.fs2-cue{position:absolute;left:30.99%;top:13.04%;width:38.56%;height:24%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;overflow:hidden}.fs2-cue>span:not(.fs2-piece){font-size:clamp(13px,3.6cqw,17px);font-weight:900;line-height:1.15;white-space:nowrap;text-shadow:0 1px 5px #000}.fs2-piece{--fs2-color:#41b8ff;position:relative;display:grid;place-items:center;flex:none;width:90px;height:80px;max-width:84%;min-height:0}.fs2-color-1{--fs2-color:#ff8174}.fs2-color-2{--fs2-color:#ffc94f}.fs2-color-3{--fs2-color:#bb95ff}.fs2-halo{position:absolute;inset:8px 6px;border:3px solid var(--fs2-color);border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--fs2-color) 25%,transparent),transparent 70%);box-shadow:0 0 14px color-mix(in srgb,var(--fs2-color) 45%,transparent),inset 0 0 14px color-mix(in srgb,var(--fs2-color) 40%,transparent)}.fs2-piece img{position:absolute;inset:0;min-width:0;min-height:0;display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 6px 5px #0009);pointer-events:none;user-select:none}.fs2-color-dot{position:absolute;width:14px;height:14px;background:var(--fs2-color);border:2px solid #e1efffc9;border-radius:50%;right:4px;bottom:5px;box-shadow:0 2px 5px #000a}.fs2-cue-piece{width:min(112px,29cqw);height:min(100px,18cqh)}.fs2-cue-piece .fs2-halo{inset:9px 4px;border-width:4px}
.fs2-targets{position:absolute;left:4.85%;right:4.28%;top:38.81%;height:56.74%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));column-gap:2.93cqw;row-gap:0}.fs2-target{min-width:44px;min-height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:clamp(7px,2.3cqw,11px);border:0;border-radius:50%;background:transparent;box-shadow:none;overflow:hidden;position:relative;transition:transform .08s}.fs2-target .fs2-piece{width:min(112px,28cqw);height:min(100px,17cqh);max-height:calc(100% - 32px)}.fs2-target>span:last-of-type{font-size:clamp(11px,3.1cqw,14px);font-weight:800;line-height:16px;white-space:nowrap;z-index:1;text-shadow:0 1px 5px #000}.fs2-target>small{font-size:clamp(10px,2.6cqw,12px);color:#c7d9e5;line-height:13px;z-index:1}.fs2-target:disabled{cursor:default}.fs2-target:active:not(:disabled){transform:scale(.96)}.is-playing .fs2-target .fs2-piece img{animation:fs2-float 2.8s ease-in-out infinite}.fs2-target:nth-child(2) img{animation-delay:-.7s!important}.fs2-target:nth-child(3) img{animation-delay:-1.4s!important}.fs2-target:nth-child(4) img{animation-delay:-2.1s!important}
.fs2-footer{position:relative;flex:none;width:100%;aspect-ratio:887/234;background:url('game-art/focus-console-v1-footer.webp') center/100% 100% no-repeat}.fs2-sound{left:6.43%;top:23.08%;width:14.43%;height:51.28%}.fs2-sound.is-muted:after{content:'';position:absolute;width:53%;height:3px;background:#e6e9eb;transform:rotate(-44deg);box-shadow:0 1px 3px #000;pointer-events:none}.fs2-feedback{position:absolute;left:28.3%;top:32.9%;width:39%;height:32%;display:flex;align-items:center;justify-content:center;text-align:center;color:#b5f8d9;font-size:clamp(10px,2.8cqw,13px);font-weight:800;line-height:1.2;padding:1px;text-shadow:0 1px 5px #000}.fs2-feedback:empty{visibility:hidden}.fs2-error{position:absolute;left:24%;right:27%;top:16%;bottom:17%;margin:0;display:flex;align-items:center;justify-content:center;color:#ffb99e;text-align:center;font-size:clamp(10px,2.7cqw,12px);line-height:1.25;background:#03111ef2;padding:3px;z-index:1}.fs2-error:empty{display:none}.fs2-idle-hint{position:absolute;top:30%;left:10%;right:10%;text-align:center;font-size:12px;color:#c9deea;pointer-events:none;z-index:3}
.fs2-paused{position:absolute;inset:0;display:grid;place-items:center;text-align:center;z-index:2;pointer-events:none}.fs2-paused>b{font-size:clamp(27px,8cqw,36px);font-weight:800;letter-spacing:.1em;color:#d8f5ff;text-shadow:0 2px 7px #000,0 0 20px #8ed7fb77}.fs2-primary{min-height:48px;padding:12px 24px;border:1px solid #9adbc566;border-radius:6px;font-size:14px;font-weight:800!important;background:linear-gradient(#173947,#09202f);box-shadow:inset 0 1px 2px #d9f3ff33}
.fs2-info{position:absolute;inset:0;z-index:4;overflow:auto;background:linear-gradient(#04131af2,#05111df8);padding:48px 8% 20px;color:#edf8ff;border:0;border-radius:0;box-shadow:none}.fs2-info-close{right:5%;top:0;width:44px;height:44px;background:#081f2c;font-size:24px!important;border:1px solid #718e9a66;border-radius:50%}.fs2-info h2{font-size:clamp(21px,6cqw,26px);margin:0 0 14px}.fs2-info p{font-size:clamp(12px,3.4cqw,14px);line-height:1.45;margin:10px 0}.fs2-info .fs2-primary{width:100%;margin-top:8px}.fs2-result{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px 10%;background:linear-gradient(#03101ddd,#03101ded);text-shadow:0 1px 5px #000}.fs2-kicker{font-size:11px;color:#b4e8e0;letter-spacing:.09em;text-transform:uppercase}.fs2-result h2{font-size:clamp(24px,7cqw,30px);margin:12px 0}.fs2-result>strong{font-size:clamp(56px,18cqw,78px);display:block;color:#adf2d6;line-height:1.1}.fs2-result>strong small{display:block;font-size:13px;font-weight:500;color:#c2dce9}.fs2-result p{font-size:14px;line-height:1.6;margin:20px 0}.fs2-recovery{position:absolute;inset:15% 10%;line-height:1.6;padding:20px;background:#03101ded}
.fs2-game .game-entry-cover{position:absolute;inset:0;background:transparent}.fs2-game .game-entry-play{width:min(180px,48cqw);max-width:none;min-width:44px;min-height:44px}.fs2-game .game-entry-play img{width:100%;height:auto;object-fit:contain}
@keyframes fs2-float{50%{transform:translateY(-3px) rotate(2deg)}}@keyframes fs2-switch{0%{filter:drop-shadow(0 0 8px #ffda8588);transform:scale(1.04)}100%{transform:scale(1)}}@keyframes fs2-urgent{50%{text-shadow:0 0 15px #ff633db0}}
@media(orientation:landscape) and (max-height:500px){.fs2-game:after{content:'Rotate your phone to play · clock paused';position:absolute;inset:60px 10px 10px;display:grid;place-items:center;background:#061827f7;font-size:16px;text-align:center;z-index:5}.fs2-game .fs2-top{z-index:6}}
@media(prefers-reduced-motion:reduce){.fs2-game *{animation:none!important;transition:none!important}.fs2-target:active:not(:disabled){transform:none}}
.fs2-sound[data-audio-mode=music]{filter:drop-shadow(0 0 5px #81d2dd)}.fs2-sound[data-audio-mode=music]:before{content:'♪';position:absolute;right:0;bottom:0;font-size:13px;line-height:16px;color:#bcf4ec;text-shadow:0 1px 3px #000;pointer-events:none}



/* v3 keeps the four console wells and fixed rule location. */
.fs3-game .fs2-clock{font-size:clamp(23px,6.4cqw,29px)}.fs3-game .fs2-score>b{font-size:clamp(21px,5.6cqw,27px)}
.fs3-game .fs2-rule{left:18%;width:66%;gap:3px}.fs3-game .fs2-rule b{font-size:clamp(18px,5cqw,24px);letter-spacing:.025em}.fs3-game .fs2-next{right:0;bottom:0}.fs3-game .fs2-rule small{font-size:10px}
.fs3-game .fs2-cue{left:24%;width:52%}.fs3-game .fs2-cue>span:not(.fs2-piece){font-size:clamp(12px,3.4cqw,16px);white-space:normal;text-align:center;max-width:100%}
.fs3-arrow{font-size:clamp(48px,15cqw,76px);font-family:Arial,sans-serif;color:#cceefa;font-weight:900;line-height:1;display:block}
.fs3-count{display:grid;grid-template-columns:repeat(2,1fr);place-items:center;width:90px;height:76px;gap:2px}.fs3-count img{width:38px;height:34px;object-fit:contain}
.fs3-word{font-size:clamp(25px,7cqw,36px);font-weight:900;color:var(--fs2-color);text-shadow:0 1px 4px #000;line-height:1.1}
.fs3-asymmetric{position:relative;display:block;width:70px;height:76px}.fs3-asymmetric img{width:100%;height:100%;object-fit:contain}.fs3-asymmetric b{position:absolute;right:0;top:0;color:#ffd773;font-size:35px;z-index:1;line-height:1}.fs3-orientation-1{transform:rotate(90deg)}.fs3-orientation-2{transform:rotate(180deg)}.fs3-orientation-3{transform:scaleX(-1)}
.fs3-pattern{display:block;width:65px;height:65px;border:3px solid #e0c27b;border-radius:12px;background:#64babc;box-shadow:0 2px 8px #000}.fs3-pattern-1{background:repeating-linear-gradient(45deg,#64babc 0 8px,#163e55 8px 16px)}.fs3-pattern-2{background:#64babc radial-gradient(circle,#163e55 3px,transparent 4px) 0 0/15px 15px}
.fs3-size{display:grid;place-items:center;width:100px;height:90px}.fs3-size>.fs2-piece{transform:scale(var(--fs3-scale))}.fs3-wait{font-size:clamp(27px,8cqw,40px);font-weight:900;color:#ffdb94;letter-spacing:.08em}
.fs3-game .fs2-target .fs3-size .fs2-piece{max-height:none}.fs3-game .fs2-targets .fs3-word{font-size:clamp(23px,6cqw,31px)}
.fs3-game .fs2-paused{pointer-events:auto;display:flex;flex-direction:column;gap:20px;background:#03131bd9}.fs3-resume{display:flex;flex-direction:column;align-items:center;gap:7px;margin:0;background:none;border:0;padding:18px;min-height:80px;cursor:default}.fs3-resume b{font-size:31px;letter-spacing:.08em}.fs3-resume span{font-size:13px}.fs3-pause-actions{display:flex;gap:12px}.fs3-pause-actions button{min-height:44px;padding:8px 18px;border:1px solid #809dad;border-radius:7px;background:#092533;font-weight:700}
.fs3-game .is-playing .fs2-target .fs2-piece img{animation:none}

.fs3-game .fs2-rule{background-image:var(--fs3-rule-art);background-size:contain;background-repeat:no-repeat;background-position:center;height:11%;top:0}.fs3-game .fs2-rule>div{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%)}.fs3-game .fs2-next{right:-8%;bottom:28%;font-size:12px}.fs3-pattern-art{display:grid;place-items:center;width:70px;height:70px}.fs3-pattern-art img{width:100%;height:100%;object-fit:contain;pointer-events:none}.fs3-game .fs3-asymmetric img{filter:drop-shadow(0 3px 3px #0008)}

.fs3-game .fs2-sound>img{width:100%;height:100%;object-fit:contain;pointer-events:none}.fs3-game .fs2-sound.is-muted:after,.fs3-game .fs2-sound[data-audio-mode=music]:before{content:none}.fs3-game .fs2-sound[data-audio-mode=music]{filter:none}.fs3-game .fs3-resume{width:80%;max-width:320px;padding:0}.fs3-resume>img{display:block;width:100%;height:auto;max-height:85px;object-fit:contain;pointer-events:none}.fs3-pause-actions{gap:8px;width:92%;max-width:340px}.fs3-pause-actions>button{flex:1;min-width:0;height:52px;padding:0;border:0;background:none}.fs3-pause-actions>button>img{width:100%;height:100%;object-fit:contain;pointer-events:none}

.fs3-arrow{width:78px;height:78px;display:grid;place-items:center}.fs3-arrow>img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}

/* Reserve the current Info action while long rules scroll inside the console. */
.fs3-game .fs2-info{display:flex;flex-direction:column;overflow:hidden}.fs3-game .fs2-info>h2,.fs3-game .fs2-info>.fs2-primary{flex:none}.fs3-info-copy{flex:1;min-height:0;overflow:auto;overflow-wrap:anywhere}.fs3-info-copy:focus-visible{outline:2px solid #ffd471;outline-offset:-2px}
