:root{--bg:#050807;--fg:#28e06b;--dim:#11582f}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--bg);color:var(--fg);font-family:ui-monospace,Menlo,Consolas,Courier New,monospace}.page{flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:100dvh;padding:16px;display:flex}.game{touch-action:none;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:8px;display:flex}.hud{letter-spacing:.08em;color:#9dffc4;gap:18px;font-size:13px;display:flex}.hud .lives{color:#eaffea}.screen{background:#020403;border:1px solid #123f26;border-radius:6px;padding:10px 12px;position:relative;box-shadow:0 0 24px #28e06b1a,inset 0 0 40px #0009}.screen pre{letter-spacing:0;font-variant-ligatures:none;text-shadow:0 0 6px #28e06b73;line-height:1.15}.screen:after{content:"";pointer-events:none;background:repeating-linear-gradient(#00000038 0 1px,#0000 1px 3px);border-radius:6px;position:absolute;inset:0}.invert{filter:invert()hue-rotate(180deg)}.shake{animation:.12s linear infinite shake}@keyframes shake{0%{transform:translate(1px)}50%{transform:translate(-1px,1px)}to{transform:translateY(-1px)}}.w{color:var(--dim);text-shadow:none}.p{color:#eaffea;text-shadow:0 0 8px #eaffeacc}.eA{color:#ff5c5c}.eF{color:#ff9ade}.eS{color:#57d9ff}.eD{color:#ffb44d}.fr{color:#4f7dff}.frW{color:#e8f0ff}.ey{color:#b9c6ff}.pw{color:#b6ffd0;text-shadow:0 0 10px #b6ffd0e6}.msg{color:#ffe66d;text-shadow:0 0 8px #ffe66db3}.mono .screen pre,.mono .screen pre span{color:var(--fg)!important}.overlay{text-align:center;background:#020403d1;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:absolute;inset:0}.overlay.attract{background:linear-gradient(#02040300 60%,#020403d9 92%);justify-content:flex-end;gap:6px;padding-bottom:12px}.title{letter-spacing:.35em;color:#eaffea;text-shadow:0 0 12px #28e06bcc;font-size:22px}.title.small{font-size:17px}.sub{color:#9dffc4;letter-spacing:.15em;font-size:12px}.sub.daily{color:#ffe66d}.blink{margin-top:8px;font-size:13px;animation:1.1s steps(2,end) infinite blink}@keyframes blink{50%{opacity:0}}.btnrow{gap:10px;margin-top:6px;display:flex}button.b{border:1px solid var(--fg);color:var(--fg);letter-spacing:.1em;cursor:pointer;background:0 0;padding:6px 12px;font-family:inherit;font-size:12px}button.b:hover{background:#28e06b1f}.foot{color:#3f8f5f;letter-spacing:.08em;font-size:11px}.credits{color:#2f6b47;letter-spacing:.06em;text-align:center;font-size:11px}.credits a{color:#4fae72}
