:root{--bg:#f7f9fc;--panel:#fff;--panel2:#f7faff;--line:#e2e9f2;--text:#1d2d44;--muted:#60728a;--blue:#2977d4;--purple:#5f6fd2;--orange:#a86c25;--green:#247958;--teal:#168184;--pink:#775fbc;color-scheme:light}
body{background:var(--bg);color:var(--text);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:14px;line-height:1.5}
html{scroll-padding-top:66px;scrollbar-width:thin}
.preview{position:relative;top:auto;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 24px;font-size:11px;letter-spacing:.4px;font-weight:600;background:#edf4ff;color:#426182;border-bottom:1px solid #d9e7f7;box-shadow:none;text-align:left;flex-wrap:wrap}
.preview a{color:#265eaa;text-decoration:none}.preview b{color:#2459a6}
.app{grid-template-columns:218px minmax(0,1fr);min-height:calc(100vh - 44px)}
aside{top:0;height:100vh;background:var(--panel);border-color:var(--line);backdrop-filter:none;padding:24px 14px}
.brand{padding:4px 10px 25px;gap:10px}.brand b{font-size:18px;letter-spacing:-.3px}.brand small{font-size:11px;line-height:1.5;max-width:130px}.logo{width:37px;height:37px;border-radius:12px;box-shadow:none;flex:none}
.nav{gap:6px}.nav a{font-size:13px;padding:10px;color:var(--muted);border:0;min-height:43px}.nav a.active,.nav a:hover{background:#edf4ff;color:#2865b8;border:0}.nav a[aria-disabled=true]{opacity:.65}.nav a[aria-disabled=true]:hover{color:var(--muted);background:transparent}.ico{background:#f2f6fb;color:#6081a8;border-radius:8px;font-size:16px;flex:none}.badge{font-size:9px;color:#626fab;background:#eff0fb;letter-spacing:.4px}.badge.live{color:#267453;background:#edf8f1}
.profile{background:#f7faff;padding:14px;margin-top:38px}.profile strong{font-size:12px}.profile small{font-size:11px;line-height:1.65}
main{padding:29px 30px 40px;max-width:1900px;width:100%;margin:0 auto}
.top{align-items:center;gap:20px;margin-bottom:24px}.titleline{gap:10px;flex-wrap:wrap}.titleline h1{font-size:30px;letter-spacing:-.8px;font-weight:650;text-transform:none}.titleline h1 small{font-size:17px;color:var(--muted);font-weight:400;letter-spacing:-.3px;margin-left:7px}.sub{font-size:13px;line-height:1.65;margin-top:7px;max-width:560px}
.live-dot{box-shadow:0 0 0 4px #e2f4e9;width:7px;height:7px}.controls{gap:7px;align-items:center;max-width:500px}.ctrl{height:38px;padding:0 10px;background:var(--panel);font-size:11px;white-space:nowrap;border-radius:8px}.ctrl select{color:var(--text);font:inherit;font-weight:600;max-width:170px}.ctrl option{background:var(--panel);color:var(--text)}#clock{font-variant-numeric:tabular-nums;font-size:11px}
.kpis{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:20px}.card{background:var(--panel);box-shadow:0 3px 16px #21375603;border-color:var(--line);border-radius:15px}.kpi{padding:16px;min-height:137px}.kpi-head{align-items:start}.kpi-title{font-size:11px;letter-spacing:0;font-weight:600;color:var(--muted);line-height:1.5}.kpi-title .kw{display:block;font-size:10px;font-weight:400;text-transform:lowercase;margin-top:2px}.kpi-icon{background:#f4f7fc;font-size:15px;width:26px;height:26px;flex:none}.kpi-value{font-size:31px;font-weight:600;letter-spacing:-.8px;margin-top:10px;line-height:1.25}.kpi-change{font-size:10px;color:var(--muted);margin-top:7px;min-height:13px;line-height:1.5}.kpi:has(#k_high){background:linear-gradient(130deg,#f0f6ff,#fff);border-color:#cddff6}
.grid{grid-template-columns:1.35fr .9fr;gap:18px;margin-bottom:18px;align-items:stretch}.grid.equal{grid-template-columns:1fr 1fr}.head{padding:19px 20px 0;gap:12px;align-items:start}.head b{font-size:15px;letter-spacing:-.15px;text-transform:none;font-weight:600}.head small{font-size:11px;line-height:1.6;margin-top:5px}.body{padding:16px 20px 20px}.tag{font-size:9px;letter-spacing:.4px;font-weight:600;padding:5px 7px;background:#eff4fb;color:#586f8d;max-width:130px;white-space:normal;text-align:center;line-height:1.35;flex:none}.tag.live,#liveTag{background:#eaf6ef;color:#2b7b57}
.state-note{border:1px solid #e9eef5;background:#f8fafd;color:var(--muted);font-size:12px;border-radius:10px;line-height:1.7;padding:17px}.insight{background:linear-gradient(115deg,#f1f7ff,#f5f4ff)}.insight p{color:#3f5575;font-size:13px;line-height:1.8;margin:0}.point{font-size:12px;color:var(--muted);line-height:1.6}.dot{background:#7c8bcc;box-shadow:none;flex:none}.points:empty{display:none}
.stream{gap:9px}.stream-item{background:#f9fbff;border:1px solid #e4ecf7;padding:12px;grid-template-columns:34px 1fr auto}.stream-item strong{font-size:13px;font-weight:600}.stream-item p{font-size:12px;line-height:1.6}.bubble{width:31px;height:31px;border-radius:9px;background:#eaf3ff;color:#3379c7}.loc{font-size:11px;color:var(--muted)}
.topic-list{gap:14px}.topic-row{grid-template-columns:150px 1fr 30px;gap:12px}.topic-row span{font-size:12px;color:var(--text)}.num{font-size:12px}.track{height:7px;background:#edf2f8}.fill{background:linear-gradient(90deg,#91bbe9,#428bda)}
.map{height:260px;border:0;background:linear-gradient(145deg,#f1f6fc,#f8faff);border-radius:11px}.map svg{inset:0;width:100%;height:100%}#usMap path{fill:#e1eaf5;stroke:#fff;stroke-width:1.4}#usMap path.m1{fill:#b9d6f4}#usMap path.m2{fill:#81b1e5}#usMap path.m3{fill:#3c86d4}#usMap path.focus{stroke:#2669b5;filter:none}#usMap path.ping{animation:modernPing 1.4s ease-out 1}@keyframes modernPing{0%{fill:#35a99d;filter:drop-shadow(0 0 5px #72c2d0)}100%{filter:none}}.callout{left:14px;top:auto;bottom:13px;max-width:calc(100% - 28px);padding:9px 12px;border:1px solid #dbe6f3;background:#fffffff2;color:var(--muted);box-shadow:0 3px 12px #1b304308;font-size:11px}.callout b{color:#426487;font-size:12px}
.journey{height:200px;gap:10px}.journey:has(.state-note){display:block;height:auto;min-height:100px}.journey .state-note{margin-top:0}.barwrap{height:135px}.bar{background:linear-gradient(180deg,#8fb9eb,#4b84d0);box-shadow:none}.stage b{font-size:15px;color:var(--text)}.stage small{font-size:11px;line-height:1.5}
.ins-row{background:#f8faff;border-color:var(--line);padding:12px}.ins-row b{font-size:13px}.ins-row small,.stat em{font-size:11px}.stat strong{font-size:15px}.states{grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}.scard{padding:13px;background:#f8faff;border-color:var(--line)}.sc-name{color:var(--text);font-size:12px}.sc-fam{font-size:22px;font-weight:600}.sc-lab{font-size:11px}
.signal-roadmap{margin:22px 0 0}.signal-roadmap .head{padding-bottom:3px}.signal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:17px 20px 20px}.signal-box{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--panel2)}.signal-box span{display:block;color:#50759d;font-size:11px;margin-bottom:9px}.signal-box h3{font-size:13px;font-weight:600;margin:0 0 8px}.signal-box p{color:var(--muted);font-size:12px;line-height:1.6;margin:0}.signal-box small{display:block;font-size:10px;color:#8a6e32;margin-top:10px}
.preview-tools{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.preview-tools button{font:inherit;padding:5px 9px;border:1px solid #ccdced;border-radius:6px;background:#fff;color:#395c86;cursor:pointer}.preview-tools button[aria-pressed=true]{background:#255fa7;color:#fff;border-color:#255fa7}.data-note{font-size:11px;color:var(--muted);padding:0 2px 13px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.data-note strong{font-weight:500;color:var(--green)}.data-note time{font-variant-numeric:tabular-nums}.data-note .pending{color:#946c31}.stock-split-note{font-size:11px;color:var(--muted);margin-top:-8px;margin-bottom:20px}.view-nav{display:flex;gap:6px;flex-wrap:wrap;padding-bottom:16px;margin-bottom:2px}.view-nav a{font-size:12px;color:#58718c;padding:7px 11px;border:1px solid var(--line);border-radius:8px;background:var(--panel);text-decoration:none}.view-nav a:hover{background:#edf4ff;color:#2663ae}.section-note{font-size:11px!important;line-height:1.7!important}
body[data-theme=night]{--bg:#0c111b;--panel:#131b29;--panel2:#172133;--line:#253246;--text:#e8eef7;--muted:#9cabc1;--blue:#79b4f8;--purple:#aa9be1;--green:#6fc5a0;background:var(--bg)}body[data-theme=night] .preview{background:#141f31;color:#b3c8e6;border-color:#2a3b55}body[data-theme=night] .preview b,body[data-theme=night] .preview a{color:#aecbf2}body[data-theme=night] .nav a.active,body[data-theme=night] .nav a:hover{background:#1c3150;color:#b1d3ff}body[data-theme=night] .ico,body[data-theme=night] .kpi-icon{background:#1d2a3d;color:#adcaf0}body[data-theme=night] .profile,body[data-theme=night] .state-note,body[data-theme=night] .stream-item,body[data-theme=night] .ins-row,body[data-theme=night] .scard{background:#172133;border-color:#2a3850}body[data-theme=night] .kpi:has(#k_high),body[data-theme=night] .insight{background:linear-gradient(130deg,#1b2b45,#202238);border-color:#334668}body[data-theme=night] .insight p{color:#bfcee2}body[data-theme=night] .track{background:#29384e}body[data-theme=night] .tag{background:#24364f;color:#adc4e1}body[data-theme=night] .tag.live,body[data-theme=night] #liveTag{background:#19382f;color:#8aceaf}body[data-theme=night] .map{background:#101a2c}body[data-theme=night] #usMap path{fill:#293b55;stroke:#121d30}body[data-theme=night] #usMap path.m1{fill:#345780}body[data-theme=night] #usMap path.m2{fill:#437cb2}body[data-theme=night] #usMap path.m3{fill:#6fa7e0}body[data-theme=night] .callout{background:#17263cf2;border-color:#374a65;color:#b1c3db}body[data-theme=night] .callout b{color:#c4d9f5}body[data-theme=night] .live-dot{box-shadow:0 0 0 4px #19342e}body[data-theme=night] .signal-box small{color:#c6ae79}
@media(min-width:1650px){main{padding:30px 38px}.kpi{padding:19px}.kpi-title{font-size:12px}.kpi-value{font-size:35px}.grid{gap:20px;margin-bottom:20px}.body{padding:18px 22px 22px}.head{padding:20px 22px 0}.head b{font-size:17px}.head small{font-size:12px}.map{height:310px}}
@media(max-width:1250px){.app{grid-template-columns:76px minmax(0,1fr)}aside{padding:22px 10px}.brand div:not(.logo),.nav a span:not(.ico),.profile{display:none}.brand{padding:4px 8px 24px}.nav a{justify-content:center;padding:10px}.top{display:block}.controls{justify-content:flex-start;margin-top:14px;max-width:none}.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.grid{grid-template-columns:1.25fr 1fr}.grid.equal{grid-template-columns:1fr 1fr}.head{padding:16px 17px 0}.body{padding:14px 17px 17px}.head b{font-size:14px}.topic-row{grid-template-columns:115px 1fr 26px}.states{grid-template-columns:repeat(4,minmax(0,1fr))}.signal-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.grid,.grid.equal{grid-template-columns:1fr}.signal-grid{grid-template-columns:1fr 1fr}.titleline h1{font-size:26px}main{padding:20px}.states{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.app{display:block}aside{inset:0 auto 0 0;height:100vh;background:var(--panel);box-shadow:20px 0 60px #24344b20;padding-top:65px}.mobilebar{display:flex;top:0;background:var(--panel);color:var(--text);border-color:var(--line);padding:11px 17px;z-index:110}.mobilebar button{background:var(--panel2);color:var(--text);border-color:var(--line);font-size:12px}.preview{padding:12px 17px;font-size:10px;gap:10px}.preview-tools button{min-height:32px}.brand div:not(.logo),aside .nav a span:not(.ico),aside .profile{display:block}.nav a{justify-content:flex-start}main{padding:20px 16px 35px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi{min-height:133px;padding:15px}.kpi-title{font-size:11px}.kpi-value{font-size:29px}.kpi-change{font-size:10px}.titleline h1 small{font-size:15px}.titleline h1{font-size:25px}.sub{font-size:12px}.ctrl{height:40px;font-size:11px;min-width:0}.ctrl select{font-size:14px;max-width:150px}.controls{gap:6px}.controls .ctrl:nth-last-child(2){flex:1}.map{height:245px}.head b{font-size:15px}.head small{font-size:11px}.tag{max-width:95px}.signal-grid{grid-template-columns:1fr;padding:15px 17px}.states{grid-template-columns:1fr 1fr}.view-nav{gap:5px}.view-nav a{padding:8px 10px;min-height:38px}.stream-item{grid-template-columns:30px 1fr}.stream-item .loc{grid-column:2}.topic-row{grid-template-columns:120px 1fr 24px}.journey{gap:5px}.stage small{font-size:10px}.stage b{font-size:13px}.stock-split-note{margin-top:-5px}}
@media(max-width:720px){.controls .ctrl{flex:0 0 auto;min-width:0}.controls .ctrl:nth-last-child(2){flex:0 0 auto}.ctrl select{max-width:145px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}
