/* FDPS LAB — NEO 4D digital-twin layer */
.lab-heading{min-height:500px;align-items:center}.lab-heading>div:first-child{position:relative;z-index:2}.lab-heading .abstract{position:relative;z-index:2;padding:28px 32px;border:1px solid #62e9f42c;border-left:2px solid var(--cyan);background:linear-gradient(135deg,#071423b8,#0a1024a8);box-shadow:0 18px 60px #0005,0 0 45px #4767ff0c inset;backdrop-filter:blur(18px)}
.future-metrics{display:flex;flex-wrap:wrap;gap:1px;margin-top:34px;max-width:590px;border:1px solid #63eaf224;background:#08121c88;backdrop-filter:blur(14px)}.future-metrics span{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;min-width:150px;flex:1;padding:14px 16px;border-right:1px solid #63eaf21c}.future-metrics span:last-child{border:0}.future-metrics i{grid-row:1/3;color:var(--cyan);font:500 10px 'IBM Plex Mono';font-style:normal}.future-metrics b{font:600 10px 'IBM Plex Mono';letter-spacing:.09em}.future-metrics small{color:#6f8a99;font-size:10px}
.workspace{border-radius:2px;transform-style:preserve-3d}.control-panel,.analysis-panel{position:relative;z-index:4}.control-panel:after,.analysis-panel:after{content:'';position:absolute;left:16px;right:16px;top:9px;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);opacity:.35}.control-group,.analysis-panel section,.analysis-panel dl div{transition:background .25s,border-color .25s}.control-group:hover,.analysis-panel section:hover,.analysis-panel dl div:hover{background:#42dbed08;border-color:#45d8ed55}
.map-panel{isolation:isolate;perspective:1200px}.map-meta{position:relative;z-index:6;background:#06101cdd;backdrop-filter:blur(14px)}#city-map{transform-origin:50% 100%;filter:drop-shadow(0 30px 42px #0008)}#city-map .base{fill:#030a13e8}.grid{opacity:.92}#terrain-layer path{stroke:#416784;opacity:.55}.building polygon{transition:filter .25s,fill .25s,stroke .25s}.building:hover polygon{filter:drop-shadow(0 0 15px #45e4f480)}
.hud-corners{position:absolute;z-index:7;inset:73px 14px 18px;pointer-events:none}.hud-corners i{position:absolute;width:46px;height:46px;border-color:#75eff780}.hud-corners i:nth-child(1){left:0;top:0;border-left:1px solid;border-top:1px solid}.hud-corners i:nth-child(2){right:0;top:0;border-right:1px solid;border-top:1px solid}.hud-corners i:nth-child(3){left:0;bottom:0;border-left:1px solid;border-bottom:1px solid}.hud-corners i:nth-child(4){right:0;bottom:0;border-right:1px solid;border-bottom:1px solid}
.telemetry-rail{position:absolute;z-index:7;right:18px;top:88px;display:flex;flex-direction:column;align-items:flex-end;gap:7px;pointer-events:none}.telemetry-rail span{padding:5px 8px;background:#020811b8;border-right:1px solid var(--cyan);color:#79a8ba;font:500 8px 'IBM Plex Mono';letter-spacing:.08em;box-shadow:0 0 16px #45e4f40d}
.dimension-core{position:absolute;z-index:5;left:50%;top:48%;width:152px;height:152px;transform:translate(-50%,-50%) rotate(45deg);pointer-events:none;opacity:.5}.dimension-core:before,.dimension-core:after,.dimension-core i{content:'';position:absolute;inset:0;border:1px solid #61e9f755;box-shadow:0 0 26px #45e4f41a inset,0 0 18px #45e4f414}.dimension-core:after{transform:rotate(45deg) scale(.72);border-color:#987cff66}.dimension-core i:nth-child(1){transform:rotateX(60deg)}.dimension-core i:nth-child(2){transform:rotateY(60deg)}.dimension-core i:nth-child(3){inset:32%;background:#78f5ff0d;border-color:#f1c97866;animation:corePulse 3.4s ease-in-out infinite}.dimension-core b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-45deg);color:#dffcff;text-shadow:0 0 16px var(--cyan);font:600 16px 'IBM Plex Mono';letter-spacing:.1em}
.legend{z-index:8;background:#020811dc;backdrop-filter:blur(12px);box-shadow:0 10px 30px #0005}.run-status{position:relative}.run-status:after{content:'SYSTEM NOMINAL';display:block;margin-top:13px;color:#507385;font:500 8px 'IBM Plex Mono';letter-spacing:.14em}.run-status b{text-shadow:0 0 22px #5de0a355}.snapshot{position:relative;overflow:hidden;background:linear-gradient(90deg,#0c2a3d,#131d41);border-color:#55e8f46b;box-shadow:0 0 24px #45e4f414}.snapshot:before{content:'';position:absolute;top:0;bottom:0;width:45%;left:-60%;background:linear-gradient(90deg,transparent,#fff2,transparent);transition:.45s}.snapshot:hover:before{left:120%}
.method,.connected-research{position:relative}.method:before,.connected-research:before{content:'';position:absolute;left:50%;top:0;width:1px;height:55px;background:linear-gradient(var(--cyan),transparent);box-shadow:0 0 12px var(--cyan)}.method ol,.connected-research nav{box-shadow:0 30px 80px #0003}.method li,.connected-research nav a{backdrop-filter:blur(10px)}
@keyframes corePulse{0%,100%{transform:scale(.65);opacity:.35}50%{transform:scale(1.05);opacity:1;box-shadow:0 0 34px #45e4f44d}}@media(min-width:1180px){.workspace{grid-template-columns:250px minmax(580px,1fr) 280px}.map-panel:hover #city-map{transform:perspective(1500px) rotateX(1.2deg) scale(.995);transition:transform .7s ease}}
@media(max-width:760px){.lab-heading{min-height:auto}.lab-heading .abstract{padding:22px 20px}.future-metrics{display:grid;grid-template-columns:1fr 1fr}.future-metrics span{min-width:0}.future-metrics span:nth-child(2){border-right:0}.future-metrics span:last-child{grid-column:1/-1;border-top:1px solid #63eaf21c}.dimension-core{width:100px;height:100px;top:55%}.telemetry-rail{display:none}.hud-corners{inset:59px 7px 46px}.map-panel:after{opacity:.35}}
@media(prefers-reduced-motion:reduce){.dimension-core i:nth-child(3){animation:none}}
