:root{
  --line:rgba(92,180,255,.18);
  --line-strong:rgba(82,205,255,.42);
  --text:#edf8ff;
  --muted:#7f9eb4;
  --cyan:#58d8ff;
  --green:#5bf7d0;
  --violet:#c2b1ff;
  --orange:#ffb56f;
  --panel:rgba(6,19,34,.78);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:radial-gradient(circle at 54% 18%,#0b2844 0,#04111e 34%,#020710 72%);color:var(--text);font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif}
body{overflow-x:auto}
button{font:inherit}
#app{min-width:1460px;min-height:100vh;background:linear-gradient(rgba(45,132,188,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(45,132,188,.025) 1px,transparent 1px);background-size:48px 48px}
.topbar{height:68px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 22px;gap:36px;background:rgba(2,9,20,.84);backdrop-filter:blur(20px)}
.brand{display:flex;align-items:center;gap:12px;min-width:260px}.brand-mark{width:40px;height:40px;border:1px solid #28bfff;border-radius:12px;display:grid;place-items:center;font-weight:900;font-size:20px;box-shadow:inset 0 0 24px #1aa9ff33,0 0 24px #1aa9ff1f}.brand b{display:block;font-size:18px}.brand span{display:block;color:#6f94aa;font-size:11px;margin-top:2px}
nav{display:flex;align-items:center;height:100%;gap:4px;flex:1}.nav{height:100%;padding:0 17px;border:0;border-bottom:2px solid transparent;background:none;color:#829db1;cursor:pointer}.nav.active{color:#fff;border-bottom-color:var(--cyan);background:linear-gradient(180deg,transparent,#18b8ff0e)}
.clock{font-size:10px;color:#80a0b6;letter-spacing:.1em}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 14px var(--green);margin-right:8px}
.layout{display:grid;grid-template-columns:208px minmax(930px,1fr) 318px;gap:12px;padding:12px;height:calc(100vh - 68px)}
.glass{background:linear-gradient(180deg,rgba(9,27,49,.8),rgba(4,14,29,.74));border:1px solid var(--line);box-shadow:inset 0 1px rgba(255,255,255,.025),0 12px 35px rgba(0,0,0,.08);backdrop-filter:blur(18px)}
.eyebrow{font-size:9px;color:#4dbdec;letter-spacing:.17em;text-transform:uppercase}
.module-sidebar{border-radius:16px;padding:17px;overflow:hidden}.side-head h2{font-size:19px;margin:6px 0 15px}.module-list{display:grid;gap:8px}.module-item{width:100%;display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center;padding:11px 10px;border:1px solid rgba(76,157,215,.12);background:rgba(5,16,31,.48);border-radius:12px;color:#b5cad7;text-align:left;cursor:pointer;transition:.22s}.module-item:hover{border-color:#35c7ff55;transform:translateX(2px)}.module-item.active{border-color:#37d7ff88;background:linear-gradient(90deg,#0c5e8a55,#07304c33);color:white;box-shadow:inset 3px 0 #34dcff,0 0 20px #16aee50f}.module-icon{width:32px;height:32px;border-radius:10px;border:1px solid #3896c566;display:grid;place-items:center;color:#6bd1ff;font-size:15px}.module-copy b{display:block;font-size:12px}.module-copy em{display:block;font-style:normal;font-size:9px;color:#7391a5;margin-top:4px}.module-tip{margin-top:16px;padding-top:15px;border-top:1px solid var(--line)}.module-tip span{display:block;font-size:9px;color:#56cbff;letter-spacing:.12em}.module-tip b{display:block;font-size:12px;margin:5px 0 7px}.module-tip p{margin:0;font-size:9px;line-height:1.6;color:#7f9cb1}
.center{display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;min-width:0}.process-strip{border-radius:16px;padding:14px 16px 13px}.process-strip-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:12px}.process-title span{display:block;font-size:9px;color:#55ccff;letter-spacing:.15em}.process-title b{display:block;font-size:19px;margin-top:4px}.process-title em{display:block;font-size:10px;color:#8fb0c4;font-style:normal;margin-top:5px}.process-actions{display:flex;gap:8px}.process-actions button{border:1px solid #3c91bd66;background:#06182a;color:#9cbcd0;border-radius:9px;padding:9px 14px;cursor:pointer;min-width:86px}.process-actions button.primary{color:#fff;border-color:#2bcaff88;background:linear-gradient(180deg,#0b527a,#083956);box-shadow:0 0 20px rgba(43,202,255,.08)}
.process-track{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.process-stage{position:relative;border:1px solid rgba(76,157,215,.13);background:rgba(5,16,31,.48);border-radius:11px;padding:10px 9px;text-align:left;color:#afc5d3;cursor:pointer;transition:.22s;min-height:54px}.process-stage:hover{border-color:#35c7ff55;transform:translateY(-1px)}.process-stage.active{border-color:#37d7ff8c;background:linear-gradient(180deg,#0b4f735a,#071829);box-shadow:inset 0 2px 0 #34dcff,0 0 20px #16aee50d;color:#fff}.process-stage .num{display:block;font-size:8px;color:#67d3ff;letter-spacing:.1em}.process-stage strong{display:block;font-size:11px;line-height:1.3;margin-top:5px}
.scene-card{position:relative;border-radius:17px;border:1px solid #3389b955;overflow:hidden;min-height:610px;background:radial-gradient(circle at 50% 58%,rgba(31,157,255,.11),transparent 34%),radial-gradient(circle at 50% 45%,rgba(30,134,198,.07),transparent 42%),linear-gradient(180deg,#020812,#040b14);box-shadow:inset 0 0 70px rgba(24,122,178,.04)}#threeCanvas{width:100%;height:100%;display:block}.visual-fallback{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(circle at 50% 50%,rgba(40,136,185,.12),transparent 36%)}.visual-fallback.hidden{display:none}.visual-fallback svg{width:88%;max-width:900px;height:auto;opacity:.95}.fallback-note{position:absolute;left:24px;bottom:18px;font-size:10px;color:#7fa3b9}
.scene-status{position:absolute;right:16px;top:14px;padding:6px 10px;border-radius:999px;background:rgba(5,20,36,.62);border:1px solid rgba(83,191,255,.16);font-size:8px;letter-spacing:.12em;color:#78cfff;z-index:7}.scene-status.ok{color:#48ffc1}.scene-status.error{color:#ffc085}
.scene-title-card{position:absolute;left:18px;top:16px;max-width:360px;padding:0;z-index:6}.scene-title-card span{display:inline-flex;align-items:center;min-height:25px;padding:5px 9px;border-radius:999px;background:linear-gradient(90deg,#28bde9,#55e5ff);color:#04111b;font-size:9px;font-weight:800;letter-spacing:.08em;box-shadow:0 0 18px rgba(78,216,255,.2)}.scene-title-card b{display:block;font-size:13px;line-height:1.45;margin-top:7px;text-shadow:0 1px 4px #000}
.scene-kpis{position:absolute;right:16px;top:48px;display:flex;gap:8px;z-index:6}.scene-kpis>div{min-width:118px;padding:8px 10px;border-radius:10px;background:rgba(5,17,30,.54);border:1px solid rgba(83,191,255,.14);backdrop-filter:blur(8px)}.scene-kpis span,.defect-box span{display:block;font-size:7px;letter-spacing:.12em;color:#66cbef}.scene-kpis b{display:block;font-size:19px;margin-top:2px}.defect-box{display:none;position:absolute;left:67%;top:47%;padding:9px 12px;border:1px solid #ff615d88;background:rgba(51,9,13,.72);border-radius:9px;box-shadow:0 0 30px #ff514533;z-index:8;animation:pulseBox 1.1s ease-in-out infinite}.defect-box b{font-size:11px;display:block;margin:3px 0;color:#ff8e89}.defect-box em{font-size:9px;color:#eeb6b1;font-style:normal}@keyframes pulseBox{50%{box-shadow:0 0 42px #ff514566;transform:scale(1.015)}}
.agent-label-layer{position:absolute;inset:0;pointer-events:none;z-index:5}.agent-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.agent-lines line{stroke:#58d8ff;stroke-width:1.35;stroke-opacity:.74;stroke-dasharray:5 4;filter:drop-shadow(0 0 3px rgba(88,216,255,.35))}.agent-lines circle{fill:#58d8ff;filter:drop-shadow(0 0 4px rgba(88,216,255,.5))}.agent-line-label{fill:#dff8ff;font-size:10px;font-weight:700;paint-order:stroke;stroke:#03101a;stroke-width:3px;stroke-linejoin:round;letter-spacing:.02em}
.agent-card{position:absolute;width:225px;padding:0;color:#edf8ff;text-shadow:0 2px 5px rgba(0,0,0,.95)}.agent-card span{display:inline-flex;align-items:center;min-height:28px;padding:5px 11px;border-radius:999px;background:linear-gradient(90deg,#2bc8ee,#67e5ff);color:#04111b;font-size:11px;font-weight:900;letter-spacing:.04em;box-shadow:0 0 18px rgba(71,213,255,.24)}.agent-card b{display:block;font-size:14px;line-height:1.35;margin:7px 0 3px;color:#f4fbff}.agent-card p{margin:0;font-size:10px;line-height:1.5;color:#c3d9e6;max-width:205px}.agent-card.left{text-align:left}.agent-card.right{text-align:right}.agent-card.right p{margin-left:auto}.agent-card.left.top{left:18px;top:105px}.agent-card.left.mid{left:18px;top:270px}.agent-card.right.top{right:18px;top:120px}.agent-card.right.mid{right:18px;top:288px}.agent-card.right.bottom{right:18px;bottom:28px}.agent-card[data-index="3"] span{background:linear-gradient(90deg,#49efbf,#85ffd9)}.agent-card[data-index="4"] span{background:linear-gradient(90deg,#9d85ff,#d0c1ff)}
.right-panel{display:grid;grid-template-rows:auto 1fr auto;gap:10px;min-height:0}.right-panel section{border-radius:16px;padding:13px}.panel-title{font-size:12px;font-weight:800;margin-bottom:10px}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.metric-grid>div{border:1px solid #2c62823d;border-radius:9px;padding:9px;background:#06142172}.metric-grid span{display:block;color:#708da1;font-size:8px}.metric-grid b{font-size:16px;display:block;margin-top:4px}.ai-task{display:grid;align-content:center}.task-block{border:1px solid #2d6d934c;background:#06182a80;border-radius:10px;padding:9px 11px}.task-block.ai{border-color:#3af5c76b;box-shadow:inset 0 0 22px #25cfa90e}.task-block.twin{border-color:#8a7cff58}.task-block span{display:block;font-size:8px;color:#56cbff;letter-spacing:.12em}.task-block p{margin:4px 0 0;font-size:9px;line-height:1.5;color:#a2bac9}.task-arrow{display:grid;place-items:center;color:#2f769b;font-size:12px;padding:3px 0}.decision{min-height:190px}.decision-head span{font-size:8px;color:#40d3ff;border:1px solid #2f98c755;padding:3px 6px;border-radius:4px}.decision-head b{display:block;font-size:13px;margin:8px 0 4px}.decision p{font-size:9px;line-height:1.55;color:#7997aa;min-height:52px}.decision-row{display:flex;justify-content:space-between;border-top:1px solid #28526d38;padding-top:7px;margin-top:7px;font-size:9px;color:#7794a6}.decision-row b{font-size:11px;color:#ff9b73}.decision-row.success b{color:#47ffc1}
@media(max-height:850px){.layout{height:auto}.scene-card{min-height:620px}.center{grid-template-rows:auto 640px}}

/* ===== Portal pages ===== */
.page-view{display:none}
.page-view.active{display:grid}
#page-industrial.active{display:grid}
.portal-page,.dashboard-page{padding:14px 16px 18px;gap:12px;min-height:calc(100vh - 68px)}
.portal-page.active,.dashboard-page.active{display:grid}
.portal-hero{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;border-radius:18px;min-height:132px;background:radial-gradient(circle at 75% 40%,rgba(48,183,255,.12),transparent 32%),linear-gradient(180deg,rgba(9,29,52,.88),rgba(4,15,30,.8))}
.portal-hero h1,.dash-head h1{font-size:28px;margin:7px 0 8px;letter-spacing:-.03em}
.portal-hero p,.dash-head p{margin:0;color:#7f9fb5;font-size:12px;max-width:720px;line-height:1.7}
.hero-stats{display:grid;grid-template-columns:repeat(4,118px);gap:10px}
.hero-stats>div{border:1px solid rgba(84,188,255,.15);border-radius:12px;background:rgba(5,18,33,.58);padding:13px 12px;text-align:center}
.hero-stats span{display:block;font-size:9px;color:#7597ac}.hero-stats b{font-size:26px;display:inline-block;margin-top:4px}.hero-stats em{font-style:normal;font-size:9px;color:#65cfff;margin-left:4px}
.module-center-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.module-card{position:relative;border:1px solid rgba(74,168,222,.14);background:linear-gradient(180deg,rgba(7,23,41,.88),rgba(4,14,27,.82));border-radius:16px;padding:18px;min-height:215px;transition:.28s;overflow:hidden}
.module-card:before{content:'';position:absolute;inset:auto -25% -60% 30%;height:180px;background:radial-gradient(circle,rgba(46,190,255,.1),transparent 65%);pointer-events:none}
.module-card:hover{transform:translateY(-3px);border-color:rgba(67,204,255,.38);box-shadow:0 14px 40px rgba(0,0,0,.22),0 0 28px rgba(36,179,235,.07)}
.module-card.active-module{border-color:rgba(77,213,255,.45);box-shadow:inset 0 0 30px rgba(29,168,230,.06)}
.module-card-top{display:flex;justify-content:space-between;align-items:center}.module-glyph{width:44px;height:44px;border-radius:12px;border:1px solid rgba(82,193,255,.32);display:grid;place-items:center;font-size:20px;color:#68d8ff;background:rgba(22,89,125,.18)}
.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:8px;letter-spacing:.06em;border:1px solid rgba(80,180,225,.2);color:#7fb5cf}.status-pill.online{color:#62f5c9;border-color:rgba(88,244,196,.25);background:rgba(40,164,128,.08)}.status-pill.pilot{color:#ffd18f;border-color:rgba(255,184,99,.24);background:rgba(150,96,38,.08)}.status-pill.ready{color:#aab8c4}
.module-card h3{font-size:17px;margin:15px 0 8px}.module-card p{font-size:10px;line-height:1.65;color:#7d9caf;margin:0;min-height:50px}.module-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.module-meta span{font-size:8px;color:#7bc8ec;background:rgba(23,91,128,.18);border:1px solid rgba(68,158,205,.14);padding:4px 6px;border-radius:5px}.module-enter{position:absolute;right:16px;bottom:15px;border:0;background:none;color:#68d7ff;font-size:10px;cursor:pointer}.module-enter.disabled{color:#60788a;cursor:default}
.platform-arch{padding:18px 20px;border-radius:16px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.section-head>div>span{display:block;font-size:8px;color:#56caff;letter-spacing:.14em}.section-head>div>b{display:block;font-size:15px;margin-top:4px}.section-head>p{margin:0;font-size:10px;color:#718fa3}.section-head.compact{margin-bottom:12px}
.arch-flow{display:grid;grid-template-columns:1fr 28px 1fr 28px 1fr 28px 1fr 28px 1fr;align-items:center;gap:4px;margin-top:16px}.arch-flow>div{min-height:86px;border:1px solid rgba(72,158,207,.14);border-radius:11px;background:rgba(5,17,31,.58);padding:11px}.arch-flow>div.highlight{border-color:rgba(77,241,200,.34);box-shadow:inset 0 0 24px rgba(57,223,178,.06)}.arch-flow i{font-style:normal;font-size:8px;color:#55cfff}.arch-flow b{display:block;font-size:12px;margin:5px 0}.arch-flow span{font-size:9px;color:#708da1;line-height:1.45}.arch-flow>em{font-style:normal;text-align:center;color:#2d759a;font-size:18px}
/* AI center */
.ai-hero{background:radial-gradient(circle at 76% 35%,rgba(79,255,195,.11),transparent 29%),linear-gradient(180deg,rgba(9,29,52,.88),rgba(4,15,30,.8))}
.ai-health{display:flex;align-items:center;gap:16px;border:1px solid rgba(84,195,230,.15);border-radius:14px;padding:13px 16px;background:rgba(5,18,31,.52)}.pulse-dot{width:9px;height:9px;border-radius:50%;background:#58f5c6;box-shadow:0 0 12px #58f5c6;animation:pulseAgent 1.4s ease-in-out infinite}@keyframes pulseAgent{50%{opacity:.45;transform:scale(.8)}}.ai-health>div b{display:block;font-size:20px}.ai-health>div em{font-style:normal;font-size:9px;color:#7896aa}
.ai-layout-grid{display:grid;grid-template-columns:280px minmax(520px,1fr) 330px;gap:12px;min-height:470px}.agent-library,.orchestration,.agent-trace{border-radius:16px;padding:16px}.agent-lib-list{display:grid;gap:8px}.agent-lib{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;border:1px solid rgba(75,160,208,.13);border-radius:10px;background:rgba(5,17,30,.54);padding:9px}.agent-lib.active{border-color:rgba(80,244,199,.32);background:linear-gradient(90deg,rgba(27,109,91,.16),rgba(5,17,30,.54))}.agent-lib>i{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;background:rgba(36,127,168,.2);border:1px solid rgba(74,185,227,.18);font-style:normal;color:#6cd6ff}.agent-lib b{display:block;font-size:11px}.agent-lib span{display:block;font-size:8px;color:#6f8fa3;margin-top:3px}.agent-lib>em{font-style:normal;font-size:8px;color:#7199b0}
.orchestration-canvas{position:relative;display:grid;align-content:center;min-height:400px;padding:18px;background:radial-gradient(circle at 50% 50%,rgba(42,170,220,.08),transparent 48%);border:1px solid rgba(66,151,200,.08);border-radius:13px}.orch-node{border:1px solid rgba(74,179,225,.2);border-radius:10px;background:rgba(5,19,33,.72);padding:10px 14px;text-align:center;justify-self:center;min-width:360px}.orch-node span{font-size:8px;color:#5bcfff;letter-spacing:.1em}.orch-node b{display:block;font-size:11px;margin-top:4px}.orch-lines{height:34px;display:flex;justify-content:center;gap:90px;align-items:center}.orch-lines i{width:1px;height:30px;background:linear-gradient(#47d6ff,transparent);box-shadow:0 0 7px rgba(71,214,255,.32)}.orch-agents{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.orch-agents>div{border:1px solid rgba(77,163,210,.16);border-radius:12px;padding:12px 7px;text-align:center;background:rgba(7,22,37,.68)}.orch-agents>div.active{border-color:rgba(82,245,197,.4);box-shadow:0 0 24px rgba(82,245,197,.08)}.orch-agents i{display:grid;place-items:center;width:40px;height:40px;margin:auto;border-radius:50%;background:rgba(28,104,140,.18);border:1px solid rgba(74,189,231,.2);font-style:normal;font-size:10px;color:#6ed8ff}.orch-agents .active i{color:#65f2c8;border-color:rgba(87,244,202,.28);background:rgba(32,137,106,.12)}.orch-agents b{display:block;font-size:8px;margin-top:7px;color:#88a6b9}.orch-action-row{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:12px 0}.orch-action-row span{font-size:8px;color:#87a9bd;text-align:center;padding:7px;border-radius:7px;background:rgba(6,20,34,.6);border:1px dashed rgba(71,162,205,.16)}
.trace-list{display:grid;gap:9px}.trace-list>div{display:grid;grid-template-columns:58px 9px 68px 1fr;align-items:center;gap:7px;padding:9px 7px;border-bottom:1px solid rgba(62,129,166,.1)}.trace-list time{font-size:8px;color:#59778a}.trace-list i{width:7px;height:7px;border-radius:50%}.trace-list i.ok{background:#57f2c4}.trace-list i.run{background:#52d7ff;box-shadow:0 0 8px #52d7ff}.trace-list i.wait{background:#5b7382}.trace-list b{font-size:9px}.trace-list span{font-size:8px;color:#7998ab;line-height:1.35}
.replacement-section{border-radius:16px;padding:17px}.replacement-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin-top:13px}.replacement-grid>div{border:1px solid rgba(75,160,206,.12);border-radius:10px;background:rgba(6,19,32,.52);padding:11px}.replacement-grid span{font-size:8px;color:#5bcfff}.replacement-grid b{display:block;font-size:15px;margin:5px 0;color:#e8f7ff}.replacement-grid p{font-size:8px;line-height:1.45;color:#6f8c9f;margin:0}
/* Dashboard */
.dashboard-page{grid-template-rows:auto auto 1fr}.dash-head{display:flex;justify-content:space-between;align-items:flex-end;padding:5px 3px}.dash-head h1{margin-bottom:6px}.dash-filter{display:flex;gap:6px;align-items:center}.dash-filter button{border:1px solid rgba(72,166,214,.16);background:rgba(6,19,32,.7);color:#7495aa;border-radius:8px;padding:7px 11px;font-size:9px;cursor:pointer}.dash-filter button.active{border-color:rgba(76,207,255,.38);color:#dff7ff;background:rgba(28,109,151,.22)}.dash-filter>span{font-size:8px;color:#7292a5;margin-left:8px}.dash-filter i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#58f4c7;margin-right:5px;box-shadow:0 0 9px #58f4c7}
.kpi-row{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.kpi-card{border:1px solid rgba(73,162,210,.13);border-radius:13px;background:linear-gradient(180deg,rgba(8,25,43,.82),rgba(4,15,28,.75));padding:13px 14px}.kpi-card span{font-size:8px;color:#748fa2}.kpi-card b{display:block;font-size:21px;margin:5px 0}.kpi-card em{font-style:normal;font-size:8px;color:#57f3c3}.kpi-card small{font-size:8px;color:#5f7b8d;margin-left:5px}
.dash-grid{display:grid;grid-template-columns:1.5fr .82fr .82fr;grid-template-rows:minmax(280px,1fr) minmax(260px,.9fr);gap:10px;min-height:0}.dash-card{border:1px solid rgba(71,155,202,.13);border-radius:15px;background:linear-gradient(180deg,rgba(7,23,40,.83),rgba(4,14,27,.78));padding:14px;min-height:0}.trend-card{grid-column:1/3}.trend-chart{width:100%;height:calc(100% - 55px);min-height:210px}.chart-grid line{stroke:rgba(87,144,175,.12);stroke-width:1}.trend-chart .area{fill:url(#areaA)}.trend-chart .line-a{fill:none;stroke:#4cd8ff;stroke-width:3}.trend-chart .line-b{fill:none;stroke:#56f4c6;stroke-width:2.3}.chart-axis{display:flex;justify-content:space-between;padding:0 8px;color:#5e7b8f;font-size:8px}.legend{font-size:8px;color:#738fa1}.legend i{display:inline-block;width:8px;height:2px;background:#4cd8ff;margin:0 4px 2px 8px}.legend i:nth-child(2){background:#56f4c6}
.agent-runtime-list{display:grid;gap:9px}.agent-runtime-list>div{display:grid;grid-template-columns:1fr 52px 54px;align-items:center;border-bottom:1px solid rgba(63,132,169,.1);padding:7px 2px}.agent-runtime-list span{font-size:9px}.agent-runtime-list span i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#54f2c3;margin-right:6px;box-shadow:0 0 6px rgba(84,242,195,.3)}.agent-runtime-list b{font-size:10px;color:#c9f9ea}.agent-runtime-list em{font-style:normal;font-size:8px;color:#67889d}
.process-health{display:grid;gap:12px}.process-health>div{display:grid;grid-template-columns:92px 1fr 38px;align-items:center;gap:8px}.process-health span{font-size:9px;color:#8ca9bb}.process-health>div>i{height:6px;border-radius:99px;background:#0b1c2b;overflow:hidden}.process-health em{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#36bfff,#55f3c4)}.process-health b{font-size:9px;color:#a5c9da;text-align:right}
.donut-wrap{display:grid;grid-template-columns:145px 1fr;align-items:center;gap:10px;height:calc(100% - 35px)}.donut{width:122px;height:122px;border-radius:50%;margin:auto;background:conic-gradient(#4fd7ff 0 38%,#5af0c6 38% 69%,#9b87ff 69% 88%,#ffb56f 88% 100%);display:grid;place-items:center;position:relative}.donut:after{content:'';position:absolute;width:82px;height:82px;border-radius:50%;background:#071727}.donut span{position:relative;z-index:2;text-align:center}.donut b{display:block;font-size:22px}.donut em{font-style:normal;font-size:8px;color:#7896aa}.defect-legend{display:grid;gap:8px}.defect-legend>div{display:grid;grid-template-columns:8px 1fr 34px;align-items:center;gap:6px;font-size:8px;color:#7f9bac}.defect-legend i{width:7px;height:7px;border-radius:2px;background:#4fd7ff}.defect-legend>div:nth-child(2) i{background:#5af0c6}.defect-legend>div:nth-child(3) i{background:#9b87ff}.defect-legend>div:nth-child(4) i{background:#ffb56f}.defect-legend b{text-align:right;color:#b9d4e2}
.device-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.device-summary>div{border:1px solid rgba(69,150,192,.12);border-radius:9px;padding:8px;background:rgba(5,17,29,.52);text-align:center}.device-summary b{font-size:16px;display:block}.device-summary span{font-size:7px;color:#708da0}.device-summary .warning b{color:#ffcb80}.device-summary .danger b{color:#ff7b70}.alert-list{display:grid;gap:7px;margin-top:10px}.alert-list>div{display:grid;grid-template-columns:8px 1fr auto;gap:7px;align-items:center;padding:7px;border-radius:8px;background:rgba(6,18,30,.48);font-size:8px}.alert-list i{width:7px;height:7px;border-radius:50%}.alert-list .warn{background:#ffbd69}.alert-list .info{background:#56d5ff}.alert-list span{color:#819eb0}.alert-list b{color:#d6e8f1}
.insight-card{background:radial-gradient(circle at 90% 10%,rgba(77,242,193,.08),transparent 30%),linear-gradient(180deg,rgba(7,23,40,.83),rgba(4,14,27,.78))}.insight-main{border-left:2px solid #53efc4;padding:8px 12px;margin-top:14px}.insight-main span{font-size:8px;color:#5af0c6}.insight-main b{display:block;font-size:14px;margin:5px 0 7px}.insight-main p{font-size:9px;line-height:1.6;color:#7d9aac;margin:0}.insight-action{margin-top:13px;border:1px solid rgba(81,219,183,.2);background:rgba(33,117,95,.12);color:#62f2ca;border-radius:8px;padding:7px 10px;font-size:8px;cursor:pointer}
@media(max-height:850px){.portal-page,.dashboard-page{min-height:auto}.ai-layout-grid{min-height:420px}.dash-grid{grid-template-rows:330px 290px}}


/* ===== v13 portal / AI / dashboard redesign ===== */
.page-view{display:none}.page-view.active{display:block}
.portal-page,.dashboard-page{
  position:relative;
  padding:18px 18px 20px;
  min-height:calc(100vh - 72px);
  background:
    radial-gradient(circle at 12% 14%, rgba(44,154,255,.12), transparent 24%),
    radial-gradient(circle at 88% 8%, rgba(79,255,193,.09), transparent 22%),
    radial-gradient(circle at 75% 80%, rgba(106,122,255,.08), transparent 28%),
    linear-gradient(180deg, rgba(5,15,28,.96), rgba(2,10,19,.98));
}
.portal-page::before,.dashboard-page::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(rgba(60,138,191,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(60,138,191,.045) 1px,transparent 1px);
  background-size:38px 38px;
  mask-image:linear-gradient(180deg,rgba(255,255,255,.85),rgba(255,255,255,.35));
}
.portal-page > *,.dashboard-page > *{position:relative;z-index:1}
.portal-hero,.dash-head{
  border-radius:24px;
  padding:22px 24px;
  border:1px solid rgba(93,190,255,.16);
  background:
    radial-gradient(circle at 80% 20%, rgba(56,205,255,.12), transparent 30%),
    linear-gradient(135deg, rgba(9,31,54,.9), rgba(5,16,31,.78));
  box-shadow:0 18px 44px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.03);
}
.portal-hero h1,.dash-head h1{font-size:34px;margin:8px 0 10px;letter-spacing:-.035em;color:#f4fbff;text-shadow:0 0 24px rgba(67,208,255,.12)}
.portal-hero p,.dash-head p{font-size:14px;line-height:1.85;color:#9cb8ca;max-width:860px}
.hero-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;min-width:520px}
.hero-stats>div,.ai-health>div{
  padding:14px 16px;border-radius:18px;
  background:linear-gradient(180deg,rgba(7,24,43,.82),rgba(5,17,31,.78));
  border:1px solid rgba(84,180,235,.18);
  box-shadow:inset 0 0 26px rgba(44,138,255,.06),0 8px 22px rgba(0,0,0,.16);
}
.hero-stats span,.hero-stats em,.ai-health em{font-size:11px;color:#8ba8bc;font-style:normal}
.hero-stats b,.ai-health b{display:block;font-size:30px;line-height:1.05;margin:8px 0 6px;color:#f7fdff}
.module-center-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px}
.module-card{
  position:relative;overflow:hidden;padding:20px;border-radius:22px;
  border:1px solid rgba(82,173,225,.16);
  background:
    radial-gradient(circle at 92% 8%, rgba(68,210,255,.14), transparent 28%),
    linear-gradient(180deg, rgba(7,24,43,.9), rgba(5,16,30,.84));
  box-shadow:0 16px 34px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.03);
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;
}
.module-card::before{
  content:'';position:absolute;left:18px;right:18px;top:0;height:2px;border-radius:999px;
  background:linear-gradient(90deg,rgba(80,215,255,.1),rgba(90,255,214,.95),rgba(80,215,255,.1));
  opacity:.9;
}
.module-card:hover{transform:translateY(-4px);border-color:rgba(95,211,255,.34);box-shadow:0 20px 42px rgba(0,0,0,.24),0 0 32px rgba(42,185,255,.08)}
.module-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.module-glyph{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;font-size:24px;color:#dff9ff;background:linear-gradient(135deg,rgba(51,198,255,.26),rgba(70,111,255,.12));border:1px solid rgba(89,204,255,.28);box-shadow:inset 0 0 18px rgba(53,176,255,.12)}
.status-pill{padding:6px 12px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.04em}
.status-pill.online{background:rgba(38,136,104,.18);border:1px solid rgba(79,255,193,.32);color:#72ffd7}
.status-pill.pilot{background:rgba(89,128,255,.14);border:1px solid rgba(113,151,255,.3);color:#b8c8ff}
.status-pill.ready{background:rgba(255,177,107,.12);border:1px solid rgba(255,177,107,.24);color:#ffd4aa}
.module-card h3{font-size:22px;margin:0 0 10px;color:#f4fbff}
.module-card p{min-height:64px;margin:0 0 16px;font-size:13px;line-height:1.8;color:#98b6c8}
.module-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.module-meta span{padding:6px 10px;border-radius:999px;font-size:11px;color:#bcecff;background:rgba(11,43,69,.66);border:1px solid rgba(85,185,238,.16)}
.module-enter{width:100%;padding:12px 14px;border:none;border-radius:14px;background:linear-gradient(90deg,#0c6fa7,#0c4667);color:#effbff;font-weight:700;font-size:13px;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.module-enter.disabled{background:rgba(13,38,61,.72);color:#86a3b6}
.platform-arch{margin-top:16px;padding:20px 22px;border-radius:22px;background:linear-gradient(180deg,rgba(7,24,43,.9),rgba(5,16,30,.84));border:1px solid rgba(82,173,225,.16)}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:16px}
.section-head span{display:block;font-size:10px;letter-spacing:.16em;color:#62cdf6}
.section-head b{display:block;font-size:24px;margin-top:5px;color:#f0fbff}
.section-head p{margin:0;font-size:13px;color:#93b0c4;max-width:560px;line-height:1.75}
.arch-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;align-items:center}
.arch-flow>div{min-height:118px;padding:16px;border-radius:18px;border:1px solid rgba(83,178,232,.16);background:rgba(8,28,46,.78)}
.arch-flow>div.highlight{background:linear-gradient(180deg,rgba(16,73,96,.5),rgba(7,27,44,.84));border-color:rgba(76,236,255,.35);box-shadow:0 0 26px rgba(47,190,255,.12)}
.arch-flow i{display:block;font-style:normal;font-size:11px;color:#56cbff;margin-bottom:10px}
.arch-flow b{display:block;font-size:18px;margin-bottom:6px}
.arch-flow span{font-size:12px;color:#95b3c4;line-height:1.6}
.arch-flow em{font-style:normal;color:#4ed3ff;font-size:20px;text-align:center}
.ai-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.ai-health{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:340px;align-items:start}
.pulse-dot{width:12px;height:12px;border-radius:50%;background:#59ffd2;box-shadow:0 0 18px rgba(89,255,210,.8);align-self:center;animation:pulseGlow 1.4s infinite}
@keyframes pulseGlow{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.68}}
.ai-layout-grid{display:grid;grid-template-columns:320px minmax(560px,1fr) 360px;gap:16px;min-height:520px;margin-top:16px}
.agent-library,.orchestration,.agent-trace,.replacement-section,.dash-card{border-radius:22px;border:1px solid rgba(83,178,232,.16);background:linear-gradient(180deg,rgba(7,24,43,.9),rgba(5,16,30,.84));box-shadow:0 16px 34px rgba(0,0,0,.2)}
.agent-library,.orchestration,.agent-trace{padding:18px}
.section-head.compact b{font-size:20px}
.agent-lib-list{display:grid;gap:12px}
.agent-lib{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;padding:14px 14px;border-radius:16px;background:rgba(8,28,46,.74);border:1px solid rgba(80,170,221,.14);transition:.28s}
.agent-lib.active,.agent-lib:hover{border-color:rgba(88,241,200,.34);background:linear-gradient(90deg,rgba(16,71,62,.34),rgba(8,28,46,.78));transform:translateX(3px)}
.agent-lib>i{width:42px;height:42px;border-radius:14px;font-size:16px;font-weight:700;color:#eafcff;background:linear-gradient(135deg,rgba(51,198,255,.28),rgba(76,255,211,.16));border:1px solid rgba(90,204,255,.28)}
.agent-lib b{font-size:15px;color:#f0fbff}
.agent-lib span{font-size:11px;line-height:1.6;color:#97b6c8;margin-top:4px}
.agent-lib>em{font-size:11px;color:#76bfd7}
.orchestration-canvas{position:relative;min-height:420px;overflow:hidden;border-radius:18px;padding:20px;border:1px solid rgba(76,177,230,.14);background:
  radial-gradient(circle at 50% 20%, rgba(66,209,255,.08), transparent 30%),
  linear-gradient(180deg, rgba(3,15,28,.9), rgba(5,18,32,.82))}
.orchestration-canvas::before{content:'';position:absolute;inset:0;background:
 linear-gradient(rgba(85,171,220,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(85,171,220,.04) 1px,transparent 1px);background-size:32px 32px;pointer-events:none}
.orch-node{position:relative;z-index:2;padding:14px 18px;border-radius:16px;border:1px solid rgba(84,184,236,.18);background:rgba(9,30,49,.9);width:max-content;max-width:100%}
.orch-node span{display:block;font-size:11px;color:#69cff3;letter-spacing:.08em}
.orch-node b{display:block;font-size:16px;color:#f1fbff;margin-top:6px}
.orch-node.input{margin:0 auto 20px}
.orch-node.output{margin:18px auto 0;border-color:rgba(79,255,193,.24);box-shadow:0 0 26px rgba(79,255,193,.08)}
.orch-lines{display:flex;justify-content:center;gap:90px;margin:12px 0 18px}
.orch-lines i{display:block;width:2px;height:48px;background:linear-gradient(180deg,rgba(84,201,255,.05),rgba(84,201,255,.9),rgba(84,201,255,.05));box-shadow:0 0 18px rgba(84,201,255,.22);animation:flowLine 1.3s infinite}
.orch-lines i:nth-child(2){animation-delay:.2s}.orch-lines i:nth-child(3){animation-delay:.4s}
@keyframes flowLine{0%{transform:scaleY(.55);opacity:.45}50%{transform:scaleY(1);opacity:1}100%{transform:scaleY(.55);opacity:.45}}
.orch-agents{position:relative;z-index:2;display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.orch-agents>div{padding:15px 10px 13px;border-radius:16px;text-align:center;border:1px solid rgba(82,170,221,.16);background:rgba(8,28,46,.7);transition:.28s}
.orch-agents>div.active{border-color:rgba(78,214,255,.38);background:linear-gradient(180deg,rgba(13,81,114,.5),rgba(8,28,46,.86));box-shadow:0 0 26px rgba(78,214,255,.14);transform:translateY(-4px)}
.orch-agents i{display:block;font-style:normal;font-size:18px;color:#9cf3ff;margin-bottom:8px}
.orch-agents b{font-size:13px;color:#edfaff}
.orch-action-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}
.orch-action-row span{padding:10px 12px;border-radius:14px;background:rgba(8,28,46,.72);border:1px solid rgba(80,170,221,.14);font-size:12px;line-height:1.6;color:#9fc1d2;animation:actionBlink 3s infinite}
.orch-action-row span:nth-child(2){animation-delay:.35s}.orch-action-row span:nth-child(3){animation-delay:.7s}.orch-action-row span:nth-child(4){animation-delay:1.05s}
@keyframes actionBlink{0%,100%{box-shadow:none;border-color:rgba(80,170,221,.14)}40%{box-shadow:0 0 22px rgba(78,214,255,.12);border-color:rgba(78,214,255,.3)}}
.trace-list{display:grid;gap:10px;margin-top:8px}
.trace-list>div{display:grid;grid-template-columns:74px 14px 94px 1fr;gap:10px;align-items:center;padding:12px 14px;border-radius:14px;background:rgba(8,28,46,.76);border:1px solid rgba(80,170,221,.12)}
.trace-list time,.trace-list span{font-size:11px;color:#99b7ca;line-height:1.6}.trace-list b{font-size:13px;color:#effbff}.trace-list i{width:10px;height:10px;border-radius:50%}.trace-list i.ok{background:#58f4c7;box-shadow:0 0 12px rgba(88,244,199,.5)}.trace-list i.run{background:#54c9ff;box-shadow:0 0 12px rgba(84,201,255,.5)}.trace-list i.wait{background:#ffb16b;box-shadow:0 0 12px rgba(255,177,107,.5)}
.replacement-section{margin-top:16px;padding:20px 22px}
.replacement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.replacement-grid>div{padding:16px 18px;border-radius:18px;border:1px solid rgba(83,178,232,.16);background:rgba(8,28,46,.72)}
.replacement-grid span{display:block;font-size:12px;color:#66d0f4;letter-spacing:.08em}
.replacement-grid b{display:block;font-size:24px;margin:10px 0 8px;color:#fff}
.replacement-grid p{margin:0;font-size:12px;line-height:1.8;color:#98b6c8}
.dashboard-page{display:none}
.dashboard-page.active{display:grid;grid-template-rows:auto auto 1fr;gap:16px}
.dash-head{display:flex;justify-content:space-between;align-items:flex-end}
.dash-filter{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.dash-filter button{padding:9px 16px;border-radius:12px;border:1px solid rgba(82,173,225,.16);background:rgba(8,28,46,.8);color:#b1d0df;font-size:12px;font-weight:700;cursor:pointer}
.dash-filter button.active{background:linear-gradient(180deg,rgba(12,98,145,.5),rgba(8,28,46,.82));color:#f3fcff;border-color:rgba(76,207,255,.36);box-shadow:0 0 18px rgba(76,207,255,.14)}
.dash-filter>span{font-size:11px;color:#93b0c4}
.kpi-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.kpi-card{position:relative;overflow:hidden;padding:16px 16px 14px;border-radius:20px;border:1px solid rgba(82,173,225,.16);background:linear-gradient(180deg,rgba(8,28,46,.86),rgba(5,16,30,.84));box-shadow:0 14px 28px rgba(0,0,0,.18)}
.kpi-card::after{content:'';position:absolute;right:-18px;top:-18px;width:92px;height:92px;border-radius:50%;background:radial-gradient(circle,rgba(84,201,255,.22),transparent 64%)}
.kpi-card span{font-size:11px;color:#92afc3}
.kpi-card b{font-size:30px;color:#f7fdff;margin:10px 0 8px}
.kpi-card em{font-size:11px;color:#64f2c8}.kpi-card small{display:block;font-size:11px;color:#7f9fb4;margin-top:7px}
.dash-grid{display:grid;grid-template-columns:1.45fr .9fr .9fr;grid-template-rows:minmax(320px,1fr) minmax(300px,1fr);gap:14px}
.dash-card{padding:18px}
.trend-chart .line-a,.trend-chart .line-b{stroke-linecap:round;stroke-linejoin:round}
.trend-chart .line-a{stroke-dasharray:1200;stroke-dashoffset:1200;animation:drawLine 2.8s ease forwards}
.trend-chart .line-b{stroke-dasharray:1200;stroke-dashoffset:1200;animation:drawLine 2.8s ease .35s forwards}
@keyframes drawLine{to{stroke-dashoffset:0}}
.chart-grid line{stroke:rgba(109,159,188,.16)}
.chart-axis{font-size:10px;color:#7e9aad;padding:0 4px}
.legend{font-size:11px;color:#99b4c4}.legend i{width:14px;height:3px;border-radius:3px}
.agent-runtime-list,.process-health,.alert-list{display:grid;gap:12px}
.agent-runtime-list>div,.process-health>div,.alert-list>div{padding:12px 14px;border-radius:14px;background:rgba(8,28,46,.72);border:1px solid rgba(80,170,221,.12)}
.agent-runtime-list span{display:flex;align-items:center;gap:8px;font-size:12px;color:#dff6ff}.agent-runtime-list span i{width:9px;height:9px;border-radius:50%;background:#58f4c7;box-shadow:0 0 12px rgba(88,244,199,.45)}
.agent-runtime-list b{font-size:20px;color:#f4fbff}.agent-runtime-list em{font-style:normal;font-size:11px;color:#92b0c4}
.process-health>div{display:grid;grid-template-columns:92px 1fr 40px;gap:12px;align-items:center}
.process-health span,.device-summary span,.defect-legend span{font-size:12px;color:#9ebdce}
.process-health i{height:10px;border-radius:999px;background:rgba(14,53,79,.9);overflow:hidden}
.process-health em{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#1ecfff,#58f4c7);box-shadow:0 0 12px rgba(78,214,255,.18);animation:barPulse 2.1s ease-in-out infinite}
@keyframes barPulse{50%{filter:brightness(1.15)}}
.process-health b{font-size:13px;color:#effbff}
.donut-wrap{display:grid;grid-template-columns:190px 1fr;gap:16px;align-items:center}
.donut{width:170px;height:170px;border-radius:50%;margin:0 auto;background:conic-gradient(#4bd7ff 0 38%, #59f4c8 38% 69%, #7ca1ff 69% 88%, #ffa96c 88% 100%);display:grid;place-items:center;box-shadow:0 0 28px rgba(77,215,255,.12);animation:spinSlow 18s linear infinite}
.donut::before{content:'';width:108px;height:108px;border-radius:50%;background:#071829;box-shadow:inset 0 0 18px rgba(77,215,255,.08)}
.donut>span{position:absolute;display:grid;place-items:center;text-align:center}.donut b{font-size:34px}.donut em{font-style:normal;font-size:12px;color:#91afc3}
@keyframes spinSlow{to{transform:rotate(360deg)}}
.defect-legend{display:grid;gap:12px}.defect-legend>div{display:grid;grid-template-columns:10px 1fr auto;gap:10px;align-items:center;font-size:12px;color:#a5c0d0}.defect-legend i{width:10px;height:10px;border-radius:50%;background:#4bd7ff}.defect-legend>div:nth-child(2) i{background:#59f4c8}.defect-legend>div:nth-child(3) i{background:#7ca1ff}.defect-legend>div:nth-child(4) i{background:#ffa96c}
.device-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.device-summary>div{padding:14px;border-radius:16px;background:rgba(8,28,46,.72);border:1px solid rgba(80,170,221,.12)}.device-summary b{display:block;font-size:28px;color:#fff;margin-bottom:5px}.device-summary .warning b{color:#ffd499}.device-summary .danger b{color:#ff948d}
.alert-list>div{display:grid;grid-template-columns:12px 1fr auto;gap:10px;align-items:center;font-size:12px;color:#edf8ff}.alert-list b{font-size:12px;color:#ffc596}.alert-list i.warn{background:#ffb16b;width:10px;height:10px;border-radius:50%;box-shadow:0 0 12px rgba(255,177,107,.4)}.alert-list i.info{background:#58d2ff;width:10px;height:10px;border-radius:50%;box-shadow:0 0 12px rgba(88,210,255,.4)}
.insight-card{background:radial-gradient(circle at 100% 0,rgba(77,242,193,.12),transparent 28%),linear-gradient(180deg,rgba(8,28,46,.86),rgba(5,16,30,.84))}
.insight-main{margin-top:14px;padding:14px 16px;border-left:3px solid #53efc4;border-radius:0 14px 14px 0;background:rgba(9,30,49,.42)}
.insight-main span{font-size:12px;color:#63f1ca}.insight-main b{font-size:22px;color:#f7fdff;margin:8px 0 10px}.insight-main p{font-size:13px;line-height:1.85;color:#9ab8ca}
.insight-action{margin-top:14px;padding:12px 14px;border:none;border-radius:14px;background:linear-gradient(90deg,#0b6f68,#13483a);color:#effcf9;font-weight:700;font-size:13px;cursor:pointer}
@media(max-width:1600px){.hero-stats{min-width:0}.module-center-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-layout-grid{grid-template-columns:1fr}.dash-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto}.trend-card{grid-column:auto}.kpi-row{grid-template-columns:repeat(3,minmax(0,1fr))}.replacement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.arch-flow{grid-template-columns:repeat(5,minmax(0,1fr))}}

.module-card.active-module{border-color:rgba(92,219,255,.42)!important;box-shadow:0 20px 42px rgba(0,0,0,.24),0 0 36px rgba(47,190,255,.14),inset 0 0 36px rgba(43,171,255,.08)!important;transform:translateY(-3px)}
.eyebrow{font-size:11px!important;letter-spacing:.2em;color:#65cdf4!important}
.topbar .nav{font-size:15px}
.topbar .brand b{font-size:23px}.topbar .brand span{font-size:12px}

/* ===== v15 left-navigation only + Future City Agent ===== */
.topbar .clock{margin-left:auto}
.topbar nav{display:none!important}
.page-view{display:none!important}
.layout.page-view.active{display:grid!important}
.city-layout{display:none!important;grid-template-columns:208px minmax(930px,1fr) 318px;gap:12px;padding:12px;height:calc(100vh - 68px);min-height:0}
.city-layout.active{display:grid!important}

.city-main-column{display:grid;grid-template-rows:auto minmax(0,1fr) 244px;gap:10px;min-width:0;min-height:0}
.city-command{border-radius:16px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.city-command h1{font-size:24px;margin:6px 0 7px;letter-spacing:-.02em}.city-command p{margin:0;font-size:11px;line-height:1.65;color:#8eacbf;max-width:760px}.city-command-actions{display:flex;gap:8px;flex:none}.city-command-actions button{border:1px solid #3c91bd66;background:#06182a;color:#9cbcd0;border-radius:9px;padding:9px 14px;cursor:pointer;min-width:88px}.city-command-actions .primary{color:#fff;border-color:#2bcaff88;background:linear-gradient(180deg,#0b527a,#083956);box-shadow:0 0 20px rgba(43,202,255,.08)}
.city-workspace{display:grid;grid-template-columns:220px minmax(0,1fr);gap:10px;min-height:0}.city-scenario-panel{border-radius:16px;padding:14px;overflow:hidden;display:flex;flex-direction:column}.city-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.city-section-title span{font-size:9px;letter-spacing:.15em;color:#5fd4ff}.city-section-title b{font-size:15px;color:#f0fbff}.city-scenario-list{display:grid;gap:8px;overflow:auto}.city-scenario-item{width:100%;border:1px solid rgba(76,157,215,.12);background:rgba(5,16,31,.48);border-radius:11px;padding:11px 10px;text-align:left;color:#b5cad7;cursor:pointer;transition:.22s}.city-scenario-item:hover{border-color:#35c7ff55;transform:translateX(2px)}.city-scenario-item.active{border-color:#37d7ff88;background:linear-gradient(90deg,#0c5e8a55,#07304c33);box-shadow:inset 3px 0 #34dcff;color:#fff}.city-scenario-item span{display:block;font-size:8px;color:#62d5ff}.city-scenario-item b{display:block;font-size:11px;margin:5px 0 4px}.city-scenario-item p{margin:0;font-size:8px;line-height:1.45;color:#7898ab}.city-live-summary{margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}.city-live-summary span{font-size:8px;color:#5fd4ff}.city-live-summary b{display:block;font-size:11px;margin:5px 0}.city-live-summary p{margin:0;font-size:8px;line-height:1.5;color:#7998ab}
.city-globe-card{position:relative;border-radius:17px;overflow:hidden;min-height:500px;background:radial-gradient(circle at 50% 47%,rgba(28,153,255,.16),transparent 36%),radial-gradient(circle at 54% 48%,rgba(68,255,217,.06),transparent 46%),linear-gradient(180deg,#020812,#040b14);box-shadow:inset 0 0 85px rgba(27,131,194,.06)}#cityCanvas{width:100%;height:100%;display:block}.city-fallback{position:absolute;inset:0;display:grid;place-items:center;color:#78a7be;font-size:10px;letter-spacing:.15em}.city-fallback.hidden{display:none}.city-engine-badge{position:absolute;right:14px;top:13px;padding:6px 9px;border-radius:999px;border:1px solid rgba(83,191,255,.16);background:rgba(5,20,36,.58);font-size:8px;letter-spacing:.12em;color:#56f0c6;z-index:5}.city-scene-title{position:absolute;left:50%;top:18px;transform:translateX(-50%);text-align:center;width:min(660px,70%);z-index:4;text-shadow:0 2px 8px #000}.city-scene-title span{display:inline-flex;padding:5px 11px;border-radius:999px;background:linear-gradient(90deg,#28bde9,#55e5ff);color:#04111b;font-size:9px;font-weight:900;letter-spacing:.08em;box-shadow:0 0 18px rgba(78,216,255,.22)}.city-scene-title h2{font-size:30px;line-height:1.1;margin:10px 0 8px}.city-scene-title p{font-size:10px;line-height:1.6;color:#b7d0df;margin:0}
.city-agent-note{position:absolute;z-index:4;max-width:245px;text-shadow:0 2px 6px #000}.city-agent-note span{display:inline-flex;padding:5px 10px;border-radius:999px;background:linear-gradient(90deg,#44d7ff,#7aeaff);color:#04111b;font-size:9px;font-weight:900}.city-agent-note b{display:block;font-size:13px;margin:7px 0 3px}.city-agent-note p{margin:0;font-size:9px;line-height:1.55;color:#bfd5e2}.city-agent-note.left.top{left:18px;top:105px}.city-agent-note.left.bottom{left:22px;bottom:92px}.city-agent-note.right.top{right:18px;top:132px;text-align:right}.city-agent-note.right.top p{margin-left:auto}.city-agent-note.right.top span{background:linear-gradient(90deg,#57f0c4,#8affde)}
.city-orbit-legend{position:absolute;left:50%;bottom:78px;transform:translateX(-50%);display:flex;gap:14px;z-index:4;padding:7px 11px;border-radius:999px;background:rgba(4,15,27,.45);backdrop-filter:blur(7px);font-size:8px;color:#8eb1c4}.city-orbit-legend i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}.city-orbit-legend .a{background:#58d8ff}.city-orbit-legend .b{background:#8d9dff}.city-orbit-legend .c{background:#5bf7d0}.city-kpis{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);width:calc(100% - 40px);display:grid;grid-template-columns:repeat(4,1fr);gap:8px;z-index:4}.city-kpis>div{padding:9px 11px;border:1px solid rgba(83,191,255,.14);border-radius:10px;background:rgba(4,16,28,.58);backdrop-filter:blur(8px)}.city-kpis span{display:block;font-size:7px;letter-spacing:.1em;color:#67caef}.city-kpis b{display:block;font-size:19px;margin-top:4px}
.city-bottom-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:10px;min-height:0}.city-flow-panel,.city-trend-panel{border-radius:16px;padding:13px;min-height:0}.city-flow-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.city-flow-step{position:relative;padding:10px 9px;border:1px solid rgba(77,163,210,.14);border-radius:10px;background:rgba(6,20,34,.56);min-height:150px}.city-flow-step:after{content:'';position:absolute;left:8px;right:8px;top:0;height:2px;background:linear-gradient(90deg,transparent,#58d8ff,transparent)}.city-flow-step.active{border-color:rgba(83,225,255,.38);box-shadow:0 0 20px rgba(77,202,255,.08)}.city-flow-step span{font-size:8px;color:#55d2ff}.city-flow-step b{display:block;font-size:10px;margin:7px 0 5px}.city-flow-step p{font-size:8px;line-height:1.5;color:#7898ab;margin:0}.city-trend-chart{width:100%;height:165px}.city-grid-lines line{stroke:rgba(89,157,191,.12);stroke-width:1}.city-area{fill:url(#cityAreaA)}.city-line{fill:none;stroke-linecap:round;stroke-linejoin:round}.city-line.line-a{stroke:#4bd7ff;stroke-width:3;stroke-dasharray:1200;stroke-dashoffset:1200;animation:cityDraw 2.5s ease forwards}.city-line.line-b{stroke:#59f4c8;stroke-width:2;stroke-dasharray:1200;stroke-dashoffset:1200;animation:cityDraw 2.7s ease .3s forwards}@keyframes cityDraw{to{stroke-dashoffset:0}}.city-axis{display:flex;justify-content:space-between;font-size:8px;color:#627f91;padding:0 4px}
.city-right-panel{display:grid;grid-template-rows:auto auto 1fr;gap:10px;min-height:0}.city-right-panel section{border-radius:16px;padding:13px}.city-object-hero{display:flex;align-items:center;gap:11px;padding:11px;border:1px solid rgba(74,160,205,.14);border-radius:11px;background:rgba(6,20,34,.52)}.city-object-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:#bff6ff;font-size:19px;background:linear-gradient(135deg,rgba(51,198,255,.24),rgba(76,255,211,.12));border:1px solid rgba(89,204,255,.22)}.city-object-hero b{display:block;font-size:13px}.city-object-hero span{display:block;margin-top:5px;font-size:9px;color:#7ea2b8}.city-object-meta{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0}.city-object-meta>div{padding:9px;border-radius:9px;background:rgba(6,20,34,.5);border:1px solid rgba(74,160,205,.12)}.city-object-meta span{display:block;font-size:7px;color:#678ca1}.city-object-meta b{display:block;font-size:12px;margin-top:4px}.city-object-card>p,.city-decision-card>p{font-size:9px;line-height:1.6;color:#819fb2;margin:0}.city-decision-tag{display:inline-block;font-size:8px;padding:4px 7px;border-radius:5px;color:#55d6ff;border:1px solid rgba(82,195,238,.24)}.city-decision-card h3{font-size:14px;margin:8px 0 6px}.city-decision-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(77,156,209,.12);padding-top:8px;margin-top:8px}.city-decision-row span{font-size:8px;color:#6f8da0}.city-decision-row b{font-size:12px}.city-decision-row.success b{color:#58f1c5}.city-trace-list{display:grid;gap:6px}.city-trace-list>div{display:grid;grid-template-columns:48px 7px 62px 1fr;gap:6px;align-items:center;padding:7px 3px;border-bottom:1px solid rgba(68,133,168,.09)}.city-trace-list time{font-size:7px;color:#587789}.city-trace-list i{width:7px;height:7px;border-radius:50%}.city-trace-list i.ok{background:#59f4c8}.city-trace-list i.run{background:#54d8ff;box-shadow:0 0 7px #54d8ff}.city-trace-list i.wait{background:#ffb56f}.city-trace-list b{font-size:8px}.city-trace-list span{font-size:7px;line-height:1.4;color:#708fa2}

@media(max-height:860px){.city-layout{height:auto;min-height:calc(100vh - 68px)}.city-main-column{grid-template-rows:auto 620px 244px}.city-right-panel{grid-template-rows:auto auto 330px}}

/* ===== MES industrial control module ===== */
.mes-layout{display:none!important;grid-template-columns:208px minmax(960px,1fr);gap:12px;padding:12px;height:calc(100vh - 68px);min-height:0}
.mes-layout.active{display:grid!important}
.mes-main-column{min-width:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px}
.mes-command{border-radius:18px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(180deg,rgba(9,30,55,.92),rgba(6,16,29,.85));border:1px solid rgba(60,154,209,.2)}
.mes-command h1{margin:6px 0 8px;font-size:34px;letter-spacing:.01em}
.mes-command p{margin:0;color:#8eaec6;font-size:13px;max-width:820px;line-height:1.7}
.mes-command-actions{display:flex;gap:10px;align-self:flex-start}.mes-command-actions button{border:1px solid #3c91bd66;background:#06182a;color:#9cbcd0;border-radius:10px;padding:10px 14px;cursor:pointer;min-width:96px}.mes-command-actions button.primary{color:#fff;border-color:#2bcaff88;background:linear-gradient(180deg,#0b527a,#083956);box-shadow:0 0 20px rgba(43,202,255,.08)}
.mes-workspace{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:12px;min-height:0}
.mes-core-column{display:grid;grid-template-rows:minmax(0,1fr) 238px;gap:12px;min-height:0}
.mes-os-card{padding:14px;display:grid;grid-template-rows:auto minmax(0,1fr);border-radius:22px;overflow:hidden;min-height:0;background:radial-gradient(circle at 50% 50%,rgba(16,52,94,.22),rgba(4,11,20,.96) 68%)}
.mes-os-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:6px 8px 14px}.mes-os-head b{display:block;font-size:18px;color:#f4fbff;margin-top:8px}
.mes-os-chip{display:inline-flex;align-items:center;gap:8px;padding:5px 10px;border-radius:999px;border:1px solid rgba(69,214,255,.3);background:rgba(10,32,54,.7);font-size:10px;letter-spacing:.16em;color:#72e4ff}
.mes-os-tabs{display:flex;gap:8px;flex-wrap:wrap}.mes-os-tabs span{padding:8px 12px;border-radius:10px;border:1px solid rgba(61,127,170,.18);background:rgba(6,17,31,.6);font-size:11px;color:#7da2bc}.mes-os-tabs span.active{color:#fff;background:linear-gradient(180deg,rgba(16,79,115,.9),rgba(10,48,72,.9));border-color:rgba(74,209,255,.55);box-shadow:0 0 18px rgba(61,207,255,.08)}
.mes-os-scene{position:relative;overflow:hidden;min-height:560px;border-radius:20px;border:1px solid rgba(59,151,209,.14);background:radial-gradient(circle at 50% 48%,rgba(11,48,83,.34),rgba(3,10,18,.98) 72%)}
.mes-os-scene:before{content:"";position:absolute;inset:-10% -12%;background:radial-gradient(circle at 50% 55%,rgba(40,182,255,.13),transparent 36%),radial-gradient(circle at 62% 34%,rgba(76,239,255,.08),transparent 18%),radial-gradient(circle at 15% 80%,rgba(116,81,255,.08),transparent 18%);pointer-events:none}
.mes-grid-svg{position:absolute;inset:0;width:100%;height:100%}.mes-grid-bg line{stroke:rgba(93,159,199,.16);stroke-width:1}.mes-main-flow,.mes-secondary-flow{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:4}.mes-main-flow{stroke:url(#mesLineGlow);stroke-dasharray:18 12;animation:mesDash 6s linear infinite}.mes-secondary-flow{stroke:rgba(96,223,255,.4);stroke-width:3;stroke-dasharray:10 9;animation:mesDashAlt 7s linear infinite}
.mes-flow-dot{fill:#aaf7ff;filter:drop-shadow(0 0 12px rgba(107,229,255,.75));animation:mesPulse 2.4s ease-in-out infinite}.mes-flow-dot.d2{animation-delay:.3s}.mes-flow-dot.d3{animation-delay:.7s}.mes-flow-dot.d4{animation-delay:1.1s}
.mes-scene-badge{position:absolute;left:22px;top:18px;padding:8px 14px;border-radius:999px;background:linear-gradient(90deg,#20d6ff,#6ef0ff);color:#042133;font-size:12px;font-weight:800;letter-spacing:.08em;box-shadow:0 10px 28px rgba(26,210,255,.16)}
.mes-os-scene h2{position:absolute;left:22px;top:58px;margin:0;font-size:28px;max-width:660px;line-height:1.2}.mes-os-scene>p{position:absolute;left:22px;top:102px;margin:0;max-width:620px;font-size:13px;line-height:1.7;color:#88a8c0}
.mes-node{position:absolute;width:176px;padding:14px 14px 12px;border-radius:16px;border:1px solid rgba(61,151,209,.16);background:linear-gradient(180deg,rgba(8,23,40,.92),rgba(4,12,20,.84));box-shadow:0 10px 32px rgba(2,10,20,.3),inset 0 0 0 1px rgba(90,170,222,.05);transition:.25s;cursor:pointer}
.mes-node span{display:inline-flex;width:30px;height:30px;border-radius:10px;align-items:center;justify-content:center;background:rgba(11,57,86,.9);border:1px solid rgba(74,206,255,.3);font-size:11px;color:#6fe4ff;font-weight:700;margin-bottom:10px}.mes-node b{display:block;font-size:16px}.mes-node p{margin:7px 0 0;font-size:11px;line-height:1.5;color:#7ea1bb}.mes-node.active{transform:translateY(-4px) scale(1.02);border-color:rgba(84,224,255,.66);background:linear-gradient(180deg,rgba(10,52,78,.94),rgba(6,24,39,.92));box-shadow:0 0 0 1px rgba(74,219,255,.16),0 16px 46px rgba(32,199,255,.18),inset 0 0 42px rgba(77,175,255,.06)}
.mes-node.active:after{content:"";position:absolute;inset:-10px;border-radius:20px;border:1px solid rgba(84,224,255,.25);animation:mesGlow 2s ease-out infinite}
.mes-node.workorder{left:72px;top:250px}.mes-node.aps{left:270px;top:132px}.mes-node.material{left:510px;top:191px}.mes-node.line{left:744px;top:140px}.mes-node.quality{left:920px;top:300px}.mes-node.equipment{left:414px;top:350px}
.mes-float-card,.mes-window{position:absolute;border-radius:16px;border:1px solid rgba(77,169,220,.16);background:linear-gradient(180deg,rgba(7,19,34,.94),rgba(5,12,22,.88));backdrop-filter:blur(14px);box-shadow:0 10px 36px rgba(0,0,0,.22)}
.mes-float-card{width:244px;padding:14px 15px 13px}.mes-float-card span{display:inline-flex;padding:5px 10px;border-radius:999px;background:rgba(12,59,88,.8);border:1px solid rgba(88,224,255,.26);color:#74e6ff;font-size:10px;letter-spacing:.05em;margin-bottom:10px}.mes-float-card b{display:block;font-size:15px;line-height:1.35}.mes-float-card p{margin:7px 0 0;font-size:11px;line-height:1.6;color:#7fa1bb}
.mes-float-card.left.top{left:26px;top:154px}.mes-float-card.left.bottom{left:38px;bottom:120px}.mes-float-card.right.top{right:28px;top:132px}
.mes-window{padding:12px 14px;min-width:220px}.mes-window span{display:block;font-size:10px;color:#65dfff;letter-spacing:.15em}.mes-window b{display:block;font-size:15px;margin-top:6px;line-height:1.35}.mes-window em{display:block;margin-top:5px;font-style:normal;color:#7d9cb4;font-size:11px}
.mes-window-a{left:250px;top:92px}.mes-window-b{right:92px;top:240px}.mes-window-c{left:760px;bottom:124px}.mes-window-d{left:514px;bottom:70px}
.mes-bottom-kpis{position:absolute;left:24px;right:24px;bottom:18px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.mes-bottom-kpis div{padding:12px 14px;border-radius:14px;border:1px solid rgba(65,145,194,.16);background:rgba(6,18,31,.62)}.mes-bottom-kpis span{display:block;font-size:10px;color:#77b4d0;letter-spacing:.12em}.mes-bottom-kpis b{display:block;margin-top:8px;font-size:26px;color:#f7fdff}
.mes-bottom-grid{display:grid;grid-template-columns:1.28fr 1fr;gap:12px;min-height:0}.mes-flow-panel,.mes-trend-panel{padding:16px;border-radius:18px;overflow:hidden}.mes-flow-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.mes-flow-step{padding:12px 12px 10px;border-radius:14px;border:1px solid rgba(59,141,189,.16);background:rgba(6,18,31,.58);text-align:left;cursor:pointer;transition:.22s}.mes-flow-step span{display:inline-flex;width:28px;height:28px;border-radius:9px;align-items:center;justify-content:center;background:rgba(10,50,76,.82);border:1px solid rgba(71,205,255,.26);font-size:10px;color:#6edfff;font-weight:700;margin-bottom:8px}.mes-flow-step b{display:block;font-size:14px}.mes-flow-step p{margin:6px 0 0;font-size:11px;line-height:1.55;color:#7b9bb4}.mes-flow-step.active{border-color:rgba(84,224,255,.6);background:linear-gradient(180deg,rgba(9,47,71,.94),rgba(7,23,36,.9));box-shadow:0 8px 30px rgba(24,194,255,.12)}
.mes-right-panel{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);gap:12px;min-height:0}.mes-kpi-card,.mes-task-card,.mes-decision-card,.mes-trace-card{padding:16px;border-radius:18px}.mes-kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.mes-kpi-grid div{padding:14px;border-radius:14px;background:rgba(6,18,31,.62);border:1px solid rgba(58,143,193,.16)}.mes-kpi-grid span{display:block;font-size:10px;color:#7aa9c7}.mes-kpi-grid b{display:block;font-size:28px;margin-top:7px}
.mes-task-card .task-block p,.mes-decision-card p,.mes-trace-card .city-trace-list span{font-size:11px}
.mes-layout.paused .mes-main-flow,.mes-layout.paused .mes-secondary-flow,.mes-layout.paused .mes-flow-dot,.mes-layout.paused .mes-node.active:after{animation-play-state:paused!important}
@keyframes mesDash{from{stroke-dashoffset:0}to{stroke-dashoffset:-180}}
@keyframes mesDashAlt{from{stroke-dashoffset:0}to{stroke-dashoffset:180}}
@keyframes mesPulse{0%,100%{transform:scale(1);opacity:.75}50%{transform:scale(1.45);opacity:1}}
@keyframes mesGlow{0%{opacity:.55;transform:scale(1)}100%{opacity:0;transform:scale(1.18)}}
@media(max-height:860px){.mes-layout{height:auto;min-height:calc(100vh - 68px)}.mes-core-column{grid-template-rows:minmax(620px,1fr) 250px}.mes-os-scene{min-height:620px}}

/* ===== v17 MES redesign: digital-twin industrial control ===== */
.mes-layout{display:none!important;grid-template-columns:208px minmax(1040px,1fr);gap:12px;padding:12px;height:calc(100vh - 68px);min-height:0}
.mes-layout.active{display:grid!important}
.mes-main-column{min-width:0;display:grid;grid-template-rows:auto minmax(0,1fr) 228px;gap:12px;min-height:0}
.mes-command{border-radius:18px;padding:16px 20px;background:linear-gradient(180deg,rgba(9,29,52,.92),rgba(6,16,29,.84));border:1px solid rgba(58,146,198,.18)}
.mes-command h1{margin:6px 0 6px;font-size:32px}.mes-command p{margin:0;color:#8daac2;font-size:13px;line-height:1.75;max-width:920px}
.mes-dt-shell{background:#f6f0e7;border:1px solid rgba(189,162,129,.35);border-radius:22px;box-shadow:0 20px 60px rgba(0,0,0,.18);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;min-height:0;color:#3a3127}
.mes-dt-topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;border-bottom:1px solid rgba(146,119,90,.16);background:linear-gradient(180deg,rgba(255,255,255,.62),rgba(244,235,221,.8))}
.mes-dt-brand b{display:block;font-size:18px;color:#392f24}.mes-dt-brand b span{color:#c26d2c}.mes-dt-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.mes-dt-tabs span{padding:7px 14px;border-radius:999px;border:1px solid rgba(112,90,64,.18);background:rgba(255,255,255,.58);font-size:11px;color:#6a5847}.mes-dt-tabs span.active{background:#2e261e;color:#fff;border-color:#2e261e}
.mes-dt-actions{display:flex;gap:10px}.mes-dt-actions button{border:1px solid rgba(112,90,64,.22);background:rgba(255,255,255,.72);color:#665446;border-radius:12px;padding:10px 15px;cursor:pointer;font-weight:700}.mes-dt-actions button.primary{background:linear-gradient(180deg,#2c261f,#473626);color:#fff;border-color:#2c261f;box-shadow:0 10px 24px rgba(91,67,41,.12)}
.mes-dt-body{display:grid;grid-template-columns:248px minmax(0,1fr) 304px;gap:0;min-height:0}
.mes-inner-nav{padding:16px;border-right:1px solid rgba(151,122,90,.14);background:linear-gradient(180deg,rgba(249,245,237,.88),rgba(241,233,221,.95));display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:12px;min-height:0}
.mes-inner-title span{display:block;font-size:11px;letter-spacing:.18em;color:#8f7357;text-transform:uppercase}.mes-inner-title b{display:block;font-size:18px;color:#2f261f;margin-top:7px}
.mes-scene-list{display:grid;gap:10px;align-content:start;overflow:auto;padding-right:4px}.mes-scene-item{padding:14px 14px 14px 16px;border:none;text-align:left;border-radius:14px;background:rgba(255,255,255,.58);border:1px solid rgba(153,124,92,.14);cursor:pointer;transition:.22s}.mes-scene-item span{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:8px;background:rgba(77,59,39,.08);color:#8a5e30;font-size:11px;font-weight:700;margin-bottom:8px}.mes-scene-item b{display:block;font-size:16px;color:#2e261f}.mes-scene-item p{margin:6px 0 0;font-size:12px;line-height:1.55;color:#7a6956}.mes-scene-item.active{background:linear-gradient(180deg,#31261c,#473426);box-shadow:inset 3px 0 #e59b56,0 10px 26px rgba(89,59,33,.14);border-color:#3b2d22}.mes-scene-item.active b,.mes-scene-item.active p,.mes-scene-item.active span{color:#fff}.mes-scene-item.active span{background:rgba(255,255,255,.12)}
.mes-layer-panel{padding:12px 12px 10px;border:1px solid rgba(153,124,92,.14);border-radius:14px;background:rgba(255,255,255,.52)}.mes-layer-head span{display:block;font-size:10px;letter-spacing:.16em;color:#9a7b5b}.mes-layer-head b{display:block;margin-top:4px;font-size:14px;color:#332920}.mes-layer-row{display:grid;grid-template-columns:28px 1fr auto;gap:9px;align-items:center;padding:9px 0;border-bottom:1px dashed rgba(154,123,91,.18)}.mes-layer-row:last-child{border-bottom:none}.mes-layer-row label{display:inline-grid;place-items:center;height:20px;border-radius:6px;background:#e9dfd2;color:#8d6c48;font-size:10px;font-weight:700}.mes-layer-row span{font-size:11px;color:#594b3c}.mes-layer-row em{font-style:normal;font-size:11px;color:#b17735}.mes-tech-tags{display:flex;flex-wrap:wrap;gap:8px}.mes-tech-tags span{padding:6px 10px;border-radius:999px;background:#eee3d6;border:1px solid rgba(146,117,85,.14);color:#715a45;font-size:10px}
.mes-twin-stage{position:relative;padding:16px 16px 12px;background:linear-gradient(180deg,rgba(251,248,242,.75),rgba(245,238,228,.95));min-height:0;overflow:hidden}
.mes-stage-header{display:flex;justify-content:space-between;align-items:center;gap:16px}.mes-stage-crumb{padding:7px 14px;border-radius:999px;border:1px solid rgba(146,117,85,.18);background:rgba(255,255,255,.65);font-size:11px;color:#79634f}.mes-stage-crumb span{color:#c17331;font-weight:700}.mes-stage-status{padding:8px 16px;border-radius:999px;background:#2f241c;color:#fff;font-size:11px;box-shadow:0 10px 22px rgba(78,54,33,.18)}.mes-stage-status span{color:#f0b173}
.mes-twin-stage h2{margin:16px 0 6px;font-size:40px;line-height:1.1;color:#4a3a2a;font-weight:600}.mes-twin-stage>p{margin:0 0 12px;max-width:720px;font-size:14px;line-height:1.7;color:#7a6a57}
.mes-plant-canvas{position:relative;height:100%;min-height:520px;border:1px solid rgba(174,143,111,.12);border-radius:18px;overflow:hidden;background:radial-gradient(circle at 58% 50%,rgba(218,202,177,.18),transparent 28%),linear-gradient(180deg,#fbf8f2 0%,#f4ebdf 100%)}
.mes-plant-grid{position:absolute;inset:0;width:100%;height:100%}.mes-plant-grid line{stroke:rgba(179,149,116,.17);stroke-width:1}.mes-plant-grid .flow-path{fill:none;stroke:url(#mesPathFlow);stroke-width:4;stroke-dasharray:18 10;animation:mesFlow 5s linear infinite}.mes-plant-grid .flow-path.second{stroke:rgba(212,136,70,.56);stroke-dasharray:12 10;animation-duration:6.8s}
.mes-iso-block{position:absolute;display:grid;align-content:center;gap:6px;width:150px;height:92px;padding:12px 14px 12px 18px;border-radius:10px 10px 16px 16px;background:linear-gradient(180deg,#bfcfd6,#91b8c4);transform:skew(-18deg) rotate(-8deg);box-shadow:0 16px 22px rgba(88,74,57,.18),8px 10px 0 rgba(194,174,146,.38)}.mes-iso-block:before{content:"";position:absolute;left:0;right:-18px;bottom:-16px;height:16px;background:#dccdb8;transform:skew(45deg);transform-origin:left top;border-radius:0 0 9px 9px}.mes-iso-block:after{content:"";position:absolute;top:0;right:-18px;width:18px;bottom:0;background:#aac0c8;transform:skewY(45deg);transform-origin:left top;border-radius:0 10px 10px 0}.mes-iso-block i,.mes-iso-block b,.mes-iso-block span{position:relative;z-index:2;transform:skew(18deg) rotate(8deg)}.mes-iso-block i{width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.2)}.mes-iso-block b{font-size:17px;color:#233235}.mes-iso-block span{font-size:11px;color:#355359;line-height:1.4}.mes-iso-block.active{background:linear-gradient(180deg,#d88b45,#b9661c);box-shadow:0 18px 28px rgba(174,108,45,.24),10px 12px 0 rgba(224,187,145,.35)}.mes-iso-block.active:after{background:#c7732c}.mes-iso-block.active b,.mes-iso-block.active span{color:#fff}
.mes-iso-block.order-center{left:98px;top:310px}.mes-iso-block.aps-hub{left:290px;top:245px}.mes-iso-block.material-hub{left:470px;top:180px}.mes-iso-block.line-hub{left:616px;top:250px}.mes-iso-block.quality-hub{left:748px;top:332px}.mes-iso-block.device-hub{left:448px;top:364px}
.mes-agent-callout,.mes-hot-chip,.mes-time-slider{position:absolute;z-index:3}.mes-agent-callout{max-width:260px;padding:14px 16px;border-radius:16px;background:rgba(255,252,247,.78);border:1px solid rgba(153,124,92,.18);box-shadow:0 10px 26px rgba(92,67,45,.08);backdrop-filter:blur(8px)}.mes-agent-callout span{display:inline-flex;padding:5px 10px;border-radius:999px;background:#2f241c;color:#fff;font-size:11px}.mes-agent-callout b{display:block;font-size:15px;color:#392f25;margin-top:10px}.mes-agent-callout p{margin:7px 0 0;font-size:12px;line-height:1.65;color:#6e5c4c}.mes-agent-callout.left.top{left:18px;top:104px}.mes-agent-callout.left.bottom{left:34px;bottom:78px}.mes-agent-callout.right.top{right:18px;top:104px}.mes-agent-callout.right.bottom{right:30px;bottom:110px}
.mes-hot-chip{min-width:220px;max-width:260px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.7);border:1px solid rgba(160,130,98,.18);box-shadow:0 8px 24px rgba(92,67,45,.08)}.mes-hot-chip span{display:block;font-size:10px;letter-spacing:.14em;color:#9a7a56}.mes-hot-chip b{display:block;font-size:16px;color:#3c2f25;margin-top:6px;line-height:1.35}.mes-hot-chip em{display:block;margin-top:5px;font-style:normal;color:#7a6a58;font-size:12px}.mes-hot-chip.chip-a{left:260px;top:70px}.mes-hot-chip.chip-b{right:72px;top:210px}.mes-hot-chip.chip-c{right:110px;bottom:38px}.mes-hot-chip.chip-d{left:500px;bottom:34px}
.mes-time-slider{left:18px;bottom:20px;padding:12px 16px;border-radius:14px;background:rgba(255,255,255,.72);border:1px solid rgba(153,124,92,.18);display:flex;gap:18px;align-items:center}.mes-time-slider span{font-size:10px;letter-spacing:.16em;color:#9a7a56}.mes-time-slider b{font-size:13px;color:#3e3024}.mes-time-slider em{font-style:normal;color:#c97730}
.mes-right-diagnosis{padding:14px 14px 14px 12px;border-left:1px solid rgba(151,122,90,.14);background:linear-gradient(180deg,rgba(249,245,237,.92),rgba(241,233,221,.98));display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:12px;min-height:0}.mes-right-card{padding:14px;border-radius:16px;background:rgba(255,255,255,.62);border:1px solid rgba(153,124,92,.16)}.mes-card-title span{display:block;font-size:10px;letter-spacing:.16em;color:#9a7b5b}.mes-card-title b{display:block;margin-top:4px;font-size:15px;color:#32281f}.mes-kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.mes-kpi-grid div{padding:12px;border-radius:12px;background:#fff;border:1px solid rgba(153,124,92,.11)}.mes-kpi-grid span{display:block;font-size:11px;color:#7f6b57}.mes-kpi-grid b{display:block;margin-top:8px;font-size:28px;color:#34291f}
.mes-relation-map{width:100%;height:120px;margin-top:12px}.mes-relation-map line{stroke:#c4a27d;stroke-width:1.4;opacity:.65}.mes-relation-map circle.n1,.mes-relation-map circle.n3,.mes-relation-map circle.n5{fill:#4f87b2}.mes-relation-map circle.n2,.mes-relation-map circle.n6{fill:#cb7a2b}.mes-relation-map circle.n4{fill:#88a348}
.mes-advice-item{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px dashed rgba(153,124,92,.18)}.mes-advice-item:last-of-type{border-bottom:none}.mes-advice-item span{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#eee2d3;color:#8a602f;font-size:11px;font-weight:700}.mes-advice-item b{display:block;font-size:14px;color:#332920}.mes-advice-item p{margin:4px 0 0;font-size:12px;line-height:1.55;color:#756451}.mes-advice-item.active b{color:#b96822}.mes-action-btn{margin-top:14px;width:100%;border:none;border-radius:12px;background:linear-gradient(180deg,#2f241c,#433123);color:#fff;padding:13px 14px;font-weight:700;cursor:pointer}
.mes-agent-footer{display:grid;grid-template-columns:repeat(4,1fr) 1.2fr;gap:12px;padding:14px 16px;border-top:1px solid rgba(151,122,90,.14);background:linear-gradient(180deg,rgba(248,243,235,.82),rgba(239,230,218,.96))}.mes-footer-agent,.mes-gate-card{padding:14px;border-radius:16px;border:1px solid rgba(153,124,92,.14);background:rgba(255,255,255,.64)}.mes-footer-agent span{display:block;font-size:10px;letter-spacing:.14em;color:#9a7a56}.mes-footer-agent b{display:block;margin-top:8px;font-size:16px;color:#30261d}.mes-footer-agent p{margin:6px 0 0;font-size:12px;line-height:1.6;color:#6e5d4b}.mes-gate-card{background:linear-gradient(180deg,#35261b,#543923);border-color:#46301f;color:#fff}.mes-gate-card span{display:block;font-size:10px;letter-spacing:.16em;color:#f1bd89}.mes-gate-card b{display:block;font-size:18px;line-height:1.35;margin-top:8px}.mes-gate-card p{margin:8px 0 0;font-size:12px;line-height:1.6;color:#efdecb}.mes-gate-metrics{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.12)}.mes-gate-metrics em{font-style:normal;font-size:12px;color:#e6cfbb}.mes-gate-metrics strong{font-size:20px}.mes-gate-metrics.success strong{color:#ffcc93}
.mes-under-grid{display:grid;grid-template-columns:1.2fr .88fr;gap:12px;min-height:0}.mes-under-card{padding:16px;border-radius:18px;background:#f6f0e7;border:1px solid rgba(189,162,129,.35);box-shadow:0 12px 36px rgba(0,0,0,.12);min-height:0;overflow:hidden}.mes-under-lines line{stroke:rgba(179,149,116,.17)}.mes-under-area{fill:url(#mesAreaA)}.mes-under-line{fill:none;stroke-linecap:round;stroke-width:3}.mes-under-line.a{stroke:#ca7b31}.mes-under-line.b{stroke:#6f8e9b}.mes-under-card .city-axis{margin-top:4px;color:#8c765f}.mes-under-card.trace .city-trace-list{margin-top:14px}.mes-under-card.trace .city-trace-list div{background:rgba(255,255,255,.7);border:1px solid rgba(153,124,92,.12)}.mes-under-card.trace .city-trace-list time,.mes-under-card.trace .city-trace-list b,.mes-under-card.trace .city-trace-list span{color:#4f4236}
.mes-dt-shell[data-stage="0"] .order-center,.mes-dt-shell[data-stage="1"] .aps-hub,.mes-dt-shell[data-stage="2"] .material-hub,.mes-dt-shell[data-stage="3"] .line-hub,.mes-dt-shell[data-stage="4"] .quality-hub,.mes-dt-shell[data-stage="5"] .device-hub{background:linear-gradient(180deg,#d88b45,#b9661c);box-shadow:0 18px 28px rgba(174,108,45,.24),10px 12px 0 rgba(224,187,145,.35)}
.mes-dt-shell[data-stage="0"] .order-center b,.mes-dt-shell[data-stage="0"] .order-center span,.mes-dt-shell[data-stage="1"] .aps-hub b,.mes-dt-shell[data-stage="1"] .aps-hub span,.mes-dt-shell[data-stage="2"] .material-hub b,.mes-dt-shell[data-stage="2"] .material-hub span,.mes-dt-shell[data-stage="3"] .line-hub b,.mes-dt-shell[data-stage="3"] .line-hub span,.mes-dt-shell[data-stage="4"] .quality-hub b,.mes-dt-shell[data-stage="4"] .quality-hub span,.mes-dt-shell[data-stage="5"] .device-hub b,.mes-dt-shell[data-stage="5"] .device-hub span{color:#fff}
.mes-layout.paused .mes-plant-grid .flow-path{animation-play-state:paused!important}
@keyframes mesFlow{from{stroke-dashoffset:0}to{stroke-dashoffset:-180}}
@media(max-height:880px){.mes-layout{height:auto;min-height:calc(100vh - 68px)}.mes-main-column{grid-template-rows:auto minmax(860px,1fr) 228px}.mes-plant-canvas{min-height:560px}}

/* ===== v18 MES true-3D redesign ===== */
.mes-layout{display:none!important;grid-template-columns:208px minmax(1080px,1fr);gap:12px;padding:12px;height:calc(100vh - 68px);min-height:0}
.mes-layout.active{display:grid!important}
.mes-v3-main{min-width:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;min-height:0}
.mes-v3-command{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:16px 20px;border-radius:18px;background:linear-gradient(180deg,rgba(9,29,52,.92),rgba(6,16,29,.84));border:1px solid rgba(58,146,198,.18)}
.mes-v3-command h1{margin:6px 0 6px;font-size:32px}.mes-v3-command p{margin:0;color:#8daac2;font-size:13px;line-height:1.75;max-width:900px}
.mes-v3-command-actions{display:flex;gap:10px}.mes-v3-command-actions button{border:1px solid rgba(104,171,224,.28);background:rgba(7,20,36,.76);color:#d7f2ff;border-radius:12px;padding:10px 16px;cursor:pointer;font-weight:700;white-space:nowrap}.mes-v3-command-actions .primary{background:linear-gradient(180deg,#1479b8,#0d5a88);box-shadow:0 12px 24px rgba(17,127,187,.22)}
.mes-v3-shell{background:#f7f1e8;border:1px solid rgba(190,164,133,.36);border-radius:22px;box-shadow:0 20px 60px rgba(0,0,0,.18);display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;overflow:hidden;min-height:0;color:#382d22}
.mes-v3-topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(246,239,228,.95));border-bottom:1px solid rgba(166,138,108,.18)}
.mes-v3-brand strong{display:block;font-size:18px;color:#31271f}.mes-v3-brand strong span{color:#c56f2b}.mes-v3-tabline{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.mes-v3-tabline span{padding:7px 14px;border-radius:999px;border:1px solid rgba(118,95,70,.18);background:rgba(255,255,255,.66);font-size:11px;color:#735f4d}.mes-v3-tabline span.active{background:#2e261e;color:#fff;border-color:#2e261e}.mes-v3-statusline{display:grid;justify-items:end;gap:4px}.mes-v3-statusline span{font-size:11px;letter-spacing:.16em;color:#ba7338;text-transform:uppercase}.mes-v3-statusline b{font-size:14px;color:#2f251c}
.mes-v3-body{display:grid;grid-template-columns:252px minmax(0,1fr) 296px;min-height:0}
.mes-v3-leftpanel{padding:16px;border-right:1px solid rgba(166,138,108,.14);background:linear-gradient(180deg,rgba(249,245,237,.95),rgba(242,234,223,.98));display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:12px;min-height:0}
.mes-v3-paneltitle span{display:block;font-size:10px;letter-spacing:.18em;color:#94785c;text-transform:uppercase}.mes-v3-paneltitle b{display:block;margin-top:6px;font-size:18px;color:#30261e}
.mes-v3-steplist{display:grid;gap:10px;align-content:start;overflow:auto;padding-right:4px}.mes-v3-sceneitem{padding:14px 14px 14px 16px;border-radius:14px;border:1px solid rgba(153,124,92,.14);background:rgba(255,255,255,.62);text-align:left;cursor:pointer;transition:.22s}.mes-v3-sceneitem span{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:8px;background:rgba(77,59,39,.08);color:#8a5e30;font-size:11px;font-weight:700;margin-bottom:8px}.mes-v3-sceneitem b{display:block;font-size:16px;color:#2f251d}.mes-v3-sceneitem p{margin:6px 0 0;font-size:12px;color:#796654;line-height:1.55}.mes-v3-sceneitem.active{background:linear-gradient(180deg,#33281f,#4a3525);border-color:#3d2d21;box-shadow:inset 3px 0 #e3a15f,0 10px 26px rgba(89,59,33,.14)}.mes-v3-sceneitem.active span{background:rgba(255,255,255,.12);color:#fff}.mes-v3-sceneitem.active b,.mes-v3-sceneitem.active p{color:#fff}
.mes-v3-layerbox{padding:12px;border:1px solid rgba(153,124,92,.14);border-radius:14px;background:rgba(255,255,255,.56)}.mes-v3-layerhead span{display:block;font-size:10px;letter-spacing:.16em;color:#9a7b5b;text-transform:uppercase}.mes-v3-layerhead b{display:block;margin-top:4px;font-size:14px;color:#332920}.mes-v3-layerrow{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;padding:9px 0;border-bottom:1px dashed rgba(154,123,91,.18)}.mes-v3-layerrow:last-child{border-bottom:none}.mes-v3-layerrow label{display:grid;place-items:center;height:20px;border-radius:6px;background:#ebe0d2;color:#8b6945;font-size:10px;font-weight:700}.mes-v3-layerrow span{font-size:11px;color:#58493b}.mes-v3-layerrow em{font-style:normal;font-size:11px;color:#bd7937}.mes-v3-tags{display:flex;flex-wrap:wrap;gap:8px}.mes-v3-tags span{padding:6px 10px;border-radius:999px;background:#efe4d7;border:1px solid rgba(153,124,92,.14);font-size:10px;color:#6e5743}
.mes-v3-stagepanel{padding:16px;background:linear-gradient(180deg,rgba(251,248,242,.78),rgba(244,236,225,.96));min-height:0;overflow:hidden}
.mes-v3-stagehead{display:flex;justify-content:space-between;align-items:center;gap:12px}.mes-v3-crumb{padding:8px 14px;border-radius:999px;border:1px solid rgba(146,117,85,.18);background:rgba(255,255,255,.74);font-size:11px;color:#77614c}.mes-v3-crumb span{color:#c37531;font-weight:700}.mes-v3-runstatus{padding:8px 14px;border-radius:999px;background:#2f241c;color:#fff;font-size:11px;box-shadow:0 10px 24px rgba(78,54,33,.14)}.mes-v3-runstatus b{color:#f7bd81}
.mes-v3-stagepanel h2{margin:14px 0 6px;font-size:34px;color:#423327;line-height:1.18}.mes-v3-stagepanel>p{margin:0 0 12px;font-size:14px;line-height:1.7;color:#796754;max-width:760px}
.mes-v3-canvaswrap{position:relative;height:100%;min-height:580px;border-radius:20px;overflow:hidden;border:1px solid rgba(173,143,110,.12);background:linear-gradient(180deg,#fbf7f0 0%,#f3eadf 100%)}
#mesCanvas{position:absolute;inset:0;width:100%;height:100%;display:block}.mes-v3-fallback{position:absolute;inset:0;display:grid;place-items:center;color:#715b47;font-size:15px;letter-spacing:.16em;text-transform:uppercase;background:radial-gradient(circle at 50% 42%,rgba(210,170,130,.12),transparent 26%),linear-gradient(180deg,rgba(255,255,255,.38),rgba(245,236,223,.82));backdrop-filter:blur(2px);z-index:1}.mes-v3-fallback.hidden{display:none}
.mes-v3-floatcard{position:absolute;z-index:2;max-width:275px;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.76);border:1px solid rgba(160,130,98,.18);box-shadow:0 12px 32px rgba(89,65,43,.1);backdrop-filter:blur(8px)}.mes-v3-floatcard span{display:block;font-size:10px;letter-spacing:.16em;color:#9d7856;text-transform:uppercase}.mes-v3-floatcard b{display:block;margin-top:6px;font-size:16px;color:#382c22;line-height:1.34}.mes-v3-floatcard em{display:block;margin-top:5px;font-style:normal;font-size:12px;color:#786553;line-height:1.55}.mes-v3-floatcard.top-left{left:16px;top:16px}.mes-v3-floatcard.top-right{right:16px;top:16px}.mes-v3-floatcard.bottom-right{right:16px;bottom:74px}.mes-v3-floatcard.bottom-left{left:16px;bottom:74px}.mes-v3-floatcard.small{max-width:250px}
.mes-v3-bottomstrip{position:absolute;left:16px;right:16px;bottom:14px;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.mes-v3-bottomstrip>div{padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.8);border:1px solid rgba(160,130,98,.16);box-shadow:0 8px 24px rgba(89,65,43,.08)}.mes-v3-bottomstrip span{display:block;font-size:11px;color:#7b6651}.mes-v3-bottomstrip b{display:block;margin-top:5px;font-size:24px;color:#34291f}
.mes-v3-rightpanel{padding:16px 14px 16px 12px;border-left:1px solid rgba(166,138,108,.14);background:linear-gradient(180deg,rgba(249,245,237,.96),rgba(242,234,223,.98));display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:12px;min-height:0}.mes-v3-card{padding:14px;border-radius:16px;background:rgba(255,255,255,.66);border:1px solid rgba(153,124,92,.16)}.mes-v3-kpigrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.mes-v3-kpigrid>div{padding:12px;border-radius:12px;background:#fff;border:1px solid rgba(153,124,92,.1)}.mes-v3-kpigrid span{display:block;font-size:11px;color:#7f6b57}.mes-v3-kpigrid b{display:block;margin-top:8px;font-size:28px;color:#34291f}
.mes-v3-advice{display:grid;grid-template-columns:28px 1fr;gap:12px;padding:12px 0;border-bottom:1px dashed rgba(153,124,92,.18)}.mes-v3-advice:last-child{border-bottom:none}.mes-v3-advice label{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#eee2d3;color:#8a602f;font-size:11px;font-weight:700}.mes-v3-advice b{display:block;font-size:14px;color:#332920}.mes-v3-advice p{margin:4px 0 0;font-size:12px;line-height:1.55;color:#756451}.mes-v3-advice.active b{color:#b96822}
.mes-v3-card.trace{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr)}.mes-v3-card.trace .city-trace-list{margin-top:12px;overflow:auto}.mes-v3-card.trace .city-trace-list div{background:rgba(255,255,255,.76);border:1px solid rgba(153,124,92,.12)}.mes-v3-card.trace .city-trace-list time,.mes-v3-card.trace .city-trace-list b,.mes-v3-card.trace .city-trace-list span{color:#4e4136}.mes-v3-card.trace .city-trace-list i.ok{background:#2aa272}.mes-v3-card.trace .city-trace-list i.run{background:#d47f2c}.mes-v3-card.trace .city-trace-list i.wait{background:#7c8b9a}
.mes-v3-agentrow{display:grid;grid-template-columns:repeat(4,1fr) 1.2fr;gap:12px;padding:14px 16px;border-top:1px solid rgba(166,138,108,.14);background:linear-gradient(180deg,rgba(248,243,236,.86),rgba(241,232,220,.98))}.mes-v3-agentcard,.mes-v3-gatecard{padding:14px;border-radius:16px;border:1px solid rgba(153,124,92,.16);background:rgba(255,255,255,.68)}.mes-v3-agentcard span{display:inline-flex;padding:5px 10px;border-radius:999px;background:#2f241c;color:#fff;font-size:11px}.mes-v3-agentcard b{display:block;margin-top:10px;font-size:15px;color:#30261d}.mes-v3-agentcard p{margin:6px 0 0;font-size:12px;line-height:1.6;color:#6f5c4a}.mes-v3-gatecard{background:linear-gradient(180deg,#36271c,#543923);border-color:#46301f;color:#fff}.mes-v3-gatecard span{display:block;font-size:10px;letter-spacing:.16em;color:#f2be8a}.mes-v3-gatecard b{display:block;margin-top:8px;font-size:18px;line-height:1.35}.mes-v3-gatecard p{margin:8px 0 0;font-size:12px;line-height:1.6;color:#efdec9}.mes-v3-gaterow{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.12)}.mes-v3-gaterow em{font-style:normal;font-size:12px;color:#e6cfbb}.mes-v3-gaterow strong{font-size:20px}.mes-v3-gaterow.success strong{color:#ffc78c}
.mes-v3-footbar{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:12px;padding:14px 16px;border-top:1px solid rgba(166,138,108,.14);background:linear-gradient(180deg,rgba(249,246,241,.9),rgba(243,236,227,.98))}.mes-v3-footitem{padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.72);border:1px solid rgba(160,130,98,.16)}.mes-v3-footitem span{display:block;font-size:10px;letter-spacing:.16em;color:#9b7756;text-transform:uppercase}.mes-v3-footitem p{margin:6px 0 0;font-size:12px;color:#6e5b48;line-height:1.6}.mes-v3-footitem.emphasis{background:rgba(52,39,28,.94);border-color:#483322}.mes-v3-footitem.emphasis span,.mes-v3-footitem.emphasis p{color:#fff}.mes-v3-footitem.highlight{background:rgba(197,111,43,.1);border-color:rgba(197,111,43,.24)}.mes-v3-arrow{display:grid;place-items:center;color:#b37237;font-size:24px;font-weight:700}
.mes-layout.paused #mesCanvas{filter:saturate(.92)}
@media (max-width:1500px){.mes-v3-body{grid-template-columns:236px minmax(0,1fr) 274px}.mes-v3-bottomstrip b{font-size:21px}.mes-v3-floatcard{max-width:235px}.mes-v3-agentrow{grid-template-columns:repeat(2,1fr) 1.2fr}.mes-v3-footbar{grid-template-columns:1fr;}.mes-v3-arrow{display:none}}
@media (max-height:920px){.mes-layout{height:auto;min-height:calc(100vh - 68px)}.mes-v3-canvaswrap{min-height:520px}}

/* ===== v19 MES focus layout: 3D first ===== */
.mes-v4-page{display:none!important;grid-template-columns:208px minmax(0,1fr);gap:12px;padding:12px;height:calc(100vh - 68px);min-height:0}
.mes-v4-page.active{display:grid!important}
.mes-v4-main{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:10px;min-width:0;min-height:0}
.mes-v4-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;border-radius:18px;padding:14px 18px;background:linear-gradient(180deg,rgba(8,28,50,.94),rgba(5,16,30,.9))}.mes-v4-head h1{font-size:28px;margin:5px 0 4px}.mes-v4-head p{margin:0;color:#89a8bd;font-size:12px}.mes-v4-actions{display:flex;gap:8px}.mes-v4-actions button{border:1px solid rgba(92,184,235,.25);background:#071a2e;color:#b9d8e8;padding:9px 14px;border-radius:10px;cursor:pointer;font-weight:700}.mes-v4-actions button.primary{background:linear-gradient(180deg,#0c76ae,#0a527b);border-color:rgba(85,210,255,.44);color:#fff}
.mes-v4-stagebar{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.mes-v4-stagebtn{border:1px solid rgba(69,157,209,.15);background:rgba(6,20,35,.78);border-radius:12px;padding:9px 10px;text-align:left;color:#91adbe;cursor:pointer;transition:.2s}.mes-v4-stagebtn span{font-size:9px;color:#55d4ff;display:block;letter-spacing:.12em}.mes-v4-stagebtn b{display:block;font-size:12px;margin-top:4px;color:#b9d2df}.mes-v4-stagebtn.active{border-color:rgba(75,219,255,.55);background:linear-gradient(180deg,rgba(8,75,108,.78),rgba(7,28,45,.86));box-shadow:inset 0 2px 0 #4ee0ff,0 0 22px rgba(39,199,255,.08)}.mes-v4-stagebtn.active b{color:#fff}
.mes-v4-content{display:grid;grid-template-columns:minmax(0,1fr) 296px;gap:10px;min-height:0}.mes-v4-hero{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;min-width:0;min-height:0;padding:12px;border-radius:20px;background:#f5eee4;border:1px solid rgba(180,151,119,.32);box-shadow:0 16px 44px rgba(0,0,0,.16)}
.mes-v4-herohead{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;color:#403124;padding:2px 4px}.mes-v4-herohead>div:first-child>span{display:inline-flex;padding:6px 10px;border-radius:999px;background:#332820;color:#fff;font-size:10px;letter-spacing:.12em}.mes-v4-herohead b{display:block;font-size:22px;margin-top:8px}.mes-v4-herohead p{margin:5px 0 0;color:#776654;font-size:12px;line-height:1.6;max-width:680px}.mes-v4-engine{padding:7px 10px;border-radius:999px;border:1px solid rgba(157,124,90,.22);background:rgba(255,255,255,.72);color:#a66933;font-size:10px;letter-spacing:.12em;white-space:nowrap}.mes-v4-engine.ok{background:#183a33;color:#8ef0d5;border-color:#2d715f}.mes-v4-engine.error{background:#4e2a24;color:#ffc2ae;border-color:#9b5548}
.mes-v4-canvaswrap{position:relative;min-height:590px;border-radius:18px;overflow:hidden;background:linear-gradient(180deg,#fbf7f0,#eee2d3);border:1px solid rgba(176,145,112,.18)}#mesCanvas{position:absolute;inset:0;width:100%;height:100%;display:block}.mes-v4-fallback{position:absolute;inset:0;z-index:1;display:grid;place-items:center;background:linear-gradient(180deg,#fbf7f0,#eee2d3);color:#8b6b4d;font-size:13px;letter-spacing:.16em}.mes-v4-fallback.hidden{display:none}.mes-v4-scenehint{position:absolute;left:14px;top:14px;z-index:2;padding:9px 11px;border-radius:12px;background:rgba(255,255,255,.72);border:1px solid rgba(159,129,95,.16);backdrop-filter:blur(8px);color:#46372a}.mes-v4-scenehint span{display:block;font-size:9px;color:#b06c34;letter-spacing:.15em}.mes-v4-scenehint b{display:block;margin-top:4px;font-size:13px}.mes-v4-kpis{position:absolute;left:14px;right:14px;bottom:12px;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.mes-v4-kpis>div{padding:9px 11px;border-radius:12px;background:rgba(255,255,255,.82);border:1px solid rgba(158,129,96,.14);box-shadow:0 8px 20px rgba(90,64,40,.07)}.mes-v4-kpis span{display:block;font-size:10px;color:#79634f}.mes-v4-kpis b{display:block;margin-top:4px;font-size:20px;color:#32271d}
.mes-v4-agentline{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.mes-v4-agentline>div{padding:9px 11px;border-radius:12px;background:#fff;border:1px solid rgba(166,138,106,.15);min-width:0}.mes-v4-agentline span{display:block;font-size:9px;color:#bd7537;letter-spacing:.12em}.mes-v4-agentline b{display:block;margin-top:4px;font-size:12px;color:#43352a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mes-v4-side{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:10px;min-height:0}.mes-v4-sidecard{border-radius:18px;padding:14px;background:linear-gradient(180deg,rgba(8,28,48,.94),rgba(5,17,31,.92));border:1px solid rgba(72,157,207,.16);color:#eaf8ff}.mes-v4-sidecard>span{display:inline-flex;padding:5px 8px;border-radius:999px;background:rgba(10,76,104,.56);border:1px solid rgba(83,208,248,.26);font-size:9px;letter-spacing:.12em;color:#68d8ff}.mes-v4-sidecard h3{font-size:17px;line-height:1.35;margin:10px 0 7px}.mes-v4-sidecard>p{margin:0;color:#8da9bc;font-size:11px;line-height:1.65}.mes-v4-compare{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding-top:10px;border-top:1px solid rgba(86,164,208,.12)}.mes-v4-compare em{font-style:normal;font-size:11px;color:#88a5b8}.mes-v4-compare b{font-size:18px}.mes-v4-compare.good b{color:#5bf0c7}
.mes-v4-side-title span{display:block;font-size:9px;color:#58d8ff;letter-spacing:.15em}.mes-v4-side-title b{display:block;margin-top:4px;font-size:16px}.mes-v4-advice{display:grid;grid-template-columns:28px 1fr;gap:9px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(86,164,208,.1)}.mes-v4-advice:last-child{border-bottom:none}.mes-v4-advice i{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:rgba(25,81,111,.62);color:#67d9ff;font-style:normal;font-size:10px}.mes-v4-advice b{font-size:12px;line-height:1.5}.mes-v4-sidecard.trace{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0}.mes-v4-sidecard.trace .city-trace-list{overflow:auto;margin-top:10px}.mes-v4-sidecard.trace .city-trace-list div{padding:9px 8px;background:rgba(7,24,40,.66);border-color:rgba(84,165,208,.1);grid-template-columns:60px 10px 76px 1fr;gap:7px}.mes-v4-sidecard.trace .city-trace-list time,.mes-v4-sidecard.trace .city-trace-list span{font-size:10px}.mes-v4-sidecard.trace .city-trace-list b{font-size:11px}
@media(max-width:1500px){.mes-v4-content{grid-template-columns:minmax(0,1fr) 270px}.mes-v4-canvaswrap{min-height:520px}.mes-v4-stagebar{grid-template-columns:repeat(3,1fr)}}
@media(max-height:900px){.mes-v4-page{height:auto;min-height:calc(100vh - 68px)}.mes-v4-canvaswrap{min-height:520px}}

/* ===== v20 MES focus layout: 3D first ===== */
.mes-v3-shell{grid-template-rows:auto minmax(0,1fr)!important}
.mes-v3-body{grid-template-columns:minmax(0,1fr) 268px!important;min-height:0!important}
.mes-v3-stagepanel{padding:12px 14px 14px!important;display:grid!important;grid-template-rows:auto auto auto minmax(0,1fr)!important;gap:8px!important}
.mes-v3-stagebar{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:2px}
.mes-v3-stagebtn,.mes-v3-stagebar .mes-flow-step{min-width:0;padding:9px 10px;border-radius:11px;border:1px solid rgba(148,116,83,.16);background:rgba(255,255,255,.72);color:#604d3b;text-align:left;cursor:pointer;transition:.2s}
.mes-v3-stagebtn span,.mes-v3-stagebar .mes-flow-step span{display:block;font-size:9px;letter-spacing:.12em;color:#b97535}.mes-v3-stagebtn b,.mes-v3-stagebar .mes-flow-step b{display:block;font-size:12px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mes-v3-stagebtn p,.mes-v3-stagebar .mes-flow-step p{display:none}
.mes-v3-stagebtn.active,.mes-v3-stagebar .mes-flow-step.active{background:linear-gradient(180deg,#3a2c21,#513a28);color:#fff;border-color:#4a3424;box-shadow:inset 0 2px #e6a45f,0 8px 18px rgba(93,60,34,.12)}
.mes-v3-stagepanel h2{font-size:28px!important;margin:2px 0 0!important}.mes-v3-stagepanel>p{font-size:12px!important;line-height:1.55!important;margin:0 0 2px!important;max-width:760px!important}
.mes-v3-canvaswrap{min-height:650px!important;height:100%!important}
.mes-v3-rightpanel{grid-template-rows:auto minmax(0,1fr)!important;padding:12px!important}.mes-v3-card{padding:12px!important}.mes-v3-card.trace{min-height:0!important}
.mes-v3-kpigrid{gap:8px!important}.mes-v3-kpigrid>div{padding:10px!important}.mes-v3-kpigrid b{font-size:23px!important;margin-top:5px!important}
.mes-v3-floatcard.top-left{max-width:250px!important;padding:10px 12px!important}.mes-v3-floatcard.top-left b{font-size:14px!important}.mes-v3-floatcard.top-left em{font-size:10px!important}
.mes-v3-bottomstrip{left:12px!important;right:12px!important;bottom:10px!important;gap:7px!important}.mes-v3-bottomstrip>div{padding:8px 10px!important;border-radius:10px!important}.mes-v3-bottomstrip span{font-size:9px!important}.mes-v3-bottomstrip b{font-size:19px!important;margin-top:3px!important}
.mes-engine-status{position:absolute;right:12px;top:12px;z-index:3;padding:6px 9px;border-radius:999px;background:rgba(43,34,27,.82);border:1px solid rgba(222,160,94,.32);color:#ffd09d;font-size:9px;letter-spacing:.12em;box-shadow:0 6px 18px rgba(71,48,30,.14)}
.mes-v3-fallback{z-index:8!important}
@media(max-width:1500px){.mes-v3-body{grid-template-columns:minmax(0,1fr) 248px!important}.mes-v3-stagebar{gap:6px}.mes-v3-stagebtn,.mes-v3-stagebar .mes-flow-step{padding:8px}.mes-v3-canvaswrap{min-height:600px!important}}

/* ===== v21 统一左侧折叠菜单与页面样式收敛 ===== */
/* 顶部导航已从页面结构移除，所有页面直接占满视口 */
.layout,
.city-layout,
.mes-layout{
  height:100vh!important;
  min-height:100vh!important;
  transition:grid-template-columns .24s ease;
}
.layout{grid-template-columns:220px minmax(930px,1fr) 318px!important}
.city-layout{grid-template-columns:220px minmax(930px,1fr) 318px!important}
.mes-layout{grid-template-columns:220px minmax(1080px,1fr)!important}

/* 左侧品牌区 */
.module-sidebar{
  padding:14px!important;
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  transition:padding .24s ease;
}
.sidebar-brand{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:2px 0 14px;
  margin-bottom:14px;
  border-bottom:1px solid rgba(92,180,255,.16);
  flex:none;
}
.sidebar-brand-main{display:flex;align-items:center;gap:11px;min-width:0}
.sidebar-brand-mark{
  width:38px;height:38px;flex:0 0 38px;
  display:grid;place-items:center;
  border-radius:12px;
  border:1px solid rgba(40,191,255,.8);
  background:linear-gradient(145deg,rgba(17,93,139,.42),rgba(5,25,43,.8));
  box-shadow:inset 0 0 20px rgba(26,169,255,.14),0 0 18px rgba(26,169,255,.08);
  color:#fff;font-size:18px;font-weight:900;
}
.sidebar-brand-copy{min-width:0;white-space:nowrap;overflow:hidden;transition:opacity .18s ease,width .24s ease}
.sidebar-brand-copy b{display:block;font-size:17px;color:#f5fbff;letter-spacing:.01em}
.sidebar-brand-copy span{display:block;margin-top:3px;font-size:9px;color:#7799ae;white-space:nowrap}
.sidebar-toggle{
  width:28px;height:28px;flex:0 0 28px;
  display:grid;place-items:center;
  padding:0;border-radius:9px;
  border:1px solid rgba(78,166,220,.18);
  background:rgba(6,20,36,.7);
  color:#8fcce8;font-size:19px;line-height:1;
  cursor:pointer;transition:.2s ease;
}
.sidebar-toggle:hover{border-color:rgba(79,211,255,.42);color:#fff;background:rgba(10,49,73,.88)}
.side-head{flex:none}.side-head .eyebrow{font-size:9px!important;letter-spacing:.12em!important}.side-head h2{font-size:16px!important;margin:5px 0 12px!important}
.module-list{flex:none}
.module-copy b{font-size:12px}.module-copy em{font-size:9px}

/* 折叠态：保留品牌图标、菜单图标和展开按钮 */
.sidebar-collapsed .layout{grid-template-columns:68px minmax(930px,1fr) 318px!important}
.sidebar-collapsed .city-layout{grid-template-columns:68px minmax(930px,1fr) 318px!important}
.sidebar-collapsed .mes-layout{grid-template-columns:68px minmax(1080px,1fr)!important}
.sidebar-collapsed .module-sidebar{padding:10px 8px!important}
.sidebar-collapsed .sidebar-brand{flex-direction:column;gap:9px;padding-bottom:10px;margin-bottom:10px}
.sidebar-collapsed .sidebar-brand-main{justify-content:center}
.sidebar-collapsed .sidebar-brand-copy{display:none}
.sidebar-collapsed .side-head{display:none}
.sidebar-collapsed .module-list{gap:9px}
.sidebar-collapsed .module-item{
  display:grid!important;
  grid-template-columns:1fr!important;
  place-items:center;
  padding:10px 7px!important;
  min-height:48px;
  border-radius:12px;
}
.sidebar-collapsed .module-item:hover{transform:none}
.sidebar-collapsed .module-copy{display:none}
.sidebar-collapsed .module-icon{width:32px;height:32px;margin:0 auto}

/* 各模块顶部介绍统一参考飞机模块，避免标题过大抢占主场景 */
.city-command,
.mes-v3-command{padding:12px 16px!important;min-height:auto!important}
.city-command h1,
.mes-v3-command h1{
  font-size:19px!important;
  line-height:1.25!important;
  margin:4px 0 5px!important;
  letter-spacing:0!important;
}
.city-command p,
.mes-v3-command p{
  font-size:10px!important;
  line-height:1.55!important;
  max-width:820px!important;
}
.city-command .eyebrow,
.mes-v3-command .eyebrow{font-size:9px!important;letter-spacing:.12em!important}
.city-command-actions button,
.mes-v3-command-actions button{padding:8px 13px!important;min-width:82px!important;font-size:11px!important}

/* 顶部空间释放后，主场景获得更多高度 */
.scene-card{min-height:640px}
.city-workspace{min-height:0}
.mes-v3-shell{min-height:0}

@media(max-height:850px){
  .layout,.city-layout,.mes-layout{height:auto!important;min-height:100vh!important}
}

/* ===== v22：未来城市场景横排 + MES 3D 主场景强化 ===== */
/* 未来城市：将智能推演场景移动到标题下方，并改为横向布局 */
.city-main-column{grid-template-rows:auto auto minmax(0,1fr) 244px!important}
.city-scenario-horizontal{
  border-radius:16px!important;
  padding:10px 12px!important;
  display:block!important;
  overflow:visible!important;
}
.city-scenario-horizontal .city-section-title{
  margin-bottom:8px!important;
  justify-content:flex-start!important;
  gap:10px!important;
}
.city-scenario-horizontal-body{
  display:grid;
  grid-template-columns:minmax(0,1fr) 265px;
  gap:10px;
  align-items:stretch;
}
.city-scenario-horizontal .city-scenario-list{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px!important;
  overflow:visible!important;
}
.city-scenario-horizontal .city-scenario-item{
  min-width:0;
  padding:9px 10px!important;
  border-radius:10px!important;
  transform:none!important;
}
.city-scenario-horizontal .city-scenario-item span{font-size:8px!important}
.city-scenario-horizontal .city-scenario-item b{font-size:11px!important;margin:4px 0 3px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.city-scenario-horizontal .city-scenario-item p{font-size:8px!important;line-height:1.4!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.city-scenario-horizontal .city-live-summary{
  margin:0!important;
  padding:9px 11px!important;
  border-top:none!important;
  border-left:1px solid rgba(92,180,255,.14);
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
}
.city-scenario-horizontal .city-live-summary span{font-size:8px!important}
.city-scenario-horizontal .city-live-summary b{font-size:10px!important;margin:4px 0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.city-scenario-horizontal .city-live-summary p{font-size:8px!important;line-height:1.4!important;margin:0!important}
.city-workspace{grid-template-columns:minmax(0,1fr)!important;min-height:0!important}

/* MES：删掉冗余标题区后，把更多空间还给 3D 主场景 */
.mes-v3-shell{grid-template-rows:minmax(0,1fr)!important}
.mes-v3-body{grid-template-columns:minmax(0,1fr) 238px!important;min-height:0!important;height:100%!important}
.mes-v3-stagepanel{
  padding:10px 10px 10px!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  gap:8px!important;
  min-height:0!important;
}
.mes-v3-stagebar{margin:0!important;gap:7px!important}
.mes-v3-stagebtn{padding:8px 9px!important}
.mes-v3-canvaswrap{
  min-height:660px!important;
  height:100%!important;
  border-radius:18px!important;
  box-shadow:inset 0 0 0 1px rgba(173,143,110,.06),0 18px 38px rgba(83,59,38,.08);
}
.mes-v3-rightpanel{padding:10px!important;grid-template-rows:auto minmax(0,1fr)!important;gap:9px!important}
.mes-v3-card{padding:10px!important;border-radius:14px!important}
.mes-v3-kpigrid{gap:7px!important}
.mes-v3-kpigrid>div{padding:8px!important}
.mes-v3-kpigrid b{font-size:21px!important}
.mes-v3-floatcard.top-left{
  max-width:215px!important;
  padding:8px 10px!important;
  background:rgba(255,255,255,.68)!important;
  backdrop-filter:blur(6px)!important;
}
.mes-v3-floatcard.top-left span{font-size:8px!important}
.mes-v3-floatcard.top-left b{font-size:12px!important}
.mes-v3-floatcard.top-left em{font-size:9px!important}
.mes-v3-bottomstrip{left:10px!important;right:10px!important;bottom:9px!important;gap:6px!important}
.mes-v3-bottomstrip>div{padding:7px 9px!important;background:rgba(255,255,255,.72)!important}
.mes-v3-bottomstrip span{font-size:8px!important}.mes-v3-bottomstrip b{font-size:17px!important}
.mes-engine-status{top:9px!important;right:9px!important}
@media(max-width:1500px){
  .city-scenario-horizontal-body{grid-template-columns:minmax(0,1fr) 230px}
  .city-scenario-horizontal .city-scenario-list{gap:6px!important}
  .mes-v3-body{grid-template-columns:minmax(0,1fr) 220px!important}
  .mes-v3-canvaswrap{min-height:610px!important}
}

/* ===== v23 requested refinements: smaller city globe + MES agent annotations ===== */
.mes-v3-canvaswrap .mes-agent-overlay{
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
}
.mes-v3-canvaswrap .mes-agent-lines{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
}
.mes-v3-canvaswrap .mes-agent-lines line{
  stroke:#c77a35;
  stroke-width:1.4;
  stroke-dasharray:7 5;
  opacity:.8;
  vector-effect:non-scaling-stroke;
}
.mes-v3-canvaswrap .mes-agent-lines circle{
  fill:#fff7ec;
  stroke:#c77a35;
  stroke-width:1.5;
  filter:drop-shadow(0 0 5px rgba(199,122,53,.5));
}
.mes-v3-canvaswrap .mes-agent-lines text{
  fill:#8a5526;
  font-size:10px;
  font-weight:700;
  letter-spacing:.02em;
  paint-order:stroke;
  stroke:rgba(250,244,235,.96);
  stroke-width:4px;
  stroke-linejoin:round;
}
.mes-v3-canvaswrap .mes-agent-callout{
  position:absolute;
  width:178px;
  padding:9px 11px;
  border-radius:12px;
  background:rgba(255,252,247,.86);
  border:1px solid rgba(190,132,74,.28);
  box-shadow:0 8px 22px rgba(84,58,36,.09);
  backdrop-filter:blur(7px);
  pointer-events:none;
}
.mes-v3-canvaswrap .mes-agent-callout span{
  display:inline-flex;
  padding:4px 8px;
  border-radius:999px;
  background:#3a2b1f;
  color:#fff;
  font-size:9px;
  font-weight:700;
}
.mes-v3-canvaswrap .mes-agent-callout b{
  display:block;
  margin-top:6px;
  font-size:12px;
  line-height:1.35;
  color:#382b20;
}
.mes-v3-canvaswrap .mes-agent-callout p{
  margin:4px 0 0;
  font-size:9px;
  line-height:1.45;
  color:#725e4b;
}
.mes-v3-canvaswrap .mes-agent-callout.left.a1{left:14px;top:118px}
.mes-v3-canvaswrap .mes-agent-callout.left.a2{left:18px;top:286px}
.mes-v3-canvaswrap .mes-agent-callout.right.a3{right:14px;top:128px}
.mes-v3-canvaswrap .mes-agent-callout.right.a4{right:18px;top:304px}

/* KPI strip moves slightly lower, keeping 3D as the visual center */
.mes-v3-bottomstrip{bottom:2px!important}

@media(max-width:1500px){
  .mes-v3-canvaswrap .mes-agent-callout{width:156px;padding:8px 9px}
  .mes-v3-canvaswrap .mes-agent-callout b{font-size:11px}
  .mes-v3-canvaswrap .mes-agent-callout p{font-size:8px}
  .mes-v3-canvaswrap .mes-agent-lines text{font-size:9px}
}


/* ===== v24 future city refinements ===== */
.city-globe-card{min-height:500px!important}
.city-agent-overlay{position:absolute;inset:0;z-index:4;pointer-events:none}
.city-agent-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.city-agent-lines line{stroke:#58d8ff;stroke-width:1.5;stroke-dasharray:8 6;opacity:.84;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 6px rgba(88,216,255,.34))}
.city-agent-lines circle{fill:#071521;stroke:#74e4ff;stroke-width:1.4;filter:drop-shadow(0 0 6px rgba(88,216,255,.38))}
.city-agent-lines text{fill:#7ee9ff;font-size:10px;font-weight:700;letter-spacing:.02em;paint-order:stroke;stroke:rgba(2,10,17,.95);stroke-width:4px;stroke-linejoin:round}
.city-agent-callout{position:absolute;width:210px;padding:10px 12px;border-radius:14px;background:rgba(4,17,29,.72);border:1px solid rgba(83,191,255,.22);box-shadow:0 8px 26px rgba(0,0,0,.2);backdrop-filter:blur(10px)}
.city-agent-callout span{display:inline-flex;padding:4px 9px;border-radius:999px;background:linear-gradient(90deg,#3ed4ff,#76e9ff);color:#04111b;font-size:9px;font-weight:900}
.city-agent-callout b{display:block;font-size:13px;line-height:1.35;margin:7px 0 4px;color:#f0fbff}
.city-agent-callout p{margin:0;font-size:9px;line-height:1.55;color:#b8d5e5}
.city-agent-callout.left.c1{left:18px;top:114px}
.city-agent-callout.left.c2{left:22px;bottom:124px}
.city-agent-callout.right.c3{right:18px;top:128px;text-align:right}.city-agent-callout.right.c3 p{margin-left:auto}
.city-agent-callout.right.c4{right:20px;bottom:126px;text-align:right}.city-agent-callout.right.c4 p{margin-left:auto}
.city-orbit-legend{bottom:84px!important}
.city-kpis{bottom:14px!important}
@media(max-width:1500px){
  .city-agent-callout{width:184px;padding:9px 10px}
  .city-agent-callout b{font-size:12px}
  .city-agent-callout p{font-size:8px}
  .city-agent-lines text{font-size:9px}
}


/* ===== v25 future city layout compact merge ===== */
.city-main-column{grid-template-rows:auto minmax(0,1fr) 228px!important;gap:10px!important}
.city-hero-panel{padding:12px 14px;border-radius:16px;display:grid;gap:10px;overflow:hidden;background:linear-gradient(180deg,rgba(8,21,36,.9),rgba(5,15,27,.82));border:1px solid rgba(72,157,214,.16)}
.city-command-merged{padding:0!important;background:transparent!important;border:none!important;box-shadow:none!important;border-radius:0!important}
.city-command-merged .eyebrow{margin-bottom:2px}
.city-command-merged h1{font-size:22px!important;margin:6px 0 6px!important}
.city-command-merged p{font-size:11px!important;line-height:1.62!important;max-width:900px!important;color:#90b0c5!important}
.city-scenario-merged{padding:0!important;background:transparent!important;border:none!important;box-shadow:none!important;border-radius:0!important}
.city-scenario-merged .city-section-title{margin-bottom:8px!important}
.city-scenario-merged .city-scenario-horizontal-body{grid-template-columns:minmax(0,1fr) 248px!important;gap:10px!important}
.city-scenario-merged .city-scenario-list{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important}
.city-scenario-merged .city-scenario-item{padding:10px 10px!important;border-radius:11px!important;background:rgba(7,23,39,.62)!important;border:1px solid rgba(76,157,215,.14)!important}
.city-scenario-merged .city-scenario-item.active{background:linear-gradient(90deg,#0c5e8a55,#07304c33)!important}
.city-scenario-merged .city-live-summary{padding:10px 12px!important;border-left:1px solid rgba(92,180,255,.14)!important;background:rgba(6,20,34,.42);border-radius:12px}
.city-workspace{min-height:0!important}
.city-globe-card{min-height:430px!important;height:100%!important}
.city-scene-title{top:14px!important;width:min(620px,68%)!important}
.city-scene-title h2{font-size:26px!important;margin:8px 0 7px!important}
.city-scene-title p{font-size:10px!important;line-height:1.55!important}
.city-agent-callout{width:188px!important;padding:9px 10px!important}
.city-agent-callout b{font-size:12px!important}.city-agent-callout p{font-size:8px!important;line-height:1.5!important}
.city-agent-callout.left.c1{left:14px!important;top:104px!important}
.city-agent-callout.left.c2{left:18px!important;bottom:110px!important}
.city-agent-callout.right.c3{right:14px!important;top:116px!important}
.city-agent-callout.right.c4{right:16px!important;bottom:112px!important}
.city-orbit-legend{bottom:72px!important}
.city-kpis{bottom:10px!important;width:calc(100% - 28px)!important;gap:7px!important}
.city-kpis>div{padding:8px 10px!important}
.city-kpis b{font-size:18px!important}
@media(max-height:900px){.city-globe-card{min-height:406px!important}.city-main-column{grid-template-rows:auto minmax(0,1fr) 214px!important}}


/* ===== v26 future city compact simplification ===== */
.city-main-column{grid-template-rows:auto minmax(0,1fr) 212px!important;gap:8px!important}
.city-hero-panel{padding:10px 12px!important;gap:8px!important;border-radius:14px!important}
.city-command-merged{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;gap:12px!important}
.city-command-merged .eyebrow{font-size:10px!important;line-height:1.2!important;margin-bottom:0!important}
.city-command-merged h1{font-size:20px!important;line-height:1.2!important;margin:4px 0 4px!important}
.city-command-merged p{font-size:10px!important;line-height:1.45!important;max-width:780px!important;display:-webkit-box!important;-webkit-line-clamp:1!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
.city-command-actions{gap:8px!important}.city-command-actions button{padding:8px 12px!important;border-radius:10px!important;font-size:12px!important}
.city-scenario-merged .city-section-title{display:flex!important;align-items:center!important;gap:10px!important;margin-bottom:6px!important}.city-scenario-merged .city-section-title span{margin:0!important}.city-scenario-merged .city-section-title b{font-size:15px!important}
.city-scenario-merged .city-scenario-horizontal-body{grid-template-columns:minmax(0,1fr) 228px!important;gap:8px!important;align-items:stretch!important}
.city-scenario-merged .city-scenario-list{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:7px!important}
.city-scenario-merged .city-scenario-item{display:flex!important;flex-direction:column!important;justify-content:center!important;min-height:58px!important;padding:8px 10px!important;border-radius:10px!important}
.city-scenario-merged .city-scenario-item span{margin-bottom:3px!important;font-size:10px!important}
.city-scenario-merged .city-scenario-item b{font-size:12px!important;line-height:1.28!important}
.city-scenario-merged .city-scenario-item p{display:none!important}
.city-scenario-merged .city-live-summary{padding:8px 10px!important;border-left:1px solid rgba(92,180,255,.12)!important;background:rgba(6,20,34,.34)!important}
.city-scenario-merged .city-live-summary span{font-size:10px!important}.city-scenario-merged .city-live-summary b{font-size:12px!important;line-height:1.35!important;margin-top:4px!important}.city-scenario-merged .city-live-summary p{font-size:9px!important;line-height:1.45!important;margin-top:4px!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
.city-globe-card{min-height:446px!important}
.city-scene-title{top:10px!important;left:12px!important;width:min(350px,46%)!important;padding:10px 12px!important;border-radius:12px!important;background:rgba(4,16,28,.52)!important;border:1px solid rgba(86,186,255,.14)!important;backdrop-filter:blur(6px)}
.city-scene-title span{font-size:10px!important;padding:4px 8px!important}
.city-scene-title h2{font-size:18px!important;line-height:1.22!important;margin:7px 0 5px!important}
.city-scene-title p{font-size:9px!important;line-height:1.45!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;max-width:100%!important}
.city-agent-callout{width:180px!important}.city-agent-lines text{font-size:9px!important}
.city-bottom-grid{grid-template-columns:1fr 1fr!important;gap:10px!important}
@media(max-height:900px){.city-main-column{grid-template-rows:auto minmax(0,1fr) 198px!important}.city-globe-card{min-height:420px!important}}


/* ===== v27 future city: scenario-only header + compact globe stage ===== */
.city-main-column{grid-template-rows:auto 372px minmax(170px,1fr)!important;gap:8px!important}
.city-scenario-only{padding:9px 11px!important;border-radius:14px!important;display:block!important;overflow:hidden!important}
.city-scenario-only .city-scenario-panel{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important}
.city-scenario-only .city-section-title{margin-bottom:7px!important}
.city-scenario-only .city-scenario-list{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:7px!important;overflow:visible!important}
.city-scenario-only .city-scenario-item{min-height:50px!important;padding:7px 9px!important;border-radius:10px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;background:rgba(6,20,34,.56)!important;border:1px solid rgba(76,157,215,.14)!important}
.city-scenario-only .city-scenario-item span{font-size:9px!important;margin-bottom:2px!important}
.city-scenario-only .city-scenario-item b{font-size:11px!important;line-height:1.25!important;margin:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.city-scenario-only .city-scenario-item p{display:none!important}
.city-scenario-only .city-scenario-item.active{background:linear-gradient(90deg,#0c5e8a55,#07304c33)!important;border-color:#37d7ff88!important;box-shadow:inset 3px 0 #34dcff!important}
.city-hidden-controls{display:none!important}
.city-workspace{display:flex!important;justify-content:center!important;align-items:flex-start!important;min-height:0!important;overflow:visible!important}
.city-globe-card{width:min(100%,760px)!important;height:364px!important;min-height:364px!important;max-height:364px!important;flex:none!important;border-radius:16px!important}
.city-engine-badge{right:10px!important;top:9px!important;padding:5px 8px!important;font-size:7px!important}
.city-scene-title{left:10px!important;top:9px!important;transform:none!important;width:248px!important;padding:8px 9px!important;border-radius:10px!important}
.city-scene-title span{font-size:8px!important;padding:3px 7px!important}
.city-scene-title h2{font-size:15px!important;margin:5px 0 3px!important;line-height:1.2!important}
.city-scene-title p{font-size:8px!important;line-height:1.38!important;-webkit-line-clamp:2!important}
.city-agent-callout{width:146px!important;padding:7px 8px!important;border-radius:10px!important}
.city-agent-callout span{font-size:7px!important;padding:3px 6px!important}
.city-agent-callout b{font-size:9px!important;line-height:1.3!important;margin:4px 0 2px!important}
.city-agent-callout p{font-size:7px!important;line-height:1.38!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
.city-agent-callout.left.c1{left:10px!important;top:88px!important}
.city-agent-callout.left.c2{left:12px!important;bottom:76px!important}
.city-agent-callout.right.c3{right:10px!important;top:88px!important}
.city-agent-callout.right.c4{right:12px!important;bottom:76px!important}
.city-agent-lines text{font-size:7px!important;stroke-width:3px!important}
.city-agent-lines line{stroke-width:1.2!important;stroke-dasharray:6 5!important}
.city-agent-lines circle{stroke-width:1.2!important}
.city-orbit-legend{bottom:55px!important;padding:5px 8px!important;gap:10px!important;font-size:7px!important}
.city-kpis{left:10px!important;right:10px!important;bottom:8px!important;transform:none!important;width:auto!important;gap:6px!important}
.city-kpis>div{padding:6px 8px!important;border-radius:8px!important}
.city-kpis span{font-size:6px!important}.city-kpis b{font-size:14px!important;margin-top:2px!important}
.city-bottom-grid{min-height:0!important;height:100%!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
.city-flow-panel,.city-trend-panel{padding:10px!important;border-radius:14px!important}
.city-flow-steps{gap:5px!important}.city-flow-step{min-height:118px!important;padding:8px 7px!important}.city-flow-step b{font-size:9px!important}.city-flow-step p{font-size:7px!important;line-height:1.4!important}
.city-trend-chart{height:128px!important}
@media(max-height:850px){
  .city-main-column{grid-template-rows:auto 344px minmax(154px,1fr)!important}
  .city-globe-card{height:336px!important;min-height:336px!important;max-height:336px!important}
  .city-agent-callout.left.c2,.city-agent-callout.right.c4{bottom:70px!important}
}


/* ===== v28 future city fixed stage size: 1332 × 727 ===== */
.city-main-column{grid-template-rows:auto 727px minmax(170px,1fr)!important;gap:10px!important}
.city-workspace{display:flex!important;justify-content:center!important;align-items:flex-start!important;min-height:0!important;overflow:visible!important}
.city-globe-card{
  width:min(1332px,100%)!important;
  height:727px!important;
  min-height:727px!important;
  max-height:727px!important;
  flex:none!important;
  border-radius:18px!important;
}
.city-scene-title{left:18px!important;top:16px!important;width:300px!important;padding:10px 12px!important}
.city-agent-callout{width:180px!important;padding:9px 10px!important}
.city-agent-callout.left.c1{left:18px!important;top:150px!important}
.city-agent-callout.left.c2{left:20px!important;bottom:150px!important}
.city-agent-callout.right.c3{right:18px!important;top:154px!important}
.city-agent-callout.right.c4{right:20px!important;bottom:150px!important}
.city-agent-lines text{font-size:9px!important}
.city-orbit-legend{bottom:82px!important}
.city-kpis{left:18px!important;right:18px!important;bottom:14px!important;gap:8px!important}
.city-kpis>div{padding:8px 10px!important}.city-kpis b{font-size:18px!important}
@media(max-width:1700px){
  .city-globe-card{width:100%!important}
}


/* ===== v29 city: globe -10% + clearer Agent annotations ===== */
.city-agent-callout{
  width:218px!important;
  padding:12px 14px!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,rgba(7,25,42,.94),rgba(4,16,29,.92))!important;
  border:1px solid rgba(91,211,255,.46)!important;
  box-shadow:0 12px 30px rgba(0,0,0,.34),inset 0 0 18px rgba(55,179,232,.06)!important;
  backdrop-filter:blur(12px)!important;
  text-align:left!important;
}
.city-agent-callout span{
  display:inline-flex!important;
  padding:5px 9px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#41d8ff,#86f1ff)!important;
  color:#03111b!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.03em!important;
}
.city-agent-callout b{
  display:block!important;
  margin:8px 0 5px!important;
  font-size:14px!important;
  line-height:1.38!important;
  color:#ffffff!important;
  font-weight:800!important;
  letter-spacing:.01em!important;
  text-shadow:0 1px 8px rgba(0,0,0,.7)!important;
}
.city-agent-callout p{
  display:block!important;
  margin:0!important;
  font-size:10px!important;
  line-height:1.58!important;
  color:#c8e4f2!important;
  opacity:1!important;
  -webkit-line-clamp:unset!important;
  overflow:visible!important;
}
.city-agent-callout.right.c3,.city-agent-callout.right.c4{
  text-align:left!important;
}
.city-agent-callout.right.c3 p,.city-agent-callout.right.c4 p{margin-left:0!important}
.city-agent-callout.left.c1{left:22px!important;top:146px!important}
.city-agent-callout.left.c2{left:24px!important;bottom:142px!important}
.city-agent-callout.right.c3{right:22px!important;top:150px!important}
.city-agent-callout.right.c4{right:24px!important;bottom:142px!important}
.city-agent-lines line{
  stroke:#5de0ff!important;
  stroke-width:1.8!important;
  stroke-dasharray:9 6!important;
  opacity:.96!important;
  filter:drop-shadow(0 0 5px rgba(93,224,255,.55))!important;
}
.city-agent-lines circle{
  r:5.5;
  fill:#071521!important;
  stroke:#8af0ff!important;
  stroke-width:2!important;
  filter:drop-shadow(0 0 7px rgba(93,224,255,.72))!important;
}
.city-agent-lines text{
  fill:#d9f8ff!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.02em!important;
  paint-order:stroke!important;
  stroke:rgba(1,9,17,.98)!important;
  stroke-width:5.5px!important;
  stroke-linejoin:round!important;
}
@media(max-width:1500px){
  .city-agent-callout{width:198px!important;padding:11px 12px!important}
  .city-agent-callout b{font-size:13px!important}
  .city-agent-callout p{font-size:9.5px!important}
  .city-agent-lines text{font-size:10px!important}
}


/* ===== v30 future city agent clarity ===== */
#page-city .city-kpis{display:none!important}
#page-city .city-orbit-legend{bottom:20px!important}
#page-city .city-section-title span{font-size:11px!important;letter-spacing:.12em!important}
#page-city .city-section-title b{font-size:18px!important}
#page-city .city-scenario-item{min-height:66px!important;padding:10px 12px!important}
#page-city .city-scenario-item span{font-size:11px!important}
#page-city .city-scenario-item b{font-size:14px!important;line-height:1.3!important}
#page-city .city-scene-title{width:min(390px,48%)!important;padding:12px 14px!important}
#page-city .city-scene-title span{font-size:11px!important}
#page-city .city-scene-title h2{font-size:22px!important;line-height:1.22!important}
#page-city .city-scene-title p{font-size:11px!important;line-height:1.52!important;-webkit-line-clamp:2!important}
#page-city .city-agent-lines line{stroke-width:2!important;stroke-dasharray:10 7!important;opacity:.92!important}
#page-city .city-agent-lines circle{r:5.5}
#page-city .city-agent-lines text{font-size:12px!important;font-weight:800!important;fill:#9af6ff!important;stroke-width:5px!important}
#page-city .city-agent-callout{width:228px!important;padding:0!important;background:transparent!important;border:none!important;box-shadow:none!important;backdrop-filter:none!important}
#page-city .city-agent-callout span{display:inline-flex!important;align-self:flex-start!important;padding:7px 16px!important;border-radius:999px!important;color:#051019!important;font-size:13px!important;font-weight:900!important;letter-spacing:0!important;box-shadow:0 8px 24px rgba(63,209,255,.22)!important}
#page-city .city-agent-callout b{display:block!important;margin:10px 0 8px!important;font-size:28px!important;line-height:1.08!important;color:#f7fcff!important;text-shadow:0 2px 10px rgba(0,0,0,.42)!important}
#page-city .city-agent-callout p{display:block!important;margin:0!important;font-size:14px!important;line-height:1.45!important;color:#d7ebf6!important;text-shadow:0 2px 8px rgba(0,0,0,.35)!important}
#page-city .city-agent-callout.left.c1{left:26px!important;top:112px!important}
#page-city .city-agent-callout.left.c2{left:34px!important;bottom:128px!important}
#page-city .city-agent-callout.right.c3{right:26px!important;top:118px!important;text-align:right!important}
#page-city .city-agent-callout.right.c4{right:34px!important;bottom:130px!important;text-align:right!important}
#page-city .city-agent-callout.right span{align-self:flex-end!important}
#page-city .city-agent-callout.right p{margin-left:auto!important}
#page-city .city-agent-callout.c1 span{background:linear-gradient(135deg,#56ddff,#6bf2ff)!important}
#page-city .city-agent-callout.c2 span{background:linear-gradient(135deg,#5fd2ff,#63e0ff)!important}
#page-city .city-agent-callout.c3 span{background:linear-gradient(135deg,#62f1cf,#7bf6d6)!important}
#page-city .city-agent-callout.c4 span{background:linear-gradient(135deg,#9c89ff,#ccb8ff)!important}
#page-city .city-bottom-grid{grid-template-columns:1.05fr .95fr!important;gap:12px!important}
#page-city .city-flow-step{min-height:134px!important;padding:10px 10px!important}
#page-city .city-flow-step span{font-size:10px!important}
#page-city .city-flow-step b{font-size:13px!important;line-height:1.35!important;margin:8px 0 6px!important}
#page-city .city-flow-step p{font-size:10px!important;line-height:1.45!important}
#page-city .city-object-hero b{font-size:15px!important}
#page-city .city-object-hero span{font-size:11px!important}
#page-city .city-object-meta span{font-size:10px!important}
#page-city .city-object-meta b{font-size:14px!important}
#page-city .city-object-card>p,#page-city .city-decision-card>p{font-size:11px!important;line-height:1.6!important}
#page-city .city-decision-tag{font-size:10px!important;padding:5px 9px!important;border-radius:7px!important}
#page-city .city-decision-card h3{font-size:18px!important;margin:10px 0 8px!important}
#page-city .city-decision-row span{font-size:11px!important}
#page-city .city-decision-row b{font-size:14px!important}
#page-city .city-trace-list>div{grid-template-columns:62px 8px 86px 1fr!important;gap:8px!important;padding:8px 4px!important}
#page-city .city-trace-list time{font-size:10px!important}
#page-city .city-trace-list b{font-size:11px!important}
#page-city .city-trace-list span{font-size:10px!important;line-height:1.45!important}


/* ===== v30.2 future city agent title simplification ===== */
#page-city .city-agent-callout b{display:none!important}
#page-city .city-agent-callout p{margin-top:10px!important}


/* ===== v32 new modules: AI compute scheduling + space mission operation ===== */
.compute-layout,.space-layout{display:none!important;grid-template-columns:208px minmax(1080px,1fr);gap:12px;padding:12px;height:100vh;min-height:0;background:radial-gradient(circle at 50% 20%,rgba(32,135,208,.13),transparent 28%),#020812}
.compute-layout.active,.space-layout.active{display:grid!important}
.demo-module-main{min-width:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;min-height:0}
.demo-stagebar{border-radius:18px;padding:16px 18px;display:flex;justify-content:space-between;align-items:flex-start;gap:18px;background:linear-gradient(180deg,rgba(8,28,51,.92),rgba(5,15,28,.88));border:1px solid rgba(70,166,226,.18)}
.demo-eyebrow{font-size:12px;color:#62d7ff;letter-spacing:.12em;margin-bottom:6px}.demo-stagebar h1{margin:0 0 8px;font-size:26px;line-height:1.18}.demo-stagebar p{margin:0;color:#94b3c7;font-size:13px;line-height:1.65;max-width:960px}.demo-actions{display:flex;gap:10px}.demo-actions button{border:1px solid rgba(87,184,241,.32);background:rgba(7,20,36,.76);color:#d9f3ff;border-radius:12px;padding:10px 16px;font-weight:800;cursor:pointer;white-space:nowrap}.demo-actions .primary{background:linear-gradient(180deg,#147bb9,#0b4e77);border-color:rgba(92,215,255,.64);box-shadow:0 12px 30px rgba(31,149,213,.18)}
.demo-workspace{display:grid;grid-template-columns:minmax(0,1fr) 324px;gap:12px;min-height:0}.demo-scene{position:relative;border-radius:22px;overflow:hidden;min-height:720px;background:radial-gradient(circle at 50% 48%,rgba(35,153,236,.14),transparent 34%),linear-gradient(180deg,#030b15,#06121e);border:1px solid rgba(86,187,245,.23)}
#computeCanvas,#spaceCanvas{position:absolute;inset:0;width:100%;height:100%;display:block}.canvas-fallback{position:absolute;inset:0;display:grid;place-items:center;color:#78dfff;font-size:14px;letter-spacing:.18em;background:radial-gradient(circle at 50% 48%,rgba(58,207,255,.1),transparent 30%),rgba(2,10,18,.82);z-index:1}.canvas-fallback.hidden{display:none}
.demo-tabs{position:absolute;left:16px;right:16px;top:14px;z-index:4;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.space-scene-card .demo-tabs{grid-template-columns:repeat(6,minmax(0,1fr))}.demo-stage-tab{border:1px solid rgba(86,187,245,.18);background:rgba(4,16,29,.62);border-radius:12px;padding:9px 10px;text-align:left;color:#a5c3d5;cursor:pointer;backdrop-filter:blur(8px);min-height:58px}.demo-stage-tab span{font-size:10px;color:#61d7ff;letter-spacing:.08em}.demo-stage-tab b{display:block;font-size:13px;margin-top:5px;color:#d8eef8}.demo-stage-tab.active{border-color:rgba(91,219,255,.72);background:linear-gradient(180deg,rgba(10,88,132,.72),rgba(5,30,50,.78));box-shadow:0 10px 30px rgba(54,197,255,.14),inset 0 0 26px rgba(63,207,255,.06)}
.compute-corner-label,.space-corner-label{position:absolute;right:18px;top:88px;z-index:4;padding:8px 13px;border-radius:999px;background:rgba(4,18,32,.72);border:1px solid rgba(92,215,255,.28);font-size:11px;color:#75e3ff;letter-spacing:.12em}
.compute-callout,.space-callout{position:absolute;z-index:5;width:220px;background:transparent;border:none;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.58);pointer-events:none}.compute-callout span,.space-callout span{display:inline-flex;padding:7px 15px;border-radius:999px;color:#04121b;font-size:13px;font-weight:900;background:linear-gradient(135deg,#58e0ff,#80f2ff);box-shadow:0 8px 24px rgba(66,213,255,.22)}.compute-callout b,.space-callout b{display:block;margin:10px 0 7px;font-size:20px;line-height:1.15}.compute-callout p,.space-callout p{margin:0;font-size:12px;line-height:1.55;color:#d9eef8}.compute-callout.left.a,.space-callout.left.a{left:24px;top:132px}.compute-callout.left.b,.space-callout.left.b{left:28px;bottom:140px}.compute-callout.right.a,.space-callout.right.a{right:24px;top:148px;text-align:right}.compute-callout.right.b,.space-callout.right.b{right:28px;bottom:140px;text-align:right}.compute-callout.right p,.space-callout.right p{margin-left:auto}.compute-callout:nth-of-type(3) span,.space-callout:nth-of-type(3) span{background:linear-gradient(135deg,#62f1cf,#7bf6d6)}.compute-callout:nth-of-type(4) span,.space-callout:nth-of-type(4) span{background:linear-gradient(135deg,#9c89ff,#ccb8ff)}
.demo-agent-lines{position:absolute;inset:0;width:100%;height:100%;z-index:3;overflow:visible}.demo-agent-lines line{stroke:#5de0ff;stroke-width:1.8;stroke-dasharray:10 7;opacity:.9;filter:drop-shadow(0 0 6px rgba(93,224,255,.5))}.demo-agent-lines circle{fill:#081421;stroke:#8ff5ff;stroke-width:1.5;filter:drop-shadow(0 0 7px rgba(93,224,255,.55))}.demo-agent-lines text{fill:#a9f6ff;font-size:12px;font-weight:900;paint-order:stroke;stroke:#020914;stroke-width:5px;stroke-linejoin:round}
.demo-right{border-radius:22px;padding:16px;display:grid;grid-template-rows:auto auto auto auto minmax(0,1fr);gap:14px;min-height:0;background:linear-gradient(180deg,rgba(8,28,51,.92),rgba(4,14,27,.88));border:1px solid rgba(70,166,226,.18)}.demo-card-title span{display:block;font-size:11px;color:#5edbff;letter-spacing:.12em}.demo-card-title b{display:block;font-size:18px;margin-top:6px}.demo-kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px}.demo-kpis>div{padding:12px;border-radius:14px;background:rgba(7,22,39,.72);border:1px solid rgba(84,181,236,.14)}.demo-kpis span{display:block;font-size:11px;color:#91b2c8}.demo-kpis b{display:block;margin-top:6px;font-size:24px;color:#fff}.demo-decision{padding:14px;border-radius:16px;background:radial-gradient(circle at 100% 0,rgba(78,233,202,.12),transparent 36%),rgba(7,22,39,.72);border:1px solid rgba(84,181,236,.14)}.demo-decision span{display:inline-flex;padding:5px 10px;border-radius:999px;background:rgba(61,214,255,.14);border:1px solid rgba(88,216,255,.28);font-size:11px;color:#71e1ff}.demo-decision b{display:block;margin:10px 0 8px;font-size:19px;line-height:1.28}.demo-decision p{margin:0;font-size:12px;line-height:1.7;color:#9fbacc}.demo-trace{display:grid;gap:9px;overflow:auto;align-content:start}.demo-trace>div{display:grid;grid-template-columns:62px 10px 82px 1fr;gap:8px;align-items:center;padding:10px 9px;border-radius:12px;background:rgba(7,22,39,.72);border:1px solid rgba(84,181,236,.12)}.demo-trace time{font-size:10px;color:#87a8bc}.demo-trace i{width:8px;height:8px;border-radius:50%;background:#55f4c6;box-shadow:0 0 12px #55f4c677}.demo-trace i.warn{background:#ffb56f;box-shadow:0 0 12px #ffb56f77}.demo-trace i.block{background:#ff6577;box-shadow:0 0 12px #ff657777}.demo-trace b{font-size:11px;color:#fff}.demo-trace span{font-size:10px;line-height:1.45;color:#a9c2d0}
.compute-scene-card{background:radial-gradient(circle at 55% 52%,rgba(52,216,255,.16),transparent 28%),radial-gradient(circle at 34% 68%,rgba(104,75,255,.12),transparent 24%),#030915}.space-scene-card{background:radial-gradient(circle at 56% 44%,rgba(75,143,255,.16),transparent 28%),radial-gradient(circle at 48% 80%,rgba(255,124,60,.12),transparent 22%),#020712}.space-headbar{background:linear-gradient(180deg,rgba(12,25,53,.94),rgba(7,12,28,.88))}.space-right{background:linear-gradient(180deg,rgba(12,25,53,.94),rgba(7,12,28,.88))}
@media(max-width:1500px){.demo-workspace{grid-template-columns:minmax(0,1fr) 292px}.demo-scene{min-height:660px}.compute-callout,.space-callout{width:190px}.compute-callout b,.space-callout b{font-size:17px}.compute-callout p,.space-callout p{font-size:11px}.demo-tabs{gap:6px}.demo-stage-tab b{font-size:12px}.demo-stage-tab{padding:8px}}

/* ===== v33 compute + space refinement ===== */
.compute-workspace{grid-template-columns:minmax(0,1fr) 282px!important;gap:10px!important}
.compute-scene-card{min-height:760px!important;background:radial-gradient(circle at 50% 52%,rgba(41,213,255,.16),transparent 31%),radial-gradient(circle at 44% 72%,rgba(103,78,255,.12),transparent 25%),#020814!important}
.compute-callout{display:none!important}
.compute-inline-agents{position:absolute;inset:0;z-index:5;pointer-events:none}
.compute-inline-agent{position:absolute;width:208px;padding:9px 11px;border-radius:14px;background:rgba(4,17,31,.64);border:1px solid rgba(91,219,255,.22);box-shadow:0 10px 28px rgba(0,0,0,.18),inset 0 0 18px rgba(60,215,255,.06);backdrop-filter:blur(8px);text-align:center}
.compute-inline-agent span{display:inline-flex;padding:6px 13px;border-radius:999px;color:#03121c;font-size:12px;font-weight:900;background:linear-gradient(135deg,#58e0ff,#86f7ff);box-shadow:0 8px 20px rgba(66,213,255,.22)}
.compute-inline-agent p{margin:8px 0 0;font-size:11px;line-height:1.5;color:#d7edf8;text-shadow:0 2px 8px rgba(0,0,0,.28)}
.compute-inline-agent.a{left:23%;top:92px}.compute-inline-agent.b{right:22%;top:94px}.compute-inline-agent.c{left:22%;bottom:102px}.compute-inline-agent.d{right:20%;bottom:104px}
.compute-inline-agent.b span{background:linear-gradient(135deg,#62f1cf,#82f6db)}.compute-inline-agent.c span{background:linear-gradient(135deg,#b39cff,#d5c8ff)}.compute-inline-agent.d span{background:linear-gradient(135deg,#ffbd78,#ffd5a5)}
.compute-inline-lines line{stroke-width:2!important;stroke-dasharray:12 8!important;opacity:.94!important}.compute-inline-lines text{font-size:12px!important;fill:#aef8ff!important}.compute-inline-lines circle{stroke-width:1.8!important}
#page-compute .demo-right{grid-template-rows:auto auto auto auto minmax(0,1fr)!important;padding:14px!important}
#page-compute .demo-stagebar h1,#page-space .demo-stagebar h1{font-size:24px!important}
#page-compute .demo-stagebar p,#page-space .demo-stagebar p{font-size:12px!important;line-height:1.55!important}
#page-compute .demo-stage-tab{min-height:52px!important;padding:8px 9px!important}#page-compute .demo-stage-tab b{font-size:12px!important}
.space-workspace{grid-template-columns:minmax(0,1fr) 292px!important;gap:10px!important}
.space-scene-card{min-height:760px!important;background:radial-gradient(circle at 52% 45%,rgba(84,142,255,.18),transparent 32%),radial-gradient(circle at 50% 84%,rgba(255,133,55,.13),transparent 23%),#020611!important}
.space-callout{width:auto!important;max-width:200px!important;background:rgba(3,12,25,.38)!important;border:1px solid rgba(114,202,255,.14)!important;border-radius:14px!important;padding:8px 10px!important;box-shadow:0 10px 26px rgba(0,0,0,.18)!important;backdrop-filter:blur(5px)!important}
.space-callout b{display:none!important}.space-callout p{display:none!important}.space-callout span{font-size:12px!important;padding:6px 12px!important}
.space-callout.left.a{left:18px!important;top:112px!important}.space-callout.left.b{left:18px!important;bottom:122px!important}.space-callout.right.a{right:18px!important;top:116px!important}.space-callout.right.b{right:18px!important;bottom:122px!important}
.space-corner-label,.compute-corner-label{font-size:12px!important;color:#9df1ff!important;background:rgba(4,18,32,.72)!important;border-color:rgba(92,215,255,.34)!important}
#page-space .demo-agent-lines line{stroke-width:2!important;opacity:.92!important}#page-space .demo-agent-lines text{font-size:12px!important;fill:#bdfaff!important}#page-space .demo-tabs{grid-template-columns:repeat(6,minmax(0,1fr))!important}
#page-space .demo-stage-tab{min-height:52px!important;padding:8px 9px!important}#page-space .demo-stage-tab b{font-size:12px!important}
@media(max-width:1500px){.compute-inline-agent{width:176px}.compute-inline-agent p{font-size:10px}.compute-inline-agent.a{left:20%}.compute-inline-agent.b{right:20%}.compute-inline-agent.c{left:20%}.compute-inline-agent.d{right:18%}.space-callout span{font-size:11px!important}}


/* ===== v34 compute + space refinement ===== */
.compute-workspace{grid-template-columns:minmax(0,1fr) 286px!important;gap:10px!important}
.compute-scene-card{min-height:760px!important;background:radial-gradient(circle at 50% 48%,rgba(41,213,255,.18),transparent 32%),radial-gradient(circle at 46% 76%,rgba(92,76,255,.10),transparent 24%),#020813!important;overflow:hidden}
.compute-inline-agent{width:154px!important;padding:8px 10px!important;border-radius:14px!important;background:linear-gradient(180deg,rgba(4,17,31,.50),rgba(4,17,31,.18))!important;border:1px solid rgba(90,214,255,.20)!important;backdrop-filter:blur(6px)!important;box-shadow:0 10px 20px rgba(0,0,0,.16)!important}
.compute-inline-agent span{display:inline-flex!important;padding:6px 14px!important;border-radius:999px!important;color:#04111a!important;font-size:12px!important;font-weight:900!important;background:linear-gradient(135deg,#58e0ff,#86f7ff)!important;box-shadow:0 8px 20px rgba(66,213,255,.18)!important}
.compute-inline-agent p{margin:7px 0 0!important;font-size:10px!important;line-height:1.45!important;color:#d7edf8!important;opacity:.92}
.compute-inline-agent.a{left:15%!important;top:114px!important}.compute-inline-agent.b{right:13%!important;top:116px!important}.compute-inline-agent.c{left:16%!important;bottom:110px!important}.compute-inline-agent.d{right:14%!important;bottom:112px!important}
.compute-inline-lines line{stroke-width:2!important;stroke-dasharray:10 8!important;opacity:.94!important;stroke:#6fe8ff!important}.compute-inline-lines text{font-size:11px!important;fill:#aef8ff!important;stroke:rgba(1,12,24,.8)!important;stroke-width:4px!important;paint-order:stroke}.compute-inline-lines circle{stroke-width:1.8!important;fill:#061825!important;stroke:#95f4ff!important}
.compute-corner-label{top:90px!important}

.space-workspace{grid-template-columns:minmax(0,1fr) 292px!important;gap:10px!important}
.space-scene-card{min-height:760px!important;background:radial-gradient(circle at 58% 26%,rgba(84,142,255,.16),transparent 24%),radial-gradient(circle at 45% 80%,rgba(255,128,55,.15),transparent 24%),#010610!important;overflow:hidden}
.space-callout{width:156px!important;max-width:156px!important;background:transparent!important;border:none!important;padding:0!important;box-shadow:none!important;backdrop-filter:none!important;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.5)!important}
.space-callout b{display:none!important}.space-callout span{display:inline-flex!important;padding:7px 14px!important;border-radius:999px!important;font-size:12px!important;font-weight:900!important;color:#04121b!important;background:linear-gradient(135deg,#5ae3ff,#87f6ff)!important;box-shadow:0 8px 22px rgba(66,213,255,.18)!important}
.space-callout p{display:block!important;margin:8px 0 0!important;font-size:11px!important;line-height:1.46!important;color:#d8eef8!important}
.space-callout.left.a{left:28px!important;top:128px!important}.space-callout.left.b{left:30px!important;bottom:146px!important}.space-callout.right.a{right:26px!important;top:134px!important;text-align:right!important}.space-callout.right.b{right:28px!important;bottom:142px!important;text-align:right!important}.space-callout.right p{margin-left:auto!important}
.space-callout.left.b span{background:linear-gradient(135deg,#64f0cf,#7bf6d6)!important}.space-callout.right.a span{background:linear-gradient(135deg,#62d4ff,#7de6ff)!important}.space-callout.right.b span{background:linear-gradient(135deg,#b392ff,#d4c2ff)!important}
.space-corner-label{top:90px!important}
.space-right .demo-card-title b{font-size:17px!important}


/* ===== v35 polish: compute cleaner + space cinematic ===== */
.compute-scene-card{box-shadow:inset 0 0 80px rgba(67,220,255,.05),0 0 0 1px rgba(88,188,245,.05)!important}
.compute-inline-agent{background:linear-gradient(180deg,rgba(4,17,31,.40),rgba(4,17,31,.14))!important;border-color:rgba(90,214,255,.16)!important}
.compute-inline-agent p{color:#e3f3fb!important}
.space-scene-card{box-shadow:inset 0 0 120px rgba(67,156,255,.08),inset 0 -120px 180px rgba(0,0,0,.18)!important}
.space-callout{width:170px!important;max-width:170px!important}
.space-callout span{font-size:12px!important;padding:7px 16px!important}
.space-callout p{font-size:12px!important;line-height:1.5!important;color:#e0f0fa!important}
.space-callout.left.a{left:24px!important;top:124px!important}
.space-callout.left.b{left:26px!important;bottom:136px!important}
.space-callout.right.a{right:22px!important;top:128px!important}
.space-callout.right.b{right:24px!important;bottom:132px!important}
.space-corner-label{top:92px!important}


/* ===== v37: compute no-crossing + real 3D space ===== */
#computeAgentLines{display:none!important}
.compute-scene-card{background:radial-gradient(circle at 50% 48%,rgba(45,218,255,.22),transparent 30%),linear-gradient(180deg,#02101e,#061628)!important;}
.compute-inline-agent{width:148px!important;background:rgba(4,18,32,.50)!important;border-color:rgba(105,221,255,.20)!important;box-shadow:0 8px 20px rgba(0,0,0,.12)!important;}
.compute-inline-agent p{font-size:10px!important;line-height:1.42!important;color:#e0f3fb!important;}
.space-scene-card canvas{filter:saturate(1.12) contrast(1.06)}
.space-callout{background:rgba(2,12,23,.34)!important;border:1px solid rgba(112,214,255,.12)!important;border-radius:16px!important;padding:9px 10px!important;backdrop-filter:blur(5px)!important;}
.space-callout p{font-size:12px!important;line-height:1.5!important;color:#e3f4fb!important;}
.space-callout span{font-size:12px!important;}
.demo-agent-lines line{stroke-width:2!important;stroke-dasharray:10 9!important;opacity:.78!important}.demo-agent-lines text{font-size:12px!important;paint-order:stroke;stroke:rgba(0,8,18,.82);stroke-width:4px;font-weight:800}.demo-agent-lines circle{r:5.5}


/* ===== v40 final: keep dynamic modules, clean layout, no static pasted UI ===== */
#page-compute .demo-right{width:300px;}
#page-compute .compute-workspace{grid-template-columns:minmax(0,1fr) 300px!important;gap:12px!important;}
#page-compute .compute-scene-card{min-height:760px!important;background:radial-gradient(circle at 50% 46%,rgba(41,213,255,.22),transparent 28%),radial-gradient(circle at 50% 78%,rgba(35,107,190,.18),transparent 26%),linear-gradient(180deg,#03101e,#06172a 58%,#071a2e)!important;overflow:hidden!important;}
#page-compute #computeAgentLines{display:none!important;}
#page-compute .compute-inline-agent{width:168px!important;padding:8px 10px!important;background:rgba(4,17,31,.42)!important;border:1px solid rgba(91,219,255,.20)!important;box-shadow:0 10px 24px rgba(0,0,0,.14),inset 0 0 14px rgba(60,215,255,.04)!important;backdrop-filter:blur(6px)!important;}
#page-compute .compute-inline-agent span{font-size:12px!important;padding:6px 12px!important;}
#page-compute .compute-inline-agent p{font-size:10px!important;line-height:1.42!important;color:#dff2fb!important;}
#page-compute .compute-inline-agent.a{left:10%!important;top:108px!important;}
#page-compute .compute-inline-agent.b{right:10%!important;top:108px!important;}
#page-compute .compute-inline-agent.c{left:10%!important;bottom:110px!important;}
#page-compute .compute-inline-agent.d{right:10%!important;bottom:110px!important;}
#page-compute .demo-tabs{gap:9px!important;}
#page-compute .demo-stage-tab{min-height:62px!important;border-radius:14px!important;}
#page-compute .demo-stage-tab b{font-size:14px!important;}
#page-compute .demo-stage-tab span{font-size:10px!important;}
#page-compute .demo-kpis{grid-template-columns:1fr 1fr!important;}
#page-compute .demo-trace div{grid-template-columns:62px 8px 78px 1fr!important;}

#page-space .space-workspace{grid-template-columns:minmax(0,1fr) 300px!important;gap:12px!important;}
#page-space .space-scene-card{min-height:760px!important;background:radial-gradient(circle at 54% 35%,rgba(71,136,255,.18),transparent 28%),radial-gradient(circle at 45% 88%,rgba(255,139,59,.16),transparent 28%),linear-gradient(180deg,#010713,#04101f 56%,#08192e)!important;overflow:hidden!important;}
#page-space #spaceAgentLines{display:none!important;}
#page-space .space-callout{width:186px!important;max-width:186px!important;background:rgba(3,12,25,.26)!important;border:1px solid rgba(114,202,255,.10)!important;border-radius:14px!important;padding:8px 10px!important;box-shadow:0 10px 24px rgba(0,0,0,.16)!important;backdrop-filter:blur(5px)!important;}
#page-space .space-callout span{font-size:12px!important;padding:7px 14px!important;}
#page-space .space-callout p{display:block!important;font-size:11px!important;line-height:1.45!important;color:#e0f0fa!important;}
#page-space .space-callout.left.a{left:22px!important;top:120px!important;}
#page-space .space-callout.left.b{left:22px!important;bottom:126px!important;}
#page-space .space-callout.right.a{right:22px!important;top:122px!important;}
#page-space .space-callout.right.b{right:22px!important;bottom:126px!important;}
#page-space .demo-tabs{gap:9px!important;}
#page-space .demo-stage-tab{min-height:62px!important;border-radius:14px!important;}
#page-space .demo-stage-tab b{font-size:14px!important;}
#page-space .demo-stage-tab span{font-size:10px!important;}
#page-space .demo-trace div{grid-template-columns:62px 8px 78px 1fr!important;}
#page-space canvas{filter:contrast(1.05) saturate(1.08);}
@media(max-width:1500px){
  #page-compute .compute-workspace,#page-space .space-workspace{grid-template-columns:minmax(0,1fr) 286px!important;}
  #page-compute .compute-inline-agent,#page-space .space-callout{width:158px!important;max-width:158px!important;}
  #page-compute .compute-inline-agent.a{left:7%!important}#page-compute .compute-inline-agent.b{right:7%!important}#page-compute .compute-inline-agent.c{left:7%!important}#page-compute .compute-inline-agent.d{right:7%!important}
}


/* ===== v41 compute + space refinement ===== */
#page-compute .compute-workspace,
#page-space .space-workspace{grid-template-columns:minmax(0,1fr) 320px;gap:14px;align-items:stretch}
#page-compute .demo-stagebar,
#page-space .demo-stagebar{padding:16px 20px 14px;min-height:auto}
#page-compute .demo-stagebar h1,
#page-space .demo-stagebar h1{font-size:30px;line-height:1.15;margin:6px 0 8px}
#page-compute .demo-stagebar p,
#page-space .demo-stagebar p{max-width:920px;font-size:14px;line-height:1.65;color:#cae7f7}
#page-compute .demo-stagebar .demo-actions,
#page-space .demo-stagebar .demo-actions{gap:10px}
#page-compute .demo-scene,
#page-space .demo-scene{min-height:760px}
#page-compute .compute-scene-card{background:radial-gradient(circle at 50% 48%,rgba(33,170,255,.18),transparent 34%),linear-gradient(180deg,#03101b,#071828 56%,#071525)}
#page-compute .compute-corner-label,
#page-space .space-corner-label{position:absolute;top:96px;right:24px;z-index:4;padding:10px 18px;border-radius:999px;border:1px solid rgba(110,215,255,.26);background:rgba(3,14,25,.58);box-shadow:0 12px 26px rgba(0,0,0,.24);font-size:12px;font-weight:800;letter-spacing:.12em;color:#bff2ff;backdrop-filter:blur(10px)}
#page-compute .compute-inline-agent{width:246px!important;padding:14px 16px!important;border-radius:18px!important;background:linear-gradient(180deg,rgba(4,17,31,.82),rgba(4,17,31,.56))!important;border:1px solid rgba(100,224,255,.32)!important;box-shadow:0 14px 30px rgba(0,0,0,.28),inset 0 0 22px rgba(65,215,255,.08)!important;backdrop-filter:blur(10px)!important;text-align:left!important}
#page-compute .compute-inline-agent span{font-size:13px!important;padding:6px 14px!important}
#page-compute .compute-inline-agent b{display:block;margin:12px 0 7px;font-size:18px;line-height:1.25;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.48)}
#page-compute .compute-inline-agent p{font-size:12px!important;line-height:1.6!important;color:#dff3fc!important;margin:0!important}
#page-compute .compute-inline-agent.a{left:3.5%!important;top:120px!important}
#page-compute .compute-inline-agent.b{right:3.5%!important;top:120px!important}
#page-compute .compute-inline-agent.c{left:5%!important;bottom:110px!important}
#page-compute .compute-inline-agent.d{right:5%!important;bottom:110px!important}
#page-compute #computeCanvas{position:absolute;inset:72px 24px 24px;z-index:1}
#page-compute #computeAgentLines{z-index:6}
#page-compute .demo-right,
#page-space .demo-right{padding:18px 16px}
#page-compute .demo-kpis,
#page-space .demo-kpis{grid-template-columns:1fr 1fr;gap:10px}
#page-compute .demo-kpis div,
#page-space .demo-kpis div{padding:14px 12px;border-radius:16px;background:linear-gradient(180deg,rgba(6,24,39,.86),rgba(6,20,32,.62));border:1px solid rgba(95,208,255,.18)}
#page-compute .demo-decision,
#page-space .demo-decision{padding:16px;border-radius:18px;background:linear-gradient(180deg,rgba(8,27,43,.82),rgba(7,19,30,.66));border:1px solid rgba(96,203,255,.18)}
#page-compute .demo-trace div,
#page-space .demo-trace div{grid-template-columns:72px 10px 82px 1fr;align-items:start}
#page-compute .demo-trace span,
#page-space .demo-trace span{line-height:1.45}
#page-compute .demo-agent-lines line{stroke:rgba(115,230,255,.92);stroke-width:2.15;stroke-dasharray:10 8;filter:drop-shadow(0 0 10px rgba(79,213,255,.55));animation:dashFlow 8s linear infinite}
#page-compute .demo-agent-lines circle{fill:#c8f7ff;filter:drop-shadow(0 0 8px rgba(112,224,255,.85))}
#page-compute .demo-agent-lines text{fill:#dff9ff;font-size:12px;font-weight:800;paint-order:stroke;stroke:#02101c;stroke-width:4px;stroke-linejoin:round}

#page-space .space-scene-card{background:linear-gradient(180deg,#04101c,#071524 60%,#081726)}
#page-space .space-visual{position:absolute;inset:74px 20px 20px;border-radius:26px;overflow:hidden;background:radial-gradient(circle at 50% 54%,rgba(42,176,255,.16),transparent 45%),linear-gradient(180deg,rgba(6,18,31,.78),rgba(2,10,18,.46));box-shadow:inset 0 0 0 1px rgba(87,190,246,.18)}
#page-space .space-visual-bg{position:absolute;inset:0;background-image:linear-gradient(180deg,rgba(3,11,20,.08),rgba(3,10,18,.18)),url('./assets/space_launch_realistic.png');background-size:cover;background-position:center center;transform:scale(1.02);filter:saturate(1.02) brightness(.97)}
#page-space .space-sky-stars{position:absolute;inset:0;background-image:radial-gradient(circle at 20% 18%,rgba(255,255,255,.85) 0 1px,transparent 1.8px),radial-gradient(circle at 76% 14%,rgba(179,230,255,.8) 0 1px,transparent 1.6px),radial-gradient(circle at 60% 28%,rgba(255,255,255,.7) 0 1px,transparent 1.7px),radial-gradient(circle at 88% 22%,rgba(180,227,255,.85) 0 1.2px,transparent 2px),radial-gradient(circle at 32% 9%,rgba(255,255,255,.85) 0 1px,transparent 1.7px);opacity:.9;animation:twinkle 6s ease-in-out infinite alternate}
#page-space .space-earth-arc{position:absolute;right:-10%;top:20%;width:58%;height:50%;border:2px solid rgba(136,214,255,.42);border-radius:50%;transform:rotate(-8deg);box-shadow:0 0 48px rgba(84,181,255,.16)}
#page-space .space-earth-arc::after{content:'';position:absolute;inset:-10% -10%;border:1px solid rgba(98,208,255,.18);border-radius:50%}
#page-space .space-stage-focus{position:absolute;left:18px;top:18px;max-width:38%;padding:14px 18px;border-radius:22px;background:linear-gradient(180deg,rgba(4,18,32,.76),rgba(4,14,24,.52));border:1px solid rgba(106,220,255,.24);backdrop-filter:blur(8px);z-index:5}
#page-space .space-stage-focus span{display:inline-flex;padding:6px 14px;border-radius:999px;background:rgba(77,225,255,.15);border:1px solid rgba(101,230,255,.26);color:#bff3ff;font-size:12px;font-weight:800;letter-spacing:.08em}
#page-space .space-stage-focus b{display:block;margin:12px 0 8px;font-size:27px;line-height:1.18;color:#f7fcff;text-shadow:0 3px 14px rgba(0,0,0,.42)}
#page-space .space-stage-focus p{margin:0;font-size:13px;line-height:1.62;color:#d7edf8}
#page-space .space-orbit{position:absolute;border:2px dashed rgba(124,218,255,.88);border-radius:50%;opacity:.9;filter:drop-shadow(0 0 8px rgba(87,199,255,.28));animation:dashFlow 18s linear infinite}
#page-space .orbit-a{left:46.6%;top:29%;width:43%;height:10%;border-left-color:transparent;border-bottom-color:transparent;transform:rotate(-12deg)}
#page-space .orbit-b{left:39%;top:44%;width:37%;height:17%;border-right-color:transparent;border-top-color:transparent;transform:rotate(14deg)}
#page-space .orbit-c{left:69%;top:18%;width:17%;height:6%;border-left-color:transparent;border-bottom-color:transparent;transform:rotate(8deg)}
#page-space .orbit-d{left:60%;top:56%;width:23%;height:8%;border-right-color:transparent;border-top-color:transparent;transform:rotate(-12deg)}
#page-space .space-moving-dot{position:absolute;width:10px;height:10px;border-radius:50%;background:#e8fdff;box-shadow:0 0 0 4px rgba(136,230,255,.18),0 0 18px rgba(112,213,255,.85);z-index:4}
#page-space .dot-a{top:29%;left:67%;animation:moveA 9s linear infinite}
#page-space .dot-b{top:49%;left:58%;animation:moveB 11s linear infinite}
#page-space .dot-c{top:62%;left:72%;animation:moveC 12s linear infinite}
#page-space .space-badge{position:absolute;z-index:6;padding:10px 14px;border-radius:16px;background:rgba(4,18,31,.56);border:1px solid rgba(96,208,255,.22);box-shadow:0 12px 24px rgba(0,0,0,.22);backdrop-filter:blur(6px);font-size:12px;line-height:1.45;color:#def4ff}
#page-space .space-badge b{font-size:17px;color:#fff}
#page-space .space-badge.station{right:23%;top:18%}
#page-space .space-badge.docking{right:7%;top:29%}
#page-space .space-badge.warning{right:15%;bottom:22%;opacity:.0;transform:translateY(10px);transition:.3s}
#page-space .space-flame-core{position:absolute;left:48.1%;bottom:3.5%;width:4.4%;height:14%;background:radial-gradient(circle at 50% 12%,rgba(255,245,185,.95),rgba(255,175,76,.95) 38%,rgba(255,116,40,.65) 62%,transparent 78%);filter:blur(1px);mix-blend-mode:screen;opacity:.92;animation:flamePulse 1.1s ease-in-out infinite}
#page-space .space-flame-glow{position:absolute;left:44%;bottom:0;width:12%;height:22%;background:radial-gradient(circle at 50% 20%,rgba(255,191,96,.55),rgba(255,132,55,.18) 48%,transparent 72%);filter:blur(12px);animation:glowBreath 2s ease-in-out infinite}
#page-space .space-smoke{position:absolute;bottom:0;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(240,247,251,.48),rgba(240,247,251,.16) 55%,transparent 75%);filter:blur(10px);opacity:.72;animation:smokeDrift 5.5s ease-in-out infinite}
#page-space .smoke-a{left:36%;width:20%;height:16%}
#page-space .smoke-b{left:46%;width:24%;height:18%;animation-delay:-1.8s}
#page-space .smoke-c{left:56%;width:19%;height:15%;animation-delay:-3.4s}
#page-space .space-callout{width:262px!important;max-width:262px!important;background:linear-gradient(180deg,rgba(4,18,32,.78),rgba(4,15,26,.44))!important;border:1px solid rgba(104,218,255,.26)!important;border-radius:18px!important;padding:14px 16px!important;backdrop-filter:blur(8px)!important;box-shadow:0 16px 30px rgba(0,0,0,.26)!important;color:#fff!important}
#page-space .space-callout span{font-size:13px!important;padding:7px 14px!important}
#page-space .space-callout b{display:block!important;margin:11px 0 8px!important;font-size:18px!important;line-height:1.25!important;color:#fff!important}
#page-space .space-callout p{display:block!important;font-size:12px!important;line-height:1.6!important;color:#e1f1fa!important}
#page-space .space-callout.left.a{left:22px!important;top:174px!important}
#page-space .space-callout.left.b{left:22px!important;bottom:126px!important}
#page-space .space-callout.right.a{right:24px!important;top:190px!important;text-align:left!important}
#page-space .space-callout.right.b{right:26px!important;bottom:128px!important;text-align:left!important}
#page-space #spaceAgentLines{z-index:6}
#page-space .demo-agent-lines line{stroke:rgba(118,228,255,.92);stroke-width:2.2;stroke-dasharray:10 8;filter:drop-shadow(0 0 12px rgba(78,213,255,.55));animation:dashFlow 9s linear infinite}
#page-space .demo-agent-lines circle{fill:#effdff;filter:drop-shadow(0 0 8px rgba(136,224,255,.92))}
#page-space .demo-agent-lines text{fill:#e8fbff;font-size:12px;font-weight:800;paint-order:stroke;stroke:#02101c;stroke-width:4px;stroke-linejoin:round}
#page-space .space-right{padding-top:18px}
#page-space .space-right .demo-trace{max-height:290px;overflow:auto}
#page-space #spaceVisual[data-stage="0"] .space-badge.warning{opacity:0;transform:translateY(10px)}
#page-space #spaceVisual[data-stage="1"] .space-stage-focus b{color:#fff9ef}
#page-space #spaceVisual[data-stage="1"] .space-flame-core{height:19%;opacity:1;animation-duration:.72s}
#page-space #spaceVisual[data-stage="1"] .space-flame-glow{height:28%;opacity:1}
#page-space #spaceVisual[data-stage="1"] .space-visual-bg{filter:saturate(1.06) brightness(1.02)}
#page-space #spaceVisual[data-stage="2"] .space-badge.station{opacity:1}
#page-space #spaceVisual[data-stage="2"] .space-badge.docking{opacity:.86}
#page-space #spaceVisual[data-stage="3"] .space-stage-focus{max-width:34%}
#page-space #spaceVisual[data-stage="3"] .space-badge.docking{opacity:1;box-shadow:0 0 22px rgba(96,208,255,.34)}
#page-space #spaceVisual[data-stage="4"] .space-badge.station{right:18%;top:16%}
#page-space #spaceVisual[data-stage="4"] .space-badge.docking{right:6%;top:29%;box-shadow:0 0 22px rgba(96,208,255,.3)}
#page-space #spaceVisual[data-stage="5"] .space-badge.warning{opacity:1;transform:translateY(0)}
#page-space #spaceVisual[data-stage="5"] .space-visual-bg{filter:saturate(1.02) brightness(.88)}
#page-space #spaceVisual[data-stage="5"]::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 78% 60%,rgba(255,74,89,.18),transparent 22%),radial-gradient(circle at 72% 56%,rgba(255,74,89,.10),transparent 30%)}
@keyframes dashFlow{to{stroke-dashoffset:-180}}
@keyframes twinkle{from{opacity:.55}to{opacity:1}}
@keyframes flamePulse{0%,100%{transform:scaleY(.94) scaleX(.96);opacity:.82}50%{transform:scaleY(1.12) scaleX(1.06);opacity:1}}
@keyframes glowBreath{0%,100%{transform:scale(1);opacity:.55}50%{transform:scale(1.08);opacity:.88}}
@keyframes smokeDrift{0%{transform:translateY(10px) scale(.96);opacity:.36}50%{transform:translateY(-8px) scale(1.03);opacity:.72}100%{transform:translateY(-20px) scale(1.12);opacity:0}}
@keyframes moveA{0%{transform:translate(0,0)}50%{transform:translate(195px,-20px)}100%{transform:translate(390px,12px)}}
@keyframes moveB{0%{transform:translate(0,0)}50%{transform:translate(135px,-35px)}100%{transform:translate(290px,-62px)}}
@keyframes moveC{0%{transform:translate(0,0)}50%{transform:translate(-74px,-20px)}100%{transform:translate(-158px,-44px)}}
@media (max-width:1600px){
  #page-compute .compute-inline-agent{width:214px!important}
  #page-space .space-stage-focus{max-width:44%}
  #page-space .space-callout{width:230px!important;max-width:230px!important}
}
@media (max-width:1440px){
  #page-compute .compute-workspace,#page-space .space-workspace{grid-template-columns:minmax(0,1fr) 296px}
  #page-compute .compute-inline-agent{width:198px!important}
  #page-compute .compute-inline-agent b{font-size:16px}
  #page-space .space-stage-focus b{font-size:24px}
  #page-space .space-callout{width:208px!important;max-width:208px!important}
}


/* ===== v43 fix: restore dynamic space scene and prevent sidebar overlap ===== */
#page-space .module-sidebar{position:relative;z-index:20}
#page-space .space-main{position:relative;z-index:1;min-width:0}
#page-space .space-workspace{grid-template-columns:minmax(0,1fr) 300px!important;gap:12px!important;align-items:stretch}
#page-space .space-scene-card{position:relative;min-height:760px!important;overflow:hidden!important;background:radial-gradient(circle at 60% 26%,rgba(67,124,255,.16),transparent 28%),radial-gradient(circle at 46% 88%,rgba(255,133,56,.16),transparent 28%),linear-gradient(180deg,#020916,#051325 56%,#08192c)!important;box-shadow:inset 0 0 140px rgba(41,113,227,.08), inset 0 -120px 160px rgba(0,0,0,.16)}
#page-space .space-visual{position:absolute;inset:0;z-index:1;overflow:hidden}
#page-space #spaceCanvas{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:1;filter:contrast(1.06) saturate(1.08)}
#page-space #spaceFallback{z-index:2}
#page-space .space-stage-focus{position:absolute;left:28px;top:96px;width:min(420px,34%);padding:14px 18px;border-radius:20px;background:linear-gradient(180deg,rgba(4,18,32,.78),rgba(4,12,24,.52));border:1px solid rgba(102,214,255,.22);backdrop-filter:blur(8px);box-shadow:0 18px 40px rgba(0,0,0,.18);z-index:5;pointer-events:none}
#page-space .space-stage-focus span{display:inline-flex;padding:6px 14px;border-radius:999px;background:rgba(77,225,255,.14);border:1px solid rgba(101,230,255,.24);color:#c4f6ff;font-size:12px;font-weight:800;letter-spacing:.08em}
#page-space .space-stage-focus b{display:block;margin:12px 0 8px;font-size:24px;line-height:1.18;color:#f7fcff;text-shadow:0 3px 14px rgba(0,0,0,.42)}
#page-space .space-stage-focus p{margin:0;font-size:13px;line-height:1.62;color:#d7edf8}
#page-space .space-corner-label{top:94px!important;right:20px!important;z-index:5}
#page-space #spaceAgentLines{z-index:4!important}
#page-space .space-callout{z-index:6!important;width:178px!important;max-width:178px!important;background:rgba(3,12,25,.28)!important;border:1px solid rgba(114,202,255,.10)!important;border-radius:15px!important;padding:9px 10px!important;box-shadow:0 10px 24px rgba(0,0,0,.16)!important;backdrop-filter:blur(5px)!important}
#page-space .space-callout span{font-size:12px!important;padding:7px 14px!important}
#page-space .space-callout p{display:block!important;font-size:11px!important;line-height:1.5!important;color:#e3f2fa!important}
#page-space .space-callout.left.a{left:22px!important;top:206px!important}
#page-space .space-callout.left.b{left:22px!important;bottom:108px!important}
#page-space .space-callout.right.a{right:20px!important;top:206px!important;text-align:right!important}
#page-space .space-callout.right.b{right:20px!important;bottom:108px!important;text-align:right!important}
#page-space .space-callout.right p{margin-left:auto!important}
#page-space .demo-tabs{left:18px!important;right:18px!important;top:16px!important;z-index:7!important;gap:8px!important}
#page-space .demo-stage-tab{min-height:64px!important;border-radius:14px!important}
#page-space .demo-stage-tab b{font-size:14px!important}
#page-space .demo-stage-tab span{font-size:10px!important}
#page-space .demo-right{width:300px}
@media(max-width:1500px){
  #page-space .space-workspace{grid-template-columns:minmax(0,1fr) 286px!important}
  #page-space .space-stage-focus{width:min(380px,38%);left:22px;top:92px}
  #page-space .space-stage-focus b{font-size:22px}
  #page-space .space-callout{width:160px!important;max-width:160px!important}
  #page-space .space-callout.left.a,#page-space .space-callout.right.a{top:202px!important}
}


/* ===== v44 compute layout cleanup ===== */
#page-compute .compute-workspace{grid-template-columns:minmax(0,1fr) 308px!important;gap:14px!important;align-items:stretch!important;}
#page-compute .compute-scene-card{min-height:760px!important;background:radial-gradient(circle at 50% 46%,rgba(36,190,255,.18),transparent 32%),radial-gradient(circle at 50% 82%,rgba(33,107,190,.14),transparent 28%),linear-gradient(180deg,#03101b,#061726 58%,#071a2d)!important;}
#page-compute #computeCanvas{position:absolute;inset:72px 20px 22px 20px!important;z-index:1!important;}
#page-compute .compute-corner-label{top:92px!important;right:20px!important;padding:9px 16px!important;font-size:12px!important;}
#page-compute #computeAgentLines{display:none!important;}
#page-compute .compute-inline-agent{width:228px!important;min-height:118px!important;padding:14px 16px!important;border-radius:18px!important;background:linear-gradient(180deg,rgba(4,17,31,.88),rgba(4,17,31,.56))!important;border:1px solid rgba(100,224,255,.28)!important;box-shadow:0 16px 34px rgba(0,0,0,.28),inset 0 0 22px rgba(65,215,255,.08)!important;backdrop-filter:blur(10px)!important;text-align:left!important;}
#page-compute .compute-inline-agent span{font-size:13px!important;padding:6px 14px!important;display:inline-flex!important;border-radius:999px!important;}
#page-compute .compute-inline-agent b{display:block!important;margin:12px 0 8px!important;font-size:17px!important;line-height:1.28!important;color:#fff!important;text-shadow:0 2px 12px rgba(0,0,0,.48)!important;}
#page-compute .compute-inline-agent p{font-size:12px!important;line-height:1.6!important;color:#dff3fc!important;margin:0!important;max-width:200px!important;}
#page-compute .compute-inline-agent.a{left:28px!important;top:116px!important;}
#page-compute .compute-inline-agent.b{right:28px!important;top:116px!important;}
#page-compute .compute-inline-agent.c{left:28px!important;bottom:96px!important;}
#page-compute .compute-inline-agent.d{right:28px!important;bottom:96px!important;}
#page-compute .demo-stagebar h1{font-size:28px!important;}
#page-compute .demo-stagebar p{font-size:13px!important;max-width:980px!important;}
#page-compute .demo-tabs{left:14px!important;right:14px!important;top:12px!important;gap:8px!important;}
#page-compute .demo-stage-tab{min-height:60px!important;padding:9px 10px!important;border-radius:14px!important;}
#page-compute .demo-stage-tab span{font-size:10px!important;}
#page-compute .demo-stage-tab b{font-size:14px!important;line-height:1.2!important;}
#page-compute .demo-right{width:308px!important;padding:18px 16px!important;}
#page-compute .demo-kpis{grid-template-columns:1fr 1fr!important;gap:10px!important;}
#page-compute .demo-kpis div{padding:14px 12px!important;border-radius:16px!important;}
#page-compute .demo-card-title b{font-size:18px!important;}
#page-compute .demo-card-title span{font-size:12px!important;}
#page-compute .demo-decision b{font-size:22px!important;line-height:1.25!important;}
#page-compute .demo-decision p{font-size:12px!important;line-height:1.65!important;}
#page-compute .demo-trace div{grid-template-columns:70px 10px 82px 1fr!important;gap:8px!important;}
@media(max-width:1500px){
  #page-compute .compute-workspace{grid-template-columns:minmax(0,1fr) 292px!important;}
  #page-compute .compute-inline-agent{width:202px!important;min-height:110px!important;padding:12px 14px!important;}
  #page-compute .compute-inline-agent p{font-size:11px!important;max-width:176px!important;}
  #page-compute .compute-inline-agent.a{left:18px!important;}#page-compute .compute-inline-agent.b{right:18px!important;}#page-compute .compute-inline-agent.c{left:18px!important;}#page-compute .compute-inline-agent.d{right:18px!important;}
}

/* ===== v45 compute immersive scene ===== */
#page-compute .compute-workspace{grid-template-columns:minmax(0,1fr) 308px!important;gap:14px!important;align-items:stretch!important;}
#page-compute .compute-scene-card{min-height:760px!important;background:radial-gradient(circle at 50% 46%,rgba(36,190,255,.16),transparent 32%),radial-gradient(circle at 50% 82%,rgba(33,107,190,.12),transparent 28%),linear-gradient(180deg,#03101b,#061726 58%,#071a2d)!important;overflow:hidden!important;}
#page-compute #computeCanvas{position:absolute;inset:72px 20px 22px 20px!important;z-index:1!important;}
#page-compute .compute-corner-label{top:92px!important;right:20px!important;padding:9px 16px!important;font-size:12px!important;background:rgba(4,17,31,.62)!important;border-color:rgba(102,224,255,.22)!important;}
#page-compute .compute-inline-agents,#page-compute #computeAgentLines{display:none!important;}
#page-compute .demo-stagebar h1{font-size:28px!important;}
#page-compute .demo-stagebar p{font-size:13px!important;max-width:980px!important;}
#page-compute .demo-tabs{left:14px!important;right:14px!important;top:12px!important;gap:8px!important;}
#page-compute .demo-stage-tab{min-height:60px!important;padding:9px 10px!important;border-radius:14px!important;}
#page-compute .demo-stage-tab span{font-size:10px!important;}
#page-compute .demo-stage-tab b{font-size:14px!important;line-height:1.2!important;}
#page-compute .demo-right{width:308px!important;padding:18px 16px!important;}
#page-compute .demo-kpis{grid-template-columns:1fr 1fr!important;gap:10px!important;}
#page-compute .demo-kpis div{padding:14px 12px!important;border-radius:16px!important;}
#page-compute .demo-card-title b{font-size:18px!important;}
#page-compute .demo-card-title span{font-size:12px!important;}
#page-compute .demo-decision b{font-size:22px!important;line-height:1.25!important;}
#page-compute .demo-decision p{font-size:12px!important;line-height:1.65!important;}
#page-compute .demo-trace div{grid-template-columns:70px 10px 82px 1fr!important;gap:8px!important;}
@media(max-width:1500px){
  #page-compute .compute-workspace{grid-template-columns:minmax(0,1fr) 292px!important;}
}

/* ===== v46 orderly compute + space workspaces ===== */
#page-compute .compute-scene-card,
#page-space .space-scene-card{
  display:grid!important;
  grid-template-rows:auto minmax(470px,1fr) auto!important;
  gap:12px!important;
  padding:14px!important;
  min-height:760px!important;
  overflow:hidden!important;
}

#page-compute .demo-tabs,
#page-space .demo-tabs{
  position:static!important;
  inset:auto!important;
  z-index:8!important;
  gap:8px!important;
}

#page-compute .demo-stage-tab,
#page-space .demo-stage-tab{
  min-height:58px!important;
  padding:9px 11px!important;
  border-radius:13px!important;
  background:rgba(4,16,29,.82)!important;
  backdrop-filter:blur(12px)!important;
}

#page-compute .demo-stage-tab.active,
#page-space .demo-stage-tab.active{
  background:linear-gradient(180deg,rgba(11,105,153,.92),rgba(5,39,62,.94))!important;
}

#page-compute .compute-visual,
#page-space .space-visual{
  position:relative!important;
  inset:auto!important;
  min-height:470px!important;
  overflow:hidden!important;
  border:1px solid rgba(89,199,255,.2)!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,#03101d,#061827)!important;
  box-shadow:inset 0 0 80px rgba(44,164,230,.07)!important;
}

#page-compute #computeCanvas,
#page-space #spaceCanvas{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  z-index:1!important;
}

#page-compute .compute-corner-label,
#page-space .space-corner-label{
  top:16px!important;
  right:16px!important;
  z-index:5!important;
  padding:8px 13px!important;
  font-size:10px!important;
  background:rgba(3,15,27,.76)!important;
  border-color:rgba(102,224,255,.24)!important;
  pointer-events:none!important;
}

#page-compute .compute-inline-agents,
#page-space .space-agent-grid{
  position:static!important;
  inset:auto!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  z-index:5!important;
  pointer-events:none!important;
}

#page-compute .compute-inline-agent,
#page-space .space-callout{
  position:static!important;
  inset:auto!important;
  width:auto!important;
  max-width:none!important;
  min-height:118px!important;
  padding:12px 13px!important;
  border-radius:14px!important;
  text-align:left!important;
  background:linear-gradient(180deg,rgba(7,28,47,.96),rgba(5,20,35,.9))!important;
  border:1px solid rgba(94,207,255,.2)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}

#page-compute .compute-inline-agent span,
#page-space .space-callout span{
  display:inline-flex!important;
  padding:4px 9px!important;
  border-radius:999px!important;
  font-size:10px!important;
  line-height:1.2!important;
}

#page-compute .compute-inline-agent b,
#page-space .space-callout b{
  display:block!important;
  margin:8px 0 5px!important;
  font-size:14px!important;
  line-height:1.3!important;
  color:#f4fbff!important;
  text-shadow:none!important;
}

#page-compute .compute-inline-agent p,
#page-space .space-callout p{
  display:block!important;
  max-width:none!important;
  margin:0!important;
  font-size:10px!important;
  line-height:1.5!important;
  color:#91afc2!important;
}

#page-compute #computeAgentLines,
#page-space #spaceAgentLines{display:none!important}

#page-space .space-stage-focus{
  position:absolute!important;
  left:18px!important;
  top:18px!important;
  bottom:auto!important;
  width:min(390px,38%)!important;
  max-width:none!important;
  padding:13px 15px!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,rgba(4,18,32,.88),rgba(4,12,24,.72))!important;
  z-index:5!important;
}

#page-space .space-stage-focus b{
  margin:10px 0 6px!important;
  font-size:20px!important;
  line-height:1.25!important;
}

#page-space .space-stage-focus p{font-size:11px!important;line-height:1.55!important}

#page-compute .demo-right,
#page-space .demo-right{
  align-content:start!important;
  overflow:hidden!important;
}

#page-compute .demo-trace,
#page-space .demo-trace{overflow:auto!important;min-height:0!important}

@media(max-width:1500px){
  #page-compute .compute-inline-agent,
  #page-space .space-callout{min-height:112px!important;padding:10px!important}
  #page-compute .compute-inline-agent b,
  #page-space .space-callout b{font-size:13px!important}
  #page-space .space-stage-focus{width:42%!important}
}

/* ===== v47 host-carried agents + rocket-linked mission agents ===== */
#page-space .space-scene-card{
  grid-template-rows:auto auto minmax(520px,1fr)!important;
}

#page-space .space-stage-focus{
  position:static!important;
  inset:auto!important;
  width:auto!important;
  max-width:none!important;
  min-height:72px!important;
  display:grid!important;
  grid-template-columns:auto minmax(300px,.9fr) minmax(320px,1.1fr)!important;
  align-items:center!important;
  gap:16px!important;
  padding:11px 14px!important;
  border-radius:14px!important;
  background:linear-gradient(90deg,rgba(7,35,57,.96),rgba(5,20,36,.88))!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}

#page-space .space-stage-focus span{
  white-space:nowrap!important;
  padding:6px 11px!important;
  font-size:10px!important;
}

#page-space .space-stage-focus b{
  margin:0!important;
  font-size:16px!important;
  line-height:1.35!important;
}

#page-space .space-stage-focus p{
  margin:0!important;
  padding-left:16px!important;
  border-left:1px solid rgba(102,214,255,.18)!important;
  font-size:10px!important;
  line-height:1.55!important;
}

#page-space .space-visual{min-height:520px!important}

#page-space .space-agent-grid{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  z-index:6!important;
  pointer-events:none!important;
}

#page-space .space-callout{
  position:absolute!important;
  width:190px!important;
  max-width:190px!important;
  min-height:100px!important;
  padding:10px 12px!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,rgba(3,18,32,.9),rgba(3,13,25,.78))!important;
  border:1px solid rgba(104,218,255,.25)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.24),inset 0 0 18px rgba(70,207,255,.05)!important;
  backdrop-filter:blur(8px)!important;
}

#page-space .space-callout.left.a{left:18px!important;top:72px!important}
#page-space .space-callout.left.b{left:18px!important;bottom:28px!important}
#page-space .space-callout.right.a{right:18px!important;top:72px!important;text-align:left!important}
#page-space .space-callout.right.b{right:18px!important;bottom:28px!important;text-align:left!important}

#page-space .space-callout span{font-size:10px!important;padding:4px 9px!important}
#page-space .space-callout b{font-size:13px!important;margin:7px 0 4px!important}
#page-space .space-callout p{font-size:9px!important;line-height:1.45!important;color:#a7c3d3!important}

#page-space #spaceAgentLines{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  z-index:5!important;
  pointer-events:none!important;
}

#page-space #spaceAgentLines line{
  stroke:rgba(107,226,255,.94)!important;
  stroke-width:2!important;
  stroke-dasharray:9 8!important;
  animation:dashFlow 7s linear infinite!important;
}

#page-space #spaceAgentLines circle{
  fill:#dffbff!important;
  stroke:#62dcff!important;
  stroke-width:2!important;
  transform-box:fill-box!important;
  transform-origin:center!important;
  animation:spaceAgentPulse 1.8s ease-in-out infinite!important;
}

#page-space #spaceAgentLines text{
  fill:#e9fbff!important;
  font-size:11px!important;
  font-weight:800!important;
  paint-order:stroke!important;
  stroke:#03101d!important;
  stroke-width:4px!important;
}

@keyframes spaceAgentPulse{
  0%,100%{transform:scale(.82);opacity:.78}
  50%{transform:scale(1.35);opacity:1}
}

@media(max-width:1500px){
  #page-space .space-stage-focus{grid-template-columns:auto minmax(260px,.9fr) minmax(280px,1fr)!important;gap:12px!important}
  #page-space .space-callout{width:170px!important;max-width:170px!important;padding:9px 10px!important}
}

/* ===== v48 TokenMerge enterprise governance journey ===== */
#page-compute .compute-scene-card{
  grid-template-rows:auto minmax(620px,1fr)!important;
  min-height:760px!important;
}

#page-compute .compute-visual{
  min-height:620px!important;
  padding:54px 18px 18px!important;
  background:
    radial-gradient(circle at 50% 48%,rgba(57,201,255,.12),transparent 30%),
    linear-gradient(180deg,#03111e,#061827)!important;
}

#page-compute .compute-architecture{
  position:relative;
  z-index:2;
  height:100%;
  display:grid;
  grid-template-columns:minmax(220px,1.05fr) 78px minmax(290px,1.25fr) 78px minmax(230px,1.05fr);
  align-items:center;
  gap:10px;
}

#page-compute .compute-zone{
  position:relative;
  min-height:470px;
  padding:18px;
  border:1px solid rgba(91,198,250,.18);
  border-radius:20px;
  background:linear-gradient(180deg,rgba(7,29,49,.96),rgba(4,18,32,.9));
  box-shadow:inset 0 0 36px rgba(49,185,245,.04),0 18px 40px rgba(0,0,0,.13);
}

#page-compute .compute-zone-title span{display:block;font-size:10px;letter-spacing:.12em;color:#58d8ff}
#page-compute .compute-zone-title b{display:block;margin-top:6px;font-size:20px;color:#f3fbff}

#page-compute .enterprise-models{display:grid;gap:9px;margin-top:20px}
#page-compute .enterprise-models>div{
  display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:9px;
  padding:11px;border:1px solid rgba(91,190,235,.15);border-radius:12px;background:rgba(4,18,31,.68)
}
#page-compute .enterprise-models i{width:8px;height:8px;border-radius:50%;background:#58e1ff;box-shadow:0 0 12px #58e1ff}
#page-compute .enterprise-models span{font-size:12px;font-weight:800}
#page-compute .enterprise-models em{font-style:normal;font-size:9px;color:#7398ad}

#page-compute .enterprise-agents{display:grid;gap:9px;margin-top:18px;padding-top:18px;border-top:1px solid rgba(89,192,239,.12)}
#page-compute .enterprise-agents>div{
  display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 11px;border-radius:11px;
  background:linear-gradient(90deg,rgba(21,95,132,.3),rgba(5,23,39,.72));border:1px solid rgba(87,209,255,.17)
}
#page-compute .enterprise-agents b{font-size:11px}
#page-compute .enterprise-agents code{font:700 9px/1.2 ui-monospace,SFMono-Regular,monospace;color:#70f0d1;background:rgba(71,229,191,.08);padding:4px 6px;border-radius:6px}

#page-compute .compute-flow-bridge{position:relative;display:grid;gap:12px;align-content:center;text-align:center}
#page-compute .compute-flow-bridge span{font-size:9px;line-height:1.45;color:#85b8cc}
#page-compute .compute-flow-line{position:relative;height:2px;background:linear-gradient(90deg,rgba(83,218,255,.18),#59ddff,rgba(83,218,255,.18))}
#page-compute .compute-flow-line:after{content:'›';position:absolute;right:-4px;top:-13px;color:#89f1ff;font-size:22px}
#page-compute .compute-flow-line i{position:absolute;top:-3px;width:8px;height:8px;border-radius:50%;background:#c6fbff;box-shadow:0 0 13px #59ddff;animation:computePacket 2.4s linear infinite}
#page-compute .compute-flow-line i:nth-child(2){animation-delay:-.8s}
#page-compute .compute-flow-line i:nth-child(3){animation-delay:-1.6s}
@keyframes computePacket{from{left:0;opacity:0}15%,85%{opacity:1}to{left:100%;opacity:0}}

#page-compute .tokenmerge-zone{
  padding:22px;background:radial-gradient(circle at 50% 26%,rgba(76,221,255,.15),transparent 32%),linear-gradient(180deg,rgba(7,34,55,.98),rgba(5,20,35,.94));
  border-color:rgba(91,220,255,.34);box-shadow:inset 0 0 60px rgba(56,203,255,.08),0 0 35px rgba(46,181,239,.08)
}
#page-compute .tokenmerge-brand{text-align:center;padding-bottom:18px;border-bottom:1px solid rgba(100,213,255,.14)}
#page-compute .tokenmerge-brand>span{display:inline-flex;padding:5px 10px;border-radius:999px;background:rgba(80,221,255,.1);border:1px solid rgba(92,224,255,.2);font-size:9px;color:#74e6ff}
#page-compute .tokenmerge-brand>b{display:block;margin:10px 0 4px;font-size:30px;letter-spacing:-.02em;color:#f7fdff;text-shadow:0 0 22px rgba(84,225,255,.26)}
#page-compute .tokenmerge-brand p{margin:0;font-size:10px;color:#85a8ba}
#page-compute .tokenmerge-capabilities{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
#page-compute .tokenmerge-capabilities .cap{padding:13px;border-radius:13px;border:1px solid rgba(89,190,235,.13);background:rgba(4,18,31,.72);transition:.35s;opacity:.55}
#page-compute .tokenmerge-capabilities i{font-style:normal;font-size:9px;color:#62dcff}
#page-compute .tokenmerge-capabilities b{display:block;margin:6px 0 4px;font-size:13px}
#page-compute .tokenmerge-capabilities span{font-size:9px;line-height:1.45;color:#7293a7}
#page-compute[data-active-cap="proxy"] .cap.proxy,
#page-compute[data-active-cap="security"] .cap.security,
#page-compute[data-active-cap="token"] .cap.token,
#page-compute[data-active-cap="route"] .cap.route{
  opacity:1;border-color:rgba(91,225,255,.58);background:linear-gradient(180deg,rgba(13,91,126,.58),rgba(5,31,49,.86));box-shadow:0 0 24px rgba(62,207,255,.12),inset 0 0 22px rgba(72,221,255,.06);transform:translateY(-2px)
}

#page-compute .key-profile{margin-top:20px;padding:14px;border-radius:14px;background:rgba(4,18,31,.72);border:1px solid rgba(91,205,250,.18)}
#page-compute .key-profile>div{display:flex;align-items:center;justify-content:space-between;gap:8px}
#page-compute .key-profile span{font-size:9px;color:#7899ac}
#page-compute .key-profile b{font-size:13px}
#page-compute .key-profile code{display:block;margin:11px 0 8px;padding:8px;border-radius:8px;background:#03111e;color:#72f0d2;font:700 10px/1.2 ui-monospace,SFMono-Regular,monospace;border:1px solid rgba(77,235,197,.16)}
#page-compute .key-profile em{font-style:normal;font-size:9px;line-height:1.45;color:#75cbe5}
#page-compute .key-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}
#page-compute .key-metrics>div{padding:9px 7px;text-align:center;border-radius:10px;background:rgba(5,23,39,.72);border:1px solid rgba(83,178,224,.12)}
#page-compute .key-metrics span{display:block;font-size:8px;color:#7595a8}
#page-compute .key-metrics b{display:block;margin-top:5px;font-size:15px}
#page-compute .governance-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:14px}
#page-compute .governance-actions span{padding:8px;text-align:center;border-radius:9px;font-size:9px;color:#bdeeff;background:rgba(13,66,94,.34);border:1px solid rgba(82,203,250,.14)}

#page-compute[data-stage="1"] .enterprise-agents>div:nth-child(2),
#page-compute[data-stage="2"] .key-profile,
#page-compute[data-stage="3"] .governance-actions span:first-child,
#page-compute[data-stage="4"] .governance-actions span:nth-child(4),
#page-compute[data-stage="5"] .key-metrics,
#page-compute[data-stage="6"] .governance-actions span:nth-child(5){
  border-color:rgba(95,239,211,.62)!important;box-shadow:0 0 22px rgba(79,231,201,.13)!important
}

@media(max-width:1500px){
  #page-compute .compute-architecture{grid-template-columns:minmax(200px,1fr) 62px minmax(270px,1.2fr) 62px minmax(210px,1fr);gap:8px}
  #page-compute .compute-zone{padding:15px}
  #page-compute .compute-zone-title b{font-size:17px}
  #page-compute .tokenmerge-brand>b{font-size:26px}
  #page-compute .enterprise-models em{display:none}
}

/* ===== v49 cinematic investor-demo skin ===== */
#page-compute .compute-scene-card{
  border-color:rgba(72,211,255,.38)!important;
  box-shadow:0 0 0 1px rgba(72,211,255,.06),0 26px 70px rgba(0,0,0,.34),inset 0 0 80px rgba(45,174,255,.05)!important;
}

#page-compute .compute-visual{
  isolation:isolate;
  perspective:1400px;
  border-color:rgba(87,219,255,.36)!important;
  background:
    radial-gradient(ellipse at 50% 48%,rgba(33,210,255,.2) 0,rgba(25,103,211,.1) 24%,transparent 55%),
    radial-gradient(circle at 16% 42%,rgba(93,74,255,.15),transparent 28%),
    radial-gradient(circle at 86% 62%,rgba(0,255,196,.12),transparent 30%),
    linear-gradient(180deg,#020914 0%,#031427 54%,#061d31 100%)!important;
  box-shadow:inset 0 0 110px rgba(34,160,255,.12),inset 0 -90px 120px rgba(0,0,0,.24)!important;
}

#page-compute .compute-visual:before{
  content:'';position:absolute;left:-12%;right:-12%;bottom:-38%;height:76%;z-index:0;
  background:
    linear-gradient(rgba(78,213,255,.11) 1px,transparent 1px),
    linear-gradient(90deg,rgba(78,213,255,.11) 1px,transparent 1px);
  background-size:42px 42px;transform:perspective(620px) rotateX(63deg);transform-origin:center top;
  mask-image:linear-gradient(to bottom,transparent,rgba(0,0,0,.9) 22%,transparent 82%);
  animation:computeGridMove 8s linear infinite;
}

#page-compute .compute-visual:after{
  content:'';position:absolute;inset:0;z-index:8;pointer-events:none;border-radius:18px;
  background:linear-gradient(110deg,transparent 22%,rgba(165,244,255,.06) 42%,rgba(255,255,255,.14) 49%,rgba(100,225,255,.05) 56%,transparent 72%);
  transform:translateX(-120%);animation:computeGlassSweep 7s ease-in-out infinite;
}

@keyframes computeGridMove{to{background-position:0 84px,84px 0}}
@keyframes computeGlassSweep{0%,58%{transform:translateX(-120%)}82%,100%{transform:translateX(120%)}}

#page-compute .compute-cinematic-fx{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
#page-compute .compute-cinematic-fx>span{position:absolute;width:4px;height:4px;border-radius:50%;background:#c9fbff;box-shadow:0 0 7px #77eaff,0 0 18px #47cfff;animation:computeFloat 6s ease-in-out infinite}
#page-compute .compute-cinematic-fx>span:nth-child(1){left:8%;top:18%;animation-delay:-1s}
#page-compute .compute-cinematic-fx>span:nth-child(2){left:15%;top:72%;animation-delay:-3.2s}
#page-compute .compute-cinematic-fx>span:nth-child(3){left:29%;top:24%;animation-delay:-4.4s}
#page-compute .compute-cinematic-fx>span:nth-child(4){left:36%;top:82%;animation-delay:-2.1s}
#page-compute .compute-cinematic-fx>span:nth-child(5){left:46%;top:16%;animation-delay:-5.1s}
#page-compute .compute-cinematic-fx>span:nth-child(6){left:53%;top:76%;animation-delay:-.8s}
#page-compute .compute-cinematic-fx>span:nth-child(7){left:62%;top:27%;animation-delay:-2.8s}
#page-compute .compute-cinematic-fx>span:nth-child(8){left:71%;top:84%;animation-delay:-4.7s}
#page-compute .compute-cinematic-fx>span:nth-child(9){left:79%;top:18%;animation-delay:-1.7s}
#page-compute .compute-cinematic-fx>span:nth-child(10){left:88%;top:68%;animation-delay:-3.7s}
#page-compute .compute-cinematic-fx>span:nth-child(11){left:94%;top:34%;animation-delay:-5.5s}
#page-compute .compute-cinematic-fx>span:nth-child(12){left:5%;top:48%;animation-delay:-.3s}
#page-compute .scan-beam{position:absolute;left:0;right:0;top:12%;height:1px;background:linear-gradient(90deg,transparent,rgba(98,235,255,.1),#9cf4ff,rgba(98,235,255,.1),transparent);box-shadow:0 0 24px rgba(74,220,255,.6);animation:computeScan 5.8s ease-in-out infinite}
#page-compute .horizon-glow{position:absolute;left:15%;right:15%;top:50%;height:100px;background:radial-gradient(ellipse,rgba(51,197,255,.16),transparent 68%);filter:blur(18px);animation:computeHorizon 3.5s ease-in-out infinite}
@keyframes computeFloat{0%,100%{transform:translate(0,0) scale(.7);opacity:.25}50%{transform:translate(18px,-22px) scale(1.45);opacity:1}}
@keyframes computeScan{0%{top:9%;opacity:0}18%{opacity:1}82%{opacity:.75}100%{top:91%;opacity:0}}
@keyframes computeHorizon{50%{transform:scale(1.16);opacity:.65}}

#page-compute .compute-architecture{transform-style:preserve-3d}
#page-compute .compute-zone{
  overflow:hidden;
  border-color:rgba(98,219,255,.27);
  background:linear-gradient(145deg,rgba(10,38,64,.9),rgba(4,17,31,.84) 62%,rgba(8,32,52,.9));
  box-shadow:0 24px 55px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.08),inset 0 0 40px rgba(55,199,255,.06);
  backdrop-filter:blur(14px);
  transition:transform .35s,box-shadow .35s,border-color .35s;
}
#page-compute .compute-zone:before{content:'';position:absolute;left:12px;right:12px;top:0;height:2px;background:linear-gradient(90deg,transparent,#57e5ff,#7fffd7,transparent);box-shadow:0 0 16px #54dcff;animation:zoneRail 3.2s ease-in-out infinite}
#page-compute .compute-zone:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.055),transparent 25%,transparent 76%,rgba(77,214,255,.035))}
#page-compute .enterprise-zone{transform:rotateY(4deg) translateZ(8px);border-color:rgba(99,171,255,.3)}
#page-compute .governance-zone{transform:rotateY(-4deg) translateZ(8px);border-color:rgba(73,247,208,.28)}
@keyframes zoneRail{0%,100%{opacity:.35;transform:scaleX(.55)}50%{opacity:1;transform:scaleX(1)}}

#page-compute .compute-zone-title span{color:#70eaff;text-shadow:0 0 12px rgba(75,218,255,.5)}
#page-compute .compute-zone-title b{font-size:22px;text-shadow:0 3px 16px rgba(0,0,0,.5)}

#page-compute .enterprise-models>div{
  position:relative;background:linear-gradient(90deg,rgba(7,30,51,.92),rgba(15,57,84,.54));
  border-color:rgba(91,214,255,.23);box-shadow:inset 3px 0 rgba(75,219,255,.55);transition:.3s
}
#page-compute .enterprise-models>div:after{content:'';position:absolute;right:10px;bottom:6px;width:34px;height:2px;background:linear-gradient(90deg,transparent,#65e6ff);opacity:.55}
#page-compute .enterprise-models i{animation:modelPulse 1.8s ease-in-out infinite}
#page-compute .enterprise-models>div:nth-child(2) i{animation-delay:-.6s}
#page-compute .enterprise-models>div:nth-child(3) i{animation-delay:-1.2s}
@keyframes modelPulse{50%{transform:scale(1.65);box-shadow:0 0 0 6px rgba(88,225,255,.08),0 0 20px #58e1ff}}

#page-compute .enterprise-agents>div{position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(23,91,131,.46),rgba(8,34,57,.86));box-shadow:inset 0 0 18px rgba(54,203,255,.04)}
#page-compute .enterprise-agents>div:before{content:'';position:absolute;left:-40%;top:0;width:32%;height:100%;background:linear-gradient(90deg,transparent,rgba(126,244,255,.18),transparent);animation:agentSweep 3.6s linear infinite}
#page-compute .enterprise-agents>div:nth-child(2):before{animation-delay:-1.2s}
#page-compute .enterprise-agents>div:nth-child(3):before{animation-delay:-2.4s}
@keyframes agentSweep{to{left:130%}}
#page-compute .enterprise-agents code{box-shadow:0 0 14px rgba(71,229,191,.14);text-shadow:0 0 8px rgba(86,255,215,.5)}

#page-compute .compute-flow-bridge span{color:#b5e9f5;text-shadow:0 0 12px rgba(75,218,255,.45)}
#page-compute .compute-flow-line{height:3px;box-shadow:0 0 13px rgba(69,220,255,.42)}
#page-compute .compute-flow-line:before{content:'';position:absolute;left:0;right:0;top:-8px;height:18px;background:radial-gradient(ellipse,rgba(62,210,255,.16),transparent 66%);animation:flowBreathe 1.8s ease-in-out infinite}
@keyframes flowBreathe{50%{transform:scaleY(1.65);opacity:.45}}

#page-compute .tokenmerge-zone{
  overflow:visible;transform:translateZ(30px) scale(1.02);
  background:radial-gradient(circle at 50% 16%,rgba(86,235,255,.2),transparent 28%),linear-gradient(160deg,rgba(7,39,64,.97),rgba(3,17,31,.94));
  border-color:rgba(110,239,255,.54);box-shadow:0 0 0 1px rgba(96,232,255,.08),0 0 65px rgba(28,173,255,.22),inset 0 0 70px rgba(62,212,255,.1)
}
#page-compute .tokenmerge-zone:before{left:20px;right:20px;background:linear-gradient(90deg,transparent,#7aeaff,#a7ffe8,#7aeaff,transparent);height:3px}
#page-compute .tokenmerge-zone>*:not(.tokenmerge-hologram){position:relative;z-index:3}

#page-compute .tokenmerge-hologram{position:absolute;left:50%;top:90px;width:250px;height:250px;transform:translateX(-50%);z-index:0;pointer-events:none;opacity:.58}
#page-compute .tokenmerge-hologram i{position:absolute;inset:0;border:1px solid rgba(101,228,255,.28);border-radius:50%;box-shadow:0 0 30px rgba(71,212,255,.1),inset 0 0 28px rgba(71,212,255,.08);animation:holoSpin 12s linear infinite}
#page-compute .tokenmerge-hologram i:nth-child(2){inset:26px;border-style:dashed;border-color:rgba(105,255,216,.38);animation-direction:reverse;animation-duration:8s}
#page-compute .tokenmerge-hologram i:nth-child(3){inset:54px;border-width:2px;border-color:rgba(122,176,255,.34);animation-duration:5.5s}
#page-compute .tokenmerge-hologram em{position:absolute;left:50%;top:50%;width:12px;height:12px;border-radius:50%;background:#bafcff;box-shadow:0 0 0 12px rgba(79,225,255,.06),0 0 35px #68eaff;transform:translate(-50%,-50%);animation:holoCore 2s ease-in-out infinite}
@keyframes holoSpin{to{transform:rotate(360deg)}}
@keyframes holoCore{50%{transform:translate(-50%,-50%) scale(1.55);box-shadow:0 0 0 22px rgba(79,225,255,.03),0 0 52px #68eaff}}

#page-compute .tokenmerge-brand>b{
  font-size:36px;background:linear-gradient(180deg,#fff 8%,#c9f8ff 48%,#68deff 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 14px rgba(91,225,255,.45));letter-spacing:-.03em
}
#page-compute .tokenmerge-brand>span{color:#c9fbff;box-shadow:0 0 18px rgba(72,218,255,.12);animation:onlinePulse 2.1s ease-in-out infinite}
@keyframes onlinePulse{50%{border-color:rgba(91,239,214,.72);box-shadow:0 0 24px rgba(71,233,201,.24)}}

#page-compute .tokenmerge-capabilities .cap{position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(6,24,41,.9),rgba(9,40,62,.72));border-color:rgba(88,203,250,.19)}
#page-compute .cap.proxy i{color:#6ce9ff}
#page-compute .cap.security i{color:#ffae75}
#page-compute .cap.token i{color:#c2a4ff}
#page-compute .cap.route i{color:#6dffd0}
#page-compute[data-active-cap="proxy"] .cap.proxy,
#page-compute[data-active-cap="security"] .cap.security,
#page-compute[data-active-cap="token"] .cap.token,
#page-compute[data-active-cap="route"] .cap.route{
  border-color:rgba(108,242,255,.88);background:linear-gradient(145deg,rgba(14,121,161,.72),rgba(5,42,66,.94));
  box-shadow:0 0 30px rgba(59,216,255,.3),inset 0 0 28px rgba(95,236,255,.12);animation:capActive 1.7s ease-in-out infinite
}
#page-compute[data-active-cap="proxy"] .cap.proxy:after,
#page-compute[data-active-cap="security"] .cap.security:after,
#page-compute[data-active-cap="token"] .cap.token:after,
#page-compute[data-active-cap="route"] .cap.route:after{content:'';position:absolute;inset:-60% -30%;background:linear-gradient(110deg,transparent 42%,rgba(255,255,255,.18) 50%,transparent 58%);animation:capSweep 2.6s linear infinite}
@keyframes capActive{50%{box-shadow:0 0 42px rgba(59,216,255,.42),inset 0 0 34px rgba(95,236,255,.18)}}
@keyframes capSweep{to{transform:translateX(80%)}}
#page-compute[data-active-cap="security"] .cap.security{border-color:rgba(255,163,104,.92);background:linear-gradient(145deg,rgba(139,66,36,.72),rgba(48,24,35,.94));box-shadow:0 0 34px rgba(255,129,76,.3),inset 0 0 28px rgba(255,174,117,.12)}
#page-compute[data-active-cap="token"] .cap.token{border-color:rgba(197,163,255,.92);background:linear-gradient(145deg,rgba(91,66,153,.76),rgba(31,28,66,.94));box-shadow:0 0 34px rgba(170,126,255,.3),inset 0 0 28px rgba(202,172,255,.12)}
#page-compute[data-active-cap="route"] .cap.route{border-color:rgba(100,255,207,.92);background:linear-gradient(145deg,rgba(22,119,94,.76),rgba(8,50,48,.94));box-shadow:0 0 34px rgba(67,244,191,.3),inset 0 0 28px rgba(117,255,216,.12)}

#page-compute .key-profile{position:relative;overflow:hidden;border-color:rgba(82,241,205,.3);background:linear-gradient(145deg,rgba(6,29,43,.9),rgba(5,21,36,.92));box-shadow:inset 0 0 24px rgba(60,239,198,.05)}
#page-compute .key-profile:after{content:'';position:absolute;left:0;right:0;top:-20%;height:36px;background:linear-gradient(180deg,transparent,rgba(89,255,216,.13),transparent);animation:keyScan 3s linear infinite}
@keyframes keyScan{to{top:110%}}
#page-compute .key-profile code{color:#94ffe4;text-shadow:0 0 12px rgba(77,255,210,.56);box-shadow:0 0 20px rgba(65,232,193,.09)}
#page-compute .key-metrics>div{background:linear-gradient(180deg,rgba(6,30,48,.88),rgba(4,19,32,.9));border-color:rgba(82,219,255,.2)}
#page-compute .key-metrics b{color:#fff;text-shadow:0 0 12px rgba(99,226,255,.4)}
#page-compute .governance-actions span{position:relative;overflow:hidden;color:#c9f8ff;background:linear-gradient(135deg,rgba(12,73,103,.52),rgba(6,31,50,.82));border-color:rgba(83,219,255,.25);box-shadow:inset 0 0 14px rgba(64,211,255,.04)}
#page-compute .governance-actions span:before{content:'';position:absolute;left:-60%;top:0;width:36%;height:100%;background:linear-gradient(90deg,transparent,rgba(117,243,255,.15),transparent);animation:governSweep 5s linear infinite}
#page-compute .governance-actions span:nth-child(2):before{animation-delay:-.8s}.governance-actions span:nth-child(3):before{animation-delay:-1.6s}.governance-actions span:nth-child(4):before{animation-delay:-2.4s}.governance-actions span:nth-child(5):before{animation-delay:-3.2s}.governance-actions span:nth-child(6):before{animation-delay:-4s}
@keyframes governSweep{to{left:140%}}

#page-compute[data-stage="1"] .enterprise-agents>div:nth-child(2),
#page-compute[data-stage="2"] .key-profile,
#page-compute[data-stage="3"] .governance-actions span:first-child,
#page-compute[data-stage="4"] .governance-actions span:nth-child(4),
#page-compute[data-stage="5"] .key-metrics,
#page-compute[data-stage="6"] .governance-actions span:nth-child(5){
  animation:investorFocus 1.55s ease-in-out infinite!important;
}
@keyframes investorFocus{50%{transform:translateY(-3px) scale(1.025);box-shadow:0 0 34px rgba(79,255,213,.34)!important}}

#page-compute .demo-stage-tab{position:relative;overflow:hidden;border-color:rgba(76,193,244,.2)!important;background:linear-gradient(180deg,rgba(5,24,42,.94),rgba(3,15,28,.9))!important;box-shadow:inset 0 1px rgba(255,255,255,.035)}
#page-compute .demo-stage-tab:after{content:'';position:absolute;left:-40%;right:auto;bottom:0;width:40%;height:2px;background:linear-gradient(90deg,transparent,#72e8ff,transparent);animation:tabRail 3.6s linear infinite}
#page-compute .demo-stage-tab.active{border-color:rgba(91,230,255,.84)!important;background:linear-gradient(180deg,rgba(13,126,177,.95),rgba(5,50,78,.95))!important;box-shadow:0 0 26px rgba(49,205,255,.2),inset 0 0 26px rgba(101,237,255,.08)!important}
@keyframes tabRail{to{left:110%}}

/* ===== v50 TokenMerge orbital network showpiece ===== */
#page-compute .compute-visual{padding:18px!important;min-height:650px!important}
#page-compute .compute-scene-card{grid-template-rows:auto minmax(650px,1fr)!important}
#page-compute .compute-architecture{position:relative!important;display:block!important;width:100%;height:100%;min-height:612px;transform:none!important;z-index:2}

#page-compute .compute-network-lines{position:absolute;inset:0;width:100%;height:100%;z-index:1;overflow:visible;pointer-events:none}
#page-compute .compute-network-lines path{fill:none;stroke-width:1.8;stroke-dasharray:8 9;animation:networkDash 7s linear infinite}
#page-compute .agent-beams path{stroke:url(#agentBeam);opacity:.62}
#page-compute .model-beams path{stroke:url(#modelBeam);opacity:.68;animation-direction:reverse}
#page-compute .orbit-links ellipse{fill:none;stroke:rgba(91,225,255,.16);stroke-width:1.2;stroke-dasharray:4 10;transform-origin:500px 284px;animation:networkOrbit 18s linear infinite}
#page-compute .orbit-links ellipse:nth-child(2){stroke:rgba(138,117,255,.22);animation-direction:reverse;animation-duration:12s}
@keyframes networkDash{to{stroke-dashoffset:-170}}
@keyframes networkOrbit{to{transform:rotate(360deg)}}

#page-compute .compute-network-status{position:absolute;left:50%;top:4px;transform:translateX(-50%);z-index:8;display:flex;align-items:center;gap:9px;padding:7px 13px;border-radius:999px;background:rgba(4,20,35,.8);border:1px solid rgba(92,222,255,.25);box-shadow:0 0 22px rgba(63,207,255,.12);backdrop-filter:blur(10px)}
#page-compute .compute-network-status i{width:7px;height:7px;border-radius:50%;background:#6dffd0;box-shadow:0 0 13px #6dffd0;animation:liveNode 1.2s ease-in-out infinite}
#page-compute .compute-network-status span{font-size:10px;color:#d4f8ff;white-space:nowrap}
#page-compute .compute-network-status em{font-style:normal;font-size:8px;letter-spacing:.12em;color:#62e7ff;padding-left:9px;border-left:1px solid rgba(99,219,255,.18)}
@keyframes liveNode{50%{transform:scale(1.6);opacity:.58}}

#page-compute .agent-constellation,#page-compute .model-constellation,#page-compute .tokenmerge-orbital-core{position:absolute;top:0;bottom:0;z-index:3}
#page-compute .agent-constellation{left:0;width:31%}
#page-compute .tokenmerge-orbital-core{left:30%;width:40%}
#page-compute .model-constellation{right:0;width:31%}
#page-compute .network-cluster-title{position:absolute;top:42px;left:14px;right:14px;text-align:left}
#page-compute .model-constellation .network-cluster-title{text-align:right}
#page-compute .network-cluster-title span{display:block;font-size:9px;letter-spacing:.15em;color:#8f86ff;text-shadow:0 0 12px rgba(140,119,255,.6)}
#page-compute .model-constellation .network-cluster-title span{color:#62f0d0;text-shadow:0 0 12px rgba(91,255,210,.5)}
#page-compute .network-cluster-title b{display:block;margin-top:5px;font-size:19px;color:#f5fbff}
#page-compute .network-cluster-title em{display:block;margin-top:4px;font-style:normal;font-size:9px;color:#708fa2}

#page-compute .agent-node{position:absolute;z-index:4;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:8px;width:164px;padding:8px 9px;border-radius:13px;background:linear-gradient(135deg,rgba(30,28,73,.92),rgba(7,24,43,.88));border:1px solid rgba(152,128,255,.32);box-shadow:0 10px 26px rgba(0,0,0,.22),inset 0 0 18px rgba(145,118,255,.06);animation:agentNodeFloat 4s ease-in-out infinite}
#page-compute .agent-node:after{content:'';position:absolute;right:-7px;top:50%;width:12px;height:12px;border-radius:50%;background:#a490ff;box-shadow:0 0 0 5px rgba(154,128,255,.08),0 0 18px #8e75ff;transform:translateY(-50%);animation:liveNode 1.7s ease-in-out infinite}
#page-compute .agent-node i{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;font-style:normal;font-size:12px;font-weight:900;color:#f7f2ff;background:linear-gradient(135deg,rgba(155,126,255,.52),rgba(71,181,255,.28));border:1px solid rgba(190,174,255,.3)}
#page-compute .agent-node b{font-size:10px;white-space:nowrap}
#page-compute .agent-node code{font:700 8px/1 ui-monospace,SFMono-Regular,monospace;color:#aef7ff}
#page-compute .agent-node.n1{left:12%;top:15%;animation-delay:-.3s}#page-compute .agent-node.n2{left:0;top:28%;animation-delay:-1.1s}#page-compute .agent-node.n3{left:18%;top:41%;animation-delay:-2.2s}#page-compute .agent-node.n4{left:4%;top:54%;animation-delay:-3.1s}#page-compute .agent-node.n5{left:18%;top:67%;animation-delay:-1.7s}#page-compute .agent-node.n6{left:1%;top:80%;animation-delay:-2.7s}#page-compute .agent-node.n7{left:47%;top:88%;width:130px;opacity:.75}
@keyframes agentNodeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}

#page-compute .model-node{position:absolute;z-index:4;right:4%;width:176px;padding:10px 11px 10px 38px;border-radius:12px;background:linear-gradient(135deg,rgba(8,49,57,.94),rgba(5,24,41,.88));border:1px solid rgba(92,247,210,.28);box-shadow:0 10px 26px rgba(0,0,0,.22),inset 0 0 18px rgba(75,242,199,.05);animation:modelNodeFloat 4.8s ease-in-out infinite}
#page-compute .model-node:before{content:'';position:absolute;left:-7px;top:50%;width:12px;height:12px;border-radius:50%;background:#63ffd0;box-shadow:0 0 0 5px rgba(94,255,210,.07),0 0 18px #58f3c7;transform:translateY(-50%);animation:liveNode 1.8s ease-in-out infinite}
#page-compute .model-node i{position:absolute;left:11px;top:50%;width:17px;height:23px;transform:translateY(-50%);border:1px solid rgba(126,255,221,.48);border-radius:4px;background:repeating-linear-gradient(180deg,rgba(104,255,216,.35) 0 2px,transparent 2px 5px);box-shadow:0 0 12px rgba(82,244,198,.18)}
#page-compute .model-node b{display:block;font-size:10px}
#page-compute .model-node span{display:block;margin-top:3px;font-size:7px;letter-spacing:.12em;color:#67d9bf}
#page-compute .model-node.m1{top:15%;right:12%;animation-delay:-.4s}#page-compute .model-node.m2{top:27%;right:0;animation-delay:-1.2s}#page-compute .model-node.m3{top:39%;right:18%;animation-delay:-2.1s}#page-compute .model-node.m4{top:52%;right:1%;animation-delay:-3.2s}#page-compute .model-node.m5{top:65%;right:18%;animation-delay:-1.8s}#page-compute .model-node.m6{top:77%;right:2%;animation-delay:-2.8s}#page-compute .model-node.m7{top:88%;right:34%;animation-delay:-3.7s}
@keyframes modelNodeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}

#page-compute .tokenmerge-sphere{position:absolute;left:50%;top:50%;width:190px;height:190px;transform:translate(-50%,-50%);z-index:6;display:grid;align-content:center;justify-items:center;text-align:center;border-radius:50%;background:radial-gradient(circle at 36% 28%,rgba(255,255,255,.22),rgba(76,218,255,.18) 14%,rgba(14,74,108,.92) 46%,rgba(4,24,43,.98) 72%);border:2px solid rgba(116,241,255,.7);box-shadow:0 0 0 12px rgba(79,218,255,.035),0 0 75px rgba(47,208,255,.42),inset 0 0 60px rgba(107,236,255,.2);animation:sphereBreathe 2.8s ease-in-out infinite}
#page-compute .tokenmerge-sphere:before{content:'';position:absolute;inset:9px;border-radius:50%;border:1px solid rgba(176,250,255,.22)}
#page-compute .tokenmerge-sphere span{font-size:8px;letter-spacing:.13em;color:#94f1ff}
#page-compute .tokenmerge-sphere b{display:block;margin:8px 0;font-size:31px;line-height:.82;letter-spacing:-.06em;background:linear-gradient(180deg,#fff,#9beaff);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 13px rgba(93,226,255,.55))}
#page-compute .tokenmerge-sphere em{max-width:132px;font-style:normal;font-size:8px;line-height:1.35;color:#b4dce9}
@keyframes sphereBreathe{50%{box-shadow:0 0 0 20px rgba(79,218,255,.018),0 0 95px rgba(47,208,255,.58),inset 0 0 74px rgba(107,236,255,.26);transform:translate(-50%,-50%) scale(1.035)}}

#page-compute .core-energy-ring{position:absolute;left:50%;top:50%;border-radius:50%;border:1px solid rgba(91,225,255,.32);transform:translate(-50%,-50%);filter:drop-shadow(0 0 8px rgba(71,207,255,.28));animation:coreRingSpin 15s linear infinite}
#page-compute .core-energy-ring.r1{width:270px;height:270px;border-style:dashed}
#page-compute .core-energy-ring.r2{width:340px;height:245px;border-color:rgba(158,127,255,.3);animation-direction:reverse;animation-duration:11s}
#page-compute .core-energy-ring.r3{width:390px;height:330px;border-color:rgba(83,255,210,.18);border-style:dotted;animation-duration:20s}
@keyframes coreRingSpin{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}
#page-compute .core-spark{position:absolute;left:50%;top:50%;width:8px;height:8px;border-radius:50%;background:#d8fcff;box-shadow:0 0 15px #69e4ff;z-index:7;animation:coreSparkOrbit 6s linear infinite}
#page-compute .core-spark.s2{animation-delay:-1.5s;animation-duration:7.5s;background:#9b83ff}#page-compute .core-spark.s3{animation-delay:-3s;animation-duration:9s;background:#65ffd1}#page-compute .core-spark.s4{animation-delay:-4.5s;animation-duration:11s;background:#ffb16f}
@keyframes coreSparkOrbit{from{transform:rotate(0) translateX(155px) rotate(0)}to{transform:rotate(360deg) translateX(155px) rotate(-360deg)}}

#page-compute .control-node{position:absolute;z-index:8;display:flex;align-items:center;gap:6px;padding:7px 9px;border-radius:999px;background:rgba(5,22,39,.9);border:1px solid rgba(99,215,255,.26);box-shadow:0 8px 20px rgba(0,0,0,.22);backdrop-filter:blur(8px);transition:.3s}
#page-compute .control-node i{font-style:normal;color:#69e7ff;font-size:10px}#page-compute .control-node b{font-size:9px;white-space:nowrap}
#page-compute .control-node.auth{left:12%;top:25%}#page-compute .control-node.security{left:7%;top:45%}#page-compute .control-node.policy{left:15%;top:67%}#page-compute .control-node.meter{right:13%;top:25%}#page-compute .control-node.isolate{right:7%;top:45%}#page-compute .control-node.route{right:15%;top:67%}#page-compute .control-node.trace{left:38%;top:12%}#page-compute .control-node.aggregate{left:38%;bottom:10%}
#page-compute[data-active-cap="proxy"] .control-node.aggregate,
#page-compute[data-active-cap="security"] .control-node.auth,
#page-compute[data-active-cap="security"] .control-node.security,
#page-compute[data-active-cap="security"] .control-node.policy,
#page-compute[data-active-cap="security"] .control-node.isolate,
#page-compute[data-active-cap="token"] .control-node.meter,
#page-compute[data-active-cap="token"] .control-node.trace,
#page-compute[data-active-cap="route"] .control-node.route{border-color:#83f5ff;box-shadow:0 0 24px rgba(83,226,255,.5);transform:scale(1.09);background:linear-gradient(135deg,rgba(18,107,142,.96),rgba(5,39,62,.96));animation:controlPulse 1.4s ease-in-out infinite}
@keyframes controlPulse{50%{box-shadow:0 0 36px rgba(83,226,255,.72)}}

@media(max-width:1500px){
  #page-compute .agent-node{width:148px}#page-compute .model-node{width:158px!important}
  #page-compute .tokenmerge-sphere{width:170px;height:170px}
  #page-compute .core-energy-ring.r3{width:340px;height:310px}
  #page-compute .network-cluster-title b{font-size:17px}
}

/* ===== v51 Space Mission OS · investor-grade 3D command theater ===== */
#page-space{background:radial-gradient(circle at 58% 35%,rgba(16,57,105,.17),transparent 35%),#010611}
#page-space .space-headbar{position:relative;overflow:hidden;background:linear-gradient(110deg,rgba(5,20,38,.96),rgba(4,14,29,.92))}
#page-space .space-headbar:after{content:'';position:absolute;left:24%;right:-10%;bottom:0;height:1px;background:linear-gradient(90deg,transparent,#5be5ff,transparent);box-shadow:0 0 20px #43cfff;animation:spaceHeaderScan 5s linear infinite}
#page-space .space-headbar h1{letter-spacing:-.03em;text-shadow:0 0 30px rgba(79,213,255,.18)}
@keyframes spaceHeaderScan{from{transform:translateX(-70%)}to{transform:translateX(70%)}}

#page-space .space-scene-card{grid-template-rows:auto auto minmax(620px,1fr)!important;min-height:860px!important;padding:12px!important;border-color:rgba(90,207,255,.21)!important;background:linear-gradient(180deg,rgba(3,13,27,.98),rgba(2,8,18,.99))!important;box-shadow:inset 0 0 100px rgba(40,140,230,.06),0 30px 80px rgba(0,0,0,.25)!important}
#page-space .space-visual{min-height:620px!important;border-radius:20px!important;background:#010711!important;border-color:rgba(88,211,255,.24)!important;box-shadow:inset 0 0 100px rgba(25,111,198,.11),0 18px 50px rgba(0,0,0,.3)!important}
#page-space #spaceCanvas{filter:none!important}

#page-space .demo-stage-tab{position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(7,25,44,.96),rgba(3,14,27,.96))!important;border-color:rgba(75,164,213,.18)!important}
#page-space .demo-stage-tab:after{content:'';position:absolute;left:10px;right:10px;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(89,223,255,.8),transparent);opacity:.35}
#page-space .demo-stage-tab.active{border-color:rgba(98,231,255,.78)!important;background:linear-gradient(180deg,rgba(8,111,158,.9),rgba(4,43,69,.96))!important;box-shadow:0 0 28px rgba(44,206,255,.18),inset 0 0 24px rgba(82,225,255,.08)!important}

#page-space .space-stage-focus{background:linear-gradient(90deg,rgba(5,31,50,.97),rgba(4,18,33,.94))!important;border-color:rgba(88,218,255,.24)!important}
#page-space .space-stage-focus span{color:#83efff!important;border-color:rgba(86,230,255,.35)!important;background:rgba(39,171,208,.12)!important}

#page-space .space-corner-label{display:flex!important;align-items:center!important;gap:8px!important;top:14px!important;right:16px!important;font:700 9px/1.2 ui-monospace,SFMono-Regular,monospace!important;letter-spacing:.13em!important;color:#bdefff!important}
#page-space .space-corner-label i{width:7px;height:7px;border-radius:50%;background:#5fffd1;box-shadow:0 0 12px #5fffd1;animation:spaceLive 1.25s ease-in-out infinite}
@keyframes spaceLive{50%{transform:scale(1.55);opacity:.55}}

#page-space .space-reticle{position:absolute;left:50%;top:42%;width:290px;height:290px;transform:translate(-50%,-50%);border:1px solid rgba(91,220,255,.10);border-radius:50%;z-index:2;pointer-events:none;animation:reticleSpin 24s linear infinite}
#page-space .space-reticle:before,#page-space .space-reticle:after{content:'';position:absolute;border-radius:50%;inset:24px;border:1px dashed rgba(85,218,255,.11)}
#page-space .space-reticle:after{inset:72px;border-style:solid;border-color:rgba(105,238,255,.12)}
#page-space .space-reticle i{position:absolute;width:18px;height:18px;border-color:rgba(107,232,255,.34);border-style:solid}
#page-space .space-reticle i:nth-child(1){left:-1px;top:-1px;border-width:1px 0 0 1px}#page-space .space-reticle i:nth-child(2){right:-1px;top:-1px;border-width:1px 1px 0 0}#page-space .space-reticle i:nth-child(3){right:-1px;bottom:-1px;border-width:0 1px 1px 0}#page-space .space-reticle i:nth-child(4){left:-1px;bottom:-1px;border-width:0 0 1px 1px}
@keyframes reticleSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}

#page-space .space-telemetry{position:absolute;left:50%;top:16px;transform:translateX(-50%);display:flex;z-index:7;background:rgba(2,13,25,.72);border:1px solid rgba(90,208,255,.18);border-radius:11px;backdrop-filter:blur(12px);overflow:hidden}
#page-space .space-telemetry>div{display:grid;grid-template-columns:auto auto;column-gap:5px;align-items:baseline;min-width:98px;padding:8px 12px;border-right:1px solid rgba(88,195,244,.12)}
#page-space .space-telemetry>div:last-child{border:0}.space-telemetry span{grid-column:1/-1;font:700 7px/1 ui-monospace,monospace;letter-spacing:.14em;color:#5f91aa}.space-telemetry b{font:700 15px/1.2 ui-monospace,monospace;color:#eaffff;text-shadow:0 0 12px rgba(93,228,255,.5)}.space-telemetry em{font:700 7px/1 ui-monospace,monospace;color:#65cfe9}
#page-space .space-twin-status{position:absolute;left:50%;top:76px;transform:translateX(-50%);z-index:7;text-align:center;padding:7px 12px;border-radius:10px;background:rgba(3,16,30,.62);border:1px solid rgba(105,230,255,.14);backdrop-filter:blur(9px)}
#page-space .space-twin-status>span{display:block;font:700 7px/1 ui-monospace,monospace;letter-spacing:.16em;color:#6694ab;margin-bottom:5px}.space-twin-status b{font-size:9px;color:#b9dce9}.space-twin-status b i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#5fffd1;box-shadow:0 0 9px #5fffd1;margin-right:6px}.space-twin-status em{font-style:normal;color:#70f8d5}

#page-space .space-callout{width:186px!important;max-width:186px!important;min-height:92px!important;padding:10px 11px!important;border-color:rgba(89,215,255,.22)!important;background:linear-gradient(135deg,rgba(4,23,40,.88),rgba(3,13,25,.74))!important;box-shadow:0 15px 30px rgba(0,0,0,.28),inset 0 0 20px rgba(65,218,255,.04)!important}
#page-space .space-callout:before{content:'';position:absolute;top:10px;bottom:10px;width:2px;background:linear-gradient(transparent,#65e7ff,transparent);box-shadow:0 0 9px #4fdcff}
#page-space .space-callout.left:before{right:-1px}#page-space .space-callout.right:before{left:-1px}
#page-space .space-callout.left.a{left:16px!important;top:94px!important}#page-space .space-callout.left.b{left:16px!important;bottom:158px!important}#page-space .space-callout.right.a{right:16px!important;top:94px!important}#page-space .space-callout.right.b{right:16px!important;bottom:158px!important}
#page-space .space-callout span{color:#72e9ff!important;background:rgba(20,137,176,.16)!important;border:1px solid rgba(85,218,255,.2)!important}
#page-space .space-callout b{font-size:12px!important;color:#f4fbff!important}.space-callout p{color:#89aabd!important}

#page-space .space-ontology{position:absolute;z-index:8;left:14px;right:14px;bottom:12px;height:132px;display:grid;grid-template-columns:160px minmax(0,1fr) 248px;align-items:center;gap:12px;padding:12px 14px;border:1px solid rgba(97,215,255,.22);border-radius:16px;background:linear-gradient(90deg,rgba(3,17,31,.94),rgba(4,25,42,.91),rgba(3,16,29,.94));box-shadow:0 -15px 45px rgba(0,0,0,.26),inset 0 0 30px rgba(51,194,255,.04);backdrop-filter:blur(16px)}
#page-space .ontology-heading span,#page-space .ontology-proof span{display:block;font:700 8px/1 ui-monospace,monospace;letter-spacing:.14em;color:#65dfff}.ontology-heading b{display:block;font-size:13px;line-height:1.4;margin-top:8px;color:#eefbff}.ontology-chain{display:grid;grid-template-columns:1fr 38px 1fr 38px 1fr 38px 1fr;align-items:center;gap:4px}.ontology-node{position:relative;min-width:0;padding:9px 5px 9px 31px;border:1px solid rgba(84,193,242,.2);border-radius:11px;background:rgba(7,31,49,.78)}.ontology-node>i{position:absolute;left:6px;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:7px;display:grid;place-items:center;font-style:normal;font-size:8px;color:#cbf8ff;background:rgba(60,186,226,.2);border:1px solid rgba(102,225,255,.25)}.ontology-node span{display:block;font-size:7px;color:#648ba0}.ontology-node b{display:block;white-space:normal;margin-top:4px;font-size:8px;line-height:1.25;color:#dff9ff}.ontology-node.rule{border-color:rgba(151,127,255,.35);box-shadow:0 0 20px rgba(130,102,255,.09)}.ontology-node.action{border-color:rgba(79,244,201,.3)}.ontology-link{text-align:center;position:relative}.ontology-link i{display:block;height:1px;background:linear-gradient(90deg,rgba(83,207,255,.16),#63dcff,rgba(83,207,255,.16));box-shadow:0 0 9px rgba(70,211,255,.38)}.ontology-link i:after{content:'';position:absolute;right:0;top:-3px;border-left:6px solid #6be6ff;border-top:3px solid transparent;border-bottom:3px solid transparent}.ontology-link span{display:block;margin-top:6px;font-size:6px;white-space:nowrap;color:#63879a}.ontology-link.active i:before{content:'';position:absolute;top:-2px;left:0;width:5px;height:5px;border-radius:50%;background:#e7fdff;box-shadow:0 0 10px #62e8ff;animation:ontologyPacket 1.8s linear infinite}@keyframes ontologyPacket{to{left:calc(100% - 5px)}}.ontology-proof{padding:10px 12px;border-left:1px solid rgba(91,203,249,.14)}.ontology-proof b{display:block;margin-top:8px;font:700 9px/1.55 ui-monospace,monospace;color:#b7eadf}

#page-space[data-space-stage="5"] .ontology-node.rule{border-color:rgba(255,103,122,.62);box-shadow:0 0 22px rgba(255,80,104,.16)}
#page-space[data-space-stage="5"] .space-twin-status b i{background:#ff7186;box-shadow:0 0 11px #ff7186}

@media(max-width:1550px){#page-space .space-workspace{grid-template-columns:minmax(0,1fr) 286px!important}#page-space .space-ontology{grid-template-columns:132px minmax(0,1fr) 200px}.ontology-chain{grid-template-columns:1fr 42px 1fr 42px 1fr 42px 1fr!important}.ontology-heading b{font-size:11px!important}#page-space .space-callout{width:164px!important;max-width:164px!important}.space-callout p{font-size:8px!important}}

/* ===== v60 investor presentation system ===== */
:root{
  --line:rgba(93,211,255,.2);
  --line-strong:rgba(99,233,255,.62);
  --text:#f5fbff;
  --muted:#83a5ba;
  --cyan:#67e7ff;
  --green:#67ffd3;
  --violet:#a68cff;
  --panel:rgba(4,15,29,.82);
}
html,body{background:#01040b}
body:before{content:'';position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 54% 8%,rgba(33,148,255,.15),transparent 31%),radial-gradient(circle at 82% 64%,rgba(108,73,255,.09),transparent 29%),linear-gradient(rgba(73,166,224,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(73,166,224,.025) 1px,transparent 1px);background-size:auto,auto,44px 44px,44px 44px;z-index:-1}
#app{min-width:1180px;background:transparent}
.layout,.city-layout,.mes-layout,.compute-layout,.space-layout{height:100vh!important;padding:10px!important;gap:10px!important}
.layout{grid-template-columns:210px minmax(690px,1fr) 292px!important}
.city-layout{grid-template-columns:210px minmax(690px,1fr) 292px!important}
.mes-layout{grid-template-columns:210px minmax(920px,1fr)!important}
.compute-layout,.space-layout{grid-template-columns:210px minmax(920px,1fr)!important}
.glass{background:linear-gradient(145deg,rgba(7,25,46,.88),rgba(3,12,25,.78));border-color:rgba(95,205,255,.18);box-shadow:inset 0 1px rgba(255,255,255,.035),0 20px 55px rgba(0,0,0,.24)}

/* Brand and navigation */
.module-sidebar{position:relative;padding:16px 14px!important;border-radius:20px!important;background:linear-gradient(180deg,rgba(6,22,41,.96),rgba(3,11,22,.94))!important;border-color:rgba(96,211,255,.21)!important;box-shadow:inset 0 0 50px rgba(46,162,255,.035),14px 0 50px rgba(0,0,0,.16)!important}
.module-sidebar:after{content:'';position:absolute;left:16px;right:16px;bottom:15px;height:1px;background:linear-gradient(90deg,transparent,rgba(90,224,255,.55),transparent);box-shadow:0 0 14px rgba(60,212,255,.4)}
.sidebar-brand{padding:1px 0 17px!important;margin-bottom:18px!important;border-bottom-color:rgba(98,196,246,.14)!important}
.sidebar-brand-mark{width:43px!important;height:43px!important;padding:6px!important;border-radius:13px!important;background:radial-gradient(circle at 45% 30%,rgba(123,241,255,.16),rgba(8,29,52,.88))!important;border:1px solid rgba(94,226,255,.48)!important;box-shadow:0 0 26px rgba(50,202,255,.18),inset 0 0 20px rgba(65,218,255,.08)!important;overflow:hidden}
.sidebar-brand-mark img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 8px rgba(102,230,255,.38))}
.sidebar-brand-copy b{font-size:17px!important;letter-spacing:.02em}.sidebar-brand-copy span{font-size:8px!important;color:#7198ad!important}
.sidebar-toggle{border-color:rgba(91,200,247,.18)!important;background:rgba(5,19,34,.74)!important;color:#74dff8!important}
.side-head{padding:0 4px}.side-head h2{font-size:18px;margin:7px 0 14px}.eyebrow{color:#61daf7!important;font-weight:700}
.module-list{gap:9px!important}
.module-item{position:relative;grid-template-columns:38px 1fr!important;min-height:61px;padding:10px 9px!important;border-radius:14px!important;background:linear-gradient(135deg,rgba(8,25,43,.7),rgba(4,14,27,.62))!important;border-color:rgba(83,170,218,.13)!important;overflow:hidden}
.module-item:after{content:'';position:absolute;inset:auto 10px 0;height:1px;background:linear-gradient(90deg,transparent,rgba(84,216,255,.45),transparent);opacity:0;transition:.25s}
.module-item:hover{transform:translateX(4px)!important;border-color:rgba(82,221,255,.42)!important}.module-item:hover:after,.module-item.active:after{opacity:1}
.module-item.active{background:linear-gradient(110deg,rgba(8,104,145,.62),rgba(34,53,112,.28))!important;border-color:rgba(86,229,255,.65)!important;box-shadow:inset 3px 0 #6cecff,0 0 28px rgba(45,205,255,.13)!important}
.module-icon{width:34px!important;height:34px!important;border-radius:11px!important;color:#8cecff!important;background:rgba(39,153,204,.10);border-color:rgba(91,213,255,.28)!important;box-shadow:inset 0 0 15px rgba(64,205,255,.06)}
.module-copy b{font-size:12px!important}.module-copy em{font-size:8px!important;color:#789cb0!important}

/* Shared cinematic hierarchy */
.process-strip,.city-hero-panel,.mes-command,.demo-stagebar{border-radius:20px!important;border-color:rgba(91,211,255,.22)!important;background:linear-gradient(115deg,rgba(7,29,53,.94),rgba(5,15,31,.9))!important;box-shadow:inset 0 0 45px rgba(45,180,255,.035),0 18px 44px rgba(0,0,0,.16)!important}
.process-title b,.mes-command h1,.demo-stagebar h1{background:linear-gradient(92deg,#fff 12%,#bdefff 62%,#b9a8ff);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 30px rgba(88,218,255,.08)}
.process-actions button,.mes-v3-command-actions button,.demo-actions button{border-radius:11px!important}.process-actions .primary,.mes-v3-command-actions .primary,.demo-actions .primary{background:linear-gradient(110deg,#0878b1,#2457b8)!important;border-color:rgba(102,232,255,.7)!important;box-shadow:0 8px 28px rgba(43,178,255,.2),inset 0 0 18px rgba(105,235,255,.08)!important}

/* Aircraft: maximize the digital-twin hero */
.center{gap:9px}.process-strip{padding:13px 15px 12px!important}.process-strip-head{margin-bottom:10px!important}.process-title b{font-size:20px!important}.process-stage{border-radius:12px!important;background:linear-gradient(180deg,rgba(8,28,47,.76),rgba(4,15,27,.7))!important}.process-stage.active{border-color:rgba(88,230,255,.72)!important;background:linear-gradient(180deg,rgba(7,100,142,.68),rgba(5,33,54,.8))!important;box-shadow:inset 0 2px #69efff,0 0 22px rgba(42,204,255,.12)!important}
.scene-card{min-height:650px!important;border-radius:22px!important;border-color:rgba(90,205,255,.25)!important;box-shadow:inset 0 0 100px rgba(47,158,255,.06),0 24px 65px rgba(0,0,0,.24)!important}
.agent-card{border-radius:15px!important;background:linear-gradient(145deg,rgba(5,25,43,.86),rgba(3,14,27,.7))!important;border-color:rgba(84,218,255,.24)!important;box-shadow:0 14px 30px rgba(0,0,0,.2)!important}
.right-panel{gap:9px}.right-panel section{border-radius:18px!important}.metric-grid>div,.task-block{border-radius:11px!important;background:rgba(5,22,38,.7)!important}

/* City: premium command-center polish */
.city-main-column{gap:9px!important}.city-hero-panel{padding:13px 15px!important}.city-globe-card{border-radius:22px!important;border-color:rgba(91,213,255,.25)!important;box-shadow:inset 0 0 90px rgba(45,173,255,.07),0 22px 55px rgba(0,0,0,.22)!important}.city-scenario-item{border-radius:12px!important;background:linear-gradient(145deg,rgba(7,27,45,.8),rgba(4,14,27,.68))!important}.city-scenario-item.active{border-color:rgba(93,232,255,.65)!important;background:linear-gradient(110deg,rgba(7,103,145,.66),rgba(36,47,105,.34))!important;box-shadow:inset 3px 0 #65edff,0 0 24px rgba(49,205,255,.12)!important}.city-agent-callout{background:linear-gradient(145deg,rgba(5,25,43,.88),rgba(3,14,27,.74))!important;border-color:rgba(92,218,255,.24)!important;border-radius:15px!important;box-shadow:0 14px 30px rgba(0,0,0,.23)!important}.city-bottom-grid>article,.city-right-panel section{border-color:rgba(88,193,243,.18)!important}

/* MES: dark industrial operating system */
.mes-v3-shell{border-radius:22px!important;border:1px solid rgba(87,208,255,.2)!important;background:linear-gradient(180deg,rgba(4,16,30,.96),rgba(3,10,21,.96))!important;box-shadow:0 25px 65px rgba(0,0,0,.25)!important;color:#e9f8ff!important}.mes-v3-body,.mes-v3-stagepanel,.mes-v3-rightpanel{background:linear-gradient(180deg,rgba(4,17,31,.98),rgba(3,10,21,.98))!important}.mes-v3-rightpanel{border-left-color:rgba(88,205,255,.14)!important}.mes-v3-stagebar{background:rgba(3,13,25,.74)!important;border-color:rgba(86,195,244,.14)!important}.mes-v3-stagebar button{background:linear-gradient(180deg,rgba(8,28,47,.86),rgba(4,16,29,.82))!important;border-color:rgba(82,174,220,.16)!important;color:#9bb9ca!important}.mes-v3-stagebar button.active{background:linear-gradient(180deg,rgba(8,108,151,.75),rgba(5,39,63,.86))!important;border-color:rgba(91,231,255,.66)!important;color:#fff!important;box-shadow:0 0 25px rgba(46,207,255,.12)!important}.mes-v3-canvaswrap{border-radius:18px!important;border-color:rgba(88,208,255,.2)!important;background:linear-gradient(180deg,#04111e,#020a13)!important;box-shadow:inset 0 0 100px rgba(42,161,255,.055)!important}.mes-v3-card{border-radius:18px!important;background:linear-gradient(145deg,rgba(7,25,43,.88),rgba(3,13,25,.8))!important;border-color:rgba(89,199,246,.18)!important}.mes-v3-paneltitle span,.mes-v3-kpigrid span,.mes-v3-bottomstrip span{color:#7da8bb!important}.mes-v3-paneltitle b,.mes-v3-kpigrid b,.mes-v3-bottomstrip b{color:#f2fbff!important}.mes-v3-kpigrid>div,.mes-v3-bottomstrip>div{background:rgba(4,19,33,.86)!important;border:1px solid rgba(86,203,250,.17)!important}.mes-v3-card.trace .city-trace-list div{background:rgba(4,20,35,.78)!important;border-color:rgba(87,199,245,.13)!important}.mes-v3-card.trace .city-trace-list time,.mes-v3-card.trace .city-trace-list b,.mes-v3-card.trace .city-trace-list span{color:#a8c5d4!important}.mes-v3-floatcard{background:rgba(5,23,39,.9)!important;border-color:rgba(91,211,255,.22)!important;color:#e9f8ff!important;box-shadow:0 14px 30px rgba(0,0,0,.26)!important}.mes-v3-floatcard span,.mes-v3-floatcard em{color:#87aabd!important}.mes-v3-floatcard b{color:#fff!important}.mes-agent-callout{background:linear-gradient(145deg,rgba(5,25,43,.9),rgba(3,14,27,.78))!important;border-color:rgba(88,220,255,.26)!important;color:#eefaff!important;box-shadow:0 14px 30px rgba(0,0,0,.22)!important}.mes-agent-callout p{color:#9fbccb!important}

/* Space: the visualization owns the stage; reasoning panel sits below it */
#page-space .space-main{display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;gap:10px!important}
#page-space .space-headbar{padding:13px 18px!important}#page-space .space-headbar h1{font-size:25px!important;margin:3px 0 5px!important}#page-space .space-headbar p{font-size:11px!important;line-height:1.45!important}.demo-eyebrow{font-size:9px!important}
#page-space .space-workspace{grid-template-columns:minmax(0,1fr) 286px!important;gap:10px!important;min-height:0!important}
#page-space .space-scene-card{display:grid!important;grid-template-rows:58px minmax(610px,1fr) 112px!important;gap:9px!important;min-height:810px!important;padding:10px!important;overflow:visible!important}
#page-space .demo-tabs{position:static!important;display:grid!important;inset:auto!important;height:58px!important;gap:7px!important}
#page-space .demo-stage-tab{min-height:58px!important;padding:7px 8px!important;border-radius:12px!important}
#page-space .demo-stage-tab b{font-size:12px!important}#page-space .demo-stage-tab span{font-size:8px!important}
#page-space .space-visual{position:relative!important;inset:auto!important;min-height:610px!important;height:100%!important;border:1px solid rgba(88,211,255,.24)!important;border-radius:19px!important;overflow:hidden!important;grid-row:2}
#page-space .space-stage-focus{left:18px!important;top:18px!important;width:330px!important;max-width:34%!important;padding:11px 13px!important;border-radius:15px!important}
#page-space .space-stage-focus span{font-size:9px!important;padding:5px 10px!important}#page-space .space-stage-focus b{font-size:18px!important;margin:8px 0 5px!important}#page-space .space-stage-focus p{font-size:10px!important;line-height:1.45!important}
#page-space .space-ontology{position:relative!important;inset:auto!important;grid-row:3;width:100%!important;height:112px!important;display:grid!important;grid-template-columns:145px minmax(0,1fr) 220px!important;gap:10px!important;padding:10px 12px!important;border-radius:15px!important;background:linear-gradient(100deg,rgba(4,24,42,.96),rgba(6,31,50,.94),rgba(5,19,35,.96))!important;box-shadow:inset 0 0 30px rgba(51,194,255,.045),0 12px 32px rgba(0,0,0,.18)!important;backdrop-filter:none!important}
#page-space .space-callout{width:154px!important;max-width:154px!important;min-height:76px!important;padding:8px 9px!important}.space-callout b{font-size:10px!important;margin:6px 0 4px!important}.space-callout p{font-size:8px!important;line-height:1.35!important}
#page-space .space-callout.left.a{left:14px!important;top:132px!important}#page-space .space-callout.left.b{left:14px!important;bottom:32px!important}#page-space .space-callout.right.a{right:14px!important;top:132px!important}#page-space .space-callout.right.b{right:14px!important;bottom:32px!important}
#page-space .space-telemetry{top:12px!important}.space-twin-status{top:67px!important}.space-corner-label{top:12px!important}
#page-space .space-right{width:auto!important;border-radius:20px!important;padding:14px!important}.space-right .demo-kpis div{padding:12px 10px!important}.space-right .demo-trace{max-height:none!important;overflow:visible!important}

@media(max-width:1350px){
  .layout,.city-layout{grid-template-columns:190px minmax(680px,1fr) 270px!important}.mes-layout,.compute-layout,.space-layout{grid-template-columns:190px minmax(900px,1fr)!important}
  .module-sidebar{padding:14px 11px!important}.module-copy b{font-size:11px!important}.module-item{padding:9px 7px!important}
  #page-space .space-workspace{grid-template-columns:minmax(0,1fr) 268px!important}
  #page-space .space-callout{width:142px!important;max-width:142px!important}
  #page-space .space-ontology{grid-template-columns:126px minmax(0,1fr) 188px!important}
}

/* ===== v61 fundraising-demo visual direction ===== */
body{background:linear-gradient(135deg,#01030a 0%,#020713 48%,#050617 100%);color:#f7fbff}
body:before{background:radial-gradient(ellipse at 48% -8%,rgba(25,189,255,.22),transparent 36%),radial-gradient(circle at 92% 18%,rgba(116,69,255,.16),transparent 27%),radial-gradient(circle at 15% 92%,rgba(0,235,202,.08),transparent 30%),linear-gradient(rgba(91,190,255,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(91,190,255,.028) 1px,transparent 1px);background-size:auto,auto,auto,42px 42px,42px 42px}
.page-view:before{content:'';position:fixed;left:18%;right:4%;top:0;height:2px;pointer-events:none;background:linear-gradient(90deg,transparent,#52e6ff 36%,#9e79ff 64%,transparent);filter:blur(.2px);box-shadow:0 0 24px rgba(86,217,255,.72);z-index:100}
.glass{position:relative;border-color:rgba(104,211,255,.21);background:linear-gradient(145deg,rgba(7,25,47,.9),rgba(4,11,25,.84));box-shadow:inset 0 1px rgba(255,255,255,.045),inset 0 0 45px rgba(78,139,255,.025),0 22px 60px rgba(0,0,0,.27)}

/* High-contrast brand lockup */
.sidebar-brand{min-height:56px!important}
.sidebar-brand-mark{width:48px!important;height:48px!important;flex:0 0 48px!important;padding:2px!important;border-radius:15px!important;background:radial-gradient(circle at 38% 30%,#f2fdff 0,#b9efff 48%,#7ec9ed 100%)!important;border:1px solid rgba(181,246,255,.92)!important;box-shadow:0 0 0 4px rgba(74,220,255,.06),0 0 30px rgba(70,212,255,.34),inset 0 0 14px rgba(255,255,255,.78)!important}
.sidebar-brand-mark img{width:100%!important;height:100%!important;object-fit:contain!important;transform:scale(1.17);filter:saturate(1.25) contrast(1.15) drop-shadow(0 2px 5px rgba(9,29,77,.34))!important}
.sidebar-brand-copy b{font-size:18px!important;font-weight:900!important;letter-spacing:.015em!important;background:linear-gradient(90deg,#fff,#b9f4ff 58%,#d6caff);-webkit-background-clip:text;background-clip:text;color:transparent!important}
.sidebar-brand-copy span{color:#76a3b9!important;letter-spacing:.04em}

/* Navigation as a premium product rail */
.module-sidebar{background:radial-gradient(circle at 30% 0,rgba(27,141,211,.14),transparent 27%),linear-gradient(180deg,rgba(5,19,38,.98),rgba(2,8,19,.98))!important;border-color:rgba(104,215,255,.25)!important;box-shadow:inset -1px 0 rgba(119,223,255,.05),inset 0 0 60px rgba(63,114,255,.035),18px 0 65px rgba(0,0,0,.24)!important}
.module-sidebar:before{content:'AI INDUSTRIAL OS';position:absolute;left:16px;bottom:26px;font:700 7px/1 ui-monospace,monospace;letter-spacing:.18em;color:rgba(104,213,239,.34)}
.module-item{min-height:64px!important;border-radius:16px!important;border-color:rgba(92,180,227,.14)!important;background:linear-gradient(110deg,rgba(9,29,50,.82),rgba(4,14,29,.68))!important;box-shadow:inset 0 1px rgba(255,255,255,.02);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease!important}
.module-item:before{content:'';position:absolute;right:-24px;top:-28px;width:72px;height:72px;border-radius:50%;background:radial-gradient(circle,rgba(99,114,255,.16),transparent 68%);opacity:0;transition:.28s}
.module-item:hover:before,.module-item.active:before{opacity:1}
.module-item:hover{transform:translateX(5px) translateY(-1px)!important;box-shadow:0 12px 28px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.04)!important}
.module-item.active{background:linear-gradient(108deg,rgba(4,116,165,.78),rgba(44,48,123,.58) 70%,rgba(98,60,172,.34))!important;border-color:rgba(105,237,255,.76)!important;box-shadow:inset 3px 0 #6ff4ff,inset 0 0 26px rgba(64,201,255,.08),0 0 30px rgba(37,184,255,.15)!important}
.module-icon{background:linear-gradient(145deg,rgba(45,185,230,.18),rgba(78,61,170,.17))!important;border-color:rgba(107,224,255,.34)!important;box-shadow:inset 0 0 16px rgba(79,213,255,.08),0 0 16px rgba(61,184,255,.06)!important}
.module-item.active .module-icon{color:#07121f!important;background:linear-gradient(135deg,#62efff,#7ce3ff 48%,#a995ff)!important;border-color:#b9f8ff!important;box-shadow:0 0 22px rgba(84,225,255,.42)!important}
.module-copy b{font-weight:800!important;letter-spacing:.01em}.module-item.active .module-copy b{color:#fff;text-shadow:0 0 15px rgba(180,242,255,.2)}

/* Investor-grade panel accents */
.process-strip,.city-hero-panel,.mes-command,.demo-stagebar{overflow:hidden;background:radial-gradient(circle at 82% -20%,rgba(120,76,255,.16),transparent 32%),linear-gradient(112deg,rgba(7,35,62,.97),rgba(6,17,36,.94))!important;border-color:rgba(105,221,255,.28)!important;box-shadow:inset 0 1px rgba(255,255,255,.05),inset 0 0 55px rgba(65,162,255,.035),0 20px 55px rgba(0,0,0,.23)!important}
.process-strip:after,.city-hero-panel:after,.mes-command:after,.demo-stagebar:after{content:'';position:absolute!important;left:18px!important;right:18px!important;bottom:0!important;height:1px!important;background:linear-gradient(90deg,transparent,#59e6ff 42%,#a57bff 70%,transparent)!important;opacity:.66;box-shadow:0 0 18px rgba(77,219,255,.5);transform:none!important;animation:none!important}
.panel-title,.city-section-title b,.mes-v3-paneltitle b,.demo-card-title b{letter-spacing:.01em;color:#f5fcff;text-shadow:0 0 18px rgba(106,225,255,.12)}
.scene-card,.city-globe-card,.mes-v3-shell,.demo-scene{border-color:rgba(106,219,255,.28)!important;box-shadow:inset 0 0 120px rgba(44,130,255,.055),0 28px 75px rgba(0,0,0,.3)!important}
.metric-grid>div,.city-kpis>div,.mes-v3-kpigrid>div,.demo-kpis>div{position:relative;overflow:hidden}.metric-grid>div:after,.city-kpis>div:after,.mes-v3-kpigrid>div:after,.demo-kpis>div:after{content:'';position:absolute;left:0;top:0;width:42%;height:1px;background:linear-gradient(90deg,#58eaff,transparent);box-shadow:0 0 12px #54dfff}

/* Future City: keep the complete scenario selector visible above the globe */
.city-layout{height:auto!important;min-height:100vh!important;align-items:start!important}
.city-main-column{grid-template-rows:104px 620px 210px!important;gap:10px!important;min-height:954px!important}
.city-hero-panel{display:block!important;min-height:104px!important;height:104px!important;padding:12px 14px!important;overflow:visible!important;z-index:12}
.city-scenario-only .city-section-title{display:flex!important;margin-bottom:9px!important;min-height:18px!important}
.city-scenario-only .city-scenario-list{height:58px!important;overflow:visible!important}
.city-scenario-only .city-scenario-item{min-height:58px!important;height:58px!important;background:linear-gradient(145deg,rgba(7,31,52,.92),rgba(5,15,31,.86))!important;border-color:rgba(92,191,238,.18)!important}
.city-scenario-only .city-scenario-item.active{background:linear-gradient(108deg,rgba(6,116,164,.82),rgba(50,47,129,.62))!important;border-color:rgba(105,238,255,.78)!important;box-shadow:inset 3px 0 #6bf2ff,0 0 25px rgba(49,206,255,.14)!important}
.city-workspace{height:620px!important;min-height:620px!important;overflow:hidden!important}
.city-globe-card{width:100%!important;height:620px!important;min-height:620px!important;max-height:620px!important;border-radius:22px!important}
.city-bottom-grid{height:210px!important}

@media(max-height:900px){
  .city-main-column{grid-template-rows:104px 560px 200px!important;min-height:884px!important}
  .city-workspace,.city-globe-card{height:560px!important;min-height:560px!important;max-height:560px!important}
  .city-bottom-grid{height:200px!important}
}

/* ===== v63 unified top-stage navigation ===== */
.module-top-row{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:20px!important;min-width:0}
.module-top-row>div:first-child{min-width:0;flex:1}
.module-top-row .process-title em{display:block}
.unified-stagebar{position:static!important;inset:auto!important;width:100%!important;margin:11px 0 0!important;z-index:auto!important}

/* Future City follows the aircraft title/actions/stages hierarchy. */
.city-main-column{grid-template-rows:182px 620px 210px!important;min-height:1032px!important}
.city-hero-panel{display:block!important;height:182px!important;min-height:182px!important;padding:13px 15px 14px!important}
.city-hero-panel .module-top-row{height:60px!important;align-items:center!important}
.city-hero-panel .process-title b{font-size:20px!important;margin-top:3px!important}.city-hero-panel .process-title em{font-size:9px!important;margin-top:3px!important}
.city-hero-panel .city-command-actions{display:flex!important;gap:8px!important;flex:none}
.city-hero-panel .city-command-actions button{border:1px solid rgba(87,184,241,.32)!important;background:rgba(7,20,36,.76)!important;color:#d9f3ff!important;border-radius:10px!important;padding:8px 13px!important;font-size:11px!important;font-weight:800!important;cursor:pointer!important;white-space:nowrap!important}
.city-hero-panel .city-command-actions .primary{background:linear-gradient(110deg,#0878b1,#2457b8)!important;border-color:rgba(102,232,255,.7)!important;box-shadow:0 8px 28px rgba(43,178,255,.2)!important}
.city-scenario-only .city-scenario-panel{height:92px!important;margin-top:4px!important}
.city-scenario-only .city-section-title{height:17px!important;min-height:17px!important;line-height:17px!important;margin:0 0 7px!important}
.city-scenario-only .city-scenario-list{height:62px!important;min-height:62px!important}
.city-scenario-only .city-scenario-item{height:62px!important;min-height:62px!important;max-height:62px!important}

/* MES stages move from the scene into the same header card as title/actions. */
.mes-v3-command{display:block!important;padding:13px 16px 14px!important}
.mes-v3-command .module-top-row{align-items:center!important}
.mes-v3-command .module-top-row h1{font-size:20px!important;margin:3px 0 4px!important}.mes-v3-command .module-top-row p{font-size:9px!important;line-height:1.4!important}
.mes-v3-command .unified-stagebar{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;height:58px!important;gap:7px!important}
.mes-v3-command .mes-flow-step,.mes-v3-command .mes-v3-stagebtn{min-height:58px!important;height:58px!important;padding:7px 9px!important;border-radius:11px!important}
.mes-v3-stagepanel{grid-template-rows:minmax(0,1fr)!important}
.mes-v3-main{min-height:940px!important}.mes-v3-shell{height:780px!important;min-height:780px!important}.mes-v3-body,.mes-v3-stagepanel{height:780px!important;min-height:780px!important}.mes-v3-canvaswrap{height:756px!important;min-height:756px!important}

/* Compute and Space stages are now part of their top header, not floating over the scene. */
#page-compute .demo-stagebar,#page-space .demo-stagebar{display:block!important;padding:13px 17px 14px!important}
#page-compute .demo-stagebar .module-top-row,#page-space .demo-stagebar .module-top-row{align-items:center!important}
#page-compute .demo-stagebar h1,#page-space .demo-stagebar h1{font-size:22px!important;margin:3px 0 5px!important}
#page-compute .demo-stagebar p,#page-space .demo-stagebar p{font-size:10px!important;line-height:1.45!important;max-width:900px!important}
#page-compute .unified-stagebar,#page-space .unified-stagebar{display:grid!important;height:58px!important;gap:7px!important}
#page-compute .unified-stagebar{grid-template-columns:repeat(7,minmax(0,1fr))!important}
#page-space .unified-stagebar{grid-template-columns:repeat(6,minmax(0,1fr))!important}
#page-compute .unified-stagebar .demo-stage-tab,#page-space .unified-stagebar .demo-stage-tab{height:58px!important;min-height:58px!important;padding:7px 8px!important;border-radius:11px!important}
#page-compute .unified-stagebar .demo-stage-tab b,#page-space .unified-stagebar .demo-stage-tab b{font-size:11px!important;margin-top:4px!important}
#page-compute .compute-scene-card{min-height:700px!important}
#page-compute #computeCanvas{inset:18px!important}
#page-space .space-scene-card{grid-template-rows:minmax(610px,1fr) 112px!important;min-height:740px!important}
#page-space .space-visual{grid-row:1!important}
#page-space .space-ontology{grid-row:2!important}
#page-space .space-stage-focus{top:18px!important}
.compute-layout,.space-layout{height:auto!important;min-height:100vh!important;align-items:start!important}
.compute-layout .module-sidebar,.space-layout .module-sidebar{position:sticky!important;top:10px!important;height:calc(100vh - 20px)!important}

@media(max-height:900px){
  .city-main-column{grid-template-rows:182px 560px 200px!important;min-height:962px!important}
  .mes-v3-main{min-height:910px!important}
  .mes-v3-shell,.mes-v3-body,.mes-v3-stagepanel{height:750px!important;min-height:750px!important}
  .mes-v3-canvaswrap{height:726px!important;min-height:726px!important}
}

/* ===== v62 measured overflow fixes ===== */
/* Logo source is alpha-cropped to its real artwork bounds; keep it optically centered. */
.sidebar-brand-mark{padding:4px!important}
.sidebar-brand-mark img{transform:scale(.94)!important;object-position:50% 50%!important}
/* The supplied logo includes its wordmark below the symbol, so preserve the whole lockup. */
.sidebar-brand-mark img[src$="juedao-ai-logo.png"]{transform:scale(.92)!important;transform-origin:50% 50%!important;object-fit:contain!important}

/* Full horizontal JueDaoAI lockup: crop only the export canvas, never the artwork. */
.sidebar-brand-main{min-width:0!important;flex:1!important}
.sidebar-brand-mark:has(img[src$="juedao-ai-logo-wide-white-clean.png"]){width:142px!important;height:42px!important;flex:0 1 142px!important;padding:0!important;border:0!important;outline:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:hidden!important}
.sidebar-brand-mark img[src$="juedao-ai-logo-wide-white-clean.png"]{display:block!important;width:145px!important;height:145px!important;max-width:none!important;object-fit:fill!important;transform:translate(-.5px,-55px)!important;transform-origin:top left!important;filter:none!important;mix-blend-mode:normal!important}

/* The scenario title + selector requires 124px including padding and borders. */
.city-main-column{grid-template-rows:124px 620px 210px!important;min-height:974px!important}
.city-hero-panel{height:124px!important;min-height:124px!important;padding:12px 14px 13px!important;overflow:hidden!important}
.city-scenario-only .city-scenario-panel{height:100%!important;min-height:0!important;overflow:hidden!important}
.city-scenario-only .city-section-title{height:20px!important;min-height:20px!important;margin:0 0 9px!important;line-height:20px!important}
.city-scenario-only .city-scenario-list{height:64px!important;min-height:64px!important;align-items:stretch!important;overflow:hidden!important}
.city-scenario-only .city-scenario-item{height:64px!important;min-height:64px!important;max-height:64px!important;overflow:hidden!important}

/* MES owns a scrollable viewport so its bottom KPI strip is always reachable. */
.mes-layout.active{height:100vh!important;min-height:0!important;overflow-x:hidden!important;overflow-y:scroll!important;align-items:start!important;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:rgba(92,221,255,.58) rgba(3,14,27,.82)}
.mes-layout.active::-webkit-scrollbar{width:9px}.mes-layout.active::-webkit-scrollbar-track{background:rgba(3,14,27,.82);border-radius:99px}.mes-layout.active::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#43dfff,#806eff);border:2px solid rgba(3,14,27,.82);border-radius:99px}
.mes-layout .module-sidebar{position:sticky!important;top:0!important;height:calc(100vh - 20px)!important;align-self:start!important}
.mes-v3-main{grid-template-rows:auto auto!important;min-height:900px!important;align-content:start!important}
.mes-v3-shell{height:792px!important;min-height:792px!important;overflow:hidden!important}
.mes-v3-body{height:100%!important;min-height:792px!important}
.mes-v3-stagepanel{min-height:792px!important}
.mes-v3-canvaswrap{height:690px!important;min-height:690px!important}

@media(max-height:900px){
  .city-main-column{grid-template-rows:124px 560px 200px!important;min-height:904px!important}
  .mes-v3-main{min-height:880px!important}
  .mes-v3-shell,.mes-v3-body,.mes-v3-stagepanel{height:772px!important;min-height:772px!important}
  .mes-v3-canvaswrap{height:670px!important;min-height:670px!important}
}

/* ===== v64 final cascade: every module matches the aircraft top process strip ===== */
.city-main-column{grid-template-rows:182px 620px 210px!important;min-height:1032px!important}
.city-hero-panel{height:182px!important;min-height:182px!important;padding:13px 15px 14px!important}
.city-scenario-only .city-scenario-panel{height:92px!important;margin-top:4px!important;overflow:hidden!important}
.city-scenario-only .city-section-title{height:17px!important;min-height:17px!important;line-height:17px!important;margin:0 0 7px!important}
.city-scenario-only .city-scenario-list{height:62px!important;min-height:62px!important}
.city-scenario-only .city-scenario-item{height:62px!important;min-height:62px!important;max-height:62px!important}
.mes-v3-command,.demo-stagebar{overflow:hidden!important}
.mes-v3-command .unified-stagebar,#page-compute .unified-stagebar,#page-space .unified-stagebar{position:static!important;inset:auto!important;margin:11px 0 0!important;width:100%!important}
#page-space .space-scene-card{grid-template-rows:minmax(610px,1fr) 112px!important}
#page-space .space-visual{grid-row:1!important}
#page-space .space-ontology{grid-row:2!important}
@media(max-height:900px){.city-main-column{grid-template-rows:182px 560px 200px!important;min-height:962px!important}}
