@font-face{font-family:DOS;src:url(/fonts/ibm-vga.woff) format("woff");font-display:block}:root{--vga-black: #000000;--vga-cyan: #00aaaa;--vga-green: #00aa00;--vga-amber: #ffaa00;--vga-white: #ffffff;--vga-red: #aa0000;--vga-blue: #0000aa;--vga-gray: #aaaaaa;--kb: 0px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;height:100dvh;overflow:hidden;overscroll-behavior:none;background:var(--vga-black);color:var(--vga-gray);font-family:DOS,Courier New,Courier,monospace;font-size:16px;line-height:16px;image-rendering:pixelated;-webkit-font-smoothing:none;font-smooth:never;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.crt{position:relative;width:100%;height:100%;min-height:100dvh;background:#000;overflow:hidden}.world-stage{position:absolute;inset:0;z-index:0;overflow:hidden}.world-stage canvas{display:block;width:100%!important;height:100%!important;image-rendering:auto;touch-action:none}.world-stage.mode-13 canvas{image-rendering:pixelated;image-rendering:crisp-edges}.crt-scanlines{pointer-events:none;position:absolute;inset:0;z-index:20;background:repeating-linear-gradient(to bottom,#0000 0px 3px,#0000000b 4px);mix-blend-mode:multiply}.crt-phosphor{pointer-events:none;position:absolute;inset:0;z-index:21;background:radial-gradient(ellipse at center,rgba(0,170,170,.08) 0%,transparent 68%);mix-blend-mode:screen}.crt-barrel{pointer-events:none;position:absolute;inset:0;z-index:22;border-radius:20px/18px;box-shadow:inset 0 0 80px 10px #00000047,inset 0 0 140px #00aaaa0f}.boot{position:absolute;inset:0;z-index:30;padding:max(16px,var(--safe-top)) max(16px,var(--safe-right)) calc(max(16px,var(--safe-bottom)) + var(--kb)) max(16px,var(--safe-left));white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;color:#aaa;text-shadow:0 0 2px #00aaaa;background:#000;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.boot .amber{color:#fa0}.boot .cyan{color:#0aa}.boot .green{color:#0a0}.cursor{display:inline-block;width:8px;height:16px;background:#aaa;vertical-align:bottom;animation:blink 1.05s step-end infinite}@keyframes blink{50%{background:transparent}}.prompt-row{margin-top:16px;color:#fff}.vga-red{color:#a00;text-shadow:0 0 2px #aa0000}.crt-keys{position:absolute;inset:0;z-index:5;width:100%;height:100%;min-height:40px;margin:0;padding:0;border:0;opacity:0;background:transparent;color:transparent;caret-color:transparent;font-family:inherit;font-size:16px;line-height:16px}.hud{position:absolute;left:0;right:0;bottom:var(--kb);z-index:10;padding:8px max(12px,var(--safe-right)) calc(8px + max(0px,var(--safe-bottom) - var(--kb))) max(12px,var(--safe-left));background:linear-gradient(to top,#000000e0 55%,#0000);color:var(--vga-gray);text-shadow:0 0 2px #00aaaa;pointer-events:none}.hud-out{pointer-events:auto;max-height:min(28vh,160px);overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;color:var(--vga-gray);margin-bottom:4px}.hud-prompt{position:relative;pointer-events:auto;min-height:44px;display:flex;align-items:center;flex-wrap:wrap;color:var(--vga-white)}.hud-prefix,.hud-typed{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--vga-white)}.hud-ghost{position:absolute;inset:0;opacity:0;width:100%;min-height:44px;border:0;background:transparent;color:transparent;caret-color:transparent;font-family:DOS,Courier New,Courier,monospace;font-size:16px;line-height:16px;outline:none}@media(min-width:768px){.hud{padding:12px max(24px,var(--safe-right)) calc(12px + max(0px,var(--safe-bottom) - var(--kb))) max(24px,var(--safe-left))}.hud-out{max-height:min(36vh,320px)}}@media(min-width:1024px){.hud-out{max-height:min(40vh,400px)}}.edit{position:absolute;inset:0;z-index:15;display:flex;flex-direction:column;background:var(--vga-blue);color:var(--vga-white);padding:max(8px,var(--safe-top)) max(8px,var(--safe-right)) calc(8px + max(var(--kb),var(--safe-bottom))) max(8px,var(--safe-left));pointer-events:auto}.edit-bar{flex-shrink:0;min-height:40px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;background:var(--vga-cyan);color:var(--vga-black);padding:0 8px;text-shadow:none}.edit-status{color:var(--vga-black)}.edit-body{flex:1;width:100%;min-height:0;margin:8px 0 0;padding:8px;border:0;resize:none;background:var(--vga-blue);color:var(--vga-white);caret-color:var(--vga-amber);font-family:DOS,Courier New,Courier,monospace;font-size:16px;line-height:16px;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;outline:none;user-select:text;-webkit-user-select:text}.edit-keys{flex-shrink:0;display:flex;flex-wrap:wrap;gap:8px;padding-top:8px}.edit-btn{min-height:44px;min-width:88px;padding:0 16px;border:0;background:var(--vga-cyan);color:var(--vga-black);font-family:DOS,Courier New,Courier,monospace;font-size:16px;line-height:16px;cursor:pointer;touch-action:manipulation}.edit-btn:active{background:var(--vga-amber)}@media(min-width:768px){.edit{padding:max(12px,var(--safe-top)) max(24px,var(--safe-right)) calc(12px + max(var(--kb),var(--safe-bottom))) max(24px,var(--safe-left))}}
