:root{--bg-night: #020813;--bg-petroleum: #071b2c;--bg-petroleum-deep: #04121f;--cyan-bright: #38ef7d;--cyan-glow: #00f2fe;--cyan-soft: #4facfe;--turquoise-subtle: #7ee8fa;--cream-accent: #fff9e6;--text-main: #f0faff;--text-muted: #8faec4;--text-dim: #4d728a;--border-cyan: rgba(126, 232, 250, .24);--border-glow: rgba(0, 242, 254, .45);--glass-bg: rgba(4, 18, 31, .72);--glass-border: rgba(126, 232, 250, .18);--font-sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}html,body{width:100%;height:100%;min-height:100vh;min-height:100dvh;background-color:var(--bg-night);color:var(--text-main);font-family:var(--font-sans);overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;touch-action:manipulation;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;height:100%;min-height:100dvh;position:relative;overflow:hidden}.app-viewport{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;min-height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(circle at 50% 30%,#0d283d,#04121f 55%,#01050a);transition:background 1.6s ease-in-out}.app-viewport.warm-mode{background:radial-gradient(circle at 50% 35%,#183344,#0e1e2d,#040912)}.ambient-vignette{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:10;background:radial-gradient(circle at center,transparent 35%,rgba(1,6,12,.4) 75%,rgba(1,6,12,.85) 100%),linear-gradient(180deg,rgba(2,8,19,.65) 0%,transparent 15%,transparent 85%,rgba(2,8,19,.85) 100%)}.scanline{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:11;background:linear-gradient(to bottom,transparent 50%,rgba(0,242,254,.02) 51%,transparent 52%);background-size:100% 4px;opacity:.6}.hud-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:30;padding:max(16px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));display:flex;flex-direction:column;justify-content:space-between;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--turquoise-subtle);transition:opacity .8s ease}.hud-top,.hud-bottom{display:flex;justify-content:space-between;align-items:center}.hud-badge{display:inline-flex;align-items:center;gap:6px;background:#0414228c;border:1px solid rgba(126,232,250,.2);padding:4px 10px;border-radius:999px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#76e6bf}.live-dot{width:6px;height:6px;border-radius:50%;background:#38ef7d;box-shadow:0 0 8px #38ef7d;animation:liveBlink 1.8s infinite ease-in-out}.hud-corner{position:absolute;width:24px;height:24px;border-color:#7ee8fa59;border-style:solid;pointer-events:none}.corner-tl{top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));border-width:1.5px 0 0 1.5px}.corner-tr{top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));border-width:1.5px 1.5px 0 0}.corner-bl{bottom:max(12px,env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));border-width:0 0 1.5px 1.5px}.corner-br{bottom:max(12px,env(safe-area-inset-bottom));right:max(12px,env(safe-area-inset-right));border-width:0 1.5px 1.5px 0}.scene-container{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:max(24px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom));opacity:1;transform:scale(1) translateY(0);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}.scene-container.entering{opacity:0;transform:scale(.96) translateY(12px)}.scene-container.exiting{opacity:0;transform:scale(1.04) translateY(-12px);pointer-events:none}.cinema-card{width:min(520px,100%);text-align:center;position:relative;z-index:25;display:flex;flex-direction:column;align-items:center}.tech-panel{width:min(480px,100%);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:24px;padding:24px 22px;box-shadow:0 20px 60px #00000080,0 0 35px #00f2fe14;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);position:relative;overflow:hidden}.tech-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(126,232,250,.6),transparent)}.badge-code{font-family:var(--font-mono);font-size:clamp(11px,2.8vw,13px);letter-spacing:.2em;color:var(--turquoise-subtle);text-transform:uppercase;margin-bottom:12px;display:inline-flex;align-items:center;gap:8px}.cinematic-name{font-size:clamp(48px,14vw,84px);font-weight:800;line-height:.95;letter-spacing:-.04em;color:#fff;margin:10px 0 18px;text-shadow:0 0 30px rgba(0,242,254,.4),0 0 60px rgba(79,172,254,.2);background:linear-gradient(135deg,#fff 40%,#a2f5ff 80%,#7ee8fa);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.sub-text{font-size:clamp(14px,3.8vw,17px);line-height:1.55;color:var(--text-muted);max-width:420px;margin:0 auto 28px;font-weight:400}.highlight-accent{color:var(--cream-accent);font-weight:600}.btn-cinematic{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 32px;font-family:var(--font-sans);font-size:15px;font-weight:700;letter-spacing:.08em;color:#fff;background:linear-gradient(135deg,#072c46d9,#041929f2);border:1px solid rgba(126,232,250,.5);border-radius:999px;box-shadow:0 0 25px #00f2fe2e,inset 0 1px 1px #ffffff40;cursor:pointer;outline:none;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:all .3s cubic-bezier(.16,1,.3,1);-webkit-tap-highlight-color:transparent}.btn-cinematic:hover,.btn-cinematic:focus-visible{border-color:#7ee8fae6;box-shadow:0 0 35px #00f2fe66,inset 0 1px 2px #fff6;transform:translateY(-2px) scale(1.02)}.btn-cinematic:active{transform:translateY(1px) scale(.98)}.btn-cinematic .btn-arrow{display:inline-block;transition:transform .25s ease}.btn-cinematic:hover .btn-arrow{transform:translate(4px)}.pulse-beacon-wrap{position:relative;width:110px;height:110px;display:flex;align-items:center;justify-content:center;margin-bottom:24px}.pulse-beacon-center{width:22px;height:22px;border-radius:50%;background:#38ef7d;box-shadow:0 0 24px #38ef7d,0 0 45px #38ef7d99;z-index:2;animation:beaconHeartbeat 2.2s infinite ease-in-out}.pulse-beacon-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1.5px solid rgba(56,239,125,.55);animation:beaconExpand 2.2s infinite cubic-bezier(.2,.8,.2,1)}.pulse-beacon-ring:nth-child(2){animation-delay:.7s}.pulse-beacon-ring:nth-child(3){animation-delay:1.4s}.character-canvas-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:15;overflow:hidden}.character-entity{position:relative;pointer-events:auto;cursor:pointer;display:inline-flex;flex-direction:column;align-items:center;justify-content:flex-end;transition:transform .6s cubic-bezier(.25,1,.5,1),opacity .8s ease;will-change:transform,opacity}.character-entity.floating{animation:charFloat 4.5s ease-in-out infinite alternate}.character-entity.breathing{animation:charBreathe 3.5s ease-in-out infinite alternate}.stat-table{width:100%;display:flex;flex-direction:column;gap:10px;margin:18px 0}.stat-row{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:clamp(12px,3.2vw,14px);padding:8px 12px;background:#030e1873;border:1px solid rgba(126,232,250,.1);border-radius:10px;opacity:0;transform:translate(-8px);transition:all .45s ease}.stat-row.revealed{opacity:1;transform:translate(0)}.stat-key{color:var(--text-muted)}.stat-value-bar{color:#38ef7d;font-weight:700;letter-spacing:.05em;text-shadow:0 0 8px rgba(56,239,125,.4)}.stat-value-online{color:#38ef7d;display:inline-flex;align-items:center;gap:6px;font-weight:600}.code-terminal-card{width:min(440px,100%);background:#010a12d9;border:1px solid rgba(126,232,250,.22);border-radius:16px;padding:18px 20px;font-family:var(--font-mono);font-size:clamp(13px,3.4vw,15px);line-height:1.6;color:#8cebf5;text-align:left;box-shadow:0 15px 45px #0009,0 0 25px #00f2fe1a;margin:20px 0;position:relative;overflow:hidden}.code-cursor{display:inline-block;width:8px;height:1.1em;background:#38ef7d;vertical-align:middle;margin-left:2px;animation:cursorBlink .8s infinite}@keyframes beaconHeartbeat{0%,to{transform:scale(1);opacity:.9}50%{transform:scale(1.15);opacity:1;box-shadow:0 0 32px #38ef7d,0 0 55px #38ef7dcc}}@keyframes beaconExpand{0%{transform:scale(.3);opacity:.9}to{transform:scale(1.6);opacity:0}}@keyframes liveBlink{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}@keyframes cursorBlink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes charFloat{0%{transform:translateY(0) rotate(0)}to{transform:translateY(-8px) rotate(1.5deg)}}@keyframes charBreathe{0%{transform:scale(1)}to{transform:scale(1.03)}}@keyframes pulseHeart{0%,to{transform:scale(1);text-shadow:0 0 15px rgba(255,120,150,.6)}50%{transform:scale(1.25);text-shadow:0 0 35px rgba(255,80,130,.9)}}.heart-pulsing{display:inline-block;color:#ff5e8a;animation:pulseHeart 1.6s ease-in-out infinite}.frailejon-runner-track{position:absolute;bottom:max(24px,env(safe-area-inset-bottom));left:0;width:100%;height:clamp(140px,24vh,220px);pointer-events:none;z-index:28;overflow:visible}.frailejon-runner-actor{position:absolute;bottom:0;left:-220px;width:clamp(130px,22vh,190px);max-width:210px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;will-change:transform,left}.frailejon-runner-sprite{width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 4px 18px rgba(0,242,254,.4));transform-origin:bottom center}.frailejon-running .frailejon-runner-sprite{animation:frailejonRunBob .24s ease-in-out infinite alternate}.frailejon-stopped .frailejon-runner-sprite{animation:frailejonLookAround .75s ease-in-out forwards}.frailejon-surprised .frailejon-runner-sprite{animation:frailejonSurpriseHop .3s cubic-bezier(.175,.885,.32,1.275) forwards}.frailejon-runner-shadow{width:65%;height:10px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(0,0,0,.6) 0%,transparent 75%);margin-top:-8px;transform-origin:center}.frailejon-running .frailejon-runner-shadow{animation:runnerShadowStep .24s ease-in-out infinite alternate}@keyframes frailejonRunBob{0%{transform:translateY(0) rotate(-5deg) scale(1.04,.95)}to{transform:translateY(-16px) rotate(5deg) scale(.95,1.05)}}@keyframes runnerShadowStep{0%{transform:scale(1.1);opacity:.8}to{transform:scale(.7);opacity:.35}}@keyframes frailejonLookAround{0%{transform:translateY(0) rotate(0) scale(1.08,.92)}25%{transform:translateY(-4px) rotate(-4deg) scale(1)}60%{transform:translateY(-4px) rotate(4deg) scale(1)}to{transform:translateY(0) rotate(0) scale(1)}}@keyframes frailejonSurpriseHop{0%{transform:translateY(0) scale(1)}45%{transform:translateY(-24px) rotate(-6deg) scale(1.08,.92)}to{transform:translateY(0) rotate(4deg) scale(.96,1.04)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-40px) scale(.9)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes slideInFromRight{0%{opacity:0;transform:translate(40px) scale(.9)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.92) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.hud-layer.hud-dimmed{opacity:.14!important;filter:blur(.4px);transition:opacity 1.5s ease,filter 1.5s ease}@keyframes frameGlowExpandDissolve{0%{transform:scale(1);opacity:.95;box-shadow:0 0 25px #00f2fecc,inset 0 0 20px #00f2fe66;border-color:#00f2fee6}45%{transform:scale(1.12);opacity:.7;box-shadow:0 0 60px #00f2feb3,0 0 100px #38ef7d66;border-color:#38ef7d99}to{transform:scale(1.3);opacity:0;box-shadow:0 0 100px #00f2fe00;border-color:transparent}}@keyframes shockwaveExpandFull{0%{transform:scale(.05);opacity:1;border-width:5px;box-shadow:0 0 30px #00f2fe,0 0 60px #38ef7d}40%{opacity:.9;border-width:4px;box-shadow:0 0 50px #00f2fe,0 0 90px #38ef7d}80%{opacity:.4;border-width:2px}to{transform:scale(3.5);opacity:0;border-width:1px;box-shadow:0 0 120px #00f2fe00}}@keyframes particleBurstOutward{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--tx, 40px),var(--ty, -40px)) scale(0);opacity:0}}@keyframes nebulaGlowPulse{0%,to{transform:scale(1);opacity:.55}50%{transform:scale(1.1);opacity:.85}}@keyframes orbitCodeFloatSlow{0%{transform:translate(0) rotate(0)}33%{transform:translate(8px,-12px) rotate(3deg)}66%{transform:translate(-6px,8px) rotate(-3deg)}to{transform:translate(0) rotate(0)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.scene-container{overflow-y:auto;-webkit-overflow-scrolling:touch;max-height:100dvh}.diagnostic-feed{font-family:var(--font-mono);font-size:13px;color:var(--turquoise-subtle);min-height:110px;display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:16px}.action-button-wrap{margin-top:16px;z-index:100;width:100%;display:flex;justify-content:center}.glow-pulse-btn{background:linear-gradient(135deg,#00f2fe40,#38ef7d4d),#071b2c!important;border:2px solid #00f2fe!important;color:#fff!important;text-shadow:0 0 10px rgba(0,242,254,.8);box-shadow:0 0 30px #00f2fe80,inset 0 0 15px #00f2fe4d!important;animation:btnPulseGlow 2s infinite ease-in-out;padding:16px 36px!important;font-size:16px!important}@keyframes btnPulseGlow{0%,to{box-shadow:0 0 25px #00f2fe66,inset 0 0 12px #00f2fe33;transform:scale(1)}50%{box-shadow:0 0 45px #38ef7db3,inset 0 0 20px #38ef7d66;transform:scale(1.03)}}@media (max-width: 600px),(max-height: 750px){.pulse-beacon-wrap{width:76px!important;height:76px!important;margin-bottom:12px!important}.diagnostic-feed{min-height:80px!important;font-size:11px!important;gap:4px!important;margin-bottom:10px!important}.sub-text{font-size:13px!important;margin-bottom:14px!important}.cinematic-name{font-size:clamp(28px,9vw,42px)!important}.glow-pulse-btn{padding:14px 28px!important;font-size:14px!important}}
