@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-cyrillic-wght-normal-CHSlOQsW.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-latin-ext-wght-normal-DMtmJ5ZE.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-latin-wght-normal-Dm3htQBi.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-cyrillic-wght-normal-BZdD_g9V.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-latin-ext-wght-normal-b6lpi8_2.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-latin-wght-normal-Cjtb1TV-.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg-0:#11141a;--bg-1:#181c23;--bg-2:#1f242c;--bg-3:#262c36;--fg-0:#f4efe2;--fg-1:#cfcabd;--fg-2:#908a7c;--fg-3:#5e594f;--line-1:#f4efe214;--line-2:#f4efe229;--line-3:#f4efe247;--accent:#4f8cff;--accent-soft:#4f8cff1f;--accent-glow:#4f8cff73;--pos:#5cd7a0;--warn:#f5b042;--neg:#f06464;--font-sans:"Geist Variable", "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono:"Geist Mono Variable", "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--t-scene-h:clamp(48px, 7.2vw, 112px);--t-caption:clamp(22px, 2.8vw, 40px);--t-caption-sm:clamp(15px, 1.5vw, 20px);--t-panel-h:clamp(13px, 1.2vw, 16px);--t-stat-v:clamp(18px, 1.6vw, 24px);--t-stat-k:clamp(13px, 1.15vw, 15px);--t-body:clamp(16px, 1.5vw, 20px);--t-narrative:clamp(20px, 1.9vw, 26px);--t-meta:clamp(13px, 1.15vw, 15px)}*,:before,:after{box-sizing:border-box}html,body,#root{background:var(--bg-0);height:100%;color:var(--fg-0);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;padding:0}body{overflow:hidden}button{color:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit}::selection{background:var(--accent);color:#0a0b0d}@keyframes pulse-ring{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(2.4)}}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.55}}@keyframes data-flow{0%{stroke-dashoffset:24px}to{stroke-dashoffset:0}}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes slide-in-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.blink{animation:1.1s step-end infinite blink}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.top-bar{background:var(--bg-1);border-bottom:1px solid var(--line-1);height:72px;font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--fg-2);grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding:0 28px;font-size:13px;font-weight:600;display:grid}.top-bar-left{align-items:center;gap:22px;display:inline-flex}.top-bar-left .product-name{color:var(--fg-0);font-family:var(--font-mono);letter-spacing:.04em;text-transform:none;font-size:22px;font-weight:500}.top-bar-center{text-align:center;color:var(--fg-1);font-family:var(--font-sans);letter-spacing:.04em;text-transform:none;font-size:16px;font-weight:500}.top-bar-right{align-items:center;gap:10px;display:inline-flex}.top-bar-right .live-dot{background:var(--pos);border-radius:50%;width:8px;height:8px;animation:1.6s ease-in-out infinite pulse-dot;display:inline-block}.top-bar-right .live{color:var(--pos);letter-spacing:.18em;font-weight:700}@media (width<=1100px){.top-bar{gap:16px;padding:0 16px}.top-bar-center{display:none}}@media (width<=700px){.top-bar{gap:12px;height:56px;padding:0 14px}.top-bar-left{gap:14px}.top-bar-left .product-name{font-size:16px}.top-bar-right .live{letter-spacing:.14em;font-size:11px}}.map-pane{background:var(--bg-0);width:100%;height:100%;display:block}.map-pane .grid-line{stroke:var(--line-1);stroke-width:1px;stroke-dasharray:1 8;fill:none}.map-pane .country{fill:#f4efe20a;stroke:#f4efe24d;stroke-width:.6px;fill-rule:evenodd}.map-pane .city-dot{fill:#f4efe273}.map-pane .city-dot.major{fill:var(--fg-0)}.map-pane .city-label{font-family:var(--font-mono);letter-spacing:.1em;fill:#f4efe266;font-size:11px;font-weight:500}.map-pane .city-label.major{fill:var(--fg-1);font-size:12px;font-weight:600}.map-pane .connection-line{stroke:var(--accent);stroke-width:1.2px;fill:none;stroke-opacity:.6}.map-pane .signal-ring{fill:none;stroke:var(--accent);stroke-width:1.5px}.map-pane .signal-core{fill:var(--accent);filter:drop-shadow(0 0 8px var(--accent-glow))}.map-pane .signal-core.primary{fill:var(--accent);stroke:var(--fg-0);stroke-width:2px}.map-pane .crosshair{stroke:var(--accent);stroke-width:1.5px}.map-pane .signal-leader{stroke:var(--fg-2);stroke-width:1px;fill:none}.map-pane .signal-label{font-family:var(--font-mono);letter-spacing:.06em;fill:var(--fg-1);text-transform:uppercase;font-size:12px;font-weight:600}.map-pane .signal-label.primary{fill:var(--fg-0);font-size:16px;font-weight:700}.map-pane .signal-meta{font-family:var(--font-mono);fill:var(--fg-2);letter-spacing:.04em;font-size:10px;font-weight:500}.map-pane .signal-meta.primary{font-size:12px}.map-pane .signal-intensity{font-family:var(--font-mono);fill:var(--accent);letter-spacing:.04em;font-size:11px;font-weight:600}.map-pane .scale-bar{stroke:var(--fg-2);stroke-width:1px;fill:none}.map-pane .scale-label{font-family:var(--font-mono);fill:var(--fg-2);letter-spacing:.1em;font-size:11px;font-weight:500}.graph-pane{background:var(--bg-1);flex-direction:column;width:100%;height:100%;display:flex;position:relative}.pane-header{font-family:var(--font-mono);font-size:var(--t-panel-h);letter-spacing:.2em;text-transform:uppercase;color:var(--fg-2);justify-content:space-between;align-items:center;padding:18px 22px 12px;font-weight:700;display:flex}.pane-header .label{color:var(--fg-1)}.pane-header .meta{color:var(--fg-3)}.graph-svg{flex:1;width:100%;height:100%;display:block}.graph-svg .edge{stroke:#f4efe229;stroke-width:1px;fill:none}.graph-svg .edge.hot{stroke:var(--accent);stroke-opacity:.65;stroke-dasharray:2 4;stroke-width:1.4px;animation:2s linear infinite data-flow}.graph-svg .node{fill:var(--fg-2);stroke:var(--bg-1);stroke-width:2px}.graph-svg .node.brand{fill:var(--accent);filter:drop-shadow(0 0 6px var(--accent-glow))}.graph-svg .node.influencer{fill:var(--fg-0)}.graph-svg .node.topic{fill:var(--warn)}.graph-svg .node-label{font-family:var(--font-mono);fill:var(--fg-0);letter-spacing:.02em;pointer-events:none;font-size:12.5px;font-weight:600}.graph-svg .cluster-ring{fill:none;stroke:#f4efe21f;stroke-dasharray:3 4}.graph-svg .cluster-label{font-family:var(--font-mono);fill:var(--fg-3);letter-spacing:.18em;text-transform:uppercase;font-size:10px;font-weight:600}.timeline-pane{background:var(--bg-1);flex-direction:column;width:100%;height:100%;display:flex}.timeline-pane .pane-header{font-family:var(--font-mono);font-size:var(--t-panel-h);letter-spacing:.2em;text-transform:uppercase;color:var(--fg-2);justify-content:space-between;align-items:center;padding:18px 22px 12px;font-weight:700;display:flex}.timeline-pane .pane-header .label{color:var(--fg-1)}.timeline-pane .pane-header .meta{color:var(--fg-3)}.timeline-pane .pane-header .meta strong{color:var(--accent);font-weight:700}.timeline-svg{flex:1;width:100%;height:100%;display:block}.timeline-svg .area{fill:url(#tlGrad)}.timeline-svg .line{fill:none;stroke:var(--accent);stroke-width:2px}.timeline-svg .baseline{stroke:var(--fg-3);stroke-width:1px}.timeline-svg .gridline{stroke:var(--line-1);stroke-width:1px;stroke-dasharray:2 4}.timeline-svg .axis-label{font-family:var(--font-mono);fill:var(--fg-2);letter-spacing:.06em;font-variant-numeric:tabular-nums;font-size:11px;font-weight:500}.timeline-svg .axis-unit{font-family:var(--font-mono);fill:var(--fg-3);letter-spacing:.16em;text-transform:uppercase;font-size:9px;font-weight:600}.timeline-svg .spike-label{font-family:var(--font-mono);fill:var(--warn);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:700}.timeline-svg .spike-line{stroke:var(--warn);stroke-width:1px;stroke-dasharray:2 2}.timeline-svg .playhead{stroke:var(--accent);stroke-width:1.5px}.timeline-svg .playhead-handle{fill:var(--accent)}.insight-pane{background:var(--bg-1);width:100%;height:100%;font-family:var(--font-sans);flex-direction:column;gap:18px;padding:24px 26px;display:flex;overflow:hidden auto}.insight-header{font-family:var(--font-mono);font-size:var(--t-panel-h);letter-spacing:.2em;text-transform:uppercase;color:var(--fg-2);justify-content:space-between;align-items:center;font-weight:700;display:flex}.insight-header .label{color:var(--fg-0)}.insight-narrative{font-size:var(--t-narrative);color:var(--fg-0);letter-spacing:-.005em;min-height:60px;font-weight:400;line-height:1.45}.insight-stats{background:var(--line-1);border-top:1px solid var(--line-1);border-bottom:1px solid var(--line-1);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.insight-stats .stat{background:var(--bg-1);flex-direction:column;gap:6px;padding:14px;display:flex}.insight-stats .k{font-family:var(--font-mono);font-size:var(--t-stat-k);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-2);font-weight:600;line-height:1.3}.insight-stats .v{font-family:var(--font-mono);font-size:var(--t-stat-v);letter-spacing:-.02em;color:var(--fg-0);font-variant-numeric:tabular-nums;transition:color .4s var(--ease-out);font-weight:700;line-height:1}.insight-stats .v.pos{color:var(--pos)}.insight-stats .v.neg{color:var(--neg)}.insight-stats .v.warn{color:var(--warn)}.insight-recommendation{border-left:4px solid var(--accent);background:var(--accent-soft);animation:fade-up .6s var(--ease-out) both;margin-top:4px;padding:22px 24px}.insight-recommendation .rec-label{font-family:var(--font-mono);font-size:var(--t-panel-h);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:16px;font-weight:700;display:block}.insight-recommendation .rec-actions{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.insight-recommendation .rec-actions li{font-family:var(--font-sans);font-size:var(--t-body);color:var(--fg-0);animation:fade-up .5s var(--ease-out) both;padding-left:28px;font-weight:500;line-height:1.55;position:relative}.insight-recommendation .rec-actions li:before{content:"→";color:var(--accent);font-size:1.1em;font-weight:700;position:absolute;top:0;left:0}.rec-cta-row{gap:10px;margin-top:20px;display:flex}.rec-btn{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--fg-1);border:1px solid var(--line-3);cursor:pointer;background:0 0;padding:12px 20px;font-size:13px;font-weight:700;transition:all .2s}.rec-btn:hover{color:var(--fg-0);border-color:var(--fg-0)}.rec-btn.primary{background:var(--accent);color:var(--bg-0);border-color:var(--accent)}.rec-btn.primary:hover{color:var(--accent);background:0 0}@media (width<=900px){.insight-pane{gap:14px;padding:18px 20px}.insight-stats .stat{gap:4px;padding:10px}.insight-recommendation{padding:16px 18px}}@media (width<=600px){.insight-pane{gap:12px;padding:14px 16px}.insight-narrative{min-height:auto;font-size:16px}.insight-stats{grid-template-columns:repeat(3,1fr)}.insight-stats .stat{min-width:0;padding:10px 6px}.insight-stats .v{font-size:clamp(18px,5vw,24px)}.insight-stats .k{letter-spacing:.04em;font-size:9.5px;line-height:1.2}.insight-recommendation{padding:14px}.insight-recommendation .rec-actions li{padding-left:22px;font-size:14px;line-height:1.4}.insight-recommendation .rec-label{margin-bottom:12px;font-size:11px}}.caption{background:linear-gradient(180deg, #0a0b0d00 0%, var(--bg-0) 30%);border-top:1px solid var(--line-1);z-index:5;animation:fade-up .6s var(--ease-out) both;padding:28px 56px 12px;position:relative}.caption-meta{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--fg-2);align-items:center;gap:16px;margin-bottom:16px;font-size:clamp(13px,1.2vw,16px);font-weight:700;display:flex}.caption-meta .caption-num{color:var(--accent);font-weight:700}.caption-meta .caption-line{background:var(--line-2);flex:0 0 56px;height:1px}.caption-meta .caption-step{color:var(--fg-0);font-weight:600}.caption-main{font-family:var(--font-sans);font-size:var(--t-caption);letter-spacing:-.01em;color:var(--fg-0);max-width:60ch;font-weight:500;line-height:1.18}.caption-sub{font-family:var(--font-sans);color:var(--fg-2);max-width:70ch;margin-top:12px;font-size:clamp(15px,1.5vw,20px);line-height:1.45}.caption-cursor{background:var(--accent);vertical-align:-.05em;width:3px;height:.85em;margin-left:4px;display:inline-block}.caption-cursor.sub{background:var(--fg-2);width:2px;height:.7em}@media (width<=900px){.caption{padding:20px 24px 10px}}@media (width<=700px){.caption{padding:14px 16px 8px}.caption-meta{gap:12px;margin-bottom:10px}.caption-main{font-size:clamp(17px,4.5vw,24px);line-height:1.25}.caption-sub{margin-top:8px;font-size:13px;line-height:1.4}}.controls{background:var(--bg-1);border-top:1px solid var(--line-1);align-items:center;gap:18px;width:100%;min-width:0;height:80px;padding:0 28px;display:flex}.control-btn{border:1px solid var(--line-3);width:50px;height:50px;color:var(--fg-0);cursor:pointer;background:0 0;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.control-btn:hover{background:var(--fg-0);color:var(--bg-0);border-color:var(--fg-0)}.control-btn svg{width:16px;height:16px}.scene-chips{scrollbar-width:none;min-width:0;font-family:var(--font-mono);flex:1 1 0;align-items:stretch;height:50px;display:flex;overflow-x:auto}.scene-chips::-webkit-scrollbar{display:none}.chip{letter-spacing:.16em;text-transform:uppercase;color:var(--fg-3);border:1px solid #0000;border-right:1px solid var(--line-1);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:10px;height:100%;padding:0 18px;font-size:13px;font-weight:600;transition:color .2s,background .2s,border-color .2s;display:inline-flex}.chip:first-child{border-left:1px solid var(--line-1)}.chip:hover{color:var(--fg-1);background:var(--bg-2)}.chip .chip-n{color:var(--fg-3);font-weight:700}.chip.past,.chip.past .chip-n{color:var(--fg-2)}.chip.active{color:var(--fg-0);background:var(--bg-2);border-color:var(--accent)}.chip.active .chip-n{color:var(--accent)}@media (width<=1100px){.controls{gap:12px;padding:0 16px}.scene-chips .chip{padding:0 14px;font-size:11px}}@media (width<=700px){.controls{gap:10px;height:64px;padding:0 12px}.control-btn{width:40px;height:40px}.scene-chips{height:40px}.scene-chips .chip{gap:6px;padding:0 10px;font-size:10px}}.console{background:var(--bg-0);color:var(--fg-0);font-family:var(--font-sans);grid-template-rows:auto 1fr auto auto;width:100%;max-width:100vw;display:grid;position:fixed;inset:0;overflow:hidden}.console-stage{transition:grid-template-columns .9s var(--ease-out);background:var(--bg-0);grid-template-columns:1fr 0fr;width:100%;min-width:0;display:grid;position:relative;overflow:hidden}.stage-map,.stage-rail{min-width:0;min-height:0}.console.layout-map-only .console-stage{grid-template-columns:1fr 0fr}.console.layout-map-graph .console-stage,.console.layout-map-graph-timeline .console-stage,.console.layout-map-full-rail .console-stage,.console.layout-console .console-stage{grid-template-columns:1.65fr 1fr}.console.layout-map-insight .console-stage{grid-template-columns:1.4fr 1fr}.console.layout-map-insight .stage-rail{grid-template-rows:1fr}.stage-map{border-right:1px solid var(--line-1);position:relative;overflow:hidden}.stage-rail{background:var(--bg-1);transition:opacity .7s var(--ease-out);grid-template-rows:1fr;display:grid;position:relative;overflow:hidden}.stage-rail.hidden{opacity:0;pointer-events:none}.stage-rail.visible{opacity:1}.console.layout-map-graph .stage-rail{grid-template-rows:1fr}.console.layout-map-graph-timeline .stage-rail{grid-template-rows:1fr 1fr}.console.layout-console .stage-rail{grid-template-rows:1.85fr .75fr .75fr}.rail-slot{border-bottom:1px solid var(--line-1);background:var(--bg-1);animation:slide-in-right .7s var(--ease-out) both;position:relative;overflow:hidden}.rail-slot:last-child{border-bottom:none}.rail-insight{order:1}.rail-graph{order:2}.rail-timeline{order:3}@media (width<=900px){.console.layout-map-graph .console-stage,.console.layout-map-graph-timeline .console-stage,.console.layout-console .console-stage{grid-template-rows:50% 50%;grid-template-columns:1fr}.stage-map{border-right:none;border-bottom:1px solid var(--line-1)}.console.layout-console .stage-rail{grid-template-rows:1.6fr 1fr 1fr}}@media (width<=600px){.console.layout-map-graph .console-stage{grid-template-rows:55% 45%}.console.layout-map-graph-timeline .console-stage{grid-template-rows:45% 55%}.console.layout-map-graph-timeline .stage-rail{grid-template-rows:1fr 1fr}.console.layout-console .console-stage{grid-template-rows:40% 60%}.console.layout-console .stage-rail{grid-template-rows:1fr}.console.layout-console .rail-graph,.console.layout-console .rail-timeline{display:none}}
