*{margin:0;padding:0;box-sizing:border-box}body{overflow:hidden;background:radial-gradient(circle at center,#0e1214 0,#080a0c 42%,#020304 100%);font-family:Orbitron,Audiowide,sans-serif;cursor:grab}body:active{cursor:grabbing}#scene{display:block;width:100vw;height:100vh}#loading{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#030308;z-index:1000;color:#00e5ff;font-size:13px;letter-spacing:2px;text-transform:uppercase;transition:opacity .8s}#loading.hidden{opacity:0;pointer-events:none}.loader-ring{width:60px;height:60px;border:3px solid transparent;border-top-color:#00e5ff;border-right-color:gold;border-radius:50%;margin-bottom:20px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}#console{position:fixed;bottom:0;left:0;width:420px;height:240px;background:rgba(0,4,2,.88);border-right:1px solid rgba(0,255,65,.2);border-top:1px solid rgba(0,255,65,.2);border-top-right-radius:4px;font-family:'IBM Plex Mono','Share Tech Mono','Courier New',monospace;font-size:11px;color:#00ff41;z-index:10;overflow:hidden;display:flex;flex-direction:column;transition:left .42s cubic-bezier(.22, 1, .36, 1),bottom .42s cubic-bezier(.22, 1, .36, 1),width .42s cubic-bezier(.22, 1, .36, 1),height .42s cubic-bezier(.22, 1, .36, 1),border-radius .42s cubic-bezier(.22, 1, .36, 1),box-shadow .42s cubic-bezier(.22, 1, .36, 1),background .42s cubic-bezier(.22, 1, .36, 1)}#console.expanded{left:20vw;bottom:20vh;width:60vw;height:60vh;border-radius:6px;box-shadow:0 18px 64px rgba(0,0,0,.45);background:rgba(0,6,3,.94)}.console-header{padding:5px 12px;border-bottom:1px solid rgba(0,255,65,.15);display:flex;justify-content:space-between;align-items:center;font-size:10px;color:rgba(0,255,65,.5);letter-spacing:2px;text-transform:uppercase;background:rgba(0,255,65,.03)}.console-meta{display:flex;align-items:center;gap:10px}.console-status{color:#00ff41;animation:1.2s step-end infinite blink-status}@keyframes blink-status{0%,100%{opacity:1}50%{opacity:.3}}#console-body{padding:6px 12px 10px;flex:1;position:relative;overflow-y:auto;line-height:1.6;scrollbar-width:thin;scrollbar-color:rgba(0,255,65,0.25) transparent}#console-body::-webkit-scrollbar{width:3px}#console-body::-webkit-scrollbar-track{background:0 0}#console-body::-webkit-scrollbar-thumb{background:rgba(0,255,65,.25)}.console-line{white-space:pre;opacity:0;animation:.1s forwards line-in;text-shadow:0 0 6px rgba(0,255,65,.4)}.console-line.wrap{white-space:pre-wrap;word-break:break-word}.console-text{white-space:inherit}.console-line.copy{color:#00ff41;text-shadow:0 0 6px rgba(0,255,65,.4)}.console-line.dim{color:rgba(0,255,65,.4)}.console-line.cyan{color:#00e5ff;text-shadow:0 0 6px rgba(0,229,255,.3)}.console-line.gold{color:gold;text-shadow:0 0 6px rgba(255,215,0,.3)}.console-line.link{color:#00e5ff;text-decoration:none;display:block}.console-line.link:hover{color:gold}.console-action-link{cursor:pointer}.console-input-line{display:flex;align-items:flex-start;gap:4px;min-height:1.6em;cursor:text;white-space:pre-wrap;position:relative}.console-input-prefix{color:#00e5ff;margin-right:4px}.console-input-field,.console-input-static{flex:1 1 auto;min-width:0;white-space:pre-wrap}.console-input-field{display:block;width:100%;border:0;margin:0;padding:0;background:0 0;color:#00ff41;font:inherit;resize:none;caret-color:#00ff41;appearance:none;-webkit-appearance:none;outline:0;box-shadow:none;border-radius:0}.console-input-field::placeholder{color:rgba(0,255,65,.42);opacity:1}.console-input-field.multiline{min-height:4.8em;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(0,255,65,0.2) transparent}.console-matrix-overlay{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:8}.console-matrix-char{position:absolute;font:inherit;color:#00ff41;text-shadow:0 0 6px rgba(0,255,65,.45);white-space:pre;will-change:transform,opacity;animation:.7s cubic-bezier(.16,.84,.32,1) forwards matrix-fall;animation-delay:var(--matrix-delay, 0ms)}.console-matrix-char.dim{color:rgba(0,255,65,.55)}.console-matrix-char.cyan,.console-matrix-char.link{color:#00e5ff;text-shadow:0 0 6px rgba(0,229,255,.35)}.console-matrix-char.gold{color:gold;text-shadow:0 0 6px rgba(255,215,0,.35)}@keyframes matrix-fall{0%{opacity:.9;transform:translate3d(0,0,0)}100%{opacity:0;transform:translate3d(0,var(--matrix-fall-distance,140px),0)}}.console-ascii{font-family:'IBM Plex Mono','Share Tech Mono','Courier New',monospace;font-size:1.3px;line-height:1;letter-spacing:0;color:rgba(0,255,65,.58);text-shadow:0 0 1px rgba(0,255,65,.18);margin:4px auto 8px;white-space:pre;overflow:hidden;opacity:0;animation:.8s forwards ascii-fade-in;display:block;width:fit-content;transform:scaleY(.95);transform-origin:top center}.console-ascii-small{font-size:11px;line-height:1.15;letter-spacing:0;transform:none}.console-ascii-cave{font-size:7.2px;line-height:1;letter-spacing:0;margin:4px auto 10px;max-width:100%}.console-ascii-slo{font-size:2.2px;line-height:1;letter-spacing:0;margin:4px auto 10px;max-width:100%}.console-ascii-row{display:flex;align-items:center;justify-content:center;gap:10px;margin:4px 0 10px;overflow-x:auto;overflow-y:hidden;padding-bottom:4px;scrollbar-width:thin;scrollbar-color:rgba(0,255,65,0.25) transparent}.console-ascii-row::-webkit-scrollbar{height:3px}.console-ascii-row::-webkit-scrollbar-track{background:0 0}.console-ascii-row::-webkit-scrollbar-thumb{background:rgba(0,255,65,.25)}.console-ascii-row-item{margin:0;flex:0 0 auto;display:block;align-self:center;overflow:visible}.console-ascii-row-photo{font-size:5px;line-height:1}.console-ascii-row-cave{font-size:4.6px;line-height:1}.console-ascii-row-glider{font-size:5.6px;line-height:1}@media (max-width:900px){.console-ascii-row{gap:6px;justify-content:flex-start}.console-ascii-row-photo{font-size:4px}.console-ascii-row-cave{font-size:3.7px}.console-ascii-row-glider{font-size:4.3px}}@media (max-width:680px){.console-ascii-row{flex-direction:column;align-items:center;overflow-x:hidden}.console-ascii-row-photo{font-size:5px}.console-ascii-row-cave{font-size:6.4px}.console-ascii-row-glider{font-size:5.2px}}@keyframes ascii-fade-in{from{opacity:0;filter:blur(2px)}to{opacity:1;filter:blur(0)}}.console-actions{display:none;gap:6px}#console.expanded .console-actions{display:flex}.console-action{border:1px solid rgba(0,255,65,.25);background:rgba(0,255,65,.06);color:rgba(0,255,65,.78);font:inherit;font-size:11px;letter-spacing:1px;width:24px;height:20px;padding:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.console-action:hover{color:#00e5ff;border-color:rgba(0,229,255,.45)}@keyframes line-in{from{opacity:0;transform:translateX(-4px)}to{opacity:1;transform:translateX(0)}}#status-bar{position:fixed;top:12px;right:16px;font-family:'IBM Plex Mono','Share Tech Mono',monospace;font-size:10px;color:rgba(0,255,65,.4);letter-spacing:1px;text-transform:uppercase;z-index:10;display:flex;align-items:center;gap:8px;padding:4px 10px;border:1px solid rgba(0,255,65,.1);border-radius:3px;background:rgba(0,4,2,.5)}.status-sep{opacity:.3}#sound-toggle{border:0;background:0 0;color:#00ff41;display:inline-flex;align-items:center;justify-content:center;line-height:1;cursor:pointer;padding:0}#sound-toggle .material-symbols-rounded{font-family:'Material Symbols Rounded';font-size:16px;font-variation-settings:'FILL' 1,'wght' 400,'GRAD' 0,'opsz' 20;line-height:1}#sound-toggle:hover{color:#00e5ff}#scanlines{position:fixed;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.015) 0,rgba(0,0,0,.015) 1px,transparent 1px,transparent 3px);pointer-events:none;z-index:100}body::after{content:'';position:fixed;inset:0;background:radial-gradient(ellipse at center,transparent 52%,rgba(0,0,0,.62) 100%);pointer-events:none;z-index:99}#tooltip{position:fixed;padding:5px 12px;background:rgba(0,5,2,.92);border:1px solid rgba(0,255,65,.5);border-radius:3px;color:#00ff41;font-family:'IBM Plex Mono','Share Tech Mono',monospace;font-size:12px;letter-spacing:1px;pointer-events:none;opacity:0;transition:opacity .12s;z-index:20;white-space:nowrap;text-shadow:0 0 5px rgba(0,255,65,.4)}#tooltip.visible{opacity:1}#desktop-panels{position:fixed;right:0;top:44px;display:flex;flex-direction:column;gap:2px;z-index:10;max-height:calc(100vh - 54px);overflow-y:auto}#desktop-panels::-webkit-scrollbar{width:2px}#desktop-panels::-webkit-scrollbar-track{background:0 0}#desktop-panels::-webkit-scrollbar-thumb{background:rgba(0,255,65,.2)}.hacker-panel{width:300px;height:200px;background:rgba(0,4,2,.85);border-left:1px solid rgba(0,255,65,.2);border-bottom:1px solid rgba(0,255,65,.2);border-bottom-left-radius:4px;font-family:'IBM Plex Mono','Share Tech Mono','Courier New',monospace;font-size:10px;color:#00ff41;overflow:hidden}#panel-code{height:200px}.panel-header{padding:3px 10px;border-bottom:1px solid rgba(0,255,65,.15);font-size:9px;color:rgba(0,255,65,.5);letter-spacing:2px;text-transform:uppercase;background:rgba(0,255,65,.03)}.panel-body{padding:4px 8px 6px;height:172px;overflow-y:auto;line-height:1.5;white-space:pre;scrollbar-width:thin;scrollbar-color:rgba(0,255,65,0.2) transparent}.panel-body::-webkit-scrollbar{width:2px}.panel-body::-webkit-scrollbar-track{background:0 0}.panel-body::-webkit-scrollbar-thumb{background:rgba(0,255,65,.2)}.panel-line{opacity:0;animation:.1s forwards line-in;text-shadow:0 0 6px rgba(0,255,65,.4)}.panel-line.dim{color:rgba(0,255,65,.4)}.panel-line.cyan{color:#00e5ff;text-shadow:0 0 6px rgba(0,229,255,.3)}.panel-line.gold{color:gold;text-shadow:0 0 6px rgba(255,215,0,.3)}.panel-line.magenta{color:#d946ef;text-shadow:0 0 6px rgba(217,70,239,.3)}a.panel-line{text-decoration:none;color:inherit;cursor:pointer;display:block}a.panel-line:hover{color:#00e5ff;text-shadow:0 0 8px rgba(0,229,255,.5)}#code-stream{height:172px;min-height:172px;overflow-y:auto}.code-typing{white-space:pre-wrap;line-height:1.45;text-shadow:0 0 6px rgba(0,255,65,.35)}.type-cursor{display:inline-block;width:8px;height:1.05em;margin-left:2px;background:#00ff41;box-shadow:0 0 10px rgba(0,255,65,.7);vertical-align:text-bottom;animation:.7s step-end infinite cursor-pulse}@keyframes cursor-pulse{0%,100%{opacity:1}45%,55%{opacity:.25}}.flight-canvas{width:100%;height:55px;border:1px solid rgba(0,255,65,.12);margin:2px 0;display:block}@media (max-width:768px){#console{width:100%;height:152px;border-right:none;border-top-right-radius:0}#console.expanded{left:0;bottom:0;width:100%;height:65vh;border-radius:0}#desktop-panels{display:none!important}}