:root{--bg:#06080a;--ink:#f0f2f5;--ink-dim:#f0f2f599;--cyan:#22d3ee;--amber:#ffb454;--rose:#f472b6;--green:#22c55e;--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);--space-xs:clamp(4px, 1vw, 8px);--space-sm:clamp(8px, 2vw, 12px);--space-md:clamp(12px, 3vw, 18px);--space-lg:clamp(18px, 4vw, 24px);--space-xl:clamp(24px, 5vw, 36px)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{background:var(--bg);color:var(--ink);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;width:100dvw;height:100dvh;font-family:Inter,sans-serif;overflow:hidden}canvas{touch-action:none;display:block}button{-webkit-tap-highlight-color:transparent;font-family:inherit}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.intro{z-index:60;background:#000;font-family:JetBrains Mono,Courier New,monospace;transition:opacity .8s;position:fixed;inset:0;overflow:hidden}.intro.hidden{opacity:0;pointer-events:none}.bottom-canvas{z-index:1;pointer-events:none;width:100%;height:35%;position:absolute;bottom:0;left:0;right:0}.core-canvas{z-index:3;pointer-events:none;opacity:0;width:min(1180px,96vw);max-width:96vw;height:min(90vh,90dvh);animation:1.4s ease-out .3s forwards coreFadeIn;position:absolute;top:50%;left:50%;transform:translate(-50%,-55%)}@keyframes coreFadeIn{0%{opacity:0;filter:blur(6px);transform:translate(-50%,-55%)scale(.85)}to{opacity:1;filter:blur();transform:translate(-50%,-55%)scale(1)}}.terminal-lines{z-index:4;pointer-events:none;flex-direction:column;align-items:flex-start;gap:8px;max-width:92vw;display:flex;position:absolute;top:64%;left:50%;transform:translate(-50%,-50%)}.term-line{color:#22d3ee;letter-spacing:.04em;text-shadow:0 0 7px #22d3ee8c;opacity:0;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-family:JetBrains Mono,Courier New,monospace;font-size:clamp(11px,2.5vw,17px);overflow:hidden}.term-line.show{opacity:1}.term-line.term-ok{color:#39ff14;text-shadow:0 0 6px #39ff1499}.term-line.show.typing:after{content:"▊";color:#22d3ee;margin-left:2px;animation:.6s steps(2,end) infinite cursorBlink}.term-line.show.term-ok.typing:after{color:#39ff14}@keyframes cursorBlink{0%,50%{opacity:1}50.01%,to{opacity:0}}.enter-btn{z-index:5;pointer-events:auto;color:#0a0e14;letter-spacing:.18em;cursor:pointer;opacity:0;background:#fff;border:1px solid #fff;border-radius:4px;min-height:44px;padding:clamp(10px,2.5vw,14px) clamp(20px,5vw,32px);font-family:JetBrains Mono,Courier New,monospace;font-size:clamp(11px,2.5vw,13px);font-weight:600;transition:all .2s;animation:.6s ease-out 4.5s forwards btnFadeIn;position:absolute;top:76%;left:50%;transform:translate(-50%);box-shadow:0 0 0 1px #ffffff4d,0 0 28px #ffffff59}.enter-btn:hover{transform:translate(-50%)translateY(-2px);box-shadow:0 0 0 1px #fff,0 0 44px #ffffffb3}.enter-btn.clicked{transform:translate(-50%)scale(.94);box-shadow:0 0 60px #fff}@keyframes btnFadeIn{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@media (width<=639px){.bottom-canvas{height:28%}.core-canvas{width:100vw;height:60dvh;transform:translate(-50%,-60%)}@keyframes coreFadeIn{0%{opacity:0;filter:blur(6px);transform:translate(-50%,-60%)scale(.85)}to{opacity:1;filter:blur();transform:translate(-50%,-60%)scale(1)}}.terminal-lines{gap:6px;top:62%}.enter-btn{top:auto;bottom:calc(8vh + env(safe-area-inset-bottom,0px))}}@media (orientation:landscape) and (height<=500px){.bottom-canvas{height:25%}.core-canvas{width:min(900px,80vw);height:70dvh}.terminal-lines{top:60%}.enter-btn{padding:8px 20px;font-size:11px;top:80%}}@media (width>=640px) and (width<=1023px){.core-canvas{width:min(900px,90vw);height:80dvh}}@media (prefers-reduced-motion:reduce){.core-canvas,.enter-btn{opacity:1;animation:none}}.scene-container{background:linear-gradient(#0a0e14 0%,#06080a 100%);position:fixed;inset:0}.scene-container canvas{cursor:pointer}.hud-top{z-index:10;padding:calc(clamp(10px, 2vw, 18px) + env(safe-area-inset-top,0px)) calc(clamp(12px, 3vw, 24px) + env(safe-area-inset-right,0px)) clamp(10px, 2vw, 18px) calc(clamp(12px, 3vw, 24px) + env(safe-area-inset-left,0px));pointer-events:none;background:linear-gradient(#06080ad9 0%,#0000 100%);justify-content:space-between;align-items:center;gap:12px;display:flex;position:fixed;top:0;left:0;right:0}.hud-top .brand{color:var(--ink);letter-spacing:.05em;align-items:center;gap:10px;font-family:Inter,sans-serif;font-size:13px;display:flex}.hud-top .brand .hud-logo{width:auto;height:22px;display:block}.hud-top .brand .hud-logo path{fill:#fff}.hud-top .brand .live-dot{background:var(--green);width:8px;height:8px;box-shadow:0 0 8px var(--green);border-radius:50%;animation:1.6s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.hud-top .meta{color:var(--ink-dim);letter-spacing:.1em;text-transform:uppercase;font-family:Inter,sans-serif;font-size:11px}.hud-top .meta b{color:var(--cyan);margin-right:4px;font-weight:500}.zone-menu{left:calc(24px + env(safe-area-inset-left,0px));bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:11;flex-direction:column;gap:8px;max-width:280px;display:flex;position:fixed}.zone-menu-toggle{left:calc(16px + env(safe-area-inset-left,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:12;-webkit-backdrop-filter:blur(12px);width:48px;height:48px;color:var(--cyan);cursor:pointer;background:#0f1216eb;border:1px solid #22d3ee66;border-radius:50%;justify-content:center;align-items:center;font-size:20px;display:none;position:fixed;box-shadow:0 4px 16px #00000080,0 0 20px #22d3ee26}.zone-menu-backdrop{z-index:13;-webkit-backdrop-filter:blur(4px);opacity:0;pointer-events:none;background:#00000080;transition:opacity .25s;display:none;position:fixed;inset:0}.zone-menu .zm-title{letter-spacing:.2em;color:var(--ink-dim);text-transform:uppercase;margin-bottom:4px;padding-left:4px;font-family:Inter,sans-serif;font-size:10.5px}.zone-btn{-webkit-backdrop-filter:blur(12px);color:var(--ink);cursor:pointer;text-align:left;background:#0f1216d9;border:1px solid #ffffff14;border-radius:8px;align-items:center;gap:12px;padding:10px 14px;font-family:inherit;font-size:13.5px;font-weight:500;transition:border-color .15s,background .15s,transform .15s;display:flex}.zone-btn:hover{background:#22d3ee14;border-color:#22d3ee80;transform:translate(2px)}.zone-btn.active{border-color:var(--cyan);box-shadow:0 0 0 1px var(--cyan), 0 0 20px #22d3ee26;background:#22d3ee1f}.zone-btn .num{color:var(--cyan);min-width:22px;font-family:Inter,sans-serif;font-size:11px;font-weight:600}.zone-btn .label{flex:1}.zone-btn .arrow{color:#ffffff4d;transition:transform .15s,color .15s}.zone-btn:hover .arrow{color:var(--cyan);transform:translate(2px)}.content-panel{top:calc(24px + env(safe-area-inset-top,0px));right:calc(24px + env(safe-area-inset-right,0px));bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:20;-webkit-backdrop-filter:blur(20px);background:#080a0ef2;border:1px solid #22d3ee40;border-radius:14px;flex-direction:column;width:min(820px,55vw);transition:transform .55s cubic-bezier(.19,1,.22,1);display:flex;position:fixed;overflow:hidden;transform:translate(calc(100% + 30px));box-shadow:0 0 0 1px #22d3ee1a,0 20px 60px #0009,0 0 40px #22d3ee1a}.content-panel.open{transform:translate(0)}.cp-header{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.cp-header .cp-tag{letter-spacing:.15em;color:var(--cyan);text-transform:uppercase;font-family:Inter,sans-serif;font-size:11px}.cp-close{color:var(--ink-dim);cursor:pointer;background:0 0;border:1px solid #ffffff1a;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;font-family:inherit;font-size:14px;transition:all .15s;display:flex}.cp-close:hover{border-color:var(--cyan);color:var(--cyan)}.cp-body{flex:1;padding:28px 26px 32px;overflow-y:auto}.cp-body::-webkit-scrollbar{width:6px}.cp-body::-webkit-scrollbar-thumb{background:#22d3ee33;border-radius:3px}.cp-body h2{letter-spacing:-.02em;color:var(--ink);margin-bottom:14px;font-family:Inter,sans-serif;font-size:clamp(24px,2.4vw,32px);font-weight:600;line-height:1.2}.cp-body h2 em{color:var(--cyan);font-style:normal}.cp-body p{color:#f0f2f5bf;margin-bottom:14px;font-size:14.5px;line-height:1.65}.cp-body p b{color:var(--ink);font-weight:500}.cp-hero{width:80px;height:80px;color:var(--accent,#22d3ee);background:linear-gradient(135deg,#22d3ee14,#22d3ee05);border:1px solid #ffffff14;border-radius:16px;justify-content:center;align-items:center;margin:0 0 18px;padding:14px;display:flex;position:relative;overflow:hidden}.cp-hero:before{content:"";background:radial-gradient(circle at center, var(--accent,#22d3ee) 0%, transparent 70%);opacity:.15;pointer-events:none;position:absolute;inset:0}.cp-hero svg{width:100%;height:100%;filter:drop-shadow(0 0 8px var(--accent,#22d3ee));z-index:1;position:relative}.content-panel.open .cp-hero{animation:.5s cubic-bezier(.16,1,.3,1) 50ms both cpFadeIn}.content-panel.open .cp-body h2{animation:.5s cubic-bezier(.16,1,.3,1) .15s both cpFadeIn}.content-panel.open .cp-body>p{animation:.5s cubic-bezier(.16,1,.3,1) .22s both cpFadeIn}.content-panel.open .cp-stat{animation:.5s cubic-bezier(.16,1,.3,1) both cpFadeIn}.content-panel.open .cp-stat:first-child{animation-delay:.3s}.content-panel.open .cp-stat:nth-child(2){animation-delay:.36s}.content-panel.open .cp-stat:nth-child(3){animation-delay:.42s}.content-panel.open .cp-stat:nth-child(4){animation-delay:.48s}.content-panel.open .cp-item{animation:.5s cubic-bezier(.16,1,.3,1) both cpFadeIn}.content-panel.open .cp-item:first-child{animation-delay:.3s}.content-panel.open .cp-item:nth-child(2){animation-delay:.38s}.content-panel.open .cp-item:nth-child(3){animation-delay:.46s}.content-panel.open .cp-item:nth-child(4){animation-delay:.54s}.content-panel.open .cp-item:nth-child(5){animation-delay:.62s}.content-panel.open .cp-cta{animation:.5s cubic-bezier(.16,1,.3,1) .65s both cpFadeIn}@keyframes cpFadeIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.cp-stats{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:18px;display:grid}.cp-stat{cursor:default;background:#22d3ee0a;border:1px solid #22d3ee26;border-radius:8px;padding:14px;transition:transform .2s,border-color .2s,background .2s,box-shadow .2s}.cp-stat:hover{background:#22d3ee14;border-color:#22d3ee66;transform:translateY(-2px);box-shadow:0 8px 24px #22d3ee1f}.cp-stat .num{color:var(--cyan);letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-bottom:4px;font-family:Inter,sans-serif;font-size:28px;font-weight:700;line-height:1}.cp-stat .num .unit{color:var(--ink-dim);margin-left:2px;font-size:14px;font-weight:500}.cp-stat .desc{color:var(--ink-dim);font-size:12px;line-height:1.45}.cp-list{flex-direction:column;gap:10px;margin-top:16px;display:flex}.cp-item{cursor:default;background:#0f121699;border:1px solid #ffffff0f;border-radius:8px;padding:12px 14px;transition:transform .2s,border-color .2s,background .2s,box-shadow .2s;position:relative;overflow:hidden}.cp-item:after{content:"";background:var(--cyan);transform-origin:top;width:3px;transition:transform .25s;position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.cp-item:hover{background:#22d3ee0d;border-color:#22d3ee4d;transform:translate(3px);box-shadow:0 6px 20px #00000040}.cp-item:hover:after{transform:scaleY(1)}.cp-item .it-num{color:var(--cyan);letter-spacing:.1em;margin-bottom:4px;font-family:Inter,sans-serif;font-size:11px}.cp-item .it-name{color:var(--ink);letter-spacing:-.01em;margin-bottom:4px;font-size:15px;font-weight:600}.cp-item .it-desc{color:var(--ink-dim);font-size:12.5px;line-height:1.5}.cp-item .it-meta{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}.cp-item .it-meta span{color:var(--cyan);letter-spacing:.05em;background:#22d3ee0f;border-radius:3px;padding:2px 8px;font-family:Inter,sans-serif;font-size:10.5px}.cp-cta{color:#0a0e14;letter-spacing:.2em;text-transform:uppercase;background:#fff;border-radius:4px;align-items:center;gap:8px;margin-top:18px;padding:12px 20px;font-family:Inter,sans-serif;font-size:11px;font-weight:700;text-decoration:none;transition:all .15s;display:inline-flex;box-shadow:0 0 0 1px #0a0e14,0 0 20px #ffffff4d}.cp-cta:hover{transform:translateY(-1px);box-shadow:0 0 0 1px #0a0e14,0 0 30px #ffffff8c}.hint{z-index:10;color:var(--ink-dim);letter-spacing:.2em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;pointer-events:none;background:#0f1216d9;border:1px solid #ffffff14;border-radius:20px;padding:8px 16px;font-family:Inter,sans-serif;font-size:11px;transition:opacity .4s;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.hint.show{opacity:1}.hint b{color:var(--cyan);font-weight:500}@media (width>=1280px){.content-panel{width:min(820px,50vw)}}@media (width>=1024px) and (width<=1279px){.content-panel{width:min(720px,60vw)}}@media (width>=768px) and (width<=1023px){.zone-menu{max-width:240px}.zone-btn{padding:9px 12px;font-size:13px}.content-panel{border-radius:14px 14px 0 0;width:100vw;height:70dvh;inset:auto 0 0;transform:translateY(calc(100% + 30px))}.content-panel.open{transform:translateY(0)}.cp-stats{grid-template-columns:repeat(3,1fr)}}@media (width>=640px) and (width<=767px){.hud-top .meta b+*{display:none}.zone-menu{flex-flow:wrap;gap:6px;max-width:calc(100vw - 32px)}.zone-menu .zm-title{width:100%;margin-bottom:2px}.zone-btn{flex:auto;padding:8px 10px;font-size:12px}.zone-btn .arrow{display:none}.content-panel{border-radius:14px 14px 0 0;width:100vw;height:78dvh;inset:auto 0 0;transform:translateY(calc(100% + 30px))}.content-panel.open{transform:translateY(0)}.hint{bottom:calc(72px + env(safe-area-inset-bottom,0px))}}@media (width<=639px){.hud-top{padding:calc(10px + env(safe-area-inset-top,0px)) 14px 10px 14px}.hud-top .meta{display:none}.hud-top .brand .hud-logo{height:18px}.zone-menu-toggle{display:flex}.zone-menu{width:100vw;max-width:100vw;height:100dvh;padding:calc(72px + env(safe-area-inset-top,0px)) 20px calc(24px + env(safe-area-inset-bottom,0px)) 20px;-webkit-backdrop-filter:blur(16px);z-index:14;pointer-events:none;background:#06080af5;gap:10px;transition:transform .35s cubic-bezier(.19,1,.22,1);position:fixed;inset:0;overflow-y:auto;transform:translateY(100%)}.zone-menu.open{pointer-events:auto;transform:translateY(0)}.zone-menu-backdrop.show{opacity:1;pointer-events:auto;display:block}.zone-menu .zm-title{margin-bottom:8px;font-size:11px}.zone-btn{min-height:48px;padding:14px 16px;font-size:14px}.content-panel{border-left:none;border-right:none;border-radius:0;width:100vw;height:100dvh;inset:0;transform:translateY(100%)}.content-panel.open{transform:translateY(0)}.cp-header{padding:calc(16px + env(safe-area-inset-top,0px)) 18px 14px 18px;z-index:2;background:#080a0efa;position:sticky;top:0}.cp-close{width:40px;height:40px;font-size:16px}.cp-body{padding:20px 18px calc(24px + env(safe-area-inset-bottom,0px)) 18px}.cp-body h2{font-size:clamp(20px,6vw,28px)}.cp-body p{font-size:13.5px}.cp-stats{grid-template-columns:1fr;gap:8px}.cp-stat .num{font-size:clamp(22px,6vw,26px)}.cp-hero{width:64px;height:64px;padding:10px}.hint{display:none}}@media (orientation:landscape) and (height<=500px){.hud-top{padding-top:8px;padding-bottom:8px}.zone-menu{gap:4px;max-width:200px;bottom:8px;left:8px}.zone-btn{padding:6px 10px;font-size:11.5px}.hint{display:none}}@media (prefers-reduced-motion:reduce){.hud-top .brand .live-dot{animation:none}.content-panel.open .cp-hero,.content-panel.open .cp-body h2,.content-panel.open .cp-body>p,.content-panel.open .cp-stat,.content-panel.open .cp-item,.content-panel.open .cp-cta{opacity:1;animation:none;transform:none}}
