:root{--bg:#0a0a0a;--surface:#111;--surface-2:#171717;--surface-3:#1c1c1c;--border:#242424;--border-strong:#2e2e2e;--accent:#3ddc84;--accent-hover:#2ab86a;--accent-dim:#3ddc8414;--accent-mid:#3ddc842e;--positive:#3ddc84;--negative:#ff5c5c;--caution:#f0a500;--info:#38bdf8;--pro:#a78bfa;--positive-bg:#3ddc840f;--negative-bg:#ff5c5c0f;--caution-bg:#f0a5000f;--info-bg:#38bdf80f;--pro-bg:#a78bfa0f;--text-primary:#f0f0f0;--text-secondary:#888;--text-tertiary:#444;--font-display:"Syne",sans-serif;--font-body:"Inter",sans-serif;--font-mono:"JetBrains Mono",monospace;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-2xl:32px;--space-3xl:48px;--space-4xl:64px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-pill:20px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{background:#0a0a0a;background:var(--bg);background-attachment:fixed;background-image:linear-gradient(#242424 1px,#0000 0),linear-gradient(90deg,#242424 1px,#0000 0);background-image:linear-gradient(var(--border) 1px,#0000 1px),linear-gradient(90deg,var(--border) 1px,#0000 1px);background-image:linear-gradient(#2424240f 1px,#0000 0),linear-gradient(90deg,#2424240f 1px,#0000 0);background-size:48px 48px;color:#f0f0f0;color:var(--text-primary);font-family:Inter,sans-serif;font-family:var(--font-body);font-size:13px;line-height:1.5}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#0a0a0a;background:var(--bg)}::-webkit-scrollbar-thumb{background:#3ddc8440;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#3ddc8473}input[type=range]{-webkit-appearance:none;background:#242424;background:var(--border);border-radius:2px;cursor:pointer;height:4px;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#3ddc84;background:var(--accent);border-radius:50%;cursor:pointer;height:14px;-webkit-transition:transform .1s;transition:transform .1s;width:14px}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}.ticker-tag{background:#3ddc8414;background:var(--accent-dim);border:1px solid #3ddc842e;border:1px solid var(--accent-mid);border-radius:4px;border-radius:var(--radius-sm);color:#3ddc84;color:var(--accent);display:inline-block;font-family:JetBrains Mono,monospace;font-family:var(--font-mono);font-size:11px;letter-spacing:.05em;padding:1px 8px}.stat-card{background:#111;background:var(--surface);border:1px solid #242424;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-lg);padding:16px;padding:var(--space-lg);transition:border-color .2s}.stat-card:hover{border-color:#2e2e2e;border-color:var(--border-strong)}.btn{border:none;border-radius:6px;border-radius:var(--radius-md);cursor:pointer;font-family:JetBrains Mono,monospace;font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;padding:7px 16px;transition:all .12s}.btn-primary{background:#3ddc84;background:var(--accent);color:#0a0a0a;color:var(--bg);font-weight:700}.btn-primary:hover{background:#2ab86a;background:var(--accent-hover);transform:translateY(-1px)}.btn-ghost{background:#0000;border:1px solid #242424;border:1px solid var(--border);color:#888;color:var(--text-secondary)}.btn-ghost:hover{border-color:#3ddc842e;border-color:var(--accent-mid);color:#f0f0f0;color:var(--text-primary)}.btn-danger{background:#0000;border:1px solid #ff5c5c33;color:#ff5c5c;color:var(--negative)}.btn-danger:hover{background:#ff5c5c0f;background:var(--negative-bg)}.btn-warning{background:#0000;border:1px solid #f0a50033;color:#f0a500;color:var(--caution)}.btn-warning:hover{background:#f0a5000f;background:var(--caution-bg)}.input-dark{background:#111;background:var(--surface);border:1px solid #242424;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius-md);color:#f0f0f0;color:var(--text-primary);font-family:JetBrains Mono,monospace;font-family:var(--font-mono);font-size:12px;outline:none;padding:7px 11px;transition:border-color .12s}.input-dark:focus{border-color:#3ddc842e;border-color:var(--accent-mid)}.input-dark::placeholder{color:#444;color:var(--text-tertiary)}.weight-input{background:#111;background:var(--surface);border:1px solid #242424;border:1px solid var(--border);border-radius:4px;border-radius:var(--radius-sm);color:#3ddc84;color:var(--accent);font-family:JetBrains Mono,monospace;font-family:var(--font-mono);font-size:12px;outline:none;padding:4px 8px;text-align:right;transition:border-color .12s;width:64px}.weight-input:focus{border-color:#3ddc842e;border-color:var(--accent-mid)}.section-label{color:#444;color:var(--text-tertiary);font-family:JetBrains Mono,monospace;font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;margin-bottom:14px;text-transform:uppercase}.divider{border:none;border-top:1px solid #242424;border-top:1px solid var(--border);margin:16px 0}.fade-in{animation:fadeIn .35s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.blink{animation:blink 1.4s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.25}}.pulse-green{animation:pulseGreen .7s ease}@keyframes pulseGreen{0%{box-shadow:0 0 0 0 #3ddc8466}to{box-shadow:0 0 0 14px #0000}}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@keyframes skeletonShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.data-value,.mono{font-family:JetBrains Mono,monospace;font-family:var(--font-mono)}.display-heading{font-family:Syne,sans-serif;font-family:var(--font-display);font-weight:700}.recharts-tooltip-wrapper{outline:none}.cmdk-overlay{align-items:flex-start;animation:fadeIn .15s ease;background:#000000bf;display:flex;inset:0;justify-content:center;padding-top:15vh;position:fixed;z-index:9000}.cmdk-box{background:#111;background:var(--surface);border:1px solid #2e2e2e;border:1px solid var(--border-strong);border-radius:8px;border-radius:var(--radius-lg);box-shadow:0 24px 64px #0009,0 0 0 1px #3ddc8414;max-width:90vw;overflow:hidden;width:560px}.cmdk-input{background:#0000;border:none;border-bottom:1px solid #242424;border-bottom:1px solid var(--border);color:#f0f0f0;color:var(--text-primary);font-family:JetBrains Mono,monospace;font-family:var(--font-mono);font-size:14px;letter-spacing:.04em;outline:none;padding:16px 20px;width:100%}.cmdk-input::placeholder{color:#444;color:var(--text-tertiary)}.cmdk-results{max-height:320px;overflow-y:auto;padding:8px 0}.cmdk-item{align-items:center;cursor:pointer;display:flex;gap:12px;padding:10px 20px;transition:background .1s}.cmdk-item-code,.cmdk-item.active,.cmdk-item:hover{background:#3ddc8414;background:var(--accent-dim)}.cmdk-item-code{border:1px solid #3ddc842e;border:1px solid var(--accent-mid);border-radius:4px;border-radius:var(--radius-sm);color:#3ddc84;color:var(--accent);flex-shrink:0;font-size:10px;letter-spacing:.06em;padding:2px 6px;text-align:center;width:44px}.cmdk-item-code,.cmdk-item-label{font-family:JetBrains Mono,monospace;font-family:var(--font-mono)}.cmdk-item-label{color:#f0f0f0;color:var(--text-primary);font-size:12px;letter-spacing:.04em}.cmdk-item-group{color:#444;color:var(--text-tertiary);font-size:10px;letter-spacing:.1em;margin-left:auto;text-transform:uppercase}.cmdk-footer{align-items:center;border-top:1px solid #242424;border-top:1px solid var(--border);display:flex;gap:16px;padding:8px 20px}.cmdk-key{background:#1c1c1c;background:var(--surface-3);border:1px solid #242424;border:1px solid var(--border);border-radius:3px;color:#444;color:var(--text-tertiary);font-family:JetBrains Mono,monospace;font-family:var(--font-mono);font-size:9px;padding:2px 6px}.onboarding-overlay{align-items:center;animation:fadeIn .25s ease;background:#060a0f;display:flex;font-family:JetBrains Mono,monospace;inset:0;justify-content:center;overflow-y:auto;position:fixed}.onboarding-modal{background:#0d1117;border:1px solid #1c2333;border-radius:8px;box-shadow:0 32px 80px #000000b3,0 0 0 1px #3ddc840f;max-height:90vh;max-width:92vw;overflow-y:auto;width:520px}@media (max-width:768px){.hdr-hamburger{display:block!important}.hdr-drawer{display:flex!important}.hdr-backdrop{display:block!important}.hdr-bottom-bar{display:flex!important}.hdr-kpi,.hdr-tab-bar{display:none!important}body{padding-bottom:60px}.stat-card{padding:12px}.builder-layout{display:block!important}.builder-layout>*{margin-bottom:16px;width:100%!important}.weight-input{font-size:14px;min-height:44px}.valuation-detail-mobile{background:#000!important;inset:0!important;overflow-y:auto!important;padding:0!important;position:fixed!important;z-index:150!important}.analytics-chart{min-width:100%!important}.analytics-kpi-grid{grid-template-columns:1fr 1fr!important}.corr-matrix{overflow-x:auto}#root,body{overflow-x:hidden}.ticker-tag{max-width:100%;overflow:hidden;text-overflow:ellipsis}}@keyframes geoFlash{0%{border-color:#f0a500;box-shadow:0 0 8px #f0a50080}60%{border-color:#f0a500;box-shadow:0 0 4px #f0a5004d}to{border-color:#0000;box-shadow:none}}.geo-flash{animation:geoFlash 8s ease-out forwards;border:1px solid #0000}.geo-badge{align-items:center;background:#f0a5001f;border:1px solid #f0a5004d;border-radius:3px;color:#f0a500;display:inline-flex;font-family:JetBrains Mono,monospace;font-family:var(--font-mono);font-size:10px;gap:3px;margin-left:6px;padding:1px 5px}.route-trade{stroke-dasharray:14,6;animation:routeFlowTrade 1.8s linear infinite}.route-supply{stroke-dasharray:10,8;animation:routeFlowSupply 2.2s linear infinite}.route-refugee{stroke-dasharray:6,10;animation:routeFlowRefugee 2.8s linear infinite}.route-energy{stroke-dasharray:14,4;animation:routeFlowEnergy 1.4s linear infinite}@keyframes routeFlowTrade{to{stroke-dashoffset:-20}}@keyframes routeFlowSupply{to{stroke-dashoffset:-18}}@keyframes routeFlowRefugee{to{stroke-dashoffset:-16}}@keyframes routeFlowEnergy{to{stroke-dashoffset:-18}}.btn:active{transform:scale(.97)}.btn-primary:active{transform:scale(.97) translateY(0)}:focus-visible{border-radius:4px;border-radius:var(--radius-sm);outline:2px solid #3ddc84;outline:2px solid var(--accent);outline-offset:2px}button:focus:not(:focus-visible),input:focus:not(:focus-visible),select:focus:not(:focus-visible){outline:none}@keyframes slideInRight{0%{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}.slide-in-right{animation:slideInRight .2s ease}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:translateX(0)}}.slide-in-left{animation:slideInLeft .2s ease}@keyframes db-slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.db-slide-down{animation:db-slide-down .3s ease}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.skeleton{animation:shimmer 1.4s ease-in-out infinite;background:linear-gradient(90deg,#1c1c1c 25%,#171717 50%,#1c1c1c 75%);background:linear-gradient(90deg,var(--surface-3) 25%,var(--surface-2) 50%,var(--surface-3) 75%);background-size:600px 100%;border-radius:4px;border-radius:var(--radius-sm)}.geo-popup .leaflet-popup-content-wrapper{background:#111;border:1px solid #242424;border-radius:6px;box-shadow:0 4px 20px #0009;padding:0}.geo-popup .leaflet-popup-content{color:#f0f0f0;font-family:JetBrains Mono,monospace;margin:0}.geo-popup .leaflet-popup-tip-container{display:none}.geo-popup .leaflet-popup-close-button{color:#888!important;font-size:14px!important;right:8px!important;top:8px!important}
/*# sourceMappingURL=main.defd387b.css.map*/