:root{--bg:#030504;--panel:rgba(8,12,10,.88);--panel-solid:#090d0b;--line:#202722;--line-bright:#36423b;--text:#f3f5f2;--muted:#929b95;--dim:#56605a;--green:#3ee681;--orange:#ff9d3c;--red:#ee3d3d;--cyan:#62d9d2;--mono:'DM Mono',monospace;--sans:'Inter',sans-serif}

*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:var(--sans);letter-spacing:0}
body{overflow-x:hidden}
button,a,input{font:inherit;color:inherit}
button{border:0;cursor:pointer}
a{text-decoration:none}
.boot-screen{position:fixed;inset:0;z-index:9999;background:#000;display:grid;place-content:center;justify-items:center;transition:opacity .55s ease,visibility .55s}
.boot-screen.done{opacity:0;visibility:hidden}
.boot-logo{position:relative;width:min(460px,76vw);aspect-ratio:3.4/1;overflow:hidden}
.boot-logo img{display:block;width:100%;height:100%;object-fit:cover;filter:brightness(1.05)}
.scan-line{position:absolute;left:8%;right:8%;height:1px;top:10%;background:#fff;box-shadow:0 0 16px #fff;animation:scan 1.5s ease-in-out infinite}
.boot-status{width:min(380px,72vw);display:flex;justify-content:space-between;margin-top:20px;color:#8d9690;font-family:var(--mono);font-size:9px;letter-spacing:.12em}
.boot-status b{color:#fff;font-weight:400}
.boot-progress{width:min(380px,72vw);height:2px;margin-top:9px;background:#191d1b}
.boot-progress i{display:block;width:0;height:100%;background:#fff;box-shadow:0 0 8px #fff;transition:width .25s}
.topbar{height:48px;position:fixed;inset:0 0 auto 0;z-index:1000;display:grid;grid-template-columns:280px 1fr 300px;align-items:center;padding:0 16px;background:#030504;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:11px;height:100%}
.brand img{width:92px;height:38px;object-fit:cover}
.brand span{color:var(--dim);font-family:var(--mono);font-size:7px;letter-spacing:.1em;border-left:1px solid var(--line);padding-left:10px}
.primary-nav{height:100%;display:flex;justify-content:center}
.nav-tab{height:100%;position:relative;padding:0 15px;background:transparent;color:var(--muted);font-family:var(--mono);font-size:9px}
.nav-tab:hover,.nav-tab.active{color:#fff}
.nav-tab.active:after{content:'';position:absolute;bottom:-1px;left:15px;right:15px;height:2px;background:#fff}
.top-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px}
.live-state{display:flex;align-items:center;gap:6px;color:var(--muted);font-family:var(--mono);font-size:8px;font-style:normal}
.live-state i,.source-stack i,.market-status i{width:5px;height:5px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px rgba(62,230,129,.1)}
.live-state b{font-weight:400;color:var(--green)}
.live-state em{font-style:normal;color:var(--dim)}
.icon-button{width:30px;height:30px;display:grid;place-items:center;background:#0a0d0b;border:1px solid var(--line);border-radius:3px}
.icon-button svg{width:13px}
.terminal-button{height:30px;padding:0 10px;display:flex;align-items:center;gap:7px;background:#fff;color:#050705;border-radius:3px;font-family:var(--mono);font-size:8px;font-weight:500}
.terminal-button svg{width:12px}
.ticker-shell{position:fixed;top:48px;left:0;right:0;height:32px;z-index:990;display:flex;background:#050706;border-bottom:1px solid var(--line);overflow:hidden}
.ticker-viewport{flex:1;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.ticker-track{height:100%;width:max-content;display:flex;align-items:center;animation:ticker-scroll 55s linear infinite;will-change:transform}
.ticker-track:hover{animation-play-state:paused}
.ticker-loading{padding:0 20px;color:var(--dim);font-family:var(--mono);font-size:9px}
.ticker-item{height:100%;display:flex;align-items:center;gap:8px;padding:0 18px;border-right:1px solid #151a17;font-family:var(--mono);font-size:9px;white-space:nowrap}
.ticker-item b{font-weight:500}
.ticker-item .up{color:var(--green)}
.ticker-item .down{color:var(--red)}
.ticker-item small{color:var(--dim);font-size:7px}
.price-source,.ticker-shell time{display:grid;place-items:center;padding:0 13px;border-left:1px solid var(--line);color:var(--dim);font-family:var(--mono);font-size:7px;white-space:nowrap}
.ticker-shell time{min-width:112px;color:var(--muted)}
main{padding-top:80px}
.view{display:none}
.view.active{display:block}
.map-view,.globe-shell{height:calc(100vh - 80px);min-height:620px}
.globe-shell{position:relative;overflow:hidden;background:radial-gradient(circle at 56% 45%,#091411 0,#020403 55%,#000 100%)}
#globe{position:absolute;inset:0;z-index:1}
#globe canvas{display:block}
.globe-vignette{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.8) 0,transparent 27%,transparent 73%,rgba(0,0,0,.8) 100%),linear-gradient(180deg,rgba(0,0,0,.2),transparent 28%,rgba(0,0,0,.28))}
.globe-title{position:absolute;z-index:5;top:14px;left:50%;transform:translateX(-50%);text-align:center;pointer-events:none}
.globe-title span{font-family:var(--mono);font-size:8px;letter-spacing:.16em}
.globe-title b{display:block;margin-top:5px;color:var(--dim);font-family:var(--mono);font-size:7px;font-weight:400}
.map-controls{position:absolute;z-index:8;bottom:15px;left:50%;transform:translateX(-50%);display:flex;background:rgba(4,7,5,.8);border:1px solid var(--line)}
.map-controls button{width:34px;height:30px;display:grid;place-items:center;background:transparent;color:var(--dim)}
.map-controls button+button{border-left:1px solid var(--line)}
.map-controls button:hover,.map-controls button.active{color:#fff;background:#121713}
.map-controls svg{width:14px}
.legend{position:absolute;z-index:8;left:50%;bottom:54px;transform:translateX(-50%);display:flex;gap:12px;padding:6px 9px;background:rgba(4,7,5,.72);border:1px solid var(--line);font-family:var(--mono);font-size:7px;color:var(--muted)}
.legend span{display:flex;align-items:center;gap:5px}
.legend i{width:5px;height:5px;border-radius:50%}
.legend .red{background:var(--red)}
.legend .orange{background:var(--orange)}
.legend .green{background:var(--green)}
.glass-panel{background:var(--panel);border:1px solid rgba(64,77,68,.55);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 18px 50px rgba(0,0,0,.2)}
.left-panel{position:absolute;z-index:20;left:14px;top:14px;width:310px;height:calc(100% - 28px);display:flex;flex-direction:column;overflow:hidden}
.panel-tabs{height:38px;display:flex;border-bottom:1px solid var(--line)}
.panel-tabs button{flex:1;background:transparent;color:var(--dim);font-family:var(--mono);font-size:8px}
.panel-tabs button+button{border-left:1px solid var(--line)}
.panel-tabs button.active{color:#fff;background:#111612}
.left-content{display:none;min-height:0;flex:1}
.left-content.active{display:flex;flex-direction:column}
.panel-heading{min-height:65px;display:flex;align-items:center;justify-content:space-between;padding:12px 13px;border-bottom:1px solid var(--line)}
.panel-heading.compact{min-height:54px}
.eyebrow{display:block;color:var(--dim);font-family:var(--mono);font-size:7px;letter-spacing:.11em}
.panel-heading h1,.panel-heading h2{margin:4px 0 0;font-size:14px;font-weight:500}
.panel-heading h2{font-size:11px}
.panel-heading>strong{font-family:var(--mono);font-size:18px;font-weight:400;color:var(--orange)}
.refresh-button{width:28px;height:28px;display:grid;place-items:center;background:transparent;border:1px solid var(--line);border-radius:3px}
.refresh-button svg{width:12px}
.wire-filters{height:35px;display:flex;border-bottom:1px solid var(--line);padding:5px}
.wire-filters button{flex:1;background:transparent;color:var(--dim);font-family:var(--mono);font-size:7px;border-radius:2px}
.wire-filters button.active{background:#182019;color:#fff}
.intel-stream{flex:1;overflow:auto;scrollbar-width:thin;scrollbar-color:#263029 transparent}
.intel-card{display:block;width:100%;padding:12px;text-align:left;background:transparent;border-bottom:1px solid #171d19}
.intel-card:hover{background:#111612}
.intel-meta{display:flex;align-items:center;gap:6px;color:var(--dim);font-family:var(--mono);font-size:7px}
.intel-priority{padding:2px 4px;border:1px solid currentColor;border-radius:2px}
.intel-priority.critical{color:var(--red)}
.intel-priority.high{color:var(--orange)}
.intel-priority.medium{color:var(--cyan)}
.intel-card h3{margin:7px 0 9px;font-size:10px;line-height:1.45;font-weight:500}
.intel-foot{display:flex;justify-content:space-between;align-items:center;color:var(--dim);font-family:var(--mono);font-size:7px}
.intel-countries{display:flex;gap:4px}
.intel-countries i{font-style:normal;padding:2px 4px;background:#151b17;color:#9ba69f}
.skeleton-list{padding:12px;display:grid;gap:12px}
.skeleton-list i{display:block;height:70px;background:linear-gradient(90deg,#101411,#181e1a,#101411);background-size:200% 100%;animation:shimmer 1.4s linear infinite}
.skeleton-list.small i{height:36px}
.tv-panel{padding:10px}
.video-frame{position:relative;aspect-ratio:16/9;background:#000;border:1px solid var(--line);overflow:hidden}
.video-frame iframe{width:100%;height:100%;border:0}
.video-frame button{position:absolute;inset:0;width:100%;display:grid;place-content:center;justify-items:center;gap:8px;background:radial-gradient(circle,#141a16,#050706);text-align:center}
.video-frame button svg{width:24px}
.video-frame button b{font-family:var(--mono);font-size:8px}
.video-frame button span{color:var(--dim);font-size:8px}
.stream-offline{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:8px;background:radial-gradient(circle,#141a16,#050706);text-align:center}
.stream-offline svg{width:24px}.stream-offline b{font-family:var(--mono);font-size:8px}.stream-offline span{max-width:85%;color:var(--dim);font-size:8px}
.tv-meta{display:flex;justify-content:space-between;align-items:center;padding:10px 3px}
.tv-meta a{display:flex;align-items:center;gap:5px;color:var(--muted);font-family:var(--mono);font-size:7px}
.tv-meta svg{width:10px}
.right-panel{position:absolute;z-index:20;right:14px;top:14px;width:280px;bottom:14px;display:flex;flex-direction:column;gap:8px}
.conflicts-panel{min-height:0;flex:1;display:flex;flex-direction:column;overflow:hidden}
.conflict-list{min-height:0;overflow:auto}
.conflict-row{width:100%;display:grid;grid-template-columns:7px 1fr auto;gap:9px;align-items:center;padding:10px 12px;background:transparent;border-bottom:1px solid #171d19;text-align:left}
.conflict-row:hover{background:#121713}
.conflict-row>i{width:6px;height:6px;border-radius:50%}
.conflict-row>i.red{background:var(--red);box-shadow:0 0 0 3px rgba(238,61,61,.1)}
.conflict-row>i.orange{background:var(--orange)}
.conflict-row b{display:block;font-size:9px;font-weight:500}
.conflict-row span{display:block;margin-top:3px;color:var(--dim);font-family:var(--mono);font-size:7px}
.conflict-row strong{font-family:var(--mono);font-size:9px;font-weight:400;color:var(--muted)}
.pulse-panel{flex:0 0 auto}
.pulse-badge{padding:4px 6px;border:1px solid var(--line-bright);color:var(--muted);font-family:var(--mono);font-size:7px}
.pulse-body{display:grid;grid-template-columns:52px 1fr;gap:10px;align-items:center;padding:12px}
.pulse-score{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;border:2px solid var(--green);font-family:var(--mono);font-size:15px}
.pulse-body b{font-size:9px}
.pulse-body p{margin:5px 0 0;color:var(--dim);font-size:8px;line-height:1.4}
.pulse-bars{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:0 12px 12px}
.pulse-bar{display:grid;gap:4px}
.pulse-bar span{height:3px;background:#29312c}
.pulse-bar span i{display:block;height:100%;background:var(--green)}
.pulse-bar b{font-family:var(--mono);font-size:6px;font-weight:400;color:var(--dim);text-align:center}
.country-drawer{position:absolute;z-index:30;left:338px;top:14px;width:310px;padding:17px;transform:translateX(-18px);opacity:0;pointer-events:none;transition:.25s}
.country-drawer.open{transform:none;opacity:1;pointer-events:auto}
.drawer-close{position:absolute;right:9px;top:9px;width:26px;height:26px;display:grid;place-items:center;background:transparent;color:var(--dim)}
.drawer-close svg{width:13px}
.country-drawer h2{font-size:22px;margin:8px 0 12px}
.country-status{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-family:var(--mono);font-size:8px}
.country-status strong{color:var(--green)}
.country-drawer p{color:var(--muted);font-size:10px;line-height:1.55}
.country-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}
.country-stats div{padding:9px;background:#0a0e0b}
.country-stats span{display:block;color:var(--dim);font-family:var(--mono);font-size:6px}
.country-stats b{display:block;margin-top:4px;font-family:var(--mono);font-size:9px}
.send-tt{width:100%;height:34px;margin-top:12px;display:flex;justify-content:center;align-items:center;gap:7px;background:#fff;color:#060806;font-family:var(--mono);font-size:7px}
.send-tt svg{width:12px}
.workspace{min-height:calc(100vh - 80px);padding:28px 32px 60px}
.workspace-header{display:flex;justify-content:space-between;align-items:flex-end;padding-bottom:22px;border-bottom:1px solid var(--line)}
.workspace-header h1{font-size:32px;margin:7px 0}
.workspace-header p{margin:0;color:var(--muted);font-size:11px}
.source-stack{display:flex;gap:12px}
.source-stack span,.market-status{display:flex;align-items:center;gap:6px;color:var(--muted);font-family:var(--mono);font-size:7px}
.feed-layout{display:grid;grid-template-columns:1fr 260px;gap:18px;margin-top:18px}
.full-feed{border-top:1px solid var(--line)}
.feed-row{display:grid;grid-template-columns:70px 110px minmax(260px,1fr) 130px 20px;gap:12px;align-items:center;padding:14px 9px;border-bottom:1px solid var(--line)}
.feed-row:hover{background:#080b09}
.feed-row time,.feed-row .source{color:var(--dim);font-family:var(--mono);font-size:7px}
.feed-row h3{margin:0;font-size:10px;line-height:1.45;font-weight:500}
.feed-row .countries{font-family:var(--mono);font-size:7px;color:var(--orange)}
.feed-row a svg{width:12px;color:var(--dim)}
.workspace-side{padding:15px;background:#080b09;border:1px solid var(--line);align-self:start}
.workspace-side h2{font-size:10px;margin:0 0 12px}
.source-list{display:grid}
.source-item{display:flex;justify-content:space-between;padding:9px 0;border-top:1px solid var(--line);font-family:var(--mono);font-size:7px}
.source-item span{color:var(--green)}
.outline-button{height:32px;padding:0 10px;display:flex;align-items:center;justify-content:center;gap:6px;background:transparent;border:1px solid var(--line-bright);font-family:var(--mono);font-size:7px}
.outline-button:hover{border-color:#fff}
.outline-button svg{width:12px}
.workspace-side .outline-button{width:100%;margin-top:14px}
.market-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:18px}
.market-card{min-height:150px;padding:15px;background:#080b09;border:1px solid var(--line)}
.market-card header{display:flex;justify-content:space-between}
.market-card h2{font-size:11px;margin:0}
.market-card header span{font-family:var(--mono);font-size:7px;color:var(--dim)}
.market-card strong{display:block;margin-top:27px;font-family:var(--mono);font-size:22px;font-weight:400}
.market-card>span{display:block;margin-top:7px;font-family:var(--mono);font-size:9px}
.market-card footer{display:flex;justify-content:space-between;margin-top:21px;padding-top:8px;border-top:1px solid var(--line);color:var(--dim);font-family:var(--mono);font-size:6px}
.scenario-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:18px}
.scenario-card{min-height:300px;padding:18px;background:#080b09;border:1px solid var(--line);display:flex;flex-direction:column}
.scenario-card header{display:flex;justify-content:space-between;align-items:flex-start}
.scenario-card header strong{font-family:var(--mono);font-size:26px;font-weight:400;color:var(--green)}
.scenario-card h2{font-size:14px;margin:23px 0 9px}
.scenario-card p{font-size:9px;line-height:1.55;color:var(--muted);margin:0}
.scenario-path{margin-top:18px;display:grid;gap:7px;padding-top:10px;border-top:1px solid var(--line)}
.scenario-path span{display:flex;justify-content:space-between;font-family:var(--mono);font-size:7px}
.scenario-card button{margin-top:auto;height:32px;background:#101511;border:1px solid var(--line);font-family:var(--mono);font-size:7px}
.search-panel{position:fixed;z-index:2000;inset:0;background:rgba(0,0,0,.9);backdrop-filter:blur(12px);padding:82px max(14px,calc((100vw - 680px)/2));opacity:0;visibility:hidden;transition:.2s}
.search-panel.open{opacity:1;visibility:visible}
.search-box{height:48px;display:grid;grid-template-columns:42px 1fr 42px;align-items:center;background:#0b0f0c;border:1px solid var(--line-bright)}
.search-box>svg{width:15px;justify-self:center}
.search-box input{height:100%;background:transparent;border:0;outline:0;font-size:12px}
.search-box button{background:transparent}
.search-box button svg{width:14px}
.search-results{max-height:420px;overflow:auto;background:#070a08;border:1px solid var(--line);border-top:0}
.search-results>span{display:block;padding:18px;color:var(--dim);font-size:9px}
.search-result{width:100%;display:block;padding:12px 14px;background:transparent;border-bottom:1px solid var(--line);text-align:left}
.search-result:hover{background:#101511}
.search-result small{color:var(--orange);font-family:var(--mono);font-size:7px}
.search-result b{display:block;margin-top:5px;font-size:9px}
.toast{position:fixed;z-index:3000;right:16px;bottom:16px;padding:10px 12px;background:#fff;color:#050705;font-family:var(--mono);font-size:8px;transform:translateY(15px);opacity:0;transition:.2s}
.toast.show{transform:none;opacity:1}
.scene-tooltip{min-width:150px;padding:9px 10px;background:rgba(4,7,5,.96);border:1px solid #344038;color:#fff;font-family:var(--mono);pointer-events:none}
.scene-tooltip b{display:block;font-size:9px}
.scene-tooltip span{display:block;margin-top:5px;font-size:7px}
.scene-tooltip em{display:block;margin-top:7px;color:var(--dim);font-size:7px;font-style:normal}
.up{color:var(--green)!important}
.down{color:var(--red)!important}
@keyframes ticker-scroll{to{transform:translateX(-50%)}
}
@keyframes shimmer{to{background-position:-200% 0}
}
@keyframes scan{50%{top:88%}
}
@media(max-width:1120px){.topbar{grid-template-columns:220px 1fr 220px}
.brand span{display:none}
.right-panel{display:none}
.country-drawer{right:14px;left:auto}
.market-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){.boot-logo{width:88vw}
.topbar{height:48px;grid-template-columns:1fr auto;padding:0 10px}
.brand img{width:84px}
.primary-nav{position:fixed;z-index:1200;bottom:0;left:0;right:0;height:50px;background:#050706;border-top:1px solid var(--line)}
.nav-tab{flex:1;padding:0 5px;font-size:7px}
.nav-tab.active:after{top:-1px;bottom:auto;left:20%;right:20%}
.live-state em,.top-actions>.live-state,.terminal-button{display:none}
.ticker-shell{top:48px}
.price-source,.ticker-shell time{display:none}
.map-view,.globe-shell{height:calc(100vh - 80px);min-height:590px}
.globe-vignette{background:linear-gradient(180deg,rgba(0,0,0,.35),transparent 45%,rgba(0,0,0,.7))}
.left-panel{left:8px;right:8px;top:auto;bottom:58px;width:auto;height:235px}
.panel-heading{min-height:49px}
.panel-tabs{height:32px}
.wire-filters{display:none}
.intel-stream{display:flex;overflow-x:auto;overflow-y:hidden}
.intel-card{min-width:260px;border-right:1px solid var(--line)}
.right-panel{display:none}
.globe-title{top:10px}
.legend{top:38px;bottom:auto}
.map-controls{bottom:300px}
.country-drawer{left:8px;right:8px;top:72px;width:auto}
.workspace{padding:20px 12px 70px}
.workspace-header{align-items:flex-start;gap:14px}
.workspace-header h1{font-size:24px}
.workspace-header p{line-height:1.5}
.feed-layout{grid-template-columns:1fr}
.workspace-side{display:none}
.feed-row{grid-template-columns:50px 1fr 16px}
.feed-row .source,.feed-row .countries{display:none}
.market-grid,.scenario-grid{grid-template-columns:1fr}
.search-panel{padding:64px 10px}
.toast{bottom:62px;left:10px;right:10px;text-align:center}
}
