:root{--phosphor:#3f6;--phosphor-dim:#1f9e40;--room:#020302;--warn:#fc3;--font:"VT323", ui-monospace, "Courier New", monospace}*{box-sizing:border-box}html,body{background:var(--room);height:100%;color:var(--phosphor);font-family:var(--font);margin:0;overflow:hidden}.crt{--bg:#050a06;--fg:var(--phosphor);background:var(--room);padding:clamp(12px,3vw,40px);position:fixed;inset:0}.screen,.power{background:radial-gradient(ellipse at center, color-mix(in srgb, var(--bg) 85%, var(--fg) 4%) 0%, var(--bg) 70%);box-shadow:inset 0 0 clamp(30px, 8vw, 120px) #000000d9, 0 0 60px color-mix(in srgb, var(--fg) 12%, transparent);color:var(--fg);text-shadow:0 0 2px color-mix(in srgb, var(--fg) 80%, transparent), 0 0 8px color-mix(in srgb, var(--fg) 45%, transparent);border-radius:clamp(12px,3vw,36px);font-size:clamp(17px,2.1vw,26px);line-height:1.15;position:absolute;inset:clamp(12px,3vw,40px)}.screen{scrollbar-width:none;padding:clamp(14px,3vw,36px);animation:6s step-end infinite flicker;overflow:hidden auto}.screen::-webkit-scrollbar{display:none}.crt:after{content:"";pointer-events:none;z-index:5;background:repeating-linear-gradient(#ffffff06 0 1px,#00000038 2px 3px),radial-gradient(#0000 55%,#0000008c 100%);border-radius:clamp(12px,3vw,36px);position:fixed;inset:clamp(12px,3vw,40px)}.crt.custom-color .screen{background:var(--bg)}.out-line{white-space:pre-wrap;word-break:break-word;min-height:1.15em}.line{white-space:pre-wrap;word-break:break-all}.cursor{vertical-align:-.12em;background:currentColor;width:.55em;height:1em;margin-left:1px;animation:1s step-end infinite blink;display:inline-block}.bright{color:color-mix(in srgb, var(--fg) 60%, white)}.dim{opacity:.6}.warn{color:var(--warn)}.ink{-webkit-user-select:none;user-select:none;display:inline-block;color:#000!important;text-shadow:none!important}.crt.flashlight:before{content:"";pointer-events:none;z-index:4;background:radial-gradient(circle 130px at var(--fx,50%) var(--fy,50%), #ffecaa38 0%, #ffecaa14 55%, transparent 100%);position:fixed;inset:0}.crt.flashlight:not(.custom-color) .ink{-webkit-mask-image:radial-gradient(circle 130px at var(--ix,-999px) var(--iy,-999px), #000 35%, transparent 80%);mask-image:radial-gradient(circle 130px at var(--ix,-999px) var(--iy,-999px), #000 35%, transparent 80%);-webkit-mask-image:radial-gradient(circle 130px at var(--ix,-999px) var(--iy,-999px), #000 35%, transparent 80%);color:#fff3c4!important;text-shadow:0 0 6px #ffecaab3!important}.logo{white-space:pre;color:color-mix(in srgb, var(--fg) 70%, white);text-shadow:0 0 4px var(--fg), 0 0 16px var(--fg);font-family:Menlo,Consolas,DejaVu Sans Mono,Courier New,monospace;font-size:.75em;line-height:1}.screen a{color:inherit;outline:none;text-decoration:none;animation:1.4s ease-in-out infinite pulse}.screen .cmd{font:inherit;color:color-mix(in srgb, var(--fg) 60%, white);cursor:pointer;text-shadow:inherit;text-underline-offset:.15em;background:0 0;border:0;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.crt.custom-color .screen .cmd{color:var(--fg)}.screen .cmd:hover,.screen .cmd:focus-visible,.screen a:hover,.screen a:focus-visible{background:var(--fg);color:var(--bg);text-shadow:none}::selection{background:var(--fg);color:var(--bg);text-shadow:none}.snake-board{font:inherit;white-space:pre;touch-action:none;margin:.4em 0 .2em;line-height:1}.pellet{background:var(--fg);color:var(--bg);text-shadow:none;animation:.6s ease-in-out infinite pulse}.crt.custom-color .bright{color:var(--fg);text-decoration:underline}.snake-status{white-space:pre-wrap}.snake-pad{grid-template-columns:repeat(3,56px);grid-template-areas:".up.""left.right"".down.";grid-auto-rows:48px;gap:6px;margin:.6em 0;display:grid}.snake-pad .hud-btn{color:var(--fg);touch-action:manipulation;background:0 0;font-size:24px}.pad-up{grid-area:up}.pad-down{grid-area:down}.pad-left{grid-area:left}.pad-right{grid-area:right}@media (pointer:fine){.snake-pad{display:none}}.power{cursor:pointer;z-index:2;background:#000;place-items:center;display:grid}.power[hidden]{display:none}.power-text{text-align:center;letter-spacing:.15em;opacity:.85;margin:0;padding:0 16px}.crt.glitch .screen{animation:.15s steps(2,end) infinite glitch}.crt.off .screen{animation:.8s forwards shutdown}@keyframes blink{50%{opacity:0}}@keyframes pulse{50%{opacity:.55}}@keyframes flicker{0%,to{opacity:1}41%{opacity:.94}42%{opacity:1}77%{opacity:.97}78%{opacity:1}}@keyframes glitch{0%{filter:none;transform:translate(0)}25%{filter:hue-rotate(90deg)contrast(1.6);transform:translate(-6px,2px)skew(4deg)}50%{filter:invert();transform:translate(5px,-3px)}75%{filter:hue-rotate(-90deg);transform:translate(-2px,4px)skew(-6deg)}to{transform:translate(0)}}@keyframes shutdown{0%{filter:brightness();transform:scale(1)}30%{filter:brightness(6);transform:scaleY(.006)}70%{filter:brightness(8);transform:scale(.3,.004)}to{filter:brightness(0);transform:scale(0)}}@media (prefers-reduced-motion:reduce){.screen,.cursor,.screen a,.crt.glitch .screen{animation:none}.crt.off .screen{opacity:0;animation:none}}.kbd{opacity:0;caret-color:#0000;border:0;width:1px;height:1px;padding:0;font-size:16px;position:fixed;bottom:0;left:0}.hud{z-index:10;flex-flow:row-reverse wrap;gap:8px;max-width:calc(100vw - 2*clamp(18px,4vw,52px));display:flex;position:fixed;top:clamp(14px,3vw,44px);right:clamp(18px,4vw,52px)}.hud-btn{font:inherit;color:var(--phosphor-dim);cursor:pointer;background:#0009;border:1px solid;padding:2px 8px;font-size:16px}.hud-btn:hover,.hud-btn:focus-visible{color:var(--phosphor)}.hud-btn[hidden]{display:none}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.screen{padding-bottom:calc(clamp(14px,3vw,36px) + 56px)}.quick{z-index:10;flex-wrap:wrap;justify-content:center;gap:8px;width:max-content;max-width:calc(100vw - 32px);display:flex;position:fixed;bottom:clamp(22px,4vw,52px);left:50%;transform:translate(-50%)}.quick[hidden]{display:none}.quick .hud-btn{touch-action:manipulation;padding:4px 10px;font-size:18px}.invite-dialog{max-width:min(480px,100vw - 32px);font:inherit;text-align:center;color:var(--phosphor);border:1px solid var(--phosphor-dim);text-shadow:0 0 6px color-mix(in srgb, var(--phosphor) 45%, transparent);background:#050a06;padding:24px;font-size:22px}.invite-dialog::backdrop{background:#000000bf}.invite-dialog h2{letter-spacing:.15em;margin:0 0 .6em;font-weight:400}.invite-dialog a{color:inherit;font-size:1.2em}.invite-dialog a:hover,.invite-dialog a:focus-visible{background:var(--phosphor);color:#050a06;text-shadow:none}@media (width<=520px){.hud-btn{font-size:14px}.quick .hud-btn{font-size:16px}.screen{padding-top:40px;padding-bottom:calc(clamp(14px,3vw,36px) + 96px)}}
