:root{color-scheme:dark;font-synthesis:none;text-rendering:optimizeLegibility}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh}button{font:inherit}:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:#050910;color:#f2f6ff}body,html,#root{margin:0;min-height:100%;background:radial-gradient(circle at top,#101c33,#0b1020 60%,#050910)}*{box-sizing:border-box}.app-shell{min-height:100vh;padding:32px;display:flex;justify-content:center;align-items:center}.app-grid{width:100%;max-width:1400px;display:grid;grid-template-columns:minmax(0,2fr) minmax(320px,1fr);grid-template-rows:auto 280px;gap:24px;position:relative}.app-main{background:#0a1424eb;border:1px solid rgba(109,149,255,.2);border-radius:24px;padding:16px;box-shadow:0 24px 60px #050a1973;overflow:hidden;position:relative}.app-sidebar{display:flex;flex-direction:column;gap:16px}.map-wrapper{position:relative;height:100%}.world-map{width:100%;height:100%;border-radius:18px;background:linear-gradient(180deg,#1a2643e6,#060e1cf2);border:1px solid rgba(108,174,255,.18)}.world-map path{transition:transform .25s ease,fill .25s ease,stroke .25s ease}.country path{cursor:pointer}.country path:hover{transform:translateY(-2px);filter:brightness(1.1)}.landmass__shelf,.landmass__shore,.landmass__core,.landmass__inner,.ocean-current{pointer-events:none}.landmass__shelf{filter:blur(1px)}.landmass__shore{mix-blend-mode:screen}.landmass__inner{mix-blend-mode:lighten}.ocean-current{fill:none;stroke:#84ccff59;stroke-width:2;stroke-linecap:round;stroke-dasharray:12 10;animation:current-flow 14s linear infinite;opacity:.8}@keyframes current-flow{0%{stroke-dashoffset:0;opacity:.2}40%{opacity:.6}70%{opacity:.35}to{stroke-dashoffset:-220;opacity:.2}}.country-label{font-size:16px;fill:#ffffffe6;text-anchor:middle;pointer-events:none;text-shadow:0 0 4px rgba(0,0,0,.6)}.map-caption{position:absolute;bottom:16px;left:50%;transform:translate(-50%);background:#050c18b3;border:1px solid rgba(120,160,255,.3);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:8px 18px;border-radius:999px;font-size:14px;letter-spacing:.02em}.peace-node{cursor:pointer}.peace-node__pulse{fill:#72ffd92e;animation:pulse 1.8s infinite ease-in-out}.peace-node__core{fill:#6bf5f3;stroke:#ffffffb3;stroke-width:2;animation:bob 2.4s infinite ease-in-out}@keyframes pulse{0%{transform:scale(.8);opacity:.4}60%{transform:scale(1.2);opacity:.85}to{transform:scale(.8);opacity:.4}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.status-panel,.scenario-card,.ability-tree-panel,.powerup-panel,.intel-panel,.log-panel{background:#0c1626e0;border:1px solid rgba(86,133,255,.25);border-radius:18px;padding:18px 20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 0 30px #0e182c8c}.status-panel header h2,.scenario-card h2,.ability-tree-panel h2,.powerup-panel h2,.intel-panel h2,.log-panel h2{margin:0;font-size:18px;letter-spacing:.05em;text-transform:uppercase;color:#8ab4ff}.status-panel header p{margin:6px 0 14px;color:#c7d8ffbf;font-size:14px}.progress-bar{margin-bottom:14px}.progress-bar__header{display:flex;justify-content:space-between;font-size:13px;color:#ced9ffcc}.progress-bar__track{width:100%;height:10px;margin-top:6px;border-radius:999px;background:#121e34cc;overflow:hidden}.progress-bar__fill{height:100%;border-radius:inherit;transition:width .4s ease}.status-panel__metrics{display:flex;gap:16px}.metric{flex:1;display:flex;flex-direction:column;gap:4px;background:#12203ab3;border-radius:12px;padding:12px}.metric__label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#a0b9f0b3}.metric__value{font-size:20px;font-weight:600}.scenario-card p{margin:10px 0 0;font-size:14px;line-height:1.4;color:#d5e5ffc7}.powerup-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-top:16px}.powerup-card{background:#14243ebf;border:1px solid rgba(98,146,255,.2);border-radius:14px;padding:14px;text-align:left;color:inherit;cursor:pointer;transition:transform .2s ease,border .2s ease,box-shadow .2s ease}.powerup-card:disabled{cursor:not-allowed;opacity:.55}.powerup-card--ready{border-color:#7adeffcc;box-shadow:0 10px 30px #3cb4ff59;transform:translateY(-2px)}.powerup-card__cost{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#75c9ffcc}.powerup-card h3{margin:6px 0;font-size:16px}.powerup-card p{margin:0;font-size:13px;line-height:1.4;color:#c8daffbf}.intel-panel__empty{margin:16px 0 0;font-size:14px;color:#c8daffa6}.intel-panel__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.intel-card{background:#182844b3;border-radius:12px;padding:12px;border:1px solid rgba(70,120,220,.28)}.intel-card h3{margin:0 0 8px}.intel-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 10px}.intel-card dt{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#afc3f0b3}.intel-card dd{margin:2px 0 0;font-size:16px}.intel-card__status{text-transform:capitalize}.intel-card__status--war{color:#ff9191}.intel-card__status--selected{color:#87b2ff}.log-panel{grid-column:1 / -1;max-height:260px;overflow-y:auto}.log-panel__entries{margin-top:12px;display:flex;flex-direction:column;gap:8px;font-size:13px;color:#c2d2f7d1}.start-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at top,#0c1c3af2,#030510fa);display:flex;align-items:center;justify-content:center;z-index:10}.start-screen__content{max-width:520px;padding:32px 40px;border-radius:24px;border:1px solid rgba(120,180,255,.4);background:#07101ce0;box-shadow:0 25px 80px #0009;text-align:center}.start-screen__content h1{margin:0 0 12px;font-size:32px;letter-spacing:.08em}.start-screen__content p{margin:0 0 24px;line-height:1.5;color:#c0d4f8d9}.start-screen__button{background:linear-gradient(120deg,#60ffdb,#4bc8ff);border:none;color:#04121f;font-weight:700;font-size:16px;padding:12px 32px;border-radius:999px;cursor:pointer;box-shadow:0 14px 40px #4ccfff59}.start-screen__button:hover{transform:translateY(-2px)}.outcome-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#050a18d9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:12}.outcome-overlay__content{background:#071220f0;border-radius:22px;padding:32px 40px;border:1px solid rgba(104,168,255,.4);text-align:center;max-width:520px;box-shadow:0 24px 70px #0000008c}.outcome-overlay__content h2{margin:0 0 12px;font-size:28px;letter-spacing:.06em}.outcome-overlay__content p{margin:10px 0;color:#c6d7ffd9}.outcome-overlay__time{font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:#92aaf0cc}.outcome-overlay button{margin-top:18px;background:linear-gradient(120deg,#ffe087,#ff6f76);border:none;color:#2b0e16;font-weight:700;padding:12px 30px;border-radius:999px;cursor:pointer}@media (max-width: 1180px){.app-grid{grid-template-columns:1fr;grid-template-rows:auto auto 240px}.log-panel{max-height:none}}@media (max-width: 768px){.app-shell{padding:16px}.app-grid{gap:16px}.app-sidebar{order:-1}.powerup-grid{grid-template-columns:1fr}}.powerup-card--unlocked{border-color:#ffdf9599;box-shadow:0 0 18px #ffc25c4d}.powerup-card__footer{margin-top:12px;display:flex;flex-direction:column;gap:4px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#adccffb3}.powerup-card__status{font-weight:600}.powerup-card__prereqs{font-size:11px;text-transform:none;letter-spacing:.02em;color:#a0c3ffa6}.ability-tree-panel{margin-top:18px}.ability-tree-panel__header p{margin:8px 0 0;font-size:13px;color:#c7daffb8;line-height:1.4}.ability-tree{position:relative;margin-top:18px;border:1px solid rgba(82,130,240,.25);border-radius:18px;background:#101c30cc;max-width:100%;overflow:auto}.ability-tree__links{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.ability-tree__link{fill:none;stroke:#78aaff59;stroke-width:2;stroke-dasharray:6 10;animation:treeLinkFlow 6s linear infinite}.ability-tree__link--active{stroke:#ffd478d9;stroke-width:3;filter:drop-shadow(0 0 8px rgba(255,206,102,.7))}.ability-tree__node{position:absolute;background:#0e182ae6;border:1px solid rgba(94,144,255,.35);border-radius:16px;padding:14px 16px;text-align:left;color:#d7e8ffe6;cursor:pointer;transition:transform .25s ease,border .25s ease,box-shadow .25s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ability-tree__node:disabled{cursor:not-allowed;opacity:.6}.ability-tree__node--available{border-color:#82d2ffe6;box-shadow:0 0 18px #82d2ff59}.ability-tree__node--unlocked{border-color:#ffd07ce6;box-shadow:0 0 22px #ffc16666}.ability-tree__node--affordable:not(:disabled){transform:translateY(-4px)}.ability-tree__node-title{font-size:15px;font-weight:600}.ability-tree__node-meta{display:flex;justify-content:space-between;margin-top:6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#a0c1ffbf}.ability-tree__node-prereqs{margin-top:8px;font-size:11px;color:#a5c6ffa6}.ability-burst{pointer-events:none;mix-blend-mode:screen}.ability-burst__halo{fill:none;stroke:var(--burst-color);stroke-width:2;opacity:.85;transform-box:fill-box;transform-origin:center;animation:abilityBurstHalo var(--burst-duration) ease-out infinite;filter:drop-shadow(0 0 16px var(--burst-color))}.ability-burst__halo--inner{stroke-width:3;opacity:.7;animation-duration:calc(var(--burst-duration) * .7)}.ability-burst__core{fill:var(--burst-color);opacity:.95;transform-box:fill-box;transform-origin:center;animation:abilityBurstCore calc(var(--burst-duration) * .8) ease-out infinite}.ability-burst--envoys .ability-burst__halo{stroke-dasharray:10 18}.ability-burst--peacekeepers .ability-burst__core{box-shadow:0 0 16px #a0ffffb3}.ability-burst--intel .ability-burst__halo--inner{stroke-dasharray:4 6;animation-duration:calc(var(--burst-duration) * .5)}.ability-burst--relief .ability-burst__core{box-shadow:0 0 22px #ff9696a6}.ability-burst--mediators .ability-burst__core{box-shadow:0 0 26px #ffdaa0b3;animation-duration:calc(var(--burst-duration) * 1.1)}.ability-fx{pointer-events:none}.ability-fx__beam{fill:none;stroke:#80c4ffcc;stroke-width:5;stroke-linecap:round;stroke-dasharray:14 18;animation:abilityBeamFlow 2.8s linear infinite;filter:drop-shadow(0 0 18px rgba(104,170,255,.6))}.ability-fx__spark{fill:#7cd2ffd9;filter:drop-shadow(0 0 10px rgba(124,210,255,.9));animation:abilitySparkPulse 1.6s ease-in-out infinite}.ability-fx--peacekeepers .ability-fx__shield{fill:none;stroke:#9cf6ffb3;stroke-width:4;transform-box:fill-box;transform-origin:center;animation:abilityShieldPulse 3.2s ease-in-out infinite;filter:drop-shadow(0 0 16px rgba(142,236,255,.6))}.ability-fx--peacekeepers .ability-fx__shield--inner{stroke-width:2;animation-duration:2.2s}.ability-fx--intel{transform-origin:center;animation:abilityScanRotate 10s linear infinite}.ability-fx__scan{fill:none;stroke:#b9ffdbcc;stroke-width:2;transform-box:fill-box;transform-origin:center}.ability-fx__scan--outer{stroke-dasharray:10 18;opacity:.65;animation:abilityScanPulse 2.6s ease-in-out infinite}.ability-fx__scan-line{stroke:#b9ffdbe6;stroke-width:3;transform-box:fill-box;transform-origin:center;animation:abilityScanSweep 2.6s linear infinite}.ability-fx--relief .ability-fx__drop{fill:#ffaaaad9;stroke:#ffdcdccc;stroke-width:2;filter:drop-shadow(0 0 14px rgba(255,160,160,.8));animation:abilityReliefDrop 2.2s ease-in-out infinite}.ability-fx--relief .ability-fx__pulse{fill:#ffa0a033;stroke:#ffa0a073;stroke-width:2;transform-box:fill-box;transform-origin:center;animation:abilityReliefPulse 3s ease-in-out infinite}.ability-bridge{pointer-events:none}.ability-bridge__arc{fill:none;stroke:#ffd796e6;stroke-width:5;stroke-linecap:round;stroke-dasharray:24 18;animation:abilityBridgeGlow 3s linear infinite;filter:drop-shadow(0 0 14px rgba(255,206,120,.8))}.ability-bridge__handshake path{fill:#ffd796f2;stroke:#1e140059;stroke-width:1.5;transform-origin:center;animation:abilityHandshakePulse 2.4s ease-in-out infinite;filter:drop-shadow(0 0 12px rgba(255,210,130,.7))}@keyframes treeLinkFlow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-160}}@keyframes abilityBurstHalo{0%{transform:scale(.4);opacity:.9}to{transform:scale(1.7);opacity:0}}@keyframes abilityBurstCore{0%{transform:scale(.6);opacity:1}to{transform:scale(1.3);opacity:0}}@keyframes abilityBeamFlow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-200}}@keyframes abilitySparkPulse{0%,to{transform:scale(1);opacity:.85}50%{transform:scale(1.25);opacity:.45}}@keyframes abilityShieldPulse{0%{transform:scale(.88);opacity:.95}to{transform:scale(1.18);opacity:.15}}@keyframes abilityScanRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes abilityScanPulse{0%,to{opacity:.3}50%{opacity:.85}}@keyframes abilityScanSweep{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes abilityReliefDrop{0%,to{transform:translateY(0)}50%{transform:translateY(16px)}}@keyframes abilityReliefPulse{0%{transform:scale(.7);opacity:.4}to{transform:scale(1.4);opacity:0}}@keyframes abilityBridgeGlow{0%{stroke-dashoffset:0;opacity:.6}to{stroke-dashoffset:-260;opacity:.9}}@keyframes abilityHandshakePulse{0%,to{transform:scale(.85) rotate(-3deg)}50%{transform:scale(1.05) rotate(3deg)}}
