:root{--bg: #0f141b;--panel: #171f2a;--panel-2: #1e2835;--border: #2b3644;--text: #e6edf3;--muted: #8a97a6;--accent: #e1b12c;--accent-2: #4f8cc9;--good: #2ecc71;--warn: #e67e22;--bad: #e74c3c;--radius: 10px;font-family:Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button{font:inherit;cursor:pointer;background:var(--accent-2);color:#fff;border:none;border-radius:8px;padding:8px 14px;transition:filter .15s}button:hover{filter:brightness(1.1)}button:disabled{opacity:.5;cursor:not-allowed}button.ghost{background:transparent;border:1px solid var(--border);color:var(--text)}button.gold{background:var(--accent);color:#1a1a1a;font-weight:600}input,textarea{font:inherit;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:10px 12px;width:100%}textarea{resize:vertical;min-height:90px}.muted{color:var(--muted)}.error{color:var(--bad);background:#3a1d1d;padding:8px 12px;border-radius:8px}h1,h2,h3{margin:0 0 8px}a{color:var(--accent-2)}.center-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:24px;width:min(720px,95vw)}.title{text-align:center;margin-bottom:4px;font-size:28px;letter-spacing:.5px}.subtitle{text-align:center;color:var(--muted);margin-bottom:20px}.row{display:flex;gap:10px;align-items:center}.stack{display:flex;flex-direction:column;gap:12px}.country-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin-top:12px}.country-chip{background:var(--panel-2);border:2px solid var(--border);border-radius:10px;padding:12px;text-align:center;cursor:pointer}.country-chip.selected{border-color:var(--accent)}.country-chip .flag{font-size:28px}.game{display:grid;grid-template-columns:1fr 360px;grid-template-rows:auto 1fr auto;grid-template-areas:"topbar topbar" "map    side" "action side";height:100vh;gap:10px;padding:10px}.topbar{grid-area:topbar;display:flex;justify-content:space-between;align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:8px 16px}.map-area{grid-area:map;min-height:0}.side{grid-area:side;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.action-area{grid-area:action;display:flex;flex-direction:column;gap:8px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.map-area .panel{height:100%;display:flex;flex-direction:column}.map-wrap{flex:1;min-height:0;background:#0b1018;border-radius:8px;overflow:hidden}.indicator{margin-bottom:8px}.indicator .lbl{display:flex;justify-content:space-between;font-size:13px;margin-bottom:3px}.bar{height:8px;background:var(--panel-2);border-radius:6px;overflow:hidden}.bar>span{display:block;height:100%;border-radius:6px}.clist{display:flex;flex-direction:column;gap:6px}.crow{display:flex;align-items:center;gap:8px;padding:8px;border-radius:8px;cursor:pointer;background:var(--panel-2);border:1px solid transparent}.crow:hover{border-color:var(--border)}.crow.player{border-color:var(--accent)}.crow .flag{font-size:18px}.crow .nm{flex:1}.crow .mini{font-size:12px;color:var(--muted)}.narrative{white-space:pre-wrap;line-height:1.55}.event{border-left:3px solid var(--accent-2);padding:6px 10px;margin-bottom:8px;background:var(--panel-2);border-radius:0 8px 8px 0}.event .sev{font-size:11px;text-transform:uppercase;color:var(--muted)}.reaction{background:var(--panel-2);border-radius:8px;padding:10px;margin-bottom:8px}.reaction .q{font-style:italic;color:var(--text)}.effect-pill{display:inline-flex;gap:6px;align-items:center;background:var(--panel-2);border:1px solid var(--border);border-radius:999px;padding:3px 10px;font-size:12px;margin:2px}.up{color:var(--good)}.down{color:var(--bad)}.drawer{position:fixed;top:0;right:0;height:100vh;width:min(420px,95vw);background:var(--panel);border-left:1px solid var(--border);padding:18px;overflow-y:auto;box-shadow:-8px 0 24px #0006;z-index:20}.kv{display:flex;justify-content:space-between;gap:8px;padding:3px 0;border-bottom:1px dashed var(--border);font-size:13px}.tag{display:inline-block;background:var(--panel-2);border:1px solid var(--border);border-radius:6px;padding:2px 8px;margin:2px;font-size:12px}.section-title{font-size:13px;text-transform:uppercase;color:var(--muted);margin:14px 0 6px;letter-spacing:.5px}.spinner{color:var(--accent)}
