.chart-canvas[data-v-c784b849]{position:relative;width:100%;height:420px;min-height:280px;overflow:hidden}@media (max-width:800px){.chart-canvas[data-v-c784b849]{height:320px;min-height:240px}}@media (max-width:768px){.chart-canvas[data-v-c784b849]{height:300px!important;width:100%!important;min-height:280px!important;flex-shrink:0!important}}.lab-overlay[data-v-c784b849]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:999;background:#000814eb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}.lab-bg-grid[data-v-c784b849]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.03;background-image:linear-gradient(rgba(0,255,255,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(0,255,255,.5) 1px,transparent 1px);background-size:30px 30px;pointer-events:none}.lab-radar[data-v-c784b849]{width:130px;height:130px;border-radius:50%;position:relative;background:radial-gradient(circle at center,rgba(0,255,255,.05) 0%,rgba(0,15,35,.5) 70%,transparent 100%);border:1px solid rgba(0,255,255,.25)}.lab-radar-beam[data-v-c784b849]{position:absolute;top:50%;left:50%;transform-origin:left center;width:65px;height:1.5px;margin-top:-.75px;margin-left:0;background:linear-gradient(90deg,#00ffff,transparent);box-shadow:0 0 8px #0ff,0 0 16px #0ff6;animation:lab-spin-c784b849 1.8s linear infinite}@keyframes lab-spin-c784b849{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.lab-radar-ring[data-v-c784b849]{position:absolute;border-radius:50%;border-style:solid}.ring1[data-v-c784b849]{top:12px;right:12px;bottom:12px;left:12px;border-width:1px;border-color:#0ff3}.ring2[data-v-c784b849]{top:28px;right:28px;bottom:28px;left:28px;border-width:1px;border-color:#00ff8826;animation:ring-spin-c784b849 5s linear infinite}.ring3[data-v-c784b849]{top:46px;right:46px;bottom:46px;left:46px;border-width:1px;border-color:#00b4ff1a;animation:ring-spin-c784b849 7s linear infinite reverse}@keyframes ring-spin-c784b849{0%{transform:rotate(360deg)}to{transform:rotate(0)}}.lab-radar-core[data-v-c784b849]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:5px;height:5px;background:#0ff;border-radius:50%;box-shadow:0 0 6px #0ff,0 0 14px #00ffff80;animation:core-pulse-c784b849 1.2s ease-in-out infinite}@keyframes core-pulse-c784b849{0%,to{opacity:1;transform:translate(-50%,-50%) scale(1)}50%{opacity:.4;transform:translate(-50%,-50%) scale(2)}}.lab-radar-label[data-v-c784b849]{position:absolute;bottom:-22px;left:50%;transform:translate(-50%);font-size:8px;font-family:JetBrains Mono,monospace;color:#00ffff80;letter-spacing:2px;white-space:nowrap}.lab-title[data-v-c784b849]{font-family:JetBrains Mono,Consolas,monospace;font-size:12px;color:#0ff;letter-spacing:1px;text-align:center;text-shadow:0 0 12px rgba(0,255,255,.4);animation:text-breathe-c784b849 1.2s step-end infinite;min-height:18px}@keyframes text-breathe-c784b849{0%,to{opacity:1}50%{opacity:.5}}.lab-progress-container[data-v-c784b849]{width:380px;position:relative}.lab-progress-track[data-v-c784b849]{height:6px;background:#00ffff14;border-radius:3px;position:relative;overflow:visible;border:1px solid rgba(0,255,255,.15)}.lab-progress-fill[data-v-c784b849]{height:100%;border-radius:3px;background:linear-gradient(90deg,#00d4ff,#0f8);box-shadow:0 0 8px #00ff8880;transition:width .15s ease}.lab-progress-glow[data-v-c784b849]{position:absolute;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;border-radius:50%;background:#0f8;box-shadow:0 0 10px #0f8,0 0 20px #0f86;transition:left .15s ease}.lab-progress-segments[data-v-c784b849]{position:relative;height:24px;margin-top:4px}.seg[data-v-c784b849]{position:absolute;display:flex;flex-direction:column;align-items:center;transform:translate(-50%)}.seg-dot[data-v-c784b849]{width:5px;height:5px;border-radius:50%;background:#0ff3;border:1px solid rgba(0,255,255,.3);transition:all .3s}.seg.active .seg-dot[data-v-c784b849]{background:#0ff;box-shadow:0 0 6px #0ff}.seg-label[data-v-c784b849]{font-size:7px;font-family:JetBrains Mono,monospace;color:#00ffff59;margin-top:2px;white-space:nowrap;transition:color .3s}.seg.active .seg-label[data-v-c784b849]{color:#00ffffb3}.lab-metrics[data-v-c784b849]{display:flex;gap:24px;align-items:center;background:#00ffff0a;border:1px solid rgba(0,255,255,.1);border-radius:4px;padding:8px 20px}.metric-item[data-v-c784b849]{display:flex;flex-direction:column;align-items:center;gap:2px}.metric-label[data-v-c784b849]{font-size:8px;font-family:JetBrains Mono,monospace;color:#0ff6;letter-spacing:1px}.metric-value[data-v-c784b849]{font-size:14px;font-family:Orbitron,Consolas,monospace;color:#0f8;font-weight:700;text-shadow:0 0 8px rgba(0,255,136,.5);transition:color .05s}.metric-value.flicker[data-v-c784b849]{color:#f66;text-shadow:0 0 8px rgba(255,100,100,.6)}.lab-subtext[data-v-c784b849]{font-size:9px;font-family:JetBrains Mono,monospace;color:#00ffff4d;text-align:center;max-width:380px;line-height:1.5;border-top:1px solid rgba(0,255,255,.06);padding-top:10px;width:380px}.fade-enter-active[data-v-c784b849],.fade-leave-active[data-v-c784b849]{transition:opacity .4s ease}.fade-enter-from[data-v-c784b849],.fade-leave-to[data-v-c784b849]{opacity:0}.canvas-empty[data-v-c784b849]:after{content:"暂无数据可显示 \a点击左侧「执行预测」开始分析";position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-family:JetBrains Mono,monospace;white-space:pre;line-height:1.8;text-align:center;font-size:13px;font-weight:700;color:#00d4ff66;animation:ebBreathe-c784b849 3s ease-in-out infinite;pointer-events:none}.canvas-empty[data-v-c784b849]:before{content:"▸";position:absolute;left:50%;top:58%;transform:translate(-50%);font-size:18px;color:#00d4ff33;animation:ebBreathe-c784b849 3s ease-in-out infinite 1s,ebSlide-c784b849 2s ease-in-out infinite;pointer-events:none}@keyframes ebBreathe-c784b849{0%,to{opacity:.2}50%{opacity:.8}}@keyframes ebSlide-c784b849{0%,to{transform:translate(-50%) translate(0)}50%{transform:translate(-50%) translate(6px)}}.feature-panel[data-v-8cfbd1e2]{display:flex;flex-direction:column;gap:10px;flex:1;min-height:0;width:100%;position:relative}.feature-list[data-v-8cfbd1e2]{display:flex;flex-direction:column;gap:8px;flex:1}.feat-row[data-v-8cfbd1e2]{display:flex;align-items:center;gap:8px;font-family:JetBrains Mono,monospace}.feat-name[data-v-8cfbd1e2]{width:72px;flex-shrink:0;font-size:10px;font-weight:700;color:#ebf2ffb3;letter-spacing:.3px;text-align:right}.feat-track[data-v-8cfbd1e2]{flex:1;height:18px;background:#00142899;border-radius:3px;border:1px solid rgba(0,212,255,.1);overflow:hidden;position:relative}.feat-fill[data-v-8cfbd1e2]{height:100%;border-radius:2px;transition:width 1s ease,background 1s ease;box-shadow:0 0 8px #00d4ff33,inset 0 0 12px #00b4ff14}.feat-val[data-v-8cfbd1e2]{width:48px;flex-shrink:0;font-size:11px;font-weight:800;text-align:right;font-family:Orbitron,monospace}.feat-overlay[data-v-8cfbd1e2]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;align-items:center;justify-content:center;background:#051223bf;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);border-radius:4px}.overlay-text[data-v-8cfbd1e2]{font-size:11px;font-weight:600;color:#00d4ff80;font-family:JetBrains Mono,monospace;letter-spacing:1px;animation:overlayPulse-8cfbd1e2 2s ease-in-out infinite}@keyframes overlayPulse-8cfbd1e2{0%,to{opacity:.4}50%{opacity:.85}}.fade-enter-active[data-v-8cfbd1e2],.fade-leave-active[data-v-8cfbd1e2]{transition:opacity .5s}.fade-enter-from[data-v-8cfbd1e2],.fade-leave-to[data-v-8cfbd1e2]{opacity:0}.feat-footer[data-v-8cfbd1e2]{display:flex;justify-content:space-between;align-items:center;padding-top:6px;border-top:1px solid rgba(0,212,255,.08);flex-shrink:0}.ft-note[data-v-8cfbd1e2]{font-size:9px;color:#ebf2ff66;font-family:JetBrains Mono,monospace}.ft-badge[data-v-8cfbd1e2]{font-size:9px;font-weight:700;padding:2px 10px;border-radius:3px;background:#00d4ff1a;border:1px solid rgba(0,212,255,.25);color:#0ff;font-family:JetBrains Mono,monospace}@media (max-width:800px){.feat-name[data-v-8cfbd1e2]{width:60px;font-size:9px}.feat-track[data-v-8cfbd1e2]{height:16px}.feat-val[data-v-8cfbd1e2]{width:42px;font-size:10px}}@media (max-width:768px){.feat-name[data-v-8cfbd1e2]{width:54px;font-size:8px}.feat-track[data-v-8cfbd1e2]{height:14px}.feat-val[data-v-8cfbd1e2]{width:38px;font-size:9px}}.kpi-row[data-v-48902c9c]{display:flex;gap:10px;padding:0 4px;flex-shrink:0}.kpi-card[data-v-48902c9c]{flex:1;background:#051223a6;border:1px solid rgba(0,255,255,.15);padding:10px 12px;clip-path:polygon(6px 0,100% 0,100% calc(100% - 4px),calc(100% - 6px) 100%,0 100%,0 4px);position:relative;overflow:hidden;min-width:0;transition:border-color .3s}.kpi-card[data-v-48902c9c]:hover{border-color:#00ffff59}.kpi-card[data-v-48902c9c]:before{content:"";position:absolute;top:0;left:0;width:6px;height:3px;background:#0ff}.kpi-env[data-v-48902c9c]{flex:1.4!important}.env-body[data-v-48902c9c]{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:2px}.env-left[data-v-48902c9c]{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.env-temp[data-v-48902c9c]{font-size:28px;font-weight:800;font-family:Orbitron,Consolas,JetBrains Mono,monospace;line-height:1;text-shadow:0 0 20px currentColor;transition:color .3s}.env-unit[data-v-48902c9c]{font-size:14px;opacity:.6;margin-left:1px}.env-humi[data-v-48902c9c]{font-size:9px;color:#ebf2ff73;font-family:JetBrains Mono,monospace;letter-spacing:.3px}.env-right[data-v-48902c9c]{display:flex;flex-direction:column;align-items:center;gap:1px;flex-shrink:0}.env-ring[data-v-48902c9c]{width:48px;height:48px}.env-ring-val[data-v-48902c9c]{font-size:11px;font-weight:800;color:#0ff;font-family:Orbitron,monospace;text-shadow:0 0 10px rgba(0,212,255,.5);line-height:1;margin-top:-2px;transition:color 1s ease}.env-ring-lbl[data-v-48902c9c]{font-size:7px;color:#ebf2ff59;font-family:JetBrains Mono,monospace;letter-spacing:.3px;white-space:nowrap}.kpi-label[data-v-48902c9c]{font-size:9px;letter-spacing:1px;color:#ebf2ff73;text-transform:uppercase;margin-bottom:4px;font-family:JetBrains Mono,monospace}.kpi-value[data-v-48902c9c]{font-size:22px;font-weight:800;font-family:Orbitron,Consolas,JetBrains Mono,monospace;line-height:1.2;text-shadow:0 0 20px currentColor;white-space:nowrap;transition:color .3s,opacity .3}.kpi-value.val-dimmed[data-v-48902c9c]{opacity:.3}.kpi-int[data-v-48902c9c]{font-size:26px}.kpi-dot[data-v-48902c9c]{font-size:18px;opacity:.6;margin:0 1px}.kpi-dec[data-v-48902c9c]{font-size:18px}.kpi-unit[data-v-48902c9c]{font-size:10px;margin-left:4px;font-weight:500;opacity:.6;font-family:JetBrains Mono,monospace}.kpi-bar[data-v-48902c9c]{height:2px;background:#ffffff0f;margin-top:6px;border-radius:1px;overflow:hidden}.kpi-bar-fill[data-v-48902c9c]{height:100%;transition:width .8s ease,background .3s,opacity .3s;box-shadow:0 0 6px currentColor}.val-small[data-v-48902c9c]{font-size:18px!important}.calc-blink[data-v-48902c9c]{animation:calc-pulse-48902c9c .8s step-end infinite;color:#fa0!important}@keyframes calc-pulse-48902c9c{0%,to{opacity:1}50%{opacity:.3}}@media (max-width:900px){.kpi-row[data-v-48902c9c]{gap:6px}.kpi-value[data-v-48902c9c]{font-size:16px}.kpi-int[data-v-48902c9c]{font-size:19px}.kpi-label[data-v-48902c9c]{font-size:8px}.env-temp[data-v-48902c9c]{font-size:22px}.env-ring[data-v-48902c9c]{width:38px;height:38px}}@media (max-width:768px){.kpi-row[data-v-48902c9c]{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px 2px}.kpi-card[data-v-48902c9c]{padding:8px 10px!important;clip-path:none!important;border-radius:3px}.kpi-env[data-v-48902c9c]{grid-column:span 2!important}.env-body[data-v-48902c9c]{justify-content:flex-start;gap:12px}.env-temp[data-v-48902c9c]{font-size:22px}.env-ring[data-v-48902c9c]{width:42px;height:42px}.kpi-label[data-v-48902c9c]{font-size:10px!important;letter-spacing:.5px;margin-bottom:2px}.kpi-value[data-v-48902c9c]{font-size:14px!important;line-height:1.1}.kpi-int[data-v-48902c9c]{font-size:17px!important}.kpi-dot[data-v-48902c9c],.kpi-dec[data-v-48902c9c]{font-size:13px!important}.kpi-unit[data-v-48902c9c]{font-size:9px!important}.kpi-bar[data-v-48902c9c]{margin-top:4px}}.params-panel[data-v-598c0576]{display:flex;flex-direction:column;gap:6px;width:100%;min-height:0;overflow:visible}.param-block[data-v-598c0576]{display:flex;flex-direction:column;gap:3px}.param-line[data-v-598c0576]{display:flex;justify-content:space-between;align-items:center;padding:2px 6px;border-radius:2px;background:#000f2366;border-left:2px solid rgba(0,212,255,.25);font-family:JetBrains Mono,monospace;font-size:10px;min-height:20px;line-height:20px}.pk[data-v-598c0576]{color:#ebf2ff73;font-weight:600;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.pv[data-v-598c0576]{color:#0ff;font-weight:700;transition:color .5s}.pv-highlight[data-v-598c0576]{color:#00d4ff;text-shadow:0 0 8px rgba(0,212,255,.3)}.param-divider[data-v-598c0576]{height:1px;background:linear-gradient(90deg,transparent,rgba(0,212,255,.18),transparent);flex-shrink:0;margin:2px 0}.status-row[data-v-598c0576]{display:flex;align-items:center;gap:7px;padding:5px 8px;background:#00142880;border:1px solid rgba(0,212,255,.12);border-radius:3px;margin-top:auto;flex-shrink:0;min-height:26px;line-height:16px}.st-dot[data-v-598c0576]{width:7px;height:7px;border-radius:50%;background:#50789666;box-shadow:none;flex-shrink:0;transition:all .4s ease}@keyframes stPulse-598c0576{0%,to{box-shadow:0 0 4px #ffaa004d}50%{box-shadow:0 0 14px #ffaa00b3}}.st-pulse[data-v-598c0576]{background:#fa0;animation:stPulse-598c0576 1s ease-in-out infinite}.st-text[data-v-598c0576]{font-size:9px;font-weight:700;font-family:JetBrains Mono,monospace;letter-spacing:.5px;white-space:nowrap;transition:color .4s}.st-time[data-v-598c0576]{font-size:8px;color:#ebf2ff59;font-family:JetBrains Mono,monospace;margin-left:auto;white-space:nowrap}.decomp-panel[data-v-a147c4a5]{display:flex;flex-direction:column;gap:4px;width:100%}.decomp-title[data-v-a147c4a5]{font-size:10px;font-weight:700;letter-spacing:1.5px;color:#00d4ffa6;text-transform:uppercase;font-family:JetBrains Mono,monospace;padding-bottom:4px;border-bottom:1px solid rgba(0,212,255,.08);flex-shrink:0}.decomp-canvas[data-v-a147c4a5]{height:100px;width:100%;flex-shrink:0;position:relative;overflow:hidden}.decomp-legend[data-v-a147c4a5]{display:flex;justify-content:center;gap:14px;padding-top:2px;flex-shrink:0}.dl-item[data-v-a147c4a5]{display:flex;align-items:center;gap:4px;font-size:8px;color:#ebf2ff73;font-family:JetBrains Mono,monospace}.dl-dot[data-v-a147c4a5]{width:10px;height:3px;border-radius:2px;display:inline-block}.dl-dot.trend[data-v-a147c4a5]{background:#0ff;box-shadow:0 0 4px #0ff6}.dl-dot.resid[data-v-a147c4a5]{background:#07f;box-shadow:0 0 4px #0077ff59}.canvas-idle[data-v-a147c4a5]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;background:linear-gradient(90deg,transparent 0%,rgba(0,212,255,.03) 50%,transparent 100%),linear-gradient(0deg,transparent 0%,rgba(0,212,255,.03) 50%,transparent 100%);background-size:300% 300%;animation:idleGridMove-a147c4a5 6s ease-in-out infinite;pointer-events:none}@keyframes idleGridMove-a147c4a5{0%,to{background-position:0% 0%}33%{background-position:100% 50%}66%{background-position:50% 100%}}@media (max-width:800px){.decomp-canvas[data-v-a147c4a5]{height:80px}}@media (max-width:768px){.decomp-canvas[data-v-a147c4a5]{height:70px};.decomp-title[data-v-a147c4a5]{font-size:9px}}.app[data-v-48c49d0b]{display:flex;flex-direction:column}.btn-active[data-v-48c49d0b]{border-color:#0ff!important;color:#0ff!important;box-shadow:0 0 12px #00ffff4d,inset 0 0 8px #00ffff14}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%;width:100%;overflow:hidden;font-family:Orbitron,JetBrains Mono,Fira Code,SF Mono,Consolas,Noto Sans SC,monospace;background:#020b14;color:#00ffffe6;-webkit-font-smoothing:antialiased}.mobile-only{display:none}.desktop-only{display:block}body{background:linear-gradient(180deg,#020b14,#051b2c,#081e30);position:relative}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background-image:linear-gradient(rgba(0,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,255,255,.03) 1px,transparent 1px);background-size:40px 40px;pointer-events:none}.app{position:relative;z-index:1;height:100vh;width:100vw;display:flex;flex-direction:column;overflow:hidden}.dash-header{flex-shrink:0;height:56px;display:flex;align-items:center;justify-content:center;position:relative;border-bottom:1px solid rgba(0,255,255,.15);background:#020b14d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.header-glow-line{position:absolute;top:55px;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(0,255,255,0) 5%,rgba(0,255,255,.6) 50%,rgba(0,255,255,0) 95%,transparent 100%);box-shadow:0 0 12px #0ff6}.header-title{font-size:18px;font-weight:800;letter-spacing:6px;color:#00ffffeb;text-transform:uppercase;text-shadow:0 0 30px rgba(0,255,255,.5),0 0 60px rgba(0,255,255,.2);white-space:nowrap}.header-title span{color:#0f8c}.header-clock{position:absolute;right:24px;top:50%;transform:translateY(-50%);font-size:13px;font-weight:600;color:#00ff88bf;font-family:JetBrains Mono,monospace;letter-spacing:1px;text-shadow:0 0 12px rgba(0,255,136,.3)}.header-deco-left,.header-deco-right{position:absolute;top:50%;transform:translateY(-50%);width:120px;height:1px;background:linear-gradient(90deg,transparent,rgba(0,255,255,.4))}.header-deco-left{left:24px}.header-deco-right{right:200px;background:linear-gradient(90deg,rgba(0,255,255,.4),transparent)}.kpi-row{display:flex;padding:8px 12px 6px;flex-shrink:0;gap:10px}.dash-body{flex:1;display:grid;grid-template-columns:25fr 50fr 25fr;grid-template-rows:62fr 38fr;gap:12px;padding:12px;overflow:hidden;min-height:0}.panel{position:relative;background:#051020b3;border:1px solid rgba(0,255,255,.2);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);clip-path:polygon(0 8px,8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px));padding:14px;display:flex;flex-direction:column;min-height:0;overflow:hidden}.panel:before{content:"";position:absolute;top:0;left:0;width:10px;height:10px;border-top:2px solid #00ffff;border-left:2px solid #00ffff;box-shadow:-1px -1px 4px #0ff6}.panel:after{content:"";position:absolute;top:0;right:0;width:10px;height:10px;border-top:2px solid #00ffff;border-right:2px solid #00ffff;box-shadow:1px -1px 4px #0ff6}.panel-corner-bl{position:absolute;bottom:0;left:0;width:10px;height:10px;border-bottom:2px solid #00ffff;border-left:2px solid #00ffff;box-shadow:-1px 1px 4px #0ff6}.panel-corner-br{position:absolute;bottom:0;right:0;width:10px;height:10px;border-bottom:2px solid #00ffff;border-right:2px solid #00ffff;box-shadow:1px 1px 4px #0ff6}.panel-title{font-size:12px;font-weight:700;letter-spacing:2px;color:#00ffffb3;text-transform:uppercase;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid rgba(0,255,255,.1);flex-shrink:0}.left-col{grid-row:1/3;display:flex;flex-direction:column;min-height:0;overflow:hidden}.center-col,.right-top{grid-row:1/2}.right-bot,.left-bot{grid-row:2/2}.left-upper{flex-shrink:0;display:flex;flex-direction:column;gap:3px}.left-lower{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:visible}.cyber-btn{width:100%;padding:10px 14px;background:#00ffff0f;border:1px solid rgba(0,255,255,.25);color:#00ffffd9;font-size:12px;font-weight:650;font-family:inherit;letter-spacing:.5px;cursor:pointer;transition:all .25s ease;clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);margin-bottom:8px;display:flex;align-items:center;justify-content:center;gap:6px;text-align:center;line-height:1.2}.cyber-btn:hover{background:#00ffff1f;border-color:#00ffff80;box-shadow:0 0 20px #0ff3,inset 0 0 12px #00ffff0d;transform:translate(2px)}.cyber-btn:active{transform:scale(.98)}.cyber-btn:disabled{opacity:.35;cursor:not-allowed}.cyber-btn.primary{background:linear-gradient(135deg,#00ff8826,#00d4ff1a);border-color:#0f86;color:#00ff88f2}.cyber-btn.primary:hover{box-shadow:0 0 24px #00ff8840;border-color:#00ff88a6}.terminal-qa{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.terminal-output{flex:1;overflow-y:auto;background:#00000073;border:1px solid rgba(0,255,136,.15);padding:10px;font-family:JetBrains Mono,monospace;font-size:11px;line-height:1.7;color:#0f8c;scrollbar-width:thin;scrollbar-color:rgba(0,255,136,.2) transparent}.terminal-output::-webkit-scrollbar{width:4px}.terminal-output::-webkit-scrollbar-thumb{background:#0f83;border-radius:2px}.terminal-input-wrap{display:flex;align-items:center;gap:8px;margin-top:8px;border-top:1px solid rgba(0,255,136,.15);padding-top:8px}.terminal-prompt{color:#00ff88e6;font-weight:700;font-size:11px;white-space:nowrap;font-family:JetBrains Mono,monospace}.terminal-input{flex:1;background:transparent;border:none;outline:none;color:#00ffffe6;font-size:12px;font-family:JetBrains Mono,monospace}.terminal-log-window{flex:1;overflow:hidden;display:flex;flex-direction:column;background:#0000008c;border:1px solid rgba(0,255,136,.12)}.log-lines{flex:1;overflow-y:auto;padding:8px 10px;font-family:JetBrains Mono,monospace;font-size:10.5px;line-height:1.75;color:#00ff88a6}.log-line{white-space:nowrap;animation:logFadeIn .3s ease}.log-sys{color:#00b4ffcc}.log-data{color:#00ff88bf}.log-warn{color:#ffb43cd9}.log-ok{color:#50ffa0cc}@keyframes logFadeIn{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:none}}.topo-container{flex:1;min-height:0;overflow:hidden}.upload-drop-cyber{border:1px dashed rgba(0,255,255,.3);background:#00ffff08;padding:20px;text-align:center;cursor:pointer;transition:all .25s;font-size:12px;color:#00ffff80;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);margin-bottom:10px}.upload-drop-cyber:hover{border-color:#00ffff8c;background:#00ffff12;box-shadow:inset 0 0 20px #00ffff0a}.status-bar{font-size:11px;color:#00ffff80;padding:4px 0;font-family:JetBrains Mono,monospace;flex-shrink:0}.analysis-box{background:#00000059;border:1px solid rgba(0,255,255,.12);padding:10px;font-size:11px;line-height:1.7;color:#ebf2ffb8;max-height:140px;overflow-y:auto;white-space:pre-wrap;font-family:JetBrains Mono,monospace;flex-shrink:0}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-thumb{background:#00ffff26;border-radius:2px}::-webkit-scrollbar-track{background:transparent}@media (max-width:1100px){.dash-body{grid-template-columns:28fr 44fr 28fr;gap:8px;padding:8px}.header-title{font-size:14px;letter-spacing:3px}}@media (max-width:800px){.dash-body{grid-template-columns:1fr;grid-template-rows:auto auto auto auto auto;gap:8px}.left-col,.center-col,.right-top,.left-bot,.right-bot{grid-row:auto}.panel{clip-path:none;border-radius:4px}.panel:before,.panel:after,.panel-corner-bl,.panel-corner-br{display:none}}@media (max-width:768px){html,body,#app{height:auto!important;min-height:100%!important;overflow-y:scroll!important;overflow-x:hidden!important}.app{height:auto!important;min-height:100vh!important;overflow-y:visible!important;width:100vw!important}body:before{display:none}.dash-header{height:auto!important;flex-shrink:0;flex-direction:column!important;justify-content:center!important;gap:2px!important;padding:6px 10px!important}.header-title{font-size:13px!important;letter-spacing:3px!important;text-align:center!important;width:100%!important}.header-clock{position:static!important;right:auto!important;top:auto!important;transform:none!important;font-size:10px!important;opacity:.9;margin-top:1px;text-align:center!important;width:100%!important}.header-deco-left,.header-deco-right{display:none}.dash-body{grid-template-columns:1fr!important;grid-template-rows:auto!important;gap:8px!important;padding:8px!important;min-height:auto!important;overflow:visible!important}.panel{padding:10px!important;min-height:auto!important;overflow:visible!important}.kpi-row{flex-wrap:wrap!important;gap:8px!important;padding:8px!important}.kpi-row>*{flex:1 1 calc(50% - 8px)!important;min-width:160px!important}.center-col{order:1!important;min-height:auto!important}.center-col .chart-canvas{height:360px!important;width:100%!important;min-height:340px!important;flex-shrink:0!important}.left-col{order:0!important;grid-row:auto!important;display:flex;flex-direction:row;flex-wrap:wrap;gap:6px;padding:8px!important}.left-col .panel-title{display:none!important}.left-upper{flex:1 1 auto;display:flex;flex-direction:column;gap:4px;min-width:0}.left-lower{display:none}.left-upper>div[style*="height:1px"]{display:none!important}.upload-drop-cyber{padding:10px 8px!important;font-size:11px!important;margin-bottom:4px!important}.cyber-btn{padding:7px 10px!important;font-size:clamp(10px,2.8vw,12px)!important;margin-bottom:3px!important;justify-content:center!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cyber-btn:hover{transform:none!important}.left-upper .cyber-btn:not(.primary){display:inline-flex;flex:1 1 calc(33% - 2px);min-width:0;text-align:center;justify-content:center}.right-top{order:3!important;min-height:180px!important}.terminal-output{font-size:10px!important}.terminal-input{font-size:11px!important}.demo-panel{order:2!important}.left-bot{order:4!important}.right-bot{order:5!important;min-height:220px!important}.mobile-only{display:block!important}.desktop-only{display:none!important}.terminal-log-window{min-height:200px!important}.log-lines,.status-bar{font-size:10px!important}}.prediction-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:1200}.prediction-overlay .prediction-text{font-family:Orbitron,JetBrains Mono,monospace;font-size:16px;letter-spacing:3px;color:#00ffffe6;text-shadow:0 0 18px rgba(0,255,255,.35);animation:predictBreathe 1.6s ease-in-out infinite;padding:10px 14px;border:1px solid rgba(0,255,255,.22);background:#0008148c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:6px}@keyframes predictBreathe{0%{opacity:.35;transform:scale(.98)}50%{opacity:1;transform:scale(1.02)}to{opacity:.35;transform:scale(.98)}}@media (max-width: 430px){html,body,#app{font-size:14px!important}.dash-header{padding:8px!important;gap:4px!important}.header-title{font-size:12px!important;letter-spacing:2px!important}.header-clock{font-size:9px!important}.kpi-row{padding:6px!important;gap:6px!important}.kpi-row>*{flex:1 1 calc(50% - 6px)!important;min-width:140px!important}.dash-body{gap:6px!important;padding:6px!important}.panel{padding:8px!important}.panel-title{font-size:11px!important;margin-bottom:6px!important;padding-bottom:4px!important}.upload-drop-cyber{padding:12px 6px!important;font-size:10px!important;margin-bottom:6px!important}.cyber-btn{padding:8px!important;font-size:10px!important;margin-bottom:4px!important;letter-spacing:0!important}.left-upper .cyber-btn:not(.primary){flex:1 1 calc(33% - 4px)!important}.center-col .chart-canvas,.mobile-only .chart-canvas{height:280px!important;min-height:260px!important}.right-top{min-height:150px!important}.terminal-output{font-size:9px!important;line-height:1.6!important;padding:8px!important}.terminal-input{font-size:10px!important}.terminal-prompt{font-size:9px!important}.right-bot{min-height:180px!important}.log-lines{font-size:9px!important;line-height:1.6!important}.status-bar{font-size:9px!important}.left-bot{min-height:140px!important}.decomp-canvas{height:120px!important;min-height:100px!important}.decomp-title{font-size:10px!important}.decomp-legend,.kpi-label{font-size:9px!important}.kpi-int{font-size:18px!important}.kpi-dec{font-size:10px!important}.env-temp{font-size:20px!important}.env-humi,.param-line{font-size:9px!important}.pk{font-size:8px!important}.pv{font-size:9px!important}.lab-overlay{gap:12px!important}.lab-radar{width:100px!important;height:100px!important}.lab-title{font-size:10px!important}.lab-progress-container{width:280px!important}.lab-metrics{gap:16px!important;padding:6px 12px!important}.metric-label{font-size:7px!important}.metric-value{font-size:11px!important}.lab-subtext{font-size:8px!important;width:280px!important}.feat-name,.feat-val{font-size:9px!important}.ft-note{font-size:8px!important}}@media (max-width: 360px){.header-title{font-size:10px!important;letter-spacing:1px!important}.kpi-row>*{min-width:120px!important}.cyber-btn{font-size:9px!important;padding:6px!important}.center-col .chart-canvas,.mobile-only .chart-canvas{height:240px!important;min-height:220px!important}}
