body.arcade-open{overflow:hidden}
.eye-arcade .arcade-top-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:32px;line-height:1}
.arcade-wordmark{line-height:1.2}
.eye-arcade{--arcade-pad:28px;position:fixed;inset:0;width:min(1180px,calc(100vw - 48px));height:min(880px,calc(100dvh - 48px));max-width:none;max-height:none;margin:auto;padding:var(--arcade-pad);background:var(--bg);color:var(--fg);border:1px solid var(--line);overflow:hidden;font:13px Plex,monospace}
.eye-arcade[open]{display:flex;flex-direction:column}
.eye-arcade::backdrop{background:#030503ed;backdrop-filter:blur(8px);animation:arcade-wash .9s both}
.eye-arcade[data-phase=closing]::backdrop{animation:arcade-unwash .42s both}
.eye-arcade[data-motion=off]::backdrop,.eye-arcade[data-motion=off][data-phase=closing]::backdrop{animation-duration:90ms}
@keyframes arcade-wash{from{background:#03050300;backdrop-filter:blur(0)}to{background:#030503ed;backdrop-filter:blur(8px)}}
@keyframes arcade-unwash{from{background:#030503ed;backdrop-filter:blur(8px)}to{background:#03050300;backdrop-filter:blur(0)}}
.arcade-portal{position:fixed;inset:0;pointer-events:none;z-index:5}.portal-eye{position:absolute}.portal-eye svg{width:100%;height:100%;display:block;transform-origin:center}
.eye-arcade[data-phase=opening] .arcade-menu-eye,.eye-arcade[data-phase=closing] .arcade-menu-eye{visibility:hidden}
.eye-arcade[data-phase] .arcade-choices{pointer-events:none}
.arcade-top{display:flex;justify-content:space-between;gap:18px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:17px;flex-shrink:0}
.arcade-wordmark{font-size:9px;letter-spacing:.08em;color:var(--muted)}.arcade-top-actions{display:flex;gap:24px;align-items:center}.arcade-top-actions button{font-size:12px;padding:7px 0}.arcade-top-actions button:hover{color:var(--green)}#arcade-close{gap:12px}.arcade-close-icon{display:block;width:18px;height:18px;flex-shrink:0;color:var(--green)}
.arcade-menu{display:flex;gap:6%;flex:1;min-height:0;padding:42px 0 28px;overflow:auto}
.arcade-intro{width:39%;flex-shrink:0;display:flex;flex-direction:column;align-items:flex-start}.arcade-intro .section-kicker{font-size:9px;margin-bottom:22px}.arcade-intro h2{font-size:clamp(42px,4.6vw,68px);line-height:1.08;margin-bottom:23px}.arcade-intro p{font-size:12px;line-height:1.95;color:var(--muted)}
.arcade-menu-eye{width:150px;height:90px;margin:32px 0 23px}.arcade-menu-eye svg{width:100%;height:100%}#arcade-count{font-size:9px;line-height:1.9;letter-spacing:.04em;color:var(--green)}
.arcade-choices{flex:1;min-width:0;align-self:center;border-top:1px solid var(--line)}.arcade-choices>button{display:flex;align-items:center;text-align:left;gap:18px;width:100%;border-bottom:1px solid var(--line);padding:31px 0;transition:padding-left .2s}.arcade-choices>button:hover{padding-left:8px}.game-number{font-size:9px;color:var(--muted)}.game-description{flex:1;min-width:0}.game-description strong{display:block;font:400 clamp(26px,2.8vw,38px)/1.12 Pixel,monospace}.game-description small{display:block;margin-top:12px;font-size:11px;line-height:1.7;color:var(--muted)}.game-state{font-size:8px;white-space:nowrap;color:var(--green)}.arcade-choices>button:hover strong,.arcade-choices>button.is-complete strong{color:var(--green)}
.arcade-play{display:flex;flex-direction:column;flex:1;min-height:0;padding-top:21px;overflow:auto;scrollbar-width:thin;scrollbar-color:#465a38 transparent}.arcade-game-heading{display:flex;justify-content:space-between;gap:24px;flex-shrink:0;margin-bottom:16px}.arcade-game-heading .section-kicker{font-size:8px;margin-bottom:9px}.arcade-game-heading h3{font:400 clamp(29px,3vw,42px)/1.12 Pixel,monospace}.arcade-game-heading>p{font-size:11px;line-height:1.85;color:var(--muted);width:46%;max-width:490px}
.arcade-mechanic{flex-shrink:0;margin-bottom:13px}.arcade-code-row{display:flex;justify-content:space-between;align-items:center;gap:20px}.arcade-code-row>label{font-size:8px;color:var(--muted);display:flex;flex-direction:column;gap:5px}.arcade-code-row select{font:11px Plex,monospace;color:var(--fg);background:#121713;border:1px solid var(--line);border-radius:0;padding:8px 26px 8px 9px;max-width:270px}.sequence-label{display:block;font-size:8px;letter-spacing:.03em;color:var(--muted);margin-bottom:5px}#arcade-sequence{display:flex;gap:6px}#arcade-sequence>span{width:36px;height:36px;border:1px solid var(--line);display:grid;place-items:center;font:23px Plex,monospace;color:var(--muted)}#arcade-sequence>.is-next{color:var(--fg);border-color:#77816f}#arcade-sequence>.is-caught{color:var(--green);border-color:#465a38;background:#15200e}
#arcade-archive{margin-top:9px}#arcade-archive summary{font-size:10px;color:var(--green);padding:4px 0;width:fit-content;cursor:inherit}#arcade-facts{max-height:155px;overflow:auto;border-left:1px solid #465a38;padding-left:15px;margin-top:12px}#arcade-facts article+article{margin-top:18px}#arcade-facts h4{font:24px Pixel,monospace;margin:0 0 7px}#arcade-facts p{font-size:11px;line-height:1.8;color:var(--muted);max-width:800px}
.arcade-memory-controls{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-shrink:0;margin-bottom:12px}.arcade-memory-controls>span{font-size:10px;color:var(--muted)}.arcade-memory-controls button{font-size:11px;color:var(--green);padding:5px 0;border-bottom:1px solid #465a38}
.arcade-stage{position:relative;flex:1 0 260px;min-height:260px;background:#0c100d;border:1px solid var(--line);overflow:hidden;touch-action:none}#arcade-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;outline-offset:-4px}
#arcade-targets{position:absolute;inset:0;pointer-events:none}.arcade-hit{position:absolute;padding:0!important;border:0;background:transparent!important;border-radius:0;pointer-events:auto;touch-action:none}.arcade-hit:disabled{pointer-events:none}.arcade-hit:focus-visible{outline:2px solid var(--green)!important;outline-offset:2px}.arcade-hit:hover{box-shadow:inset 0 0 0 1px #a2ada34d}
.arcade-hud{flex-shrink:0;padding:13px 0 10px}.arcade-progress-wrap{width:100%}#arcade-status{display:block;color:var(--green);font-size:11px;line-height:1.7;min-height:19px;margin-bottom:9px}#arcade-progress{display:block;appearance:none;width:100%;height:3px;border:0;background:var(--line);color:var(--green)}#arcade-progress::-webkit-progress-bar{background:var(--line)}#arcade-progress::-webkit-progress-value{background:var(--green)}#arcade-progress::-moz-progress-bar{background:var(--green)}
.arcade-help{display:flex;gap:16px;justify-content:space-between;font-size:9px;color:var(--muted);line-height:1.8;margin-bottom:15px;flex-shrink:0}.arcade-bottom{border-top:1px solid var(--line);padding-top:14px;display:flex;justify-content:space-between;gap:18px;font-size:8px;color:var(--muted);letter-spacing:.05em;flex-shrink:0}
.arcade-result{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);width:min(690px,calc(100% - 24px));max-height:calc(100% - 24px);overflow:hidden;display:flex;flex-direction:column;background:#090b0af8;border:1px solid #465a38;padding:23px;text-align:left;z-index:2;animation:arcade-result-in .35s both}.arcade-result .section-kicker{display:block;font-size:9px;margin-bottom:12px}.arcade-result h4{font:400 30px/1.15 Pixel,monospace;margin:0 0 14px}.arcade-result p{font-size:12px;line-height:1.85;color:var(--muted);margin-bottom:18px}.arcade-result-content{min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#465a38 transparent}.arcade-result-actions{display:flex;flex-shrink:0;flex-wrap:wrap;gap:12px 25px;padding-top:10px;border-top:1px solid var(--line)}.arcade-result button{font-size:11px;border-bottom:1px solid var(--line);padding:6px 0;color:var(--green)}.arcade-result button:hover{border-color:var(--green)}@keyframes arcade-result-in{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
@media(max-width:740px){
 .eye-arcade{--arcade-pad:18px;width:calc(100vw - 16px);height:calc(100dvh - 16px)}.arcade-top{padding-bottom:13px;gap:8px}.arcade-wordmark{font-size:7px;max-width:120px;line-height:1.7}.arcade-top-actions{gap:12px}.arcade-top-actions button{font-size:10px}#arcade-close{gap:7px}.arcade-close-icon{width:16px;height:16px}
 .arcade-menu{display:block;padding:25px 0 20px}.arcade-intro{width:100%;position:relative}.arcade-intro .section-kicker{font-size:8px;margin-bottom:15px}.arcade-intro h2{font-size:43px;margin-bottom:17px}.arcade-intro p{font-size:11px;line-height:1.85}.arcade-menu-eye{position:absolute;right:2px;top:120px;width:75px;height:50px;margin:0}#arcade-count{margin-top:18px;font-size:8px}.arcade-choices{margin-top:26px}.arcade-choices>button{padding:23px 0;gap:11px;flex-wrap:wrap}.game-description strong{font-size:29px}.game-description small{font-size:10px}.game-number{font-size:8px}.game-state{font-size:7px;margin-left:auto}
 .arcade-play{padding-top:19px}.arcade-game-heading{display:block;margin-bottom:15px}.arcade-game-heading h3{font-size:33px}.arcade-game-heading>p{width:100%;font-size:11px;line-height:1.75;margin-top:11px}.arcade-game-heading .section-kicker{font-size:7px;margin-bottom:8px}
 .arcade-code-row{align-items:flex-start;gap:12px}.arcade-code-row>label{font-size:7px;max-width:calc(100% - 138px);min-width:0}.arcade-code-row select{font-size:10px;padding:8px 15px 8px 6px;width:100%;max-width:100%}.sequence-label{font-size:6px;margin-top:1px;margin-bottom:9px}#arcade-sequence{gap:4px}#arcade-sequence>span{width:29px;height:30px;font-size:19px}#arcade-archive summary{font-size:10px}.arcade-memory-controls{gap:10px;align-items:flex-start}.arcade-memory-controls>span{font-size:9px;white-space:nowrap;padding-top:6px}.arcade-memory-controls button{font-size:10px;text-align:right}
 .arcade-stage{flex-basis:280px;min-height:280px}.arcade-hud{padding:11px 0 10px}#arcade-status{font-size:10px;line-height:1.65;margin-bottom:8px}.arcade-help{display:block;font-size:8px;margin-bottom:12px}.arcade-help>span{display:block}.arcade-bottom{padding-top:12px;font-size:7px;gap:8px}.arcade-result{padding:17px}.arcade-result h4{font-size:26px}.arcade-result p{font-size:11px}.arcade-result-actions{gap:8px 16px}.arcade-result button{font-size:10px}
}
@media(max-width:370px){.eye-arcade{--arcade-pad:14px}.arcade-game-heading h3{font-size:29px}.game-description strong{font-size:26px}.arcade-intro h2{font-size:39px}.arcade-menu-eye{top:123px;width:60px;right:0}.arcade-intro p{font-size:10px}.arcade-wordmark{max-width:93px;font-size:6px}.arcade-top-actions{gap:9px}.arcade-top-actions button{font-size:9px}}
@media(max-height:680px) and (min-width:741px){.eye-arcade{--arcade-pad:19px}.arcade-top{padding-bottom:10px}.arcade-play{padding-top:14px}.arcade-game-heading{margin-bottom:12px}.arcade-menu{padding-top:23px}.arcade-choices>button{padding:20px 0}.arcade-bottom{padding-top:10px}.arcade-stage{min-height:220px;flex-basis:220px}}
@media(prefers-reduced-motion:reduce){.eye-arcade::backdrop,.eye-arcade[data-phase=closing]::backdrop,.arcade-result{animation-duration:1ms}.arcade-choices>button{transition:none}}
.arcade-memory-controls{flex-wrap:wrap}

/* A quiet header and centered labels within each game row. */
.arcade-top>.arcade-sound-toggle{font:11px/1.2 Plex,monospace;padding:10px 0;min-height:36px}
.arcade-top>.arcade-sound-toggle:hover{color:var(--green)}
.arcade-close-icon{color:var(--fg);transition:color .2s}
#arcade-close{width:36px;min-height:36px;padding:8px}
#arcade-close:hover .arcade-close-icon{color:var(--green)}
.arcade-choices>button{display:grid;grid-template-columns:80px minmax(0,1fr) 80px;gap:14px;text-align:center;transition:background-color .2s}
.arcade-choices>button:hover{padding-left:0;background:#b6ff3605}
.game-description{width:100%;text-align:center}
.game-description strong{font-size:clamp(26px,2.6vw,36px);translate:0 2px}
.game-description small{text-align:center}
.game-number{font-size:9.9px;text-align:left}
.game-state{margin:0;text-align:right}
@media(max-width:740px){
  .arcade-top>.arcade-sound-toggle{font-size:10px}
  .arcade-menu-eye{top:4px;right:0;width:64px;height:40px}
  .arcade-intro{padding-right:65px}
  .arcade-intro h2{font-size:40px}
  .arcade-intro .section-kicker{font-size:7px}
  #arcade-count{margin-top:4px;font-size:8px}
  .arcade-choices>button{grid-template-columns:22px minmax(0,1fr) 22px;gap:8px}
  .game-description strong{font-size:28px}
  .game-description small{font-size:10px}
  .game-number{font-size:8.8px;align-self:start;padding-top:4px}
  .game-state{grid-column:2;justify-self:center;text-align:center;font-size:8px}
}
@media(max-width:370px){.game-description strong{font-size:25px}.arcade-intro h2{font-size:36px}.arcade-menu-eye{width:53px}.arcade-intro{padding-right:55px}}

/* Keep the game screens focused on the image and the action. */
.arcade-menu-eye{width:180px;height:108px}
.arcade-game-heading{align-items:center;margin-bottom:18px}
.arcade-game-heading h3{margin:0}
.arcade-game-heading>p{line-height:1.7}
.arcade-help{display:none}
@media(hover:none) and (pointer:coarse){.arcade-help{display:block;margin:0 0 12px;font-size:8px;line-height:1.7;color:var(--muted)}}
@media(max-width:740px){
  .arcade-menu-eye{width:77px;height:48px}
  .arcade-intro{padding-right:88px}
  .arcade-intro h2{margin-bottom:8px}
  .arcade-choices{margin-top:24px}
  .arcade-choices>button{padding-block:24px;row-gap:13px}
  .arcade-game-heading>p{margin-top:10px}
}
@media(max-width:370px){.arcade-menu-eye{width:64px;height:40px}.arcade-intro{padding-right:73px}}
