:root{--bg:#0b1017;--ocean:#0d1420;--panel:#131b28;--panel2:#182233;--border:#263140;--ink:#e8edf5;--ink2:#9fadc2;--ink3:#7d8da4;--war:#e5484d;--geo:#6f8ef2;--fin:#c9820a;--tech:#1f9c86;--i-war:#994047;--i-high:#72492b;--i-med:#514727;--i-frozen:#2d4143;--c-base:#1d2735;--c-has:#32394a;--up:#e5484d;--down:#5b8ff2;--fs-xs:11px;--fs-s:12px;--fs-m:13px;--fs-l:15px;--fs-xl:17px;--fs-2xl:22px}html[lang=en]{--up:#3fbf7f;--down:#e5484d}*{margin:0;padding:0;box-sizing:border-box}button{font:inherit;color:inherit;background:none;border:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:inherit}:focus-visible{outline:2px solid var(--geo);outline-offset:2px}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Pretendard,Malgun Gothic,Segoe UI,sans-serif;overflow:hidden}#root{display:flex;flex-direction:column}.loading{flex:1;display:flex;align-items:center;justify-content:center;color:var(--ink3);font-size:var(--fs-l);gap:10px}.loading .eye{font-size:var(--fs-2xl);animation:blink 1.4s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.25}}header{display:flex;align-items:center;gap:14px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--panel);flex-wrap:wrap}.title{font-size:var(--fs-xl);font-weight:700;letter-spacing:-.2px;display:flex;align-items:baseline;gap:8px}.title .sub{font-size:var(--fs-s);color:var(--ink3);font-weight:500}.chbadge{margin-left:auto;display:flex;align-items:center;gap:5px;background:#f2c76a1a;border:1px solid rgba(242,199,106,.45);color:#f2c76a;border-radius:999px;padding:5px 13px;font-size:var(--fs-s);font-weight:600;cursor:pointer;transition:background .15s}.chbadge b{font-weight:800}.chbadge:hover,.chbadge.on{background:#f2c76a38}.chbadge.on{color:#ffe1a0}.chbadge+.dsel{margin-left:0}.kbadge{display:inline-block;font-size:var(--fs-xs);font-weight:800;padding:1.5px 7px;border-radius:999px;margin-right:6px;vertical-align:1px;white-space:nowrap}.k-new{background:#f2c76a2e;color:#f2c76a}.k-esc{background:#e5484d29;color:#f2777b}.k-de{background:#5b8ff229;color:#8fb0f5}.k-up{background:#ffffff14;color:var(--ink2)}.chitem{cursor:pointer;transition:border-color .15s;display:block;width:100%;text-align:left}.chitem:hover{border-color:#4a5b74}.dsel{background:var(--panel2);border:1px solid var(--border);color:var(--ink);border-radius:8px;padding:5px 8px;font-size:var(--fs-s);cursor:pointer}.langtoggle{margin-left:auto;display:flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--panel2);flex:0 0 auto}.lbtn{border:none;background:none;color:var(--ink3);font-size:var(--fs-xs);font-weight:700;letter-spacing:.4px;padding:5px 9px;cursor:pointer;transition:color .15s,background .15s}.lbtn:hover{color:var(--ink2)}.lbtn.on{background:#24314a;color:var(--ink)}.lbtn:focus-visible{outline:2px solid var(--geo);outline-offset:-2px}.layers{display:flex;gap:6px;flex-wrap:wrap}.chip{display:flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;border:1px solid var(--border);background:var(--panel2);font-size:var(--fs-s);color:var(--ink2);cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .15s}.chip .dot{width:8px;height:8px;border-radius:2px}.chip.on{color:var(--ink);border-color:var(--c)}.chip.on .dot{box-shadow:0 0 6px var(--c)}.chip:not(.on){opacity:.45}.ticker{display:flex;gap:8px;padding:8px 16px;overflow-x:auto;border-bottom:1px solid var(--border);background:var(--panel);scrollbar-width:none;cursor:grab}.ticker::-webkit-scrollbar{display:none}.ticker.dragging{cursor:grabbing}.ticker.dragging *{cursor:grabbing;-webkit-user-select:none;user-select:none}.tick{flex:0 0 auto;background:var(--panel2);border:1px solid var(--border);border-radius:8px;padding:6px 12px;cursor:default}.tick .tn{font-size:var(--fs-xs);color:var(--ink3);white-space:nowrap}.tick .tv{font-size:var(--fs-m);font-weight:700;white-space:nowrap;display:flex;gap:5px;align-items:baseline;font-variant-numeric:tabular-nums}.tick.clickable{cursor:pointer;transition:border-color .15s}.tick.clickable:hover{border-color:#4a5b74}.chint{font-size:var(--fs-xs);opacity:.55;margin-left:1px}.spark{display:block;margin-top:3px}.lv{display:inline-flex;align-items:center;gap:3px;font-size:var(--fs-xs);font-weight:800;color:#3fbf7f;letter-spacing:.5px}.lv:before{content:"";width:5px;height:5px;border-radius:50%;background:#3fbf7f;animation:blink 1.6s ease-in-out infinite}.ar{font-size:var(--fs-xs)}.ar.up{color:var(--up)}.ar.down{color:var(--down)}.ar.flat{color:var(--ink3)}.cmodal{position:fixed;top:0;right:0;bottom:0;left:0;background:#05080db8;z-index:50;display:flex;align-items:center;justify-content:center;padding:24px}.cbox{width:min(1100px,94vw);height:min(680px,84vh);background:#0d1420;border:1px solid var(--border);border-radius:14px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 80px #0000008c}.chead{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border)}.ct2{font-size:var(--fs-l);font-weight:700}.csub{font-size:var(--fs-xs);color:var(--ink3)}.cbody{flex:1;min-height:0}.bbar{display:flex;align-items:center;gap:10px;padding:5px 16px;border-bottom:1px solid var(--border);background:linear-gradient(90deg,rgba(229,72,77,.12),var(--panel) 30%)}.btag{flex:0 0 auto;font-size:var(--fs-xs);font-weight:800;color:#ff6b72;letter-spacing:.5px}.bitems{display:flex;gap:18px;overflow-x:auto;scrollbar-width:none}.bitems::-webkit-scrollbar{display:none}.bitem{flex:0 0 auto;display:flex;align-items:baseline;gap:7px;text-decoration:none;max-width:520px}.bitem:hover .btitle{color:#fff;text-decoration:underline}.btime{font-size:var(--fs-xs);color:#ff8a90;white-space:nowrap;font-weight:700}.btitle{font-size:var(--fs-s);color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bsrc{font-size:var(--fs-xs);color:var(--ink3);white-space:nowrap}.bkpin circle.bh{fill:none;stroke:#ff4d57;stroke-width:1.4;animation:pulse 1.5s ease-out infinite}.bkpin circle.bc{fill:#ff4d57;stroke:#0d1420;stroke-width:1}.stage{position:relative;flex:1;min-height:0;background:var(--ocean);overflow:hidden;overflow:clip}svg.worldmap{position:relative;z-index:1;width:100%;height:100%;display:block;cursor:grab;transform-origin:0 0;will-change:transform}.backdrop{position:absolute;z-index:0;pointer-events:none;will-change:transform}svg.worldmap.drag{cursor:grabbing}svg.worldmap.zooming *:not(.rel){animation-play-state:paused!important}svg.worldmap.panning .country.changed{animation-play-state:paused!important}svg.worldmap .relations,svg.worldmap .assets,svg.worldmap .markers,svg.worldmap .dots,svg.worldmap .bkpins{will-change:transform}.country{fill:var(--c-base);stroke:#0d1420;stroke-width:.8;vector-effect:non-scaling-stroke;transition:fill .15s}.country.has{fill:var(--c-has)}.country.cwar{fill:var(--i-war)}.country.chigh{fill:var(--i-high)}.country.cmed{fill:var(--i-med)}.country.cfrozen{fill:var(--i-frozen)}.ihatch{pointer-events:none}.country:hover{fill:#3d5273!important;cursor:pointer}.country.changed{stroke:#f2c76a;animation:chglow 2.1s ease-in-out infinite}@keyframes chglow{0%,to{stroke-width:.9;stroke-opacity:.35}50%{stroke-width:2.4;stroke-opacity:1}}.country.sel{stroke:#e8edf5;stroke-width:1.6;animation:none;stroke-opacity:1}.admin1{fill:none;stroke:#7b93b8;stroke-width:.8;vector-effect:non-scaling-stroke;opacity:.55;stroke-dasharray:4 3}.mk{cursor:pointer}.mk circle.halo{fill:none;stroke-width:1.5;opacity:.85}.mk.war circle.halo{animation:pulse 1.6s ease-out infinite}@keyframes pulse{0%{transform:scale(.6);opacity:.9}to{transform:scale(2.1);opacity:0}}.mk text{font-size:var(--fs-m);text-anchor:middle;dominant-baseline:central;pointer-events:none}.mk circle.core{stroke:#0d1420;stroke-width:1}.idot{pointer-events:none}.zoombox{position:absolute;left:12px;top:12px;display:flex;flex-direction:column;gap:6px}.zbtn{width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:var(--ink);font-size:16px;cursor:pointer}.zbtn:hover{background:var(--panel2)}.legend{position:absolute;left:12px;bottom:12px;background:#131b28eb;border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-size:var(--fs-xs);color:var(--ink2)}.legend .lt{font-size:var(--fs-xs);color:var(--ink3);margin-bottom:6px;font-weight:600}.legend .li{display:flex;align-items:center;gap:7px;margin-top:4px;white-space:nowrap}.legend .sw{width:11px;height:11px;border-radius:3px;border:1px solid rgba(255,255,255,.15)}.legend .lnote{margin-top:6px;font-size:var(--fs-xs);color:var(--ink3);max-width:150px;line-height:1.4}.rel{fill:none;stroke-width:1.6;vector-effect:non-scaling-stroke;opacity:.8;pointer-events:none}.rel-support{stroke:#3fbf7f;stroke-dasharray:7 5;animation:relflow 1.1s linear infinite}.rel-sanction{stroke:#e5484d;stroke-dasharray:5 4;animation:relflow 1.7s linear infinite}.rel-alliance{stroke:#6f8ef2;opacity:.6}.rel-tension{stroke:#d4b13f;stroke-dasharray:1.5 4.5;opacity:.75}@keyframes relflow{to{stroke-dashoffset:-12}}.relhit{fill:none;stroke:#000;stroke-opacity:0;stroke-width:9;pointer-events:stroke}.legend .lw{width:14px;height:3px;border-radius:2px}.tooltip{position:absolute;pointer-events:none;background:#0a0f17f2;border:1px solid var(--border);border-radius:8px;padding:7px 10px;font-size:var(--fs-s);display:none;z-index:30;max-width:260px}.tooltip .tt{font-weight:700;margin-bottom:2px}.tooltip .ts{color:var(--ink2);font-size:var(--fs-xs)}.panel{position:absolute;top:0;right:0;bottom:0;width:400px;max-width:92vw;background:#0f1520f7;border-left:1px solid var(--border);transform:translate(102%);visibility:hidden;transition:transform .22s ease,visibility 0s .22s;display:flex;flex-direction:column;z-index:20}.panel.open{transform:none;visibility:visible;transition:transform .22s ease}.phead{padding:16px 18px 12px;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;gap:10px}.phead .flag{font-size:var(--fs-2xl);line-height:1.2;display:flex;align-items:center}.phead .pn{font-size:var(--fs-xl);font-weight:700}.phead .ps{font-size:var(--fs-s);color:var(--ink3);margin-top:2px}.pclose{margin-left:auto;background:none;border:none;color:var(--ink2);cursor:pointer;padding:4px 6px;border-radius:6px}.pclose:hover{color:var(--ink);background:#ffffff12}.pbody{overflow-y:auto;padding:14px 18px 24px;scrollbar-width:thin}.sec{margin-bottom:16px}.sech{display:flex;align-items:center;gap:7px;font-size:var(--fs-s);font-weight:700;color:var(--ink2);margin-bottom:8px;letter-spacing:.2px}.sech .dot{width:8px;height:8px;border-radius:2px}.card{background:var(--panel2);border:1px solid var(--border);border-left:3px solid var(--c,#3a4a61);border-radius:8px;padding:10px 12px;margin-bottom:8px}.card .ct{font-size:var(--fs-m);font-weight:700;display:flex;gap:8px;align-items:baseline}.card .ct .tr{font-size:var(--fs-xs);font-weight:600;white-space:nowrap;margin-left:auto;padding:2px 7px;border-radius:999px;background:#ffffff0f;color:var(--ink2)}.card .cs{font-size:var(--fs-s);color:var(--ink2);line-height:1.65;margin-top:5px;overflow-wrap:break-word}.card .cm{font-size:var(--fs-xs);color:var(--ink3);margin-top:6px}.badge{display:inline-block;font-size:var(--fs-xs);font-weight:700;padding:2px 8px;border-radius:999px;margin-left:2px;flex:0 0 auto;white-space:nowrap}.b-war{background:#e5484d26;color:#f2777b}.b-high{background:#e08c3a26;color:#e8a05f}.b-medium{background:#d4b13f26;color:#d9bc55}.b-frozen{background:#7f96b326;color:#93a9c4}.empty{font-size:var(--fs-s);color:var(--ink3);padding:8px 2px}.srcs{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.src{font-size:var(--fs-xs);color:#7f97bd;text-decoration:none;background:#6f8ef214;border:1px solid rgba(111,142,242,.22);border-radius:999px;padding:2px 8px;white-space:nowrap}.src:hover{color:#b8c9ea;border-color:#6f8ef280}.istrip{display:flex;gap:2.5px;margin-top:7px}.istrip .ic{width:9px;height:9px;border-radius:2.5px;display:inline-block}.themesbar{position:absolute;left:50%;transform:translate(-50%);bottom:12px;z-index:15}.tbtn{background:#131b28f2;border:1px solid var(--border);color:var(--ink);border-radius:999px;padding:8px 18px;font-size:var(--fs-m);font-weight:600;cursor:pointer}.tbtn:hover{background:var(--panel2)}.sheet{position:absolute;left:0;right:0;bottom:0;max-height:62%;background:#0f1520fa;border-top:1px solid var(--border);transform:translateY(103%);visibility:hidden;transition:transform .25s ease,visibility 0s .25s;z-index:25;display:flex;flex-direction:column}.sheet.open{transform:none;visibility:visible;transition:transform .25s ease}.shead{display:flex;align-items:center;gap:8px;padding:12px 18px;border-bottom:1px solid var(--border);flex-wrap:wrap}.shead .st{font-weight:700;font-size:var(--fs-l);margin-right:8px}.stab{padding:5px 12px;border-radius:999px;font-size:var(--fs-s);border:1px solid var(--border);background:none;color:var(--ink2);cursor:pointer}.stab.on{background:var(--panel2);color:var(--ink);border-color:var(--c)}.sbody{overflow-y:auto;padding:14px 18px 22px;scrollbar-width:thin}.thm{display:flex;gap:10px;margin-bottom:10px;font-size:var(--fs-m);line-height:1.7;color:var(--ink2)}.thm .n{flex:0 0 auto;width:20px;height:20px;border-radius:6px;background:var(--panel2);border:1px solid var(--border);color:var(--ink2);font-size:var(--fs-xs);display:flex;align-items:center;justify-content:center;font-weight:700;margin-top:2px}.chip svg,.stab svg,.tbtn svg,.chbadge svg,.sech svg,.title svg,.btag svg,.ct2 svg,.st svg,.ct svg,.cm svg{flex:0 0 auto;vertical-align:-.12em}.legend .swi{flex:0 0 auto}.zbtn,.pclose{display:inline-flex;align-items:center;justify-content:center}.sronly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.tick{position:relative}@media (max-width:680px){header{gap:8px;padding:8px 12px}.title{font-size:var(--fs-l);gap:6px}.title .sub{display:none}.chbadge{margin-left:0;padding:5px 9px}.chbadge .cblabel{display:none}.langtoggle{margin-left:auto}.dsel{max-width:104px;padding:5px 6px}.layers{order:3;width:100%;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.layers::-webkit-scrollbar{display:none}.chip{flex:0 0 auto}.ticker{padding:6px 12px}.panel{width:100vw}.legend{font-size:var(--fs-xs);padding:8px 10px}}@media (pointer:coarse){.lbtn,.stab,.chip,.chbadge,.tbtn,.crow,.dsel,.src{min-height:44px}.lbtn,.stab,.chip,.chbadge,.tbtn,.crow{display:inline-flex;align-items:center}.crow{display:flex}.lbtn{padding:0 15px}.stab,.chbadge{padding:0 14px}.tbtn{padding:0 20px}.chip{padding:0 13px}.zbtn{width:44px;height:44px}.pclose{min-width:44px;min-height:44px}.tick{padding:9px 12px}.dsel{padding:0 8px;font-size:16px}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.loading .eye,.lv:before{animation:none!important;opacity:1}.country.changed{animation:none!important;stroke-width:2.2;stroke-opacity:1}.mk circle.halo{animation:none!important;opacity:.9;stroke-width:2}.mk.war circle.halo{stroke-width:2.8}.bkpin circle.bh{animation:none!important;opacity:.9;stroke-width:2}.rel-support,.rel-sanction{animation:none!important;stroke-dashoffset:0}.panel,.sheet{transition-delay:0s!important}}.csearch{display:flex;align-items:center;gap:8px;padding:10px 18px;border-bottom:1px solid var(--border);color:var(--ink3)}.csearch input{flex:1;min-width:0;background:var(--panel2);border:1px solid var(--border);border-radius:8px;color:var(--ink);font:inherit;font-size:var(--fs-s);padding:7px 10px}.csearch input::placeholder{color:var(--ink3)}.clist{padding:8px 10px 24px}.crow{display:flex;align-items:center;gap:9px;width:100%;padding:9px 8px;border-radius:8px;border:1px solid transparent;cursor:pointer;text-align:left;transition:background .12s,border-color .12s}.crow:hover{background:var(--panel2);border-color:var(--border)}.cflag{font-size:var(--fs-m);flex:0 0 auto}.cname{font-size:var(--fs-m);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cdots{display:flex;gap:2.5px;margin-left:auto;flex:0 0 auto}.cdots i{width:7px;height:7px;border-radius:2px}.cnum{font-size:var(--fs-xs);color:var(--ink3);flex:0 0 auto;white-space:nowrap;font-variant-numeric:tabular-nums}.themesbar{display:flex;gap:8px}.skel{flex:1;display:flex;flex-direction:column;min-height:0}.skel-head{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--panel)}.skel-ticker{display:flex;gap:8px;padding:8px 16px;border-bottom:1px solid var(--border);background:var(--panel);overflow:hidden}.skel-map{flex:1;background:var(--ocean)}.sk{display:block;border-radius:8px;background:linear-gradient(90deg,var(--panel2) 25%,#1f2a3c 50%,var(--panel2) 75%);background-size:400% 100%;animation:shimmer 1.5s linear infinite}.sk-title{width:120px;height:18px;border-radius:5px}.sk-chip{width:82px;height:26px;border-radius:999px}.sk-tick{width:86px;height:44px;flex:0 0 auto}@keyframes shimmer{to{background-position:-400% 0}}.errbox{flex-direction:column;gap:6px;text-align:center;padding:0 24px}.errbox .et{font-size:var(--fs-l);font-weight:700;color:var(--ink)}.errbox .eh{font-size:var(--fs-m);color:var(--ink2);margin-bottom:6px}
