@import"https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap";:root{--bg: #0d1117;--bg-alt: #161b22;--bg-panel: rgba(13, 17, 23, .8);--border: rgba(255, 255, 255, .08);--text: #ffffff;--text-dim: #8b949e;--text-muted: #484f58;--accent: #b32d2d;--accent-glow: rgba(179, 45, 45, .2);--yellow: #e6b800;--danger: #b32d2d;--success: #e6b800;--warning: #e6b800;--cursor: #ffffff;--visual: rgba(255, 255, 255, .1)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:JetBrains Mono,Fira Code,monospace;scrollbar-color:var(--text-muted) var(--bg);scrollbar-width:thin}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--text-muted)}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}.page{width:100vw;height:100vh;display:flex;flex-direction:column;background:var(--bg);position:relative;overflow:hidden}.logo{font-family:"Press Start 2P",monospace;color:var(--text);letter-spacing:4px}.vim-comment{color:var(--text-dim);opacity:.8;font-family:JetBrains Mono,monospace;font-size:11px;font-style:italic}.vim-string{color:var(--text)}.vim-keyword{color:var(--yellow)}.vim-number{color:var(--yellow);font-weight:700}.glass-card{background:var(--bg-panel);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);box-shadow:0 4px 24px #0006}.tactical-border{position:relative;border:1px solid var(--border);transition:border-color .3s ease}.tactical-border:before,.tactical-border:after{content:"";position:absolute;width:8px;height:8px;border-color:var(--yellow);border-style:solid;opacity:.3;transition:opacity .3s ease}.tactical-border:hover:before,.tactical-border:hover:after{opacity:1}.tactical-border:before{top:-1px;left:-1px;border-width:1px 0 0 1px}.tactical-border:after{bottom:-1px;right:-1px;border-width:0 1px 1px 0}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}#game-container{width:100vw;height:100vh}#game-container canvas{display:block}.vim-editor{width:100vw;height:100vh;display:flex;flex-direction:column;background:var(--bg);position:relative}.vim-main{display:flex;flex:1;overflow:hidden}.vim-gutter{width:54px;background:var(--bg-alt);color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:14px;padding:24px 12px;text-align:right;border-right:1px solid var(--border);-webkit-user-select:none;user-select:none}.vim-body{flex:1;padding:40px;overflow-y:auto;display:flex;flex-direction:column;align-items:center}.vim-statusline{display:flex;justify-content:space-between;background:var(--bg-alt);color:var(--text);font-family:"Press Start 2P",monospace;font-size:10px;padding:12px 24px;align-items:center;box-shadow:0 -4px 10px #0003;z-index:10}.vim-commandline{background:var(--bg-panel);color:var(--text);font-family:monospace;font-size:14px;padding:10px 24px;display:flex;align-items:center;border-top:1px solid var(--border);z-index:10}.vim-cursor{display:inline-block;width:8px;height:18px;background:var(--cursor);margin-left:1px;animation:blink 1s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}canvas{image-rendering:pixelated;image-rendering:crisp-edges}
