*,::after,::before{background:0 0;border:0;box-sizing:border-box;color:inherit;cursor:default;font:inherit;margin:0;padding:0}button,button *,button ::after,button ::before{cursor:pointer}:root{background-color:#000;color:#fff;font-family:sans-serif;font-size:16px;line-height:1.5;user-select:none}body,html{height:100%;width:100%}:focus{outline:2px solid #fff}[hidden]{display:none!important}button{cursor:pointer}button[aria-disabled=true],button[disabled]{cursor:not-allowed}@media (max-width:20rem){body{font-size:.5rem}}@media (min-width:20rem){body{font-size:calc(.5rem + ((1vw - .4rem) * 1))}}.u-screenReader{clip:rect(0,0,0,0);-webkit-clip-path:inset(50);clip-path:inset(50);border:0;height:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.c-menu{align-items:center;text-align:center}.c-menu--title{font-size:3em;line-height:1.1;margin-bottom:.5rem}.c-menu--subtitle{font-size:1.1em;max-width:40em;opacity:.85}.c-menu--list{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin-top:1.5rem;padding:0;width:min(28em,90vw)}.c-menu--list li{width:100%}.c-menu--button{background:rgba(255,255,255,.05);border:2px solid rgba(255,255,255,.4);border-radius:.4rem;color:#fff;cursor:pointer;font-size:1.05em;padding:.7em 1em;transition:background 120ms ease,border-color 120ms ease;width:100%}.c-menu--button:focus,.c-menu--button:hover{background:rgba(255,255,255,.18);border-color:#fff;outline:0}.c-menu--button[aria-pressed=true]{background:rgba(255,255,255,.22);border-color:#fff}.c-menu--prose{line-height:1.6;margin-top:1rem;max-width:48em;text-align:left}.c-menu--prose h2{font-size:1.3em;margin-top:1.5em}.c-menu--prose ul{list-style:disc inside;padding-left:.5em}.c-menu--prose kbd{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.5);border-radius:.25em;font-family:monospace;padding:0 .4em}.c-menu--footer{bottom:1.5rem;font-family:monospace;font-size:.8em;left:0;opacity:.6;position:absolute;text-align:center;width:100%}.c-screen{display:flex;flex-direction:column;height:100%;justify-content:center;padding:2em;width:100%}.c-screen:focus{outline:0}.c-screen>*+*{margin-top:1rem}.a-app{height:100%;left:0;letter-spacing:.125em;position:absolute;opacity:0;top:0;transition:opacity 1s linear;width:100%}.a-app--overlaySupport{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:666}.a-app--screen{align-items:center;background-color:#000;display:flex;height:100%;justify-content:center;left:0;position:absolute;opacity:0;top:0;transition:all .5s ease;transition-property:opacity;width:100%;z-index:1}.a-app--screen>*{flex:1 1 auto;max-width:64em}.a-app--screen-active{opacity:1;z-index:3}.a-app--screen-inactive{opacity:0;z-index:2}.a-app-active{opacity:1}.a-game{align-items:center;background:radial-gradient(ellipse at 50% 100%,rgba(255,80,30,.18) 0,rgba(0,0,0,0) 60%),radial-gradient(circle at 50% 30%,rgba(120,30,30,.1) 0,rgba(0,0,0,0) 70%),#0a0606;color:#ffd9b3;font-family:monospace;text-align:center}.a-game--hud{display:grid;gap:.6em;grid-template-columns:1fr;letter-spacing:.1em}.a-game--score{color:#ffeac7;font-size:4em;font-weight:700;line-height:1;text-shadow:0 0 20px rgba(255,110,50,.5)}.a-game--level{color:#ffb88a;font-size:1.4em}.a-game--lives{color:#ff5a3a;font-size:1.6em;letter-spacing:.2em;min-height:1.6em}.a-game--threat{color:#ff8c3a;font-size:1.2em;min-height:1.4em}.a-game--aim{color:#5dc6ff;font-size:1.6em;letter-spacing:.4em}.a-live{left:-10000px;position:absolute}.a-gameover{align-items:center;background:radial-gradient(ellipse at 50% 50%,rgba(150,30,30,.18) 0,rgba(0,0,0,0) 65%),#0a0606;text-align:center}.a-gameover .c-menu--title{color:#ff5a3a;text-shadow:0 0 24px rgba(255,80,40,.5)}.a-splash--help{margin-top:1.5rem;max-width:36em}.a-splash--help h2{font-size:1.2em;margin-bottom:.4rem}.a-splash--help ul{list-style:none;padding:0}.a-splash--help li{margin:.25rem 0;opacity:.9}.a-splash--help kbd{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.3);border-radius:.2em;font-family:inherit;font-size:.95em;padding:0 .4em}.a-splash{align-items:center;text-align:center}.a-splash--details{bottom:2rem;font-family:monospace;font-size:.75em;font-weight:300;left:2rem;letter-spacing:0;padding:.5rem .75rem;position:absolute;text-align:left}.a-splash--instruction{animation:a-splash--instruction 1s ease-in-out 0s infinite alternate both;bottom:2rem;line-height:2;padding:.5em .75em;position:absolute;right:2rem;text-transform:uppercase}.a-splash--logo{font-size:4em}.a-splash--actions{margin-top:1.5rem;width:min(20em,70vw)}@keyframes a-splash--instruction{0%{opacity:.5}100%{opacity:1}}