main{position:relative;z-index:1}.bg-canvas{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.hero{position:sticky;top:0;height:100vh;width:100%;display:flex;align-items:center;justify-content:center;z-index:2}.scroll-runway{height:95vh}.poly-stage{position:relative;width:min(90vw,900px);height:min(90vh,900px)}.poly-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.hud{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;pointer-events:none;padding:clamp(16px,3vw,40px)}.hud-tl{position:absolute;top:clamp(16px,3vw,40px);left:clamp(16px,3vw,40px);max-width:60vw}.hud-tag{font-size:clamp(13px,1.6vw,20px);letter-spacing:.25em;font-weight:700;color:var(--cyan);text-shadow:var(--glow-cyan)}.hud-build{margin-top:6px;font-size:10px;letter-spacing:.3em;color:var(--ink-dim)}.hud-tr{position:absolute;top:clamp(16px,3vw,40px);right:clamp(16px,3vw,40px);text-align:right;font-size:10px;letter-spacing:.12em;color:var(--ink-dim);line-height:1.7;max-width:50vw}.boot-line{white-space:nowrap}.boot-prompt{color:var(--cyan)}.key-line{color:var(--magenta);text-shadow:0 0 8px rgba(255,43,214,.5)}.hud-mantra{position:absolute;bottom:clamp(24px,6vh,64px);left:50%;transform:translate(-50%);font-size:clamp(14px,2.4vw,30px);letter-spacing:.18em;color:var(--ink);text-shadow:var(--glow-cyan);text-align:center;white-space:nowrap}.hud-scrollcue{position:absolute;bottom:8px;left:50%;transform:translate(-50%);font-size:9px;letter-spacing:.3em;color:var(--ink-dim);animation:bob 2.4s ease-in-out infinite}@keyframes bob{0%,to{transform:translate(-50%) translateY(0);opacity:.4}50%{transform:translate(-50%) translateY(5px);opacity:1}}.nodemap{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;transition:opacity .4s ease}.nodemap-label{position:absolute;top:8%;left:50%;transform:translate(-50%);font-size:clamp(12px,1.6vw,18px);letter-spacing:.4em;color:var(--purple-cosmic);text-shadow:0 0 12px rgba(106,44,255,.6)}.nodemap-field{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.nodemap-core{position:absolute;font-size:28px;color:var(--cyan);text-shadow:var(--glow-cyan);animation:corePulse 3s ease-in-out infinite}@keyframes corePulse{50%{opacity:.4;transform:scale(.85)}}.dim-node{position:absolute;left:50%;top:50%;display:flex;flex-direction:column;align-items:center;gap:6px;background:#050818b3;border:1px solid var(--cyan-dim);color:var(--ink);padding:10px 14px;max-width:180px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);transition:transform .6s cubic-bezier(.2,.8,.2,1),box-shadow .2s,border-color .2s;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}.dim-node:hover{border-color:var(--cyan);box-shadow:var(--glow-cyan);color:#fff}.dim-glyph{font-size:18px;color:var(--cyan);text-shadow:var(--glow-cyan)}.dim-label{font-size:10px;letter-spacing:.12em;text-align:center;line-height:1.3}.dim-ping{width:6px;height:6px;border-radius:50%;background:var(--magenta);box-shadow:0 0 8px var(--magenta);animation:ping 2s ease-out infinite}@keyframes ping{0%{transform:scale(.6);opacity:1}to{transform:scale(2.2);opacity:0}}.dim-node--glitch{animation:nodeGlitch .42s steps(2) 1}@keyframes nodeGlitch{0%{transform:translate(-50%,-50%) translate(var(--gx,0),var(--gy,0));filter:hue-rotate(0)}25%{filter:hue-rotate(90deg) saturate(3);transform:translate(-50%,-50%) translate(4px,-3px)}50%{filter:invert(1);transform:translate(-50%,-50%) translate(-5px,2px)}75%{filter:hue-rotate(-90deg);transform:translate(-50%,-50%) translate(3px,3px)}}.dim-node--featured{border-color:var(--magenta);animation:featuredPulse 2.4s ease-in-out infinite}.dim-node--featured .dim-glyph{color:var(--magenta);text-shadow:0 0 10px var(--magenta)}@keyframes featuredPulse{0%,to{box-shadow:0 0 #ff00a000}50%{box-shadow:0 0 22px #ff00a08c}}.insight-win{position:fixed;width:min(86vw,420px);background:#040714f0;border:1px solid var(--cyan);box-shadow:0 0 24px #00f0ff40,inset 0 0 30px #0a184099;z-index:100;animation:winIn .25s ease}@keyframes winIn{0%{opacity:0;transform:scale(.96) translateY(8px)}}.insight-titlebar{display:flex;align-items:center;gap:8px;padding:8px 10px;background:linear-gradient(90deg,#6a2cff4d,#00f0ff1f);border-bottom:1px solid var(--cyan-dim);cursor:grab;-webkit-user-select:none;user-select:none}.insight-titlebar:active{cursor:grabbing}.insight-glyph{color:var(--cyan)}.insight-title{flex:1;font-size:11px;letter-spacing:.1em;color:var(--cyan)}.insight-close{background:none;border:1px solid var(--cyan-dim);color:var(--ink);width:20px;height:20px;line-height:1}.insight-close:hover{background:var(--magenta);color:#000;border-color:var(--magenta)}.insight-body{padding:14px}.insight-summary{color:var(--purple-cosmic);font-size:12px;margin-bottom:10px;text-shadow:0 0 8px rgba(106,44,255,.4)}.insight-text{font-family:var(--mono);font-size:12px;line-height:1.6;color:var(--ink);white-space:pre-wrap;min-height:6em}.insight-links{margin-top:12px;display:flex;flex-wrap:wrap;gap:10px;border-top:1px dashed var(--cyan-dim);padding-top:10px}.insight-link{font-size:11px}.insight-link:hover{text-shadow:var(--glow-cyan)}.panel-frame{border:1px solid var(--cyan-dim);background:#040714d1;box-shadow:inset 0 0 40px #0a184080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.panel-head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--cyan-dim);font-size:clamp(11px,1.4vw,15px);letter-spacing:.16em;color:var(--cyan);text-shadow:var(--glow-cyan)}.panel-dot{width:8px;height:8px;border-radius:50%;background:var(--magenta);box-shadow:0 0 10px var(--magenta);animation:blink 1.4s steps(1) infinite}.oracle,.archive,.starchart{position:relative;z-index:3;max-width:880px;margin:0 auto;padding:8vh clamp(16px,4vw,40px)}.oracle-log{height:260px;overflow-y:auto;padding:14px 16px;font-size:12.5px;line-height:1.7}.oracle-line{margin-bottom:8px;word-break:break-word}.oracle-prompt{color:var(--cyan-dim)}.oracle-line--you .oracle-prompt{color:var(--cyan)}.oracle-line--oracle .oracle-text{color:var(--purple-cosmic);text-shadow:0 0 8px rgba(106,44,255,.3)}.oracle-thinking{opacity:.6;animation:blink 1.2s steps(1) infinite}.oracle-input{display:flex;align-items:center;gap:8px;padding:10px 16px;border-top:1px solid var(--cyan-dim)}.oracle-input input{flex:1;background:transparent;border:none;outline:none;color:var(--cyan);font-family:var(--mono);font-size:13px}.oracle-input input::placeholder{color:var(--ink-dim)}.oracle-input button{background:transparent;border:1px solid var(--cyan-dim);color:var(--cyan);padding:4px 10px}.oracle-input button:hover{background:var(--cyan);color:#000}.archive-head{font-size:clamp(16px,2.4vw,26px);letter-spacing:.3em;color:var(--cyan);text-shadow:var(--glow-cyan)}.archive-sub{font-size:11px;color:var(--ink-dim);margin:8px 0 24px;letter-spacing:.08em}.folders{display:flex;flex-direction:column;gap:6px}.folder{border:1px solid var(--purple-dim);background:#080a1e99;transition:transform .2s,border-color .2s;margin-left:calc(var(--i) * 10px)}.folder:hover{border-color:var(--purple-cosmic);transform:translate(4px)}.folder--open{border-color:var(--cyan);margin-left:0}.folder-tab{width:100%;display:flex;align-items:center;gap:12px;background:none;border:none;color:var(--ink);padding:12px 16px;text-align:left;font-size:12px;letter-spacing:.06em}.folder-icon{color:var(--cyan)}.folder-name{flex:1}.folder-kind{color:var(--ink-dim);font-size:10px}.folder-body{padding:0 16px 16px;animation:winIn .3s ease}.folder-code{background:#01020a;border-left:2px solid var(--cyan);padding:12px;font-size:11.5px;line-height:1.6;color:#9fe9ff;overflow-x:auto;white-space:pre}.folder-text{font-size:12.5px;line-height:1.7;color:var(--ink);white-space:pre-wrap;border-left:2px solid var(--purple-cosmic);padding-left:12px}.glitch-raster{width:100%;max-width:320px;height:auto;border:1px solid var(--cyan-dim);filter:contrast(1.1)}.starchart-head{font-size:clamp(16px,2.4vw,26px);letter-spacing:.28em;color:var(--cyan);text-shadow:var(--glow-cyan)}.starchart-sub{font-size:11px;color:var(--ink-dim);margin:8px 0 18px;letter-spacing:.08em}.starchart-stage{position:relative}.starchart-canvas{width:100%;height:320px;display:block;border:1px solid var(--purple-dim);background:radial-gradient(circle at 50% 50%,rgba(10,24,64,.4),transparent 70%)}.charge-bar{margin-top:10px;height:4px;background:#28468c40;overflow:hidden}.charge-fill{height:100%;background:linear-gradient(90deg,var(--purple-cosmic),var(--cyan));box-shadow:var(--glow-cyan);transition:width .4s ease}.beacon-links{display:flex;flex-direction:column;gap:10px;margin-top:18px;opacity:.18;filter:blur(2px);pointer-events:none;transition:opacity .6s,filter .6s}.beacon-links--on{opacity:1;filter:none;pointer-events:auto}.beacon-link{font-size:12px;letter-spacing:.08em;border:1px solid var(--cyan-dim);padding:10px 14px;transition:background .2s,color .2s}.beacon-link:hover{background:var(--cyan);color:#000}.beacon-key{font-size:12px;color:var(--magenta);letter-spacing:.1em;margin-top:4px;text-shadow:0 0 8px rgba(255,43,214,.4)}.footer{position:relative;z-index:3;text-align:center;padding:12vh 20px 8vh;font-size:clamp(14px,2vw,22px);letter-spacing:.3em;color:var(--cyan)}.footer-sub{display:block;margin-top:12px;font-size:10px;letter-spacing:.18em;color:var(--ink-dim)}@media (max-width: 640px){.hud-mantra{white-space:normal;width:90vw}.hud-tr{display:none}.dim-node{max-width:130px;padding:8px}}.compass{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;pointer-events:none;opacity:1;transition:opacity .45s ease}.compass--off{opacity:0}.compass-ring{position:absolute;transform:translate(-50%,-50%);border:1px dashed rgba(0,240,255,.16);border-radius:50%;animation:compassSpin 60s linear infinite}@keyframes compassSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}.compass-needle{position:absolute;height:1px;transform-origin:0 50%;background:linear-gradient(90deg,rgba(0,240,255,0) 0%,rgba(0,240,255,.5) 70%,var(--cyan) 100%);opacity:0;transition:opacity .3s ease,transform .35s cubic-bezier(.2,.8,.2,1)}.compass-needle.is-on{opacity:1}.compass-point{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:34px;height:34px;color:var(--ink-dim);transition:color .25s,transform .3s cubic-bezier(.2,.8,.2,1)}.compass-glyph{font-size:16px;line-height:1;opacity:.55;transition:opacity .25s,text-shadow .25s,transform .3s}.compass-tick{position:absolute;width:4px;height:4px;border-radius:50%;background:var(--cyan-dim);box-shadow:0 0 6px #00f0ff4d;transform:translateY(22px);opacity:.5;transition:opacity .25s,background .25s,box-shadow .25s}.compass-point--on{transform:translate(-50%,-50%) scale(1.35);color:#fff}.compass-point--on .compass-glyph{opacity:1;color:var(--cyan);text-shadow:var(--glow-cyan)}.compass-point--on .compass-tick{opacity:1;background:var(--magenta);box-shadow:0 0 10px var(--magenta)}.compass-readout{position:absolute;left:50%;bottom:6%;transform:translate(-50%,12px);text-align:center;opacity:0;transition:opacity .3s ease,transform .3s ease;width:max-content;max-width:80%}.compass-readout.is-on{opacity:1;transform:translate(-50%)}.compass-bearing{font-size:10px;letter-spacing:.3em;color:var(--magenta);text-shadow:0 0 8px rgba(255,43,214,.45)}.compass-trait{margin:6px 0 4px;font-size:clamp(20px,3vw,34px);font-weight:700;letter-spacing:.18em;color:var(--cyan);text-shadow:var(--glow-cyan)}.compass-blurb{font-size:11px;letter-spacing:.14em;color:var(--ink-dim)}.compass-hint{position:absolute;left:50%;bottom:6%;transform:translate(-50%);font-size:10px;letter-spacing:.28em;color:var(--ink-dim);opacity:0;transition:opacity .5s ease;animation:hintPulse 3s ease-in-out infinite}.compass-hint.is-on{opacity:.6}@keyframes hintPulse{50%{opacity:.25}}:root{--void: #02030a;--void-2: #050818;--blue-deep: #0a1840;--purple-cosmic: #6a2cff;--purple-dim: #2a1a5e;--cyan: #00f0ff;--cyan-dim: #0a7a86;--magenta: #ff2bd6;--ink: #c8d6ff;--ink-dim: #5a6a99;--glow-cyan: 0 0 8px rgba(0, 240, 255, .7), 0 0 22px rgba(0, 240, 255, .3);--mono: "Courier New", "SFMono-Regular", ui-monospace, Menlo, Consolas, monospace;--grid-line: rgba(40, 70, 140, .12)}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--void);color:var(--ink);font-family:var(--mono);overflow-x:hidden;scroll-behavior:smooth;cursor:crosshair}body{background:radial-gradient(circle at 50% 18%,rgba(106,44,255,.1),transparent 45%),radial-gradient(circle at 80% 80%,rgba(0,240,255,.06),transparent 40%),var(--void)}#root{position:relative;z-index:1}::selection{background:var(--cyan);color:var(--void)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--void-2)}::-webkit-scrollbar-thumb{background:var(--cyan-dim);border-radius:0}::-webkit-scrollbar-thumb:hover{background:var(--cyan)}.scanlines{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;pointer-events:none;background:repeating-linear-gradient(to bottom,#0000,#0000 2px,#00000038,#0000 4px);mix-blend-mode:multiply;opacity:.5}.vignette{position:fixed;top:0;right:0;bottom:0;left:0;z-index:49;pointer-events:none;box-shadow:inset 0 0 200px 40px #000000e6}.noise{position:fixed;top:0;right:0;bottom:0;left:0;z-index:48;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:noiseShift .6s steps(2) infinite}@keyframes noiseShift{0%{transform:translate(0)}50%{transform:translate(-4px,3px)}to{transform:translate(2px,-2px)}}.glitch{position:relative;display:inline-block}.glitch:before,.glitch:after{content:attr(data-text);position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.85}.glitch:before{color:var(--magenta);animation:glitchShift 2.6s infinite linear alternate-reverse;clip-path:inset(0 0 60% 0)}.glitch:after{color:var(--cyan);animation:glitchShift 1.9s infinite linear alternate-reverse;clip-path:inset(55% 0 0 0)}@keyframes glitchShift{0%{transform:translate(0)}20%{transform:translate(-2px,1px)}40%{transform:translate(2px,-1px)}60%{transform:translate(-1px,1px)}80%{transform:translate(1px)}to{transform:translate(0)}}.flicker{animation:flicker 4s infinite}@keyframes flicker{0%,19%,21%,23%,80%,to{opacity:1}20%,22%{opacity:.4}82%{opacity:.7}}.caret:after{content:"▊";margin-left:2px;animation:blink 1s steps(1) infinite;color:var(--cyan)}@keyframes blink{50%{opacity:0}}button{font-family:var(--mono);cursor:pointer}a{color:var(--cyan);text-decoration:none}@media (prefers-reduced-motion: reduce){.noise,.glitch:before,.glitch:after,.flicker{animation:none}}
