@import "https://fonts.googleapis.com/css2?family=VT323&display=swap";:root{--glow-color:#ffffff40;--text-color:#fff;--bg-color:#080808}*{box-sizing:border-box;-webkit-user-select:none;user-select:none;margin:0;padding:0}body{color:var(--text-color);background-color:#000;justify-content:center;align-items:center;width:100vw;height:100vh;font-family:VT323,monospace;font-size:20px;transition:color .3s,background-color .3s;display:flex;overflow:hidden}.crt-container{background-color:var(--bg-color);flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 100px #000000e6}.crt-container:before{content:" ";pointer-events:none;z-index:10;background:radial-gradient(circle,#0000 65%,#00000040 100%);display:block;position:absolute;inset:0}.scanlines{pointer-events:none;z-index:9;background:repeating-linear-gradient(0deg,#00000014,#00000014 1px,#0000 1px 2px);width:100%;height:100%;position:absolute;top:0;left:0}@keyframes crt-flicker{0%{opacity:.985}50%{opacity:.995}to{opacity:.985}}.flicker{animation:.15s infinite crt-flicker}.vignette{pointer-events:none;z-index:8;width:100%;height:100%;position:absolute;top:0;left:0;box-shadow:inset 0 0 40px #00000080}.terminal-screen{width:100%;height:100%;text-shadow:0 0 1.5px var(--glow-color);z-index:5;flex-direction:column;padding:24px;display:flex;overflow:auto}.terminal-screen::-webkit-scrollbar{width:8px;height:8px}.terminal-screen::-webkit-scrollbar-track{background:#0000004d}.terminal-screen::-webkit-scrollbar-thumb{background:var(--text-color);box-shadow:0 0 4px var(--glow-color)}.glow-text{color:var(--text-color);text-shadow:0 0 3px var(--glow-color), 0 0 6px var(--glow-color)}h1,h2,h3,h4{text-transform:uppercase;letter-spacing:2px;margin-bottom:1rem;font-weight:400}pre{font-family:VT323,monospace;font-size:inherit;white-space:pre;letter-spacing:.5px;line-height:1.2}.cursor-blink{animation:1s step-end infinite blink}@keyframes blink{0%,to{color:#0000}50%{color:var(--text-color);text-shadow:0 0 8px var(--glow-color)}}.ascii-btn{border:1px solid var(--text-color);color:var(--text-color);cursor:pointer;text-shadow:0 0 4px var(--glow-color);box-shadow:0 0 4px var(--glow-color);text-transform:uppercase;background:0 0;outline:none;margin:5px;padding:4px 16px;font-family:VT323,monospace;font-size:22px;transition:all .15s;position:relative}.ascii-btn:hover,.ascii-btn.active{background-color:var(--text-color);color:var(--bg-color);text-shadow:none;box-shadow:0 0 12px var(--text-color)}.ascii-btn:active{transform:scale(.97)}.ascii-option{cursor:pointer;margin:2px;padding:4px 10px;display:inline-block}.ascii-option.selected:before{content:"> ";text-shadow:0 0 8px var(--glow-color)}.game-layout{grid-template-columns:1fr;align-items:center;gap:20px;max-width:1000px;margin:0 auto;display:grid}@media (width>=900px){.game-layout{grid-template-columns:3fr 1fr}}.maze-container{border:1px double var(--text-color);background-color:#0006;justify-content:center;align-items:center;max-height:70vh;padding:10px;display:flex;overflow:auto;box-shadow:0 0 10px #00000080}.maze-container pre div{line-height:1!important;display:flex!important}.maze-container pre span{text-align:center!important;width:1.2em!important;height:1.2em!important;line-height:1.2em!important;display:inline-block!important}.ascii-border{border:2px solid var(--text-color);box-shadow:0 0 6px var(--glow-color);background-color:#0003;padding:15px;position:relative}.top-bar{border-bottom:1px dashed var(--text-color);justify-content:space-between;margin-bottom:16px;padding-bottom:8px;font-size:18px;display:flex}.theme-selector span{cursor:pointer;margin-left:8px}.theme-selector span.active{font-weight:700;text-decoration:underline}@keyframes shake{0%{transform:translate(1px,1px)rotate(0)}10%{transform:translate(-1px,-2px)rotate(-1deg)}20%{transform:translate(-3px)rotate(1deg)}30%{transform:translateY(2px)rotate(0)}40%{transform:translate(1px,-1px)rotate(1deg)}50%{transform:translate(-1px,2px)rotate(-1deg)}60%{transform:translate(-3px,1px)rotate(0)}70%{transform:translate(2px,1px)rotate(-1deg)}80%{transform:translate(-1px,-1px)rotate(1deg)}90%{transform:translate(2px,2px)rotate(0)}to{transform:translate(1px,-2px)rotate(-1deg)}}.shake{animation:.2s shake}.hud-panel{flex-direction:column;gap:10px;display:flex}@keyframes color-cycle{0%,to{color:var(--text-color)}50%{color:#fff;text-shadow:0 0 15px #fff}}.victory-text{animation:1.5s infinite color-cycle}
