:root{--topbar-height: 76px;--rail-top: 202px;--panel-top: 202px;--side-gap: 24px;color:#f5f7fb;background:#05070b;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow:hidden}button{font:inherit}[data-tooltip]{position:relative}[data-tooltip]:after{position:absolute;z-index:2000;bottom:calc(100% + 9px);left:50%;width:max-content;max-width:260px;padding:8px 10px;color:#e5edf7;background:#03070cf0;border:1px solid rgba(148,163,184,.22);border-radius:8px;box-shadow:0 14px 34px #00000057;content:attr(data-tooltip);font-size:.72rem;font-weight:650;letter-spacing:0;line-height:1.35;opacity:0;pointer-events:none;text-align:left;text-transform:none;transform:translate(-50%,4px);transition:opacity .14s ease,transform .14s ease;white-space:normal}[data-tooltip]:before{position:absolute;z-index:2001;bottom:calc(100% + 4px);left:50%;width:9px;height:9px;background:#03070cf0;border-right:1px solid rgba(148,163,184,.22);border-bottom:1px solid rgba(148,163,184,.22);content:"";opacity:0;pointer-events:none;transform:translate(-50%,4px) rotate(45deg);transition:opacity .14s ease,transform .14s ease}[data-tooltip]:hover:after,[data-tooltip]:hover:before,[data-tooltip]:focus-visible:after,[data-tooltip]:focus-visible:before{opacity:1;transform:translate(-50%)}[data-tooltip]:hover:before,[data-tooltip]:focus-visible:before{transform:translate(-50%) rotate(45deg)}[data-tooltip-align=left]:after{left:0;transform:translateY(4px)}[data-tooltip-align=left]:before{left:8px;transform:translateY(4px) rotate(45deg)}[data-tooltip-align=left]:hover:after,[data-tooltip-align=left]:focus-visible:after{transform:translate(0)}[data-tooltip-align=left]:hover:before,[data-tooltip-align=left]:focus-visible:before{transform:translate(0) rotate(45deg)}[data-tooltip-align=right]:after{right:0;left:auto;transform:translateY(4px)}[data-tooltip-align=right]:before{right:8px;left:auto;transform:translateY(4px) rotate(45deg)}[data-tooltip-align=right]:hover:after,[data-tooltip-align=right]:focus-visible:after{transform:translate(0)}[data-tooltip-align=right]:hover:before,[data-tooltip-align=right]:focus-visible:before{transform:translate(0) rotate(45deg)}.info-tip{display:inline-grid;place-items:center;width:16px;height:16px;margin-left:5px;color:#94a3b8;cursor:default;vertical-align:-3px}.info-tip:hover,.info-tip:focus-visible{color:var(--shock-strong);outline:none}.app-shell{position:relative;min-height:100vh;padding:24px;--shock: rgba(123, 223, 242, .12);--shock-strong: #7bdff2;background:radial-gradient(circle at 30% 20%,var(--shock),transparent 26%),radial-gradient(circle at 80% 52%,rgba(255,61,113,.12),transparent 24%),linear-gradient(135deg,#05070b,#0c1018 44%,#080a10);transition:background .42s ease}.app-shell:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.025) 50%,transparent 50%),radial-gradient(circle at 50% 50%,transparent 0 50%,rgba(0,0,0,.32) 100%);background-size:100% 4px,auto;pointer-events:none;opacity:.36}.scenario-gasShock{--shock: rgba(123, 223, 242, .18);--shock-strong: #7bdff2}.scenario-oilShock{--shock: rgba(255, 183, 3, .18);--shock-strong: #ffb703}.scenario-cutImports{--shock: rgba(255, 61, 113, .22);--shock-strong: #ff3d71}.scenario-renewablesBoost{--shock: rgba(130, 242, 111, .17);--shock-strong: #82f26f}.topbar{position:relative;z-index:5;display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.hero-copy{flex:1 1 auto;min-width:0;max-width:620px}.sources-view .hero-copy{display:none}.top-actions{display:grid;justify-items:end;gap:8px}.top-button-row{display:flex;justify-content:flex-end;gap:8px}.source-nav-button{min-height:38px;padding:0 14px;color:#fff;background:color-mix(in srgb,var(--shock-strong) 18%,rgba(8,12,19,.82));border:1px solid color-mix(in srgb,var(--shock-strong) 46%,rgba(148,163,184,.24));border-radius:8px;box-shadow:0 0 22px color-mix(in srgb,var(--shock-strong) 14%,transparent);cursor:pointer;font-size:.78rem;font-weight:900;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:background .16s ease,border-color .16s ease,transform .16s ease}.source-nav-button:hover,.source-nav-button:focus-visible{color:#fff;background:color-mix(in srgb,var(--shock-strong) 26%,rgba(8,12,19,.82));border-color:color-mix(in srgb,var(--shock-strong) 70%,rgba(148,163,184,.24));outline:none;transform:translateY(-1px)}.source-nav-button.secondary{color:#cbd5e1;background:#080c139e;border-color:#94a3b838;box-shadow:none}.source-nav-button.secondary:hover,.source-nav-button.secondary:focus-visible{color:#fff;background:#0f172adb;border-color:color-mix(in srgb,var(--shock-strong) 44%,rgba(148,163,184,.24))}.ambient-field{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}.ambient-field span{position:absolute;width:2px;height:2px;background:var(--shock-strong);border-radius:50%;box-shadow:0 0 18px var(--shock-strong);opacity:.36;animation:drift 9s linear infinite}.ambient-field span:nth-child(1){left:14%;top:70%;animation-duration:10s}.ambient-field span:nth-child(2){left:42%;top:86%;animation-delay:-2s;animation-duration:12s}.ambient-field span:nth-child(3){left:78%;top:72%;animation-delay:-5s}.ambient-field span:nth-child(4){left:62%;top:22%;animation-delay:-7s;animation-duration:14s}.eyebrow{margin:0 0 4px;color:#7bdff2;font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}h1,h2,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(1.45rem,2.35vw,2.45rem);line-height:1.05}h2{margin-bottom:0;font-size:2rem}.purpose-line{max-width:520px;margin:6px 0 0;color:#b6c7da;font-size:.86rem;line-height:1.35}.scenario-controls{position:relative;display:grid;justify-items:end;gap:8px;transform:translateY(calc(var(--topbar-height) - 42px))}.scenario-scope{display:inline-flex;align-items:center;gap:8px;min-height:28px;padding:0 10px;color:#94a3b8;background:#080c13b3;border:1px solid rgba(148,163,184,.18);border-radius:8px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.scenario-scope span{font-size:.75rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.scenario-scope strong{color:var(--shock-strong);font-size:.78rem}.scenario-bar{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:720px}.scenario-tour-anchor{display:grid;justify-items:end}.scenario{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 9px;color:#cbd5e1;background:#0d141fc7;border:1px solid rgba(148,163,184,.22);border-radius:8px;cursor:pointer;transition:.18s ease}.scenario span{white-space:nowrap}.scenario:hover,.scenario.active{color:#fff;background:color-mix(in srgb,var(--shock-strong) 16%,rgba(8,12,19,.78));border-color:color-mix(in srgb,var(--shock-strong) 66%,rgba(148,163,184,.22));box-shadow:0 0 22px color-mix(in srgb,var(--shock-strong) 16%,transparent);transform:translateY(-1px)}.scenario.tutorial-pulse{color:#fff;border-color:var(--shock-strong);box-shadow:0 0 0 1px color-mix(in srgb,var(--shock-strong) 28%,transparent),0 0 24px color-mix(in srgb,var(--shock-strong) 28%,transparent);animation:tutorialScenarioPulse 1.8s ease-in-out infinite}.left-rail{position:absolute;top:var(--rail-top);bottom:var(--side-gap);left:var(--side-gap);z-index:4;display:flex;flex-direction:column;gap:12px;width:300px;min-height:0}.control-deck{position:relative;z-index:1;display:grid;gap:12px;flex:0 0 auto;padding:14px;background:#080c13bd;border:1px solid rgba(148,163,184,.18);border-radius:8px;box-shadow:0 18px 54px #0000003d;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.control-deck:hover,.control-deck:focus-within{z-index:24}.sources-page{position:relative;z-index:3;display:grid;gap:16px;width:min(920px,calc(100vw - 48px));margin:42px auto 0;padding:22px;background:#080c13c2;border:1px solid rgba(148,163,184,.18);border-radius:8px;box-shadow:0 22px 80px #00000057;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.sources-page-header{justify-self:center;max-width:620px;text-align:center}.sources-page-header h1{margin:0;font-size:clamp(1.8rem,3vw,2.8rem)}.sources-page-header p,.source-category p{margin:8px 0 0;color:#94a3b8;font-size:.86rem;line-height:1.5}.sources-static-note{display:inline-flex;margin-top:12px;padding:7px 10px;color:#031018;background:var(--shock-strong);border-radius:8px;font-size:.78rem;font-weight:900}.source-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.source-meta-grid div,.source-category{min-width:0;padding:12px;background:#0f172a8f;border:1px solid rgba(148,163,184,.14);border-radius:8px}.source-meta-grid span,.source-category>div>span{color:#94a3b8;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.source-meta-grid strong,.source-category>div>strong{display:block;margin-top:4px;color:#e5edf7;font-size:.95rem}.source-category{display:grid;gap:10px}.source-link-card{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:62px;padding:12px;color:#dbeafe;text-decoration:none;background:#080c1380;border:1px solid rgba(148,163,184,.14);border-radius:8px;transition:background .16s ease,border-color .16s ease,color .16s ease}.source-link-card:hover,.source-link-card:focus-visible{color:#fff;background:color-mix(in srgb,var(--shock-strong) 10%,rgba(15,23,42,.58));border-color:color-mix(in srgb,var(--shock-strong) 36%,rgba(148,163,184,.16));outline:none}.source-link-card span{display:grid;gap:4px;min-width:0}.source-link-card span strong{color:#fff;font-size:.9rem}.source-link-card span em{color:#94a3b8;font-size:.76rem;font-style:normal;line-height:1.35}.source-link-card code{flex:0 0 auto;padding:4px 6px;color:var(--shock-strong);background:color-mix(in srgb,var(--shock-strong) 10%,transparent);border-radius:6px;font-size:.72rem;font-weight:900}.intro-gate-layer{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 42%,rgba(123,223,242,.14),transparent 28%),#010409f0}.intro-gate-card{width:min(560px,calc(100vw - 36px));padding:28px;color:#e5edf7;text-align:center;background:linear-gradient(135deg,color-mix(in srgb,var(--shock-strong) 18%,transparent),transparent 48%),#080c13f5;border:1px solid color-mix(in srgb,var(--shock-strong) 42%,rgba(148,163,184,.22));border-radius:8px;box-shadow:0 28px 86px #00000094}.intro-gate-card h2{max-width:470px;margin:0 auto;font-size:clamp(1.8rem,4vw,3rem);line-height:1.02}.intro-gate-card p:not(.eyebrow){max-width:480px;margin:16px auto 0;color:#b6c7da;font-size:.98rem;line-height:1.58}.intro-gate-card .intro-gate-pitch{color:#e5edf7;font-weight:850}.intro-gate-actions{display:flex;justify-content:center;margin-top:24px}.tutorial-welcome-layer,.tutorial-scrim{position:fixed;inset:0;z-index:40;background:#02060cad}.tutorial-welcome-layer{display:grid;place-items:center;padding:24px}.tutorial-scrim{z-index:30;pointer-events:auto}.tutorial-welcome-card,.tutorial-step-card{position:relative;z-index:65;width:min(420px,calc(100vw - 36px));padding:18px;color:#e5edf7;background:linear-gradient(135deg,color-mix(in srgb,var(--shock-strong) 16%,transparent),transparent 44%),#080c13f0;border:1px solid color-mix(in srgb,var(--shock-strong) 38%,rgba(148,163,184,.2));border-radius:8px;box-shadow:0 20px 54px #0000006b}.tutorial-welcome-card h2,.tutorial-step-card h2{margin:0;font-size:1.35rem;line-height:1.12}.tutorial-welcome-card p,.tutorial-step-card p{margin:12px 0 0;color:#b6c7da;font-size:.88rem;line-height:1.48}.tutorial-step-card .tutorial-step-cta{color:#e5edf7;font-weight:850}.tutorial-welcome-actions,.tutorial-step-actions,.tutorial-step-topline{display:flex;align-items:center;justify-content:space-between;gap:10px}.tutorial-welcome-actions{margin-top:18px}.tutorial-step-card{position:fixed;right:364px;bottom:28px;max-height:calc(100vh - 56px);overflow:auto}.tutorial-step-card.placement-left{top:214px;right:364px;bottom:auto;width:min(380px,calc(100vw - 420px))}.tutorial-step-card.placement-top{top:94px;right:24px;bottom:auto;width:min(440px,calc(100vw - 48px))}.tutorial-step-card.placement-scenario-action{right:auto;bottom:28px;left:24px;width:min(390px,calc(100vw - 420px))}.tutorial-step-topline{margin-bottom:10px}.tutorial-step-topline span{color:var(--shock-strong);font-size:.78rem;font-weight:900;letter-spacing:.08em}.tutorial-step-topline em{margin-right:auto;padding:4px 7px;color:#dbeafe;background:#94a3b81a;border:1px solid rgba(148,163,184,.16);border-radius:999px;font-size:.68rem;font-style:normal;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.tutorial-step-card.phase-scenario .tutorial-step-topline em{color:#031018;background:var(--shock-strong);border-color:var(--shock-strong)}.tutorial-step-actions{margin-top:16px}.tour-close-button,.tour-primary-button,.tour-secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;border-radius:8px;cursor:pointer}.tour-close-button{width:36px;padding:0;color:#94a3b8;background:#0f172a9e;border:1px solid rgba(148,163,184,.16)}.tutorial-welcome-card>.tour-close-button{position:absolute;top:12px;right:12px}.tour-close-button:hover,.tour-close-button:focus-visible,.tour-secondary-button:hover,.tour-secondary-button:focus-visible{color:#fff;border-color:#94a3b857;outline:none}.tour-primary-button,.tour-secondary-button{padding:0 12px;font-size:.82rem;font-weight:900}.tour-primary-button{color:#031018;background:var(--shock-strong);border:1px solid var(--shock-strong)}.tour-primary-button:hover,.tour-primary-button:focus-visible{filter:brightness(1.08);outline:none}.tour-primary-button:disabled{cursor:default;filter:none;opacity:.58}.tour-primary-button.icon-only{min-width:42px;padding:0 13px}.tour-primary-button.waiting-action{min-width:176px;color:#94a3b8;background:#0f172ab8;border-color:#94a3b833}.tour-secondary-button{color:#cbd5e1;background:#0f172a9e;border:1px solid rgba(148,163,184,.16)}.tour-secondary-button:disabled{cursor:default;opacity:.42}.tutorial-active .map-stage.tour-focus-target,.tutorial-topbar-focus .topbar,.tutorial-active .country-panel{z-index:34}.tutorial-active .country-panel:after{position:absolute;inset:0;z-index:1;background:#02060c6b;border-radius:inherit;content:"";pointer-events:none}.tutorial-active .country-panel .tour-focus-target{z-index:2}.tour-focus-target{position:relative;scroll-margin-block:92px;outline:2px solid var(--shock-strong);outline-offset:4px;box-shadow:0 0 0 1px #ffffff1f,0 0 18px color-mix(in srgb,var(--shock-strong) 30%,transparent)}.tutorial-scenario-phase .tour-focus-target{outline-width:2px;box-shadow:0 0 0 1px #ffffff29,0 0 22px color-mix(in srgb,var(--shock-strong) 38%,transparent)}.deck-header,.lever-control>span,.energy-source-row>span{display:flex;align-items:center;justify-content:space-between;gap:12px}.label-with-tip{flex:1 1 auto;display:inline-flex;align-items:center;min-width:0}.deck-header{color:#94a3b8;font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.deck-header>span,.feed-header>span,.scenario-readout>span,.profile-summary span,.metric span,.section-title>span{display:inline-flex;align-items:center;min-width:0}.deck-header strong,.lever-control strong,.energy-source-row strong{flex:0 0 auto;color:var(--shock-strong)}.energy-source-row{display:grid;gap:8px;color:#dbeafe;font-size:.78rem}.control-deck .info-tip:after{z-index:2;top:50%;bottom:auto;left:calc(100% + 10px);width:210px;max-width:210px;transform:translate(4px,-50%)}.control-deck .info-tip:before{z-index:2;top:50%;bottom:auto;left:calc(100% + 5px);transform:translate(4px,-50%) rotate(135deg)}.control-deck .info-tip:hover:after,.control-deck .info-tip:focus-visible:after{transform:translateY(-50%)}.control-deck .info-tip:hover:before,.control-deck .info-tip:focus-visible:before{transform:translateY(-50%) rotate(135deg)}.control-deck .info-tip,.control-deck .info-tip svg{position:relative;z-index:1}.energy-source-row>div{display:block;height:7px;overflow:hidden;background:#94a3b81f;border-radius:999px}.energy-source-row i{display:block;height:100%;background:linear-gradient(90deg,var(--shock-strong),#ffd600);border-radius:999px;box-shadow:0 0 18px color-mix(in srgb,var(--shock-strong) 22%,transparent)}.lever-control{display:grid;gap:8px;color:#dbeafe;font-size:.78rem}.lever-control input{width:100%;accent-color:var(--shock-strong);cursor:pointer}.map-stage{position:absolute;inset:var(--panel-top) var(--side-gap) var(--side-gap) 344px;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(148,163,184,.12);border-radius:8px;background:linear-gradient(rgba(123,223,242,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(123,223,242,.035) 1px,transparent 1px),#03070c57;background-size:56px 56px;box-shadow:inset 0 0 90px #00000094}.map-glow{position:absolute;width:min(80vw,980px);aspect-ratio:1.6;border-radius:50%;background:#7bdff214;filter:blur(50px)}.map-grid{position:absolute;inset:0;background:radial-gradient(circle at 52% 48%,transparent 0 38%,rgba(5,7,11,.34) 70%),linear-gradient(90deg,transparent 0 49.8%,rgba(123,223,242,.13) 50%,transparent 50.2%),linear-gradient(transparent 0 49.8%,rgba(123,223,242,.1) 50%,transparent 50.2%);opacity:.62;pointer-events:none}.world-map{position:relative;z-index:1;width:min(100%,1060px);height:100%;min-height:420px;overflow:visible;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.world-map:active{cursor:grabbing}.ocean-sphere{fill:url(#oceanShade);stroke:#7bdff229;stroke-width:1.1;pointer-events:none}.graticule{fill:none;stroke:#7bdff21a;stroke-width:.5;vector-effect:non-scaling-stroke;pointer-events:none}.map-country-outline{fill:none;stroke:#01080ef0;stroke-linejoin:round;stroke-width:5.6;vector-effect:non-scaling-stroke;pointer-events:none}.map-country{outline:none;stroke:#ffffffeb;stroke-linejoin:round;stroke-width:1.55;vector-effect:non-scaling-stroke;transition:fill .42s ease,opacity .22s ease,stroke .22s ease,filter .22s ease}.map-country:focus{outline:none}.map-country:focus-visible{stroke:#fff;stroke-width:2.25;filter:url(#countryGlow) saturate(1.3)}.map-country.has-data{cursor:pointer;opacity:.88;filter:saturate(1.06)}.map-country.has-scenario{stroke:#fffffff2;stroke-width:1.85}.map-country.has-data:hover,.map-country.hovered,.map-country.selected{opacity:1;stroke:#fff;stroke-width:2.35;filter:url(#countryGlow) saturate(1.3)}.map-country:not(.has-data){opacity:.46}.flow-hitbox{fill:none;stroke:transparent;stroke-width:14;stroke-linecap:round;cursor:pointer;pointer-events:stroke}.flow-track{fill:none;stroke:#000000d1;stroke-width:6;stroke-linecap:round;vector-effect:non-scaling-stroke;pointer-events:none}.flow-line{fill:none;stroke-width:3;stroke-linecap:round;opacity:1;vector-effect:non-scaling-stroke;pointer-events:none}.flow.selected .flow-line{stroke-width:4.8;opacity:1}.flow.selected .flow-track{stroke-width:9;stroke:#ffffff3d}.flow-line.gas{stroke:#00d9ff}.flow-line.oil{stroke:#ff7a00}.flow-line.electricity{stroke:#3dff62}.flow-arrow{fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none}.flow-arrow.gas{stroke:#00d9ff}.flow-arrow.oil{stroke:#ff7a00}.flow-arrow.electricity{stroke:#3dff62}.flow-endpoint{fill:#03070ce6;stroke-width:2.4;vector-effect:non-scaling-stroke;pointer-events:none}.flow-endpoint.gas{stroke:#00d9ff}.flow-endpoint.oil{stroke:#ff7a00}.flow-endpoint.electricity{stroke:#3dff62}.flow-endpoint.destination{fill:currentColor;stroke:#fff}.flow-endpoint.destination.gas{color:#00d9ff}.flow-endpoint.destination.oil{color:#ff7a00}.flow-endpoint.destination.electricity{color:#3dff62}.flow-label{fill:#f8fafcd1;font-size:9px;font-weight:900;letter-spacing:.08em;text-anchor:middle;text-transform:uppercase;paint-order:stroke;stroke:#03070ce6;stroke-width:4px;vector-effect:non-scaling-stroke;pointer-events:none}.flow-layer{pointer-events:auto}.flow-legend{position:absolute;top:18px;left:18px;z-index:3;display:flex;gap:11px;padding:10px 12px;color:#f8fafc;background:#03070cd6;border:1px solid rgba(248,250,252,.2);border-radius:8px;box-shadow:0 16px 42px #00000057;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.flow-legend span{display:inline-flex;align-items:center;gap:7px;font-size:.78rem;font-weight:900}.flow-legend i{width:28px;height:5px;border-radius:999px;box-shadow:0 0 14px currentColor}.flow-legend .gas{color:#00d9ff;background:#00d9ff}.flow-legend .oil{color:#ff7a00;background:#ff7a00}.flow-legend .electricity{color:#3dff62;background:#3dff62}.flow-card{position:absolute;top:58px;left:18px;z-index:4;width:min(280px,calc(100% - 36px));padding:12px;color:#e5edf7;background:#080c13d6;border:1px solid rgba(148,163,184,.22);border-radius:8px;box-shadow:0 18px 42px #00000057;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.flow-card-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.flow-card-header span{color:var(--shock-strong);font-size:.75rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.flow-card-header button{display:grid;place-items:center;width:36px;height:36px;color:#94a3b8;background:#0f172aa8;border:1px solid rgba(148,163,184,.14);border-radius:8px;cursor:pointer}.flow-card>strong{display:block;font-size:.95rem}.flow-card dl{display:grid;gap:6px;margin:10px 0}.flow-card dl div{display:grid;grid-template-columns:78px 1fr;gap:8px}.flow-card dt{color:#94a3b8;font-size:.72rem}.flow-card dd{margin:0;font-size:.76rem;font-weight:800}.flow-card p{margin:0;color:#cbd5e1;font-size:.78rem;line-height:1.35}.country-node{cursor:pointer;outline:none}.node-hitbox{fill:#fff0;pointer-events:all}.country-node text{fill:#f5f7fbc7;font-size:12px;font-weight:800;text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:#03070cdb;stroke-width:3px;vector-effect:non-scaling-stroke}.country-node .scenario-badge{fill:var(--shock-strong);font-weight:900;letter-spacing:.04em;text-transform:uppercase}.country-ring{fill:transparent;stroke:#ffffff4d;stroke-width:1.2;stroke-dasharray:2 1.2;animation:ringSpin 7s linear infinite;vector-effect:non-scaling-stroke;pointer-events:none}.country-node.selected .country-ring{stroke:#ffffffd1;stroke-width:1.8}.country-node.has-scenario .country-ring{stroke:var(--shock-strong)}.node-core{fill:#ffffffd1;pointer-events:none}.map-legend{position:absolute;right:18px;bottom:18px;z-index:3;display:grid;grid-template-columns:auto minmax(132px,16vw) auto;align-items:center;gap:10px;padding:10px 12px;color:#cbd5e1;font-size:.76rem;background:#080c13b3;border:1px solid rgba(148,163,184,.18);border-radius:8px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.map-legend i{height:8px;border-radius:999px;background:linear-gradient(90deg,#00c853,#39d353,#8bc34a,#ffd600,#ff9800,#f44336,#b71c1c)}.map-tooltip{position:absolute;left:var(--tooltip-x);top:var(--tooltip-y);z-index:6;min-width:132px;padding:10px 12px;color:#f8fafc;background:#03070cd6;border:1px solid color-mix(in srgb,var(--shock-strong) 38%,rgba(148,163,184,.22));border-radius:8px;box-shadow:0 18px 42px #0000005c;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:none;transform:translate(14px,-50%);animation:tooltipIn .16s ease both}.map-tooltip span{color:var(--shock-strong);font-size:.72rem;font-weight:800}.map-tooltip strong{display:block;margin-top:2px;font-size:.95rem}.map-tooltip p{margin:4px 0 0;color:#94a3b8;font-size:.78rem}.country-panel{position:absolute;right:var(--side-gap);top:var(--panel-top);bottom:var(--side-gap);z-index:4;width:316px;max-height:none;overflow-x:visible;overflow-y:auto;padding:18px;background:#080c13c7;border:1px solid rgba(148,163,184,.22);border-radius:8px;box-shadow:0 22px 80px #00000061;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:panelIn .42s ease both}.country-panel.closing{pointer-events:none;animation:panelOut .16s cubic-bezier(.4,0,.2,1) both}.country-panel [data-tooltip]:after{width:158px;max-width:158px}.scenario-readout .info-tip:after,.profile-summary .info-tip:after,.metric .info-tip:after,.section-title .info-tip:after{top:calc(100% + 9px);bottom:auto;font-size:.7rem}.country-panel .info-tip:before{top:calc(100% + 4px);bottom:auto;transform:translate(-50%,-4px) rotate(225deg)}.country-panel .info-tip:after{top:calc(100% + 9px);bottom:auto;transform:translate(-50%,-4px)}.country-panel .info-tip:hover:after,.country-panel .info-tip:focus-visible:after{transform:translate(-50%)}.country-panel .info-tip:hover:before,.country-panel .info-tip:focus-visible:before{transform:translate(-50%) rotate(225deg)}.country-panel .info-tip[data-tooltip-align=left]:after{transform:translateY(-4px)}.country-panel .info-tip[data-tooltip-align=left]:before{transform:translateY(-4px) rotate(225deg)}.country-panel .info-tip[data-tooltip-align=left]:hover:after,.country-panel .info-tip[data-tooltip-align=left]:focus-visible:after{transform:translate(0)}.country-panel .info-tip[data-tooltip-align=left]:hover:before,.country-panel .info-tip[data-tooltip-align=left]:focus-visible:before{transform:translate(0) rotate(225deg)}.country-panel .info-tip[data-tooltip-align=right]:after{transform:translateY(-4px)}.country-panel .info-tip[data-tooltip-align=right]:before{transform:translateY(-4px) rotate(225deg)}.country-panel .info-tip[data-tooltip-align=right]:hover:after,.country-panel .info-tip[data-tooltip-align=right]:focus-visible:after{transform:translate(0)}.country-panel .info-tip[data-tooltip-align=right]:hover:before,.country-panel .info-tip[data-tooltip-align=right]:focus-visible:before{transform:translate(0) rotate(225deg)}.profile-summary .info-tip:after{width:108px;max-width:108px}.metric .info-tip:after{width:126px;max-width:126px}.scenario-readout .info-tip:after,.section-title .info-tip:after{width:178px;max-width:178px}.scenario-readout .info-tip:after{width:142px;max-width:142px}.panel-close{display:grid;place-items:center;width:44px;height:44px;margin:0 0 4px;padding:0;color:#94a3b8;background:transparent;border:1px solid rgba(148,163,184,.18);border-radius:50%;cursor:pointer;transition:color .16s ease,background .16s ease,border-color .16s ease}.panel-close:hover,.panel-close:focus-visible{color:#fff;background:#94a3b814;border-color:color-mix(in srgb,var(--shock-strong) 42%,rgba(148,163,184,.18));outline:none}.impact-feed{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;padding:10px;background:#080c13b8;border:1px solid rgba(148,163,184,.18);border-radius:8px;box-shadow:0 18px 54px #00000042;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.feed-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;color:#94a3b8;font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.feed-header i{width:7px;height:7px;background:var(--shock-strong);border-radius:50%;box-shadow:0 0 18px var(--shock-strong);animation:liveBlink 1.4s ease-in-out infinite}.feed-controls{display:grid;grid-template-columns:minmax(0,1fr) 104px;gap:6px;margin-bottom:8px}.search-field{display:flex;align-items:center;gap:6px;min-width:0;padding:0 10px;color:#94a3b8;background:#0f172ab8;border:1px solid rgba(148,163,184,.16);border-radius:8px}.search-field input,.feed-controls select{width:100%;min-width:0;height:32px;color:#e5edf7;background:transparent;border:0;outline:0}.feed-controls select{padding:0 8px;background:#0f172ab8;border:1px solid rgba(148,163,184,.16);border-radius:8px}.feed-list{display:grid;flex:1 1 auto;gap:4px;min-height:0;overflow:auto;padding-right:2px}.feed-item{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:6px;width:100%;min-height:34px;padding:3px;color:#e5edf7;text-align:left;background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer;transition:.16s ease}.feed-main{display:grid;grid-template-columns:40px minmax(0,1fr) auto auto;align-items:center;gap:8px;min-width:0;min-height:30px;padding:4px 5px;color:inherit;text-align:left;background:transparent;border:0;cursor:pointer}.feed-item:hover,.feed-item.selected{background:#0f172abd;border-color:#94a3b82e}.feed-item.selected{box-shadow:inset 3px 0 0 var(--shock-strong)}.feed-code{font-size:.84rem;font-weight:900}.feed-item strong{overflow:hidden;font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.feed-score{padding:3px 6px;background:#0f172a94;border:1px solid currentColor;border-radius:999px;font-size:.75rem;font-style:normal;font-weight:900;min-width:28px;text-align:center}.feed-scenario{padding:3px 6px;color:var(--shock-strong);background:color-mix(in srgb,var(--shock-strong) 12%,transparent);border:1px solid color-mix(in srgb,var(--shock-strong) 28%,transparent);border-radius:999px;font-size:.72rem;font-weight:900;white-space:nowrap}.feed-scenario.baseline{color:#94a3b8;background:#94a3b814;border-color:#94a3b824}.empty-state{margin:8px 0 0;color:#94a3b8;font-size:.82rem}.panel-header,.status-line,.mix-labels{display:flex;align-items:center;justify-content:space-between;gap:14px}.stress-orb{display:grid;place-items:center;width:86px;height:86px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.08) 0 35%,transparent 36%),conic-gradient(var(--stress-color) calc(var(--stress, 0) * 3.6deg),rgba(255,255,255,.08) calc(var(--stress, 0) * 3.6deg));box-shadow:0 0 34px color-mix(in srgb,var(--stress-color) 36%,transparent)}.stress-orb[data-tooltip]:after{top:calc(100% + 9px);right:0;bottom:auto;left:auto;transform:translateY(-4px)}.stress-orb[data-tooltip]:before{top:calc(100% + 4px);right:16px;bottom:auto;left:auto;transform:translateY(-4px) rotate(225deg)}.stress-orb[data-tooltip]:hover:after,.stress-orb[data-tooltip]:focus-visible:after{transform:translate(0)}.stress-orb[data-tooltip]:hover:before,.stress-orb[data-tooltip]:focus-visible:before{transform:translate(0) rotate(225deg)}.stress-orb strong{font-size:1.9rem;line-height:1}.stress-orb span{color:#94a3b8;font-size:.75rem;transform:translateY(-10px)}.panel-tools{display:flex;align-items:flex-start;gap:10px}.status-line{justify-content:flex-start;margin:18px 0;padding:10px 0;border-top:1px solid rgba(148,163,184,.18);border-bottom:1px solid rgba(148,163,184,.18)}.status-line span{width:10px;height:10px;border-radius:50%}.status-line p{margin:0 0 0 auto;color:#94a3b8;font-size:.85rem}.status-line .delta{padding:5px 8px;border-radius:999px;font-weight:800}.delta.up{color:#ffb4c8;background:#ff3d7124}.delta.down{color:#c7ffbd;background:#82f26f24}.scenario-readout{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;margin-bottom:12px;padding:10px 12px;background:linear-gradient(90deg,color-mix(in srgb,var(--shock-strong) 18%,transparent),transparent),#0f172a94;border:1px solid color-mix(in srgb,var(--shock-strong) 24%,rgba(148,163,184,.14));border-radius:8px}.scenario-readout span{color:#cbd5e1;font-size:.8rem}.scenario-readout strong{color:var(--shock-strong);font-size:.86rem}.profile-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.profile-summary div{padding:9px;background:#0f172a8f;border:1px solid rgba(148,163,184,.14);border-radius:8px}.profile-summary span,.section-title span,.playbook-item span{color:#94a3b8;font-size:.72rem}.profile-summary strong{display:block;margin-top:3px;color:#fff;font-size:1rem}.country-insight{margin-bottom:14px;color:#cbd5e1;font-size:.84rem;line-height:1.45}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric{padding:12px;background:#0f172ab8;border:1px solid rgba(148,163,184,.14);border-radius:8px}.metric span{display:inline-flex;align-items:center;gap:3px;max-width:100%;color:#94a3b8;font-size:.76rem;line-height:1.2}.metric .info-tip{margin-left:0;vertical-align:0}.metric strong{display:block;margin-top:6px;font-size:clamp(1rem,1.7vw,1.28rem);line-height:1.08;overflow-wrap:anywhere}.metric-detail{display:block;margin-top:5px;color:var(--shock-strong);font-size:.72rem;font-weight:900;line-height:1.2}.metric-delta{display:inline-block;margin-top:6px;padding:3px 6px;border-radius:999px;font-size:.72rem;font-style:normal;font-weight:900}.metric-delta.up{color:#ffb4c8;background:#ff3d7124}.metric-delta.down{color:#c7ffbd;background:#82f26f24}.mix-block{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:14px;margin-top:18px;padding:12px;background:#0f172a57;border:1px solid rgba(148,163,184,.12);border-radius:8px}.mix-labels{display:grid;gap:7px;color:#94a3b8;font-size:.74rem}.mix-labels span{display:grid;grid-template-columns:9px minmax(0,1fr);align-items:center;gap:7px;min-width:0}.mix-labels i{display:block;width:9px;height:9px;border-radius:50%}.mix-pie{position:relative;width:112px;height:112px}.mix-pie[data-tooltip]:after{top:calc(100% + 9px);bottom:auto;width:210px;max-width:210px;transform:translateY(-4px)}.mix-pie[data-tooltip]:before{top:calc(100% + 4px);bottom:auto;left:42px;transform:translateY(-4px) rotate(225deg)}.mix-pie[data-tooltip]:hover:after,.mix-pie[data-tooltip]:focus-visible:after{transform:translate(0)}.mix-pie[data-tooltip]:hover:before,.mix-pie[data-tooltip]:focus-visible:before{transform:translate(0) rotate(225deg)}.mix-pie svg{width:100%;height:100%}.mix-slice{stroke:#03070cb8;stroke-linejoin:round;stroke-width:1.4;transition:opacity .22s ease}.mix-slice.renewables{fill:#82f26f}.mix-slice.nuclear{fill:#7bdff2}.mix-slice.fossil{fill:#ff8c42}.mix-slice.other{fill:#64748b}.mix-labels .renewables i{background:#82f26f}.mix-labels .nuclear i{background:#7bdff2}.mix-labels .fossil i{background:#ff8c42}.mix-labels .other i{background:#64748b}.history{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;height:152px;margin-top:20px}.lever-stack{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}.lever{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:4px 8px;color:#aebdd0;background:#94a3b812;border:1px solid rgba(148,163,184,.11);border-radius:999px;cursor:default}.lever svg{flex:0 0 auto;color:color-mix(in srgb,var(--shock-strong) 68%,#94a3b8)}.lever span{font-size:.72rem;font-weight:700}.connected-flows{display:grid;gap:8px;margin-top:16px}.section-title strong{color:var(--shock-strong);font-size:.78rem}.connected-flow{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:9px 10px;color:#e5edf7;font:inherit;text-align:left;background:#0f172a8a;border:1px solid rgba(148,163,184,.14);border-left-width:3px;border-radius:8px;cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .16s ease}.connected-flow:hover,.connected-flow:focus-visible{background:#0f172ac7;border-color:#94a3b847;outline:none;transform:translate(-1px)}.connected-flow.gas{border-left-color:#00d9ff}.connected-flow.oil{border-left-color:#ff7a00}.connected-flow.electricity{border-left-color:#3dff62}.connected-flow div{min-width:0}.connected-flow strong{display:block;overflow:hidden;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.connected-flow span{display:block;margin-top:2px;overflow:hidden;color:#94a3b8;font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.connected-flow em{padding:3px 6px;color:var(--shock-strong);background:color-mix(in srgb,var(--shock-strong) 10%,transparent);border-radius:999px;font-size:.72rem;font-style:normal;font-weight:900;text-transform:uppercase}.playbook{display:grid;gap:8px;margin-top:16px}.section-title,.playbook-item{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-title{min-height:44px}.playbook-item{display:grid;grid-template-columns:1fr auto;padding:9px 10px;background:#0f172a8a;border:1px solid rgba(148,163,184,.14);border-radius:8px}.playbook-item strong{font-size:.78rem}.playbook-item span{grid-column:1}.playbook-item em{grid-row:1 / span 2;grid-column:2;align-self:center;padding:5px 8px;color:var(--shock-strong);background:color-mix(in srgb,var(--shock-strong) 12%,transparent);border-radius:999px;font-size:.75rem;font-style:normal;font-weight:900}.history-item{display:grid;grid-template-rows:auto 1fr auto;gap:4px;color:#94a3b8;font-size:.72rem;text-align:center}.history-value{color:var(--shock-strong);font-size:.72rem;font-weight:900}.history-item div{position:relative;overflow:hidden;background:#94a3b81f;border-radius:999px}.history-item i{position:absolute;right:0;bottom:0;left:0;background:linear-gradient(180deg,#ff3d71,#f4d35e);border-radius:inherit}@keyframes liveBlink{0%,to{opacity:.35}50%{opacity:1}}@keyframes tutorialScenarioPulse{0%,to{background:color-mix(in srgb,var(--shock-strong) 12%,rgba(8,12,19,.78));transform:translateY(0)}50%{background:color-mix(in srgb,var(--shock-strong) 28%,rgba(8,12,19,.78));box-shadow:0 0 0 2px color-mix(in srgb,var(--shock-strong) 42%,transparent),0 0 34px color-mix(in srgb,var(--shock-strong) 46%,transparent);transform:translateY(-1px)}}@keyframes ringSpin{to{stroke-dashoffset:-24}}@keyframes drift{0%{transform:translate3d(0,40px,0)}to{transform:translate3d(36px,-110vh,0)}}@keyframes scan{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes tooltipIn{0%{opacity:0;transform:translate(8px,-50%) scale(.96)}to{opacity:1;transform:translate(14px,-50%) scale(1)}}@keyframes panelIn{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes panelOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(38px)}}.live-dot{display:inline-block;width:6px;height:6px;margin:0 3px 0 4px;background:var(--shock-strong);border-radius:50%;vertical-align:1px;animation:liveBlink 1.4s ease-in-out infinite}.pie-center-text{fill:#f5f7fb;font-size:14px;font-weight:900;pointer-events:none}.mix-slice:hover{opacity:.8;cursor:pointer}@media(max-width:920px){body{overflow:auto}.app-shell{min-height:100svh;padding:18px}.topbar{flex-direction:column}.top-actions{justify-items:start;width:100%}.top-button-row{justify-content:flex-start}.sources-page{width:100%;margin-top:18px;padding:16px}.source-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.source-link-card{align-items:flex-start;flex-direction:column}.scenario-bar{justify-content:flex-start}.scenario-controls{justify-items:start;transform:none}.hero-copy{max-width:none}.map-stage,.left-rail,.country-panel,.impact-feed{position:relative;inset:auto}.left-rail{width:100%;margin-top:12px}.control-deck{width:100%}.map-stage{min-height:430px;margin-top:18px}.country-panel{width:100%;max-height:none;margin-top:10px}.impact-feed{width:100%;max-height:none;margin-top:12px}.tutorial-step-card,.tutorial-step-card.placement-left,.tutorial-step-card.placement-top,.tutorial-step-card.placement-scenario-action{inset:auto 18px 18px;width:auto}.feed-list{max-height:360px}}@media(prefers-reduced-motion:reduce){.ambient-field span,.country-ring,.feed-header i,.live-dot,.country-panel{animation:none}.country-panel.closing{animation:none;opacity:0}.map-tooltip{animation:none}.map-country,.scenario,.connected-flow,.panel-close,[data-tooltip]:after,[data-tooltip]:before{transition:none}}
