.arcade-intro{padding:130px 0 20px}.arcade-intro h1{font-size:clamp(32px,5vw,52px);letter-spacing:-.055em;margin:4px 0 8px}.arcade-intro p{font-size:16px;margin:0;color:#56695e}.arcade-cabinet{border-radius:22px;overflow:hidden;background:#152b35;margin-bottom:24px;border:1px solid #ccd6cc}.arcade-hud{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 20px;color:#fff4be;font:700 16px monospace;flex-wrap:wrap}.arcade-hud small{font-size:10px;display:block;letter-spacing:.1em;color:#b8cebf;margin-bottom:4px}.arcade-hud strong{font-size:22px;letter-spacing:.03em}.arcade-score{display:flex;gap:24px}.arcade-hearts{color:#ff8064;letter-spacing:4px}.arcade-stage{position:relative;background:#8fcae9}.arcade-stage canvas{display:block;width:100%;aspect-ratio:960/500;image-rendering:pixelated;touch-action:pan-y}.arcade-overlay{position:absolute;inset:0;display:grid;place-items:center;background:#173947bb;padding:16px}.arcade-overlay[hidden]{display:none}.arcade-card{width:min(100%,480px);padding:24px;background:#ffefbf;border:5px solid #f8c250;border-radius:18px;text-align:center;color:#1b3c3b;box-shadow:8px 8px 0 #142f4477}.arcade-card h2{font:900 clamp(24px,4vw,38px)/1.1 monospace;letter-spacing:-.045em;margin:0 0 12px}.arcade-card p{font-size:14px;line-height:1.55;margin:8px 0}.arcade-cabinet button{font:600 14px monospace;min-height:44px;border:2px solid #405d61;border-radius:10px;background:#faf0cf;color:#203f40;padding:10px 15px;cursor:pointer;box-shadow:0 3px 0 #17313b44}.arcade-cabinet button:active{transform:translateY(2px);box-shadow:0 1px 0 #17313b44}.arcade-cabinet .primary{background:#eb784e;border-color:#983e32;color:#fff4d2}.arcade-cabinet button:focus-visible,.arcade-cabinet input:focus-visible,canvas:focus-visible{outline:3px solid #108acd;outline-offset:4px}.arcade-formation{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin:14px 0}.arcade-formation button{font-size:11px;padding:8px 10px;background:#fff5d7;border-color:#ad8f4e;box-shadow:none}.arcade-formation button[aria-pressed=true]{background:#215450;color:#fff2c1;border-color:#215450}.arcade-card label{display:block;font-size:13px;margin:12px 0}.arcade-card input{width:17px;height:17px;accent-color:#215450;vertical-align:middle}.arcade-start-button{min-width:190px;margin-top:10px}.arcade-mission{padding:11px 20px;background:#e6efdd;color:#2d5148;font:600 12px monospace;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.arcade-controls{padding:15px 20px;background:#f7f4e8;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.arcade-move,.arcade-other{display:flex;gap:7px;flex-wrap:wrap}.arcade-move button{min-width:47px}.arcade-controls p{width:100%;font-size:12px;line-height:1.5;color:#526b60;margin:0}.arcade-status{padding:10px 20px;color:#d7e6cf;font-size:13px;min-height:42px}.arcade-guide{max-width:850px;padding-bottom:35px}.arcade-guide summary{font-size:14px;cursor:pointer;padding:16px 0}.arcade-guide p{font-size:14px;line-height:1.7;color:#586e60}.arcade-guide a{text-decoration:underline}.arcade-noscript{padding:20px;color:#fff0bb}@media(max-width:650px){.arcade-intro{padding-top:110px}.arcade-intro p{font-size:14px}.arcade-hud{padding:12px;gap:10px;font-size:12px}.arcade-hud strong{font-size:16px}.arcade-score{gap:15px}.arcade-stage canvas{aspect-ratio:640/500}.arcade-overlay{padding:10px}.arcade-card{padding:17px;border-width:4px}.arcade-card h2{font-size:25px;margin-bottom:8px}.arcade-card p{font-size:12px;line-height:1.4}.arcade-formation{margin:8px 0;gap:5px}.arcade-formation button{font-size:10px;padding:5px 7px}.arcade-card label{font-size:12px;margin:8px 0}.arcade-mission{padding:10px 12px;font-size:11px}.arcade-controls{padding:12px}.arcade-move{width:100%;justify-content:space-between;gap:5px}.arcade-cabinet button{font-size:12px;padding:9px 10px}.arcade-other{width:100%;justify-content:space-between}.arcade-status{padding:10px 12px;font-size:12px}.arcade-cabinet{border-radius:17px}}@media(prefers-reduced-motion:reduce){.arcade-cabinet button:active{transform:none}}
/* Controls belong to the game scene, not a separate control deck. */
.game-sr-only{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.arcade-stage .arcade-controls{position:absolute;left:12px;right:12px;bottom:12px;z-index:4;padding:0;background:transparent;align-items:flex-end;flex-wrap:nowrap;pointer-events:none}
.arcade-controls button{pointer-events:auto;background:#fff4d4e8;border:1px solid #526f73;box-shadow:0 2px 6px #16334222;min-width:44px;min-height:44px;padding:5px 8px;display:flex;align-items:center;justify-content:center;gap:4px;border-radius:10px}
.arcade-controls kbd{font:600 10px monospace;color:#526b6a}.arcade-controls .primary kbd{color:#fff0cd}
.arcade-direction{position:relative;display:grid;grid-template-columns:44px 44px;gap:6px}.arcade-direction button{font-size:19px}.arcade-direction kbd{font-size:9px}
.pad-caption{position:absolute;left:0;right:0;top:-19px;font:700 9px monospace;letter-spacing:.08em;text-align:center;color:#203f48;background:#fff4d4d9;border-radius:5px;padding:3px 2px;pointer-events:none}
.arcade-controls .arcade-vertical{display:none}.has-vertical .arcade-vertical{display:flex}.has-vertical #arcade-up{grid-column:1;grid-row:1}.has-vertical #arcade-down{grid-column:2;grid-row:1}.has-vertical #arcade-left{grid-column:1;grid-row:2}.has-vertical #arcade-right{grid-column:2;grid-row:2}
.arcade-actions{display:flex;gap:8px}.arcade-actions button{width:72px;height:52px;flex-direction:column;font-size:13px;gap:1px}.arcade-actions kbd{display:inline-block;padding:1px 4px;border:1px solid #69818455;border-radius:4px;font-size:9px}.arcade-actions .primary kbd{border-color:#ffe6b266}
.arcade-stage>.arcade-other{position:absolute;top:12px;right:12px;z-index:5;width:auto;gap:6px;flex-wrap:nowrap}.arcade-other>button{font-size:11px;padding:5px 10px;background:#fff4d4eb;border-width:1px;box-shadow:0 2px 5px #143c3422}.arcade-other #arcade-menu{font-size:22px;width:44px;padding:0}.arcade-other #arcade-pause{width:64px}
.arcade-menu-panel{position:absolute;top:51px;right:0;display:flex;flex-direction:column;gap:7px;padding:10px;border-radius:13px;background:#193d46f5;box-shadow:0 6px 22px #15384244;min-width:160px}.arcade-menu-panel[hidden]{display:none}.arcade-menu-panel button{text-align:left;font-size:12px;border-width:1px;box-shadow:none}
.arcade-stage>.arcade-mission{position:absolute;top:12px;left:12px;right:auto;max-width:calc(100% - 150px);z-index:3;padding:8px 10px;border-radius:10px;background:#fff7deeb;border:1px solid #b7c7b055;gap:4px 12px;font-size:10px;line-height:1.4;box-shadow:0 2px 5px #16334211}.arcade-mission #arcade-objective{color:#305e48}.arcade-mission #arcade-target{font-size:9px;color:#607269}
.egg-landscape{position:absolute;inset:0;z-index:8;background:#ce9c67}.egg-landscape[hidden]{display:none}.egg-landscape img{width:100%;height:100%;display:block;object-fit:cover}.egg-credit{position:absolute;bottom:15px;left:18px;font-size:10px;letter-spacing:.04em;color:#fff2d2;background:#28201888;padding:4px 7px;border-radius:5px}
.arcade-cabinet .egg-trigger{position:absolute;left:66%;top:40%;width:15%;height:27%;padding:0;border:0;background:none;box-shadow:none;color:#fff1cc;display:flex;align-items:flex-end;justify-content:flex-end;gap:5px}.egg-trigger>span:first-child{display:grid;place-items:center;border:1px solid #ffe0a299;background:#392e21ab;border-radius:50%;width:26px;height:26px;font-size:17px;flex-shrink:0}.egg-explore{display:none;font:500 11px 'DM Sans',sans-serif;padding:5px 7px;background:#31271da8;border-radius:20px}.egg-trigger:hover .egg-explore,.egg-trigger:focus-visible .egg-explore{display:inline-block}.egg-trigger:focus-visible{outline:2px solid #ffe5ae;outline-offset:6px;border-radius:12px}
.egg-pixels{position:absolute;inset:0;width:100%;height:100%;z-index:8;pointer-events:none;image-rendering:pixelated}.egg-pixels[hidden]{display:none}
.egg-idle .arcade-stage{aspect-ratio:2/1}.egg-idle #well-world,.egg-idle .arcade-hud,.egg-idle .arcade-controls,.egg-idle .arcade-other,.egg-idle .arcade-mission,.egg-idle .arcade-overlay{display:none!important}.egg-idle{background:#cfab7c;border-color:#d7c4a6}
@media(max-width:650px){.arcade-stage canvas{aspect-ratio:1/1}.arcade-stage>.arcade-controls{left:10px;right:10px;bottom:10px}.arcade-direction{grid-template-columns:44px 44px;gap:5px}.arcade-actions button{width:56px;height:52px;font-size:11px;padding:4px}.arcade-actions{gap:6px}.arcade-direction kbd{display:none}.arcade-stage>.arcade-other{top:10px;right:10px}.arcade-stage>.arcade-mission{left:10px;top:10px;max-width:calc(100% - 143px);font-size:9px;padding:7px 8px;gap:3px 6px}.arcade-mission #arcade-target{display:none}.egg-credit{font-size:8px;bottom:9px;left:10px}.arcade-cabinet .egg-trigger{min-height:44px;min-width:44px}.egg-explore{display:none!important}.egg-trigger>span:first-child{width:24px;height:24px;font-size:16px}}
@media(min-width:651px){.has-vertical .arcade-direction{grid-template-columns:repeat(4,44px)}.has-vertical #arcade-left{grid-column:1;grid-row:1}.has-vertical #arcade-right{grid-column:2;grid-row:1}.has-vertical #arcade-up{grid-column:3;grid-row:1}.has-vertical #arcade-down{grid-column:4;grid-row:1}}
.arcade-actions button[hidden]{display:none}
/* Keyboard players get a small hint, not button overlays. Touch controls are opt-in/out. */
.arcade-stage .arcade-controls{display:none}.controls-shown .arcade-stage .arcade-controls{display:flex}
.arcade-key-hint{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);z-index:3;white-space:nowrap;font:600 10px monospace;color:#fff8de;text-shadow:0 1px 3px #19383a;pointer-events:none;opacity:.85}
.keyboard-engaged .arcade-key-hint,.controls-shown .arcade-key-hint{display:none}.is-paused:not(.controls-shown) .arcade-key-hint{display:block}
.arcade-stage>.arcade-other{top:8px;right:8px}.arcade-other #arcade-menu{background:#fff4d466;border:1px solid #526f7333;box-shadow:none;width:44px}
.arcade-controls button,.arcade-controls .primary{background:#fff4d4a6;color:#193d42;border-color:#526f7366;box-shadow:none}.arcade-controls .primary kbd{color:#526b6a}.pad-caption{background:none;color:#203f48;font-size:8px}
.egg-idle .arcade-key-hint{display:none}
@media(pointer:coarse){.arcade-key-hint{display:none}.arcade-actions button{width:48px;height:48px;font-size:10px}.arcade-controls kbd{display:none}.arcade-controls{opacity:.82}.arcade-controls:active{opacity:1}}
.stage-picker select{display:block;width:100%;font:inherit;border:1px solid #9b895b;border-radius:8px;padding:8px;background:#fff6d5;margin-top:5px}.arcade-guide table{border-collapse:collapse;width:100%;font-size:13px}.arcade-guide td,.arcade-guide th{text-align:left;padding:9px 8px;border-bottom:1px solid #d7dfd1}.arcade-card .stage-picker{margin:8px 0}.arcade-card .stage-picker select{font-size:11px}
