@font-face{font-family:Familjen Grotesk Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/familjen-grotesk-vietnamese-wght-normal-DKRsWTd7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Familjen Grotesk Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/familjen-grotesk-latin-ext-wght-normal-Cvgdx4cy.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Familjen Grotesk Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/familjen-grotesk-latin-wght-normal-CfZa4wxB.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@layer reset{*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;overflow:hidden}button,select,input{font:inherit}button{color:inherit}button:focus-visible,select:focus-visible,input:focus-visible,[role=button]:focus-visible{outline:2px solid var(--key);outline-offset:3px}}@layer tokens{:root{--ui:"Familjen Grotesk Variable", "Familjen Grotesk", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--rail:224px;--inspector:300px;--bar:52px;font-family:var(--ui);font-synthesis:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-mode=day]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.ico{vertical-align:middle;filter:drop-shadow(0 0 3px var(--ico-glow));flex:none;display:inline-block;overflow:visible}.ico .f{fill:var(--ico-fill);opacity:var(--ico-fo);stroke:none}.ico .s{fill:none;stroke:var(--ico-stroke);stroke-width:var(--ico-w);stroke-linecap:round;stroke-linejoin:round}.ico .a{fill:var(--ico-accent);stroke:none}}@layer shell{.app-shell{background:var(--void);min-height:100vh;color:var(--paper);font-family:var(--ui)}.topbar{height:var(--bar);background:var(--deck);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);z-index:5;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:0 18px 0 16px;display:grid;position:relative}.brand{color:inherit;align-items:center;gap:10px;text-decoration:none;display:flex}.brand span{letter-spacing:.24em;font-size:.95rem;font-weight:600}.brand small{color:var(--paper2);letter-spacing:.1em;text-transform:uppercase;border-left:1px solid var(--line);padding-left:10px;font-size:.62rem}nav{gap:2px;height:100%;margin-left:8px;display:flex}nav button{color:var(--paper2);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:0 12px;font-size:.74rem;display:flex;position:relative}nav button:hover,nav button.active{color:var(--paper)}nav button.active:after{content:"";background:var(--fill);height:2px;position:absolute;bottom:0;left:12px;right:12px}nav button.stub{opacity:.55;cursor:default}.header-actions{justify-self:end;align-items:center;gap:6px;display:flex}.header-actions>button{border:1px solid var(--line);cursor:pointer;width:34px;height:34px;color:var(--paper2);background:0 0;place-items:center;display:grid}.header-actions>button:hover{border-color:var(--fill);color:var(--paper)}.scenario-select{font:600 .58rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fill);align-items:center;gap:8px;margin-left:8px;display:flex}.scenario-select select{border:1px solid var(--line);background:var(--card);height:34px;color:var(--paper);font:500 .72rem var(--mono);letter-spacing:0;text-transform:none;cursor:pointer;padding:0 10px}.mode-switch{border:1px solid var(--line);cursor:pointer;height:34px;color:var(--paper2);background:0 0;align-items:center;gap:7px;margin-right:6px;padding:0 10px;display:flex}.mode-switch .track{border:1px solid var(--fill);background:var(--lift);width:34px;height:16px;position:relative}.mode-switch .track i{background:var(--fill);width:10px;height:10px;box-shadow:0 0 8px var(--fill);position:absolute;top:2px;left:2px}.mode-switch[aria-pressed=true] .track i{background:var(--key);box-shadow:0 0 8px var(--key);left:20px}.mode-switch .ico{--ico-stroke:var(--paper2);--ico-fill:var(--paper2)}main{height:calc(100vh - var(--bar));grid-template-columns:var(--rail) minmax(320px, 1fr) var(--inspector);display:grid;position:relative}.map-stage{background:var(--scene);grid-area:1/1/auto/-1;position:relative;overflow:hidden}.left-rail{border-right:1px solid var(--line);grid-area:1/1;padding:22px 18px}.inspector{border-left:1px solid var(--line);grid-area:1/3;padding:24px 22px 110px}.eyebrow{font:600 .58rem var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--fill);margin:0 0 12px}.time-dock{background:var(--card);border:1px solid var(--line);z-index:6;align-items:center;gap:6px;padding:8px 10px;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.time-dock .turn{font:500 .7rem var(--mono);align-items:center;gap:8px;padding:0 10px 0 4px;display:flex}.time-dock .turn span{color:var(--paper2)}.time-dock .turn strong{font-variant-numeric:tabular-nums;min-width:2.4em;font-weight:500}.time-dock button{color:var(--paper2);cursor:pointer;background:0 0;border:1px solid #0000;height:32px}.time-dock .play{background:var(--fill);width:32px;color:var(--on-key);place-items:center;display:grid}.time-dock .play .ico{--ico-stroke:var(--on-key);--ico-fill:var(--on-key);--ico-fo:1;--ico-glow:transparent}.time-dock .speed{gap:2px;display:flex}.time-dock .speed button{width:32px;font:500 .62rem var(--mono)}.time-dock .speed button.active{color:var(--paper);border-color:var(--line);background:var(--lift)}.time-dock .next{border-color:var(--line);color:var(--paper);padding:0 12px;font-size:.7rem}.time-dock button:hover{border-color:var(--fill);color:var(--paper)}.time-dock .play:hover{color:var(--on-key)}.notice{background:var(--card);color:var(--paper);border:1px solid var(--fill);z-index:9;box-shadow:0 12px 30px -12px var(--shadow);padding:9px 14px;font-size:.74rem;position:fixed;top:64px;left:50%;transform:translate(-50%)}.shutter{pointer-events:none;z-index:20;background:linear-gradient(90deg, transparent 0%, var(--fill) 45%, var(--fill) 55%, transparent 100%);mix-blend-mode:screen;opacity:0;position:fixed;inset:0}@media (width<=720px){:root{--rail:0px;--inspector:0px}body{overflow:auto}main{height:auto;display:block}.map-stage{min-height:70vh}.left-rail,.inspector{border:0;border-top:1px solid var(--line)}.time-dock{width:max-content;margin:12px auto;position:sticky;bottom:12px;left:auto;transform:none}}@media (width<=520px){.topbar{grid-template-rows:auto auto;grid-template-columns:auto 1fr;row-gap:2px;height:auto;padding:8px 14px}.brand{grid-area:1/1}.header-actions{grid-area:1/2}.topbar nav{grid-area:2/1/3/3;justify-content:flex-start;margin:0}.topbar nav button{height:36px;padding:0 8px}.scenario-select span{display:none}}.header-actions>.mode-switch{width:auto;display:flex}.time-dock button,.header-actions>button,.scenario-select select{min-height:44px}.time-dock .play,.time-dock .speed button,.header-actions>.dls-icon-button{width:44px}@media (width<=1199px){.topbar{grid-template-rows:auto auto auto;grid-template-columns:1fr;gap:8px;height:auto;padding:10px 14px}.topbar .brand{grid-area:1/1}.topbar .header-actions{flex-wrap:wrap;grid-area:2/1;justify-self:stretch;width:100%;display:flex}.header-actions>.dls-icon-button{display:grid}.header-actions>.mode-switch{display:flex}.scenario-select{flex:160px;min-width:0;margin:0}.scenario-select select{width:100%;min-width:0}.scenario-select span,.scenario-select>.ico{display:none}.topbar nav{flex-wrap:wrap;grid-area:3/1;margin:0;display:flex}.topbar nav button{min-height:44px}.topbar nav .stub{display:none}.time-dock{flex-wrap:wrap;justify-content:center;gap:4px;width:calc(100% - 16px);max-width:460px;padding:6px;bottom:8px}.time-dock .turn{gap:4px;padding:0 4px}.time-dock .turn>.ico,.time-dock .turn>span{display:none}.time-dock .next{padding:0 8px}body{overflow:auto}main{height:auto;display:block}.map-stage{min-height:70vh}.left-rail,.inspector{border:0;border-top:1px solid var(--line)}.time-dock{margin:12px auto;position:sticky;left:auto;transform:none}}}@layer panels{.panel{background:var(--deck);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:2;position:relative;overflow:auto}.panel:before,.panel:after{content:"";border:1px solid var(--fill);pointer-events:none;z-index:3;width:10px;height:10px;display:block;position:sticky}.panel:before{border-width:1px 0 0 1px;margin:-14px 0 4px -10px;top:8px}.panel:after{border-width:0 1px 1px 0;margin:4px 0 -14px auto;bottom:8px}.panel section+section{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.switch{gap:2px;display:grid;position:relative}.switch button{height:38px;color:var(--paper2);cursor:pointer;text-align:left;z-index:1;background:0 0;border:1px solid #0000;align-items:center;gap:10px;padding:0 10px 0 12px;font-size:.78rem;display:flex;position:relative}.switch button:hover:not(:disabled),.switch button.active{color:var(--paper)}.switch button:disabled{opacity:.4;cursor:not-allowed}.switch button:active:not(:disabled){transform:translateY(1px)}.switch .lamp{background:var(--lift2);border-radius:50%;width:7px;height:7px;margin-left:auto;transition:background .35s,box-shadow .35s}.switch button.active .lamp{background:var(--fill);box-shadow:0 0 8px var(--fill), 0 0 2px var(--fill)}:root[data-mode=day] .switch button.active .lamp{background:var(--key);box-shadow:0 0 8px var(--key), 0 0 2px var(--key)}.switch .knob{left:0;top:var(--ky,0);border:1px solid var(--fill);background:var(--lift);width:100%;height:38px;box-shadow:inset 3px 0 0 var(--fill);pointer-events:none;transition:top .55s cubic-bezier(.2,1.4,.3,1);position:absolute}.rail-note{color:var(--paper2);margin:10px 0 0;font-size:.66rem;line-height:1.5}.world-health dl{gap:10px;margin:0;display:grid}.world-health dl div{justify-content:space-between;align-items:center;gap:8px;display:flex}.world-health dt{color:var(--paper2);align-items:center;gap:8px;font-size:.72rem;display:flex}.world-health dd{font:500 .78rem var(--mono);font-variant-numeric:tabular-nums;margin:0}.events article{color:var(--paper2);font-size:.7rem;line-height:1.5}.events article+article{opacity:.7;margin-top:10px}.events time{font:500 .58rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fill);margin-bottom:3px;display:block}.events p{color:var(--paper);margin:0}.events article+article p{color:var(--paper2)}.caret{background:var(--fill);vertical-align:-2px;width:6px;height:.9em;margin-left:2px;animation:1s steps(2,end) infinite blink;display:inline-block}.inspector-head h2{font:600 1.55rem/1.1 var(--ui);letter-spacing:-.01em;text-wrap:balance;margin:0}.inspector-head>p:last-child{color:var(--paper2);margin:6px 0 20px;font-size:.74rem}.controlled{font:600 .56rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fill);border:1px solid var(--line);margin-left:6px;padding:2px 6px;display:inline-block}.gauge{grid-template-columns:auto 1fr;align-items:end;gap:12px;margin-bottom:18px;display:grid}.gauge svg{width:112px;height:64px;overflow:visible}.gauge .arc{fill:none;stroke:var(--lift2);stroke-width:6px}.gauge .arcv{fill:none;stroke:var(--fill);stroke-width:6px;stroke-dasharray:157;stroke-dashoffset:calc(157 - 157 * var(--v,0));transition:stroke-dashoffset .9s cubic-bezier(.2,1.2,.3,1)}.gauge .needle{stroke:var(--key);stroke-width:2px;stroke-linecap:round;transform-origin:56px 56px;transform:rotate(calc(-90deg + 180deg * var(--v,0)));transition:transform .9s cubic-bezier(.2,1.35,.3,1)}.gauge .tick{stroke:var(--paper2);stroke-width:1px}.gauge .pivot{fill:var(--paper)}.gauge strong{font:500 1.4rem var(--mono);font-variant-numeric:tabular-nums;line-height:1;display:block}.gauge small{color:var(--paper2);letter-spacing:.1em;text-transform:uppercase;font-size:.62rem}.stats{grid-template-columns:1fr 1fr;gap:16px 12px;margin:0 0 22px;display:grid}.stats div{grid-template-columns:auto 1fr;align-items:center;gap:3px 10px;display:grid}.stats div>.ico{grid-row:span 2}.stats dt{color:var(--paper2);font-size:.62rem}.stats dd{font:500 .8rem var(--mono);font-variant-numeric:tabular-nums;margin:0}.stats .at-risk{color:var(--bad)}.market>div{color:var(--paper2);justify-content:space-between;align-items:baseline;font-size:.62rem;display:flex}.market>div .eyebrow{margin:0}.market>strong{font:500 1.5rem var(--mono);color:var(--good);font-variant-numeric:tabular-nums;margin:6px 0 0;display:block}.spark{align-items:flex-end;gap:4px;height:38px;margin:8px 0 22px;display:flex}.spark i{background:var(--good);opacity:.65;flex:1}.spark i:first-child{height:30%}.spark i:nth-child(2){height:32%}.spark i:nth-child(3){height:34%}.spark i:nth-child(4){height:60%}.spark i:nth-child(5){height:74%}.spark i:nth-child(6){height:88%}.spark i:nth-child(7){opacity:1;height:100%}.forces .empty-copy{color:var(--paper2);margin:0 0 12px;font-size:.74rem}.force-row{width:100%;color:var(--paper);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;justify-content:space-between;align-items:center;gap:8px;padding:8px 9px;font-size:.76rem;display:flex}.force-row span{align-items:center;gap:8px;display:flex}.force-row small{color:var(--paper2);font-size:.62rem}.force-row strong{font:500 .76rem var(--mono)}.force-row.selected{border-color:var(--fill);background:var(--lift)}.force-actions{gap:8px;margin-top:12px;display:flex}.force-actions button{cursor:pointer;border:1px solid var(--line);align-items:center;gap:8px;padding:11px 14px;font-size:.78rem;font-weight:600;transition:transform .12s,box-shadow .2s;display:flex}.force-actions button:active:not(:disabled){box-shadow:inset 0 2px 4px var(--shadow);transform:translateY(1px)}.primary-action{background:var(--fill);border-color:var(--fill)!important}.primary-action .ico{--ico-fo:.25;--ico-glow:transparent}.primary-action{color:var(--on-key)}.primary-action .ico{--ico-stroke:var(--on-key);--ico-fill:var(--on-key)}.secondary-action{color:var(--paper2);background:0 0}.secondary-action:disabled{opacity:.5;cursor:not-allowed}.dls-button:disabled{opacity:.45;cursor:not-allowed}.market>.dls-progress{margin:14px 0 22px;display:block}.dls-progress>strong{float:right;font-family:var(--mono)}.dls-progress>div{background:var(--lift2);height:4px;margin-top:9px}.dls-progress i{background:var(--good);height:100%;display:block}}@layer theatre{.map-title{left:calc(var(--rail) + 26px);z-index:1;pointer-events:none;position:absolute;top:26px}.map-title span{font:600 .58rem var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--fill);margin-bottom:8px;display:block}.map-title h1{font:600 2rem/1 var(--ui);letter-spacing:-.02em;text-transform:uppercase;margin:0}.map-title p{font:500 .6rem var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--paper2);margin:8px 0 0}.map-legend{left:calc(var(--rail) + 26px);font:500 .58rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--paper2);z-index:1;pointer-events:none;flex-wrap:wrap;gap:16px;display:flex;position:absolute;bottom:26px}.map-legend span{align-items:center;gap:6px;display:flex}.map-legend i{border-top:2px dashed;width:20px}.legend-trade{color:var(--key)}.legend-order{color:var(--paper)}.legend-unit{background:var(--paper);border-radius:50%;height:8px;border-top:0!important;width:8px!important}.map-source{opacity:.6;margin-left:auto}.world-map{width:100%;height:100%;padding:60px var(--inspector) 50px var(--rail)}.ocean-sphere{fill:var(--ocean);stroke:var(--fill);stroke-opacity:.4;stroke-width:.7px}.graticule{fill:none;stroke:var(--grat);stroke-width:.35px}.context-country{fill:var(--land);stroke:var(--landline);stroke-width:.3px}.province path{fill-opacity:var(--prov-o);stroke:color-mix(in srgb, var(--fill) 70%, transparent);stroke-width:.45px;cursor:pointer;transition:fill .6s,fill-opacity .25s}:root[data-mode=day] .province path{stroke:var(--card);stroke-width:.6px}.province:hover path{fill-opacity:calc(var(--prov-o) + .15)}.province.selected path{stroke:var(--key);stroke-width:1.1px;filter:drop-shadow(0 0 3px var(--key))}.province:focus-visible{outline:none}.province:focus-visible path{stroke:var(--key);stroke-width:1.1px}.province-label{fill:var(--paper);font:500 7px var(--mono);letter-spacing:.06em;text-anchor:middle;paint-order:stroke;stroke:var(--void);stroke-width:3px;stroke-linejoin:round}.roads path{fill:none;stroke:var(--paper2);stroke-dasharray:2 4;opacity:.7}.trade-routes path{fill:none;stroke:var(--key);stroke-dasharray:4 8;stroke-linecap:round;filter:drop-shadow(0 0 3px var(--key));animation:1.8s linear infinite flow}.move-orders path{fill:none;stroke:var(--paper);stroke-dasharray:3 5;animation:1.2s linear infinite flow}.unit-marker{cursor:pointer}.unit-marker circle{fill:var(--card);stroke:var(--paper);stroke-width:1.2px}.unit-marker text{fill:var(--paper);font:600 7px var(--mono)}.unit-marker .ico{--ico-stroke:var(--paper);--ico-fill:var(--key);--ico-fo:.5;filter:none}.unit-marker.selected-unit circle{stroke:var(--key);stroke-width:2px;filter:drop-shadow(0 0 4px var(--key))}.moving-dot{fill:var(--key)!important;stroke:none!important}.reticle{pointer-events:none}.reticle .ring{fill:none;stroke:var(--key);stroke-width:.9px;stroke-dasharray:5 5;transform-box:fill-box;transform-origin:50%;animation:14s linear infinite spin}.reticle .brackets path{fill:none;stroke:var(--key);stroke-width:1.3px}.reticle .brackets{transform-box:fill-box;transform-origin:50%;animation:.6s cubic-bezier(.2,1.5,.3,1) both lock}.sweep{left:calc(var(--rail) + 24px);right:calc(var(--inspector) + 24px);pointer-events:none;opacity:0;position:absolute;top:40px;bottom:30px}:root[data-mode=night] .map-stage[data-projection=flat] .sweep{opacity:.35;background:conic-gradient(from 0deg, transparent 0 82%, var(--glow) 100%);mix-blend-mode:screen;border-radius:50%;animation:9s linear infinite sweep}.globe-loading{font:500 .68rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--paper2);opacity:.5;place-items:center;margin:0;display:grid;position:absolute;inset:0}.unit-marker .unit-hit-area{fill:#0000;stroke:none}.unit-marker.selected-unit .unit-hit-area{stroke:none;filter:none}@media (width<=1199px){.world-map{height:70vh;min-height:440px;padding:100px 12px 70px}.map-legend{gap:10px;right:20px}}}@layer business{.company-search{border:1px solid var(--line);background:var(--card);align-items:center;gap:7px;height:34px;padding:0 8px;display:flex}.company-search input{min-width:0;color:var(--paper);background:0 0;border:0;flex:1;font-size:.76rem}.company-search input::placeholder{color:var(--paper2)}.company-search kbd{font:500 .54rem var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--paper2);border:1px solid var(--line);opacity:.8;white-space:nowrap;padding:2px 5px}.roster{gap:2px;display:grid}.roster-head{justify-content:space-between;align-items:baseline;gap:10px;margin:14px 0 8px;display:flex}.roster-head .eyebrow{white-space:nowrap;text-overflow:ellipsis;min-width:0;margin:0;overflow:hidden}.sort-toggle{font:500 .56rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--paper2);cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.sort-toggle:hover{color:var(--paper)}.roster-row{border:1px solid #0000;align-items:stretch;display:flex}.roster-row:hover{background:var(--lift);border-color:var(--line)}.roster-row.active{background:var(--lift);border-color:var(--fill);box-shadow:inset 3px 0 0 var(--fill)}.roster-row.offline{opacity:.55}.roster-row.offline strong{text-decoration:line-through}.roster-pick{min-width:0;color:var(--paper);cursor:pointer;text-align:left;background:0 0;border:0;flex:1;grid-template-columns:6px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:36px;padding:4px 4px 4px 9px;display:grid}.roster-pick .dot{width:6px;height:6px}.roster-pick>span{min-width:0;line-height:1.2;display:grid}.roster-pick strong{font:500 .74rem var(--mono)}.roster-pick small{color:var(--paper2);white-space:nowrap;text-overflow:ellipsis;font-size:.62rem;overflow:hidden}.roster-pick em{font:500 .74rem var(--mono);color:var(--paper);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-style:normal;line-height:1.2;display:grid}.roster-pick em i{color:var(--paper2);font-size:.55rem;font-style:normal}.roster-pick em.warn{color:var(--key)}.roster-pick em.at-risk,.roster-pick em.at-risk i{color:var(--bad)}.roster-power{width:28px;color:var(--paper2);cursor:pointer;opacity:.7;background:0 0;border:0;flex:none;place-items:center;display:grid}.roster-power .ico{--ico-stroke:var(--paper2);--ico-fill:var(--paper2);--ico-fo:.1;--ico-glow:transparent}.roster-power:hover{opacity:1;background:var(--lift)}.roster-power.off{opacity:1;background:color-mix(in srgb, var(--bad) 16%, transparent)}.roster-power.off .ico{--ico-stroke:var(--bad);--ico-fill:var(--bad)}.data-note p:last-child{color:var(--paper2);gap:7px;margin:0;font-size:.66rem;line-height:1.55;display:flex}.business-map{padding:60px var(--inspector) 50px var(--rail)}.endowment{stroke:var(--void);stroke-width:.45px}.endowment.producer{fill:var(--lens-high)}.endowment.consumer{fill:var(--lens-low)}.lanes .lane-hit{fill:none;stroke:#0000;stroke-width:9px;cursor:pointer;outline:none}.lanes .lane-line{fill:none;pointer-events:none;stroke-linecap:round;stroke-dasharray:5 9;vector-effect:non-scaling-stroke}.lane.lit .lane-line,.lane.selected .lane-line,.lane:hover .lane-line{animation:2s linear infinite flow}.lanes .lane-hit,.endowment,.context-country,.business-map .ocean-sphere,.business-map .graticule{vector-effect:non-scaling-stroke}.lane.flowing .lane-line{stroke:var(--good)}.lane.throttled .lane-line{stroke:var(--key)}.lane.rerouted .lane-line{stroke:var(--fill);stroke-dasharray:9 6}.lane.critical .lane-line{stroke:var(--bad)}.lane.severed .lane-line{stroke:color-mix(in srgb, var(--bad) 55%, var(--void));stroke-dasharray:1.5 5;opacity:.7;animation:none}.lane.muted{opacity:.16}.lane.selected .lane-line{filter:drop-shadow(0 0 4px)}.lane.selected .lane-hit{stroke:color-mix(in srgb, var(--paper) 22%, transparent)}.lane-hit:focus-visible{stroke:var(--key)}.site{cursor:pointer;outline:none}.site circle{fill:var(--card);stroke:var(--good);stroke-width:1.5px}.site .ico{--ico-stroke:var(--paper);--ico-fill:var(--fill);--ico-fo:.4;filter:none}.site.throttled circle{stroke:var(--key)}.site.rerouted circle{stroke:var(--fill)}.site.critical circle{stroke:var(--bad)}.site.severed circle{stroke:var(--bad);stroke-dasharray:2 2}.site.muted{opacity:.25}.site.selected circle{stroke:var(--key);stroke-width:2.2px;filter:drop-shadow(0 0 4px var(--key))}.site:focus-visible circle{stroke:var(--key);stroke-width:2.2px}.counterparty rect{fill:var(--card);stroke:var(--lens-low);stroke-width:1.4px}.counterparty text{fill:var(--paper2);font:500 5px var(--mono);dominant-baseline:middle}.chokepoint{cursor:pointer;outline:none}.chokepoint circle{fill:color-mix(in srgb, var(--card) 80%, transparent);stroke:color-mix(in srgb, var(--paper2) 45%, transparent);stroke-width:1.1px;stroke-dasharray:2 2}.chokepoint:hover circle,.chokepoint:focus-visible circle{stroke:var(--paper);stroke-width:1.8px}.chokepoint.locked{cursor:not-allowed}.chokepoint.shut circle{fill:var(--card);stroke:var(--bad);stroke-width:2.2px;stroke-dasharray:none;filter:drop-shadow(0 0 5px var(--bad))}.chokepoint .ico{--ico-stroke:var(--bad);--ico-fill:var(--bad);--ico-accent:var(--bad);--ico-fo:.3;filter:none}.legend-producer,.legend-consumer{border-top:0!important;width:10px!important;height:10px!important}.legend-producer{background:var(--lens-high)}.legend-consumer{background:var(--lens-low)}.legend-flowing{color:var(--good)}.legend-throttled{color:var(--key)}.legend-rerouted{color:var(--fill)}.legend-severed{color:var(--bad)}.business-empty{place-items:center;padding:40px;display:grid}.empty-panel{text-align:center;max-width:380px;padding:0 var(--inspector) 0 var(--rail);box-sizing:content-box}.empty-panel h1{font:600 1.5rem var(--ui);letter-spacing:-.01em;margin:14px 0 10px}.empty-panel p{color:var(--paper2);margin:0;font-size:.78rem;line-height:1.6}.empty-panel .empty-note{font:500 .58rem var(--mono);letter-spacing:.12em;text-transform:uppercase;opacity:.7;margin-top:12px}.exposure .eyebrow{align-items:center;gap:6px;display:flex}.status-chip{font:700 .6rem var(--mono);text-transform:uppercase;letter-spacing:.1em;border:1px solid;margin-bottom:16px;padding:4px 8px;display:inline-block}.status-chip.flowing{color:var(--good)}.status-chip.throttled{color:var(--key)}.status-chip.rerouted{color:var(--fill)}.status-chip.critical,.status-chip.severed{color:var(--bad)}.exposure-meter>span,.exposure-meter>strong{font-size:.7rem}.exposure-meter>strong{float:right;font-family:var(--mono)}.exposure-meter>div{background:var(--lift2);height:4px;margin-top:9px}.exposure-meter i{height:100%;display:block}.exposure-meter i.cool{background:var(--good)}.exposure-meter i.warm{background:var(--key)}.exposure-meter i.hot{background:var(--bad)}.exposure-note{color:var(--paper2);margin:12px 0 0;font-size:.68rem;line-height:1.55}.exposure .stats{margin-top:16px}.exposure .stats div{justify-content:space-between;display:flex}.concentration-head{margin-top:22px}.concentration-row{grid-template-columns:1fr 70px 34px;align-items:center;gap:8px;margin-bottom:7px;font-size:.68rem;display:grid}.concentration-row div{background:var(--lift2);height:3px}.concentration-row i{background:var(--fill);height:100%;display:block}.concentration-row em{font:500 .66rem var(--mono);text-align:right;font-style:normal}.lanes-block,.ops-block{border-top:1px solid var(--line);margin-top:22px;padding-top:22px}.lane-row,.site-row{width:100%;color:var(--paper);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;justify-content:space-between;align-items:center;gap:8px;padding:7px 6px;font-size:.7rem;display:flex}.lane-row span,.site-row span{align-items:center;gap:8px;min-width:0;display:flex}.lane-row em{font:500 .66rem var(--mono);white-space:nowrap;font-style:normal}.lane-row em i{color:var(--paper2);font-style:normal}.site-row small{color:var(--paper2);font-size:.6rem}.lane-row.selected,.site-row.selected{border-color:var(--fill);background:var(--lift)}.dot{background:var(--good);border-radius:50%;flex:none;width:6px;height:6px}.dot.throttled{background:var(--key)}.dot.rerouted{background:var(--fill)}.dot.critical,.dot.severed{background:var(--bad)}.app-shell[data-view=business]{--rail:272px;--inspector:332px}.business-rail{padding-top:22px}.rail-head{gap:12px;display:grid;position:relative}.rail-head .eyebrow{margin:0}.trade-rocker{border:1px solid var(--fill);background:var(--lift);width:100%;height:38px;box-shadow:inset 3px 0 0 var(--fill);color:var(--paper);text-align:left;cursor:pointer;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:0 10px 0 12px;display:grid}.trade-rocker.open{background:color-mix(in srgb, var(--fill) 14%, transparent)}.trade-rocker>span{min-width:0;line-height:1.15;display:grid}.trade-rocker strong{white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;font-weight:500;overflow:hidden}.trade-rocker small{font:500 .56rem var(--mono);letter-spacing:.06em;color:var(--paper2);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.lamp{background:var(--lift2);border-radius:50%;flex:none;width:7px;height:7px}.lamp.lit{background:var(--fill);box-shadow:0 0 8px var(--fill), 0 0 2px var(--fill)}.lamp.lit.key{background:var(--key);box-shadow:0 0 8px var(--key)}.rail-tabs{grid-template-columns:1fr 1fr;gap:2px;display:grid}.rail-tabs button{height:32px;color:var(--paper2);font:500 .72rem var(--ui);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:7px;display:flex}.rail-tabs button.active{color:var(--paper);border-color:var(--line);background:var(--lift)}.rail-tabs button b{font:500 .58rem var(--mono);color:var(--paper2)}.rail-tabs button.active b{color:var(--fill)}.shock-strip{border:1px solid var(--key);background:color-mix(in srgb, var(--key) 8%, transparent);box-shadow:inset 3px 0 0 var(--key);gap:5px;padding:9px 10px 10px 12px;display:grid}.shock-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.shock-head .eyebrow{color:var(--key);white-space:nowrap;align-items:center;gap:6px;display:flex}.shock-head .ico{--ico-stroke:var(--key);--ico-fill:var(--key);--ico-accent:var(--key)}.shock-strip p:last-child{color:var(--paper);margin:0;font-size:.66rem;line-height:1.45}.lift-all{border:1px solid var(--key);height:24px;color:var(--key);font:600 .56rem var(--mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;white-space:nowrap;background:0 0;flex:none;align-items:center;gap:5px;padding:0 8px;display:flex}.lift-all .ico{--ico-stroke:var(--key);--ico-fill:var(--key)}.lift-all:hover{background:color-mix(in srgb, var(--key) 16%, transparent)}.business-rail [role=tabpanel]{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.trade-picker{z-index:4;background:var(--card);border:1px solid var(--fill);box-shadow:0 18px 40px -20px var(--shadow);padding:10px;position:absolute;top:66px;left:0;right:0}.trade-picker-head{justify-content:space-between;align-items:center;padding-bottom:6px;display:flex}.trade-picker-head .eyebrow{margin:0}.trade-picker-head button{border:1px solid var(--line);height:24px;color:var(--paper2);font:500 .56rem var(--mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:0 0;padding:0 8px}.trade-picker-head button.on,.trade-picker-head button:hover{background:var(--lift);color:var(--paper)}.trade-family{border-top:1px solid var(--line);gap:0;margin-top:6px;padding-top:4px;display:grid}.trade-family-head,.trade-row{width:100%;height:30px;color:var(--paper2);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;grid-template-columns:6px minmax(0,1fr) auto;align-items:center;gap:9px;padding:0 8px 0 9px;display:grid}.trade-family-head span{font:600 .58rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--paper)}.trade-family-head small,.trade-row small{font:500 .56rem var(--mono);letter-spacing:.04em;color:var(--paper2);white-space:nowrap}.trade-row{padding-left:21px}.trade-row span{white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.trade-row:hover,.trade-family-head:hover{color:var(--paper);background:var(--lift)}.trade-row.active{color:var(--paper);border-color:var(--line);background:var(--lift)}.trade-row.active small{color:var(--fill)}.trade-picker-hint{font:500 .56rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--paper2);margin:10px 0 0}.lamp.fam-energy.lit{background:var(--fam-energy);box-shadow:0 0 8px var(--fam-energy)}.lamp.fam-metals.lit{background:var(--fam-metals);box-shadow:0 0 8px var(--fam-metals)}.lamp.fam-battery.lit{background:var(--fam-battery);box-shadow:0 0 8px var(--fam-battery)}.lamp.fam-agri.lit{background:var(--fam-agri);box-shadow:0 0 8px var(--fam-agri)}.lamp.fam-shipping.lit{background:var(--fam-shipping);box-shadow:0 0 8px var(--fam-shipping)}.fam-energy{--fam:var(--fam-energy)}.fam-metals{--fam:var(--fam-metals)}.fam-battery{--fam:var(--fam-battery)}.fam-agri{--fam:var(--fam-agri)}.fam-shipping{--fam:var(--fam-shipping)}.dot.fam-energy,.dot.fam-metals,.dot.fam-battery,.dot.fam-agri,.dot.fam-shipping{background:var(--fam)}.dot.severed.fam-energy,.dot.severed.fam-metals,.dot.severed.fam-battery,.dot.severed.fam-agri,.dot.severed.fam-shipping{background:var(--bad)}.lever-groups{gap:2px;display:grid}.lever-group-head{width:100%;height:38px;color:var(--paper2);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:0 8px 0 10px;font-size:.78rem;display:grid}.lever-group-head>span{white-space:nowrap}.lever-group-head>b{font:500 .58rem var(--mono);letter-spacing:.04em;color:var(--paper2);white-space:nowrap;justify-self:end;align-items:center;gap:6px;display:inline-flex}.lever-group-head:hover{color:var(--paper)}.lever-group.open .lever-group-head{color:var(--paper);border-color:var(--line);background:var(--lift)}.lever-group.open .lever-group-head>b{color:var(--fill)}.lever-group .pill{font:500 .56rem var(--mono);color:var(--bad);border:1px solid color-mix(in srgb, var(--bad) 55%, transparent);background:color-mix(in srgb, var(--bad) 14%, transparent);padding:2px 5px;font-style:normal;text-decoration:line-through}.lever-grid{flex-wrap:wrap;gap:4px;padding:8px 0 12px;display:flex}.lever-grid .empty-copy{color:var(--paper2);margin:0;font-size:.68rem;line-height:1.5}.lever{border:1px solid var(--line);min-height:28px;color:var(--paper2);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:6px;padding:0 9px;font-size:.68rem;transition:transform .12s,border-color .2s,color .2s;display:inline-flex}.lever i{background:color-mix(in srgb, var(--good) 62%, transparent);border-radius:50%;flex:none;width:6px;height:6px;transition:background .35s,box-shadow .35s}.lever:hover{border-color:var(--fill);color:var(--paper)}.lever:active{transform:translateY(1px)}.lever.off{color:var(--bad);border-color:color-mix(in srgb, var(--bad) 55%, transparent);background:color-mix(in srgb, var(--bad) 14%, transparent)}.lever.off span{text-decoration:line-through}.lever.off i{background:var(--bad);box-shadow:0 0 6px var(--bad)}.lever.locked{cursor:not-allowed;border-style:dashed}.rail-strip{z-index:2;background:var(--deck);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-direction:column;grid-row:1;align-items:center;gap:14px;width:44px;padding:8px 0 14px;display:flex;position:relative}.rail-strip.left{border-right:1px solid var(--line);grid-column:1}.rail-strip.right{border-left:1px solid var(--line);grid-column:3}.rail-toggle,.rail-collapse{border:1px solid var(--line);width:34px;height:34px;color:var(--paper2);cursor:pointer;background:0 0;place-items:center;display:grid}.rail-toggle:hover,.rail-collapse:hover{border-color:var(--fill);color:var(--paper)}.rail-toggle .ico,.rail-collapse .ico{--ico-stroke:var(--paper2);--ico-glow:transparent}.rail-collapse{z-index:3;opacity:.6;border-color:#0000;width:28px;height:28px;position:absolute;top:10px;right:10px}.rail-collapse:hover{opacity:1;border-color:var(--line)}.rail-vlabel{writing-mode:vertical-rl;font:600 .58rem var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--fill);white-space:nowrap;align-items:center;gap:8px;display:flex}.rail-vlabel.dim{color:var(--paper2)}.rail-strip kbd{font:500 .54rem var(--mono);color:var(--paper2);border:1px solid var(--line);opacity:.8;margin-top:auto;padding:2px 5px}.app-shell[data-rail=closed],.app-shell[data-view=business][data-rail=closed]{--rail:44px}.app-shell[data-inspector=closed],.app-shell[data-view=business][data-inspector=closed]{--inspector:44px}.map-stage.dragging,.map-stage.dragging *{cursor:grabbing!important}.business-map{touch-action:none;cursor:grab}.map-hint{right:calc(var(--inspector) + 24px);font:500 .58rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--paper2);opacity:.6;pointer-events:none;z-index:1;margin:0;position:absolute;top:26px}.map-zoom{right:calc(var(--inspector) + 24px);z-index:2;gap:2px;display:grid;position:absolute;bottom:64px}.map-zoom button{border:1px solid var(--line);background:var(--card);width:34px;height:34px;color:var(--paper2);cursor:pointer;place-items:center;display:grid}.map-zoom button:hover{border-color:var(--fill);color:var(--paper)}.map-zoom .ico{--ico-stroke:var(--paper2);--ico-glow:transparent}.map-scale{text-align:center;font:500 .58rem var(--mono);color:var(--paper2);font-variant-numeric:tabular-nums;padding:4px 0}.peek{z-index:4;background:var(--card);border:1px solid var(--line);width:252px;box-shadow:0 18px 40px -20px var(--shadow);padding:12px 14px;position:absolute}.peek .eyebrow{margin:0 0 6px}.peek h3{font:600 1rem/1.2 var(--ui);letter-spacing:-.01em;margin:0}.peek p{color:var(--paper2);margin:4px 0 0;font-size:.68rem;line-height:1.45}.peek .status-chip{margin:10px 0 0}.peek-action{border:1px solid var(--line);width:100%;height:30px;color:var(--paper2);font:500 .62rem var(--mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:6px;margin-top:12px;display:flex}.peek-action:hover{border-color:var(--fill);color:var(--paper)}.peek-action.key{border-color:var(--key);color:var(--key)}.peek-action.key .ico{--ico-stroke:var(--key);--ico-fill:var(--key);--ico-accent:var(--key)}.peek-action:disabled{opacity:.5;cursor:not-allowed}.share-rows{gap:6px;margin-top:12px;display:grid}.share-row{grid-template-columns:1fr 64px 34px;align-items:center;gap:8px;font-size:.67rem;display:grid}.share-row div{background:var(--lift2);height:4px}.share-row i{background:var(--fam,var(--fill));height:100%;display:block}.share-row em{font:500 .64rem var(--mono);text-align:right;color:var(--paper2);font-style:normal}.strait-card .inspector-head>p:last-child{margin-bottom:18px}.strait-action{border:1px solid var(--key);width:100%;min-height:34px;color:var(--key);cursor:pointer;background:0 0;align-items:center;gap:7px;margin-top:16px;padding:0 10px;font-size:.68rem;display:flex}.strait-action .ico{--ico-stroke:var(--key);--ico-fill:var(--key);--ico-accent:var(--key)}.strait-action:hover{background:color-mix(in srgb, var(--key) 16%, transparent)}.strait-action:disabled{opacity:.5;cursor:not-allowed;border-style:dashed}.business-map.multi .lane:not(.lit):not(.selected) .lane-line{stroke:var(--fam);stroke-dasharray:none;opacity:.42}.business-map.multi .lane.severed:not(.lit):not(.selected) .lane-line{stroke:var(--bad);stroke-dasharray:1.5 5;opacity:.5}.business-map.multi .lane.muted .lane-line{opacity:.12}.business-map.multi .site:not(.lit):not(.selected) circle{stroke:var(--fam);stroke-width:1px}.business-map.multi .site.severed:not(.lit):not(.selected) circle{stroke:var(--bad)}.chokepoint.selected circle{stroke:var(--key);stroke-width:2px;stroke-dasharray:none;filter:drop-shadow(0 0 4px var(--key))}.chokepoint text{fill:var(--paper2);font:600 4.2px var(--mono);text-anchor:middle;pointer-events:none}.chokepoint.selected text{fill:var(--key)}.chokepoint.shut text{display:none}.legend-fam{background:var(--fam);border-top:0!important;width:10px!important;height:10px!important}.map-legend span.dim{opacity:.4}.impact{border-bottom:1px solid var(--line);margin-bottom:24px;padding-bottom:24px}.impact .eyebrow{align-items:center;gap:6px;display:flex}.impact-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.price-readout{text-align:right}.price-readout strong{font:500 1.75rem/1 var(--mono);color:var(--good);font-variant-numeric:tabular-nums;display:block}.price-readout strong.hot{color:var(--bad)}.price-readout span{text-transform:uppercase;letter-spacing:.08em;color:var(--paper2);justify-content:flex-end;align-items:center;gap:5px;margin-top:5px;font-size:.58rem;display:flex}.flow-bar{background:var(--lift2);height:9px;margin:18px 0 9px;display:flex}.flow-bar i{height:100%;display:block}.flow-bar i.moving,.flow-key i.moving{background:var(--good)}.flow-bar i.backfilled,.flow-key i.backfilled{background:var(--fill)}.flow-bar i.unmet,.flow-key i.unmet{background:var(--bad)}.flow-key{color:var(--paper2);flex-wrap:wrap;gap:10px;margin:0;font-size:.58rem;display:flex}.flow-key span{align-items:center;gap:5px;display:flex}.flow-key i{width:8px;height:8px}.impact .exposure-note{align-items:flex-start;gap:6px;display:flex}.impact .exposure-note .ico{flex:none;margin-top:2px}.impact-rows{margin-top:20px}.impact-rows .eyebrow{margin-bottom:9px}.impact-row{grid-template-columns:1fr 64px 52px;align-items:center;gap:8px;margin-bottom:6px;font-size:.67rem;display:grid}.impact-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.impact-row div{background:var(--lift2);height:4px}.impact-row i{height:100%;display:block}.impact-row i.cool{background:var(--fill)}.impact-row i.warm{background:var(--key)}.impact-row i.hot{background:var(--bad)}.impact-row em{font:500 .64rem var(--mono);text-align:right;color:var(--paper2);font-style:normal}@media (width<=1000px){.app-shell[data-view=business]{--rail:212px;--inspector:300px}}@media (width<=1199px){.rail-strip,.rail-collapse,.map-hint{display:none}.app-shell,.app-shell[data-view=business]{--rail:0px;--inspector:0px}.business-map{padding:100px 12px 70px}}}@layer globe{.globe-shell{touch-action:none;cursor:grab;position:absolute;inset:0}.globe-shell:active{cursor:grabbing}.globe-canvas{width:100%;height:100%;display:block}.globe-label{opacity:0;pointer-events:none;background:var(--card);border:1px solid var(--line);font:500 .62rem var(--mono);letter-spacing:.06em;white-space:nowrap;padding:5px 9px;transition:opacity .25s;position:absolute;top:0;left:0}.globe-index{left:calc(var(--rail) + 24px);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;bottom:56px;overflow:hidden}.globe-index:focus-within{clip-path:none;white-space:normal;background:var(--card);border:1px solid var(--line);width:auto;max-width:min(420px,100% - 48px);height:auto;box-shadow:0 18px 40px -20px var(--shadow);z-index:3;padding:14px 16px;overflow:visible}.globe-index p{color:var(--paper2);margin:0 0 10px;font-size:.66rem;line-height:1.5}.globe-index ul{flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}.globe-index button{border:1px solid var(--line);background:var(--lift);color:var(--paper2);cursor:pointer;padding:5px 9px;font-size:.68rem}.globe-index button[aria-pressed=true]{border-color:var(--key);color:var(--paper)}.globe-hint{right:calc(var(--inspector) + 24px);font:500 .58rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--paper2);opacity:.6;pointer-events:none;margin:0;position:absolute;top:26px}@media (width<=720px){.globe-index:focus-within{bottom:70px;left:14px}.globe-shell{touch-action:pan-y}.globe-hint{display:none}}}@layer motion{.app-shell,.panel,.topbar,.time-dock,.map-stage,.ocean-sphere,.context-country,.globe-label,.notice{transition:background-color .6s,color .6s,border-color .6s,fill .6s,stroke .6s}.mode-switch .track i{transition:left .45s cubic-bezier(.2,1.5,.3,1),background .4s}.shutter{animation:.8s cubic-bezier(.4,0,.2,1) shutter}.time-dock .play.run{background:var(--key);animation:1.2s ease-in-out infinite lampPulse}.time-dock .next.fire{animation:.5s ease-out fire}.time-dock button,.header-actions>button,.mode-switch{transition:transform .12s,background-color .2s,color .2s,box-shadow .2s,border-color .2s}.time-dock button:active,.header-actions>button:active,.mode-switch:active{box-shadow:inset 0 2px 4px var(--shadow);transform:translateY(1px)}.app-shell.boot .topbar,.app-shell.boot .panel,.app-shell.boot .time-dock,.app-shell.boot .map-title{animation:.7s steps(4,end) both powerOn}.app-shell.boot .left-rail{animation-delay:.1s}.app-shell.boot .map-title{animation-delay:.35s}.app-shell.boot .inspector{animation-delay:.5s}.app-shell.boot .time-dock{animation-delay:.7s}.app-shell.boot .map-stage{animation:1.2s ease-out both sceneOn}@keyframes flow{to{stroke-dashoffset:-24px}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes sweep{to{transform:rotate(360deg)}}@keyframes lock{0%{opacity:0;transform:scale(1.9)}30%{opacity:1}to{transform:scale(1)}}@keyframes blink{50%{opacity:0}}@keyframes shutter{0%{opacity:.35;transform:translate(-110%)}to{opacity:.35;transform:translate(110%)}}@keyframes lampPulse{50%{box-shadow:0 0 14px var(--key)}}@keyframes fire{0%{background:var(--key);color:var(--on-key)}to{background:0 0}}@keyframes powerOn{0%{opacity:0}25%{opacity:.6}50%{opacity:.15}75%{opacity:.9}to{opacity:1}}@keyframes sceneOn{0%{filter:brightness(.2)saturate(.2)}to{filter:none}}@media (prefers-reduced-motion:reduce){.lane.lit .lane-line,.lane.selected .lane-line,.lane:hover .lane-line,.trade-routes path,.move-orders path,.sweep,.reticle .ring,.reticle .brackets,.shutter,.time-dock .play.run,.app-shell.boot *,.caret{animation:none!important}.switch .knob,.gauge .needle,.gauge .arcv,.mode-switch .track i{transition:none}}}
