:root{--ink:#1d1620;--panel:#2c2219;--panel2:#3b2d21;--edge:#6a5239;--gold:#e3bb40;--parch:#f3e8cf;--dim:#c9bb9c;--good:#9bd873;--bad:#f58676;--blue:#6fa3e8;--red:#f0776a;--font-d:"Palatino Linotype", Palatino, "Book Antiqua", "Iowan Old Style", Georgia, serif;--font-b:-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}html,body{background:#05070d;height:100%;margin:0;overflow:hidden}#view{touch-action:none;outline:none;width:100vw;height:100vh;display:block;position:fixed;inset:0}#hud{pointer-events:none;font:13px/1.35 var(--font-b);color:var(--parch);-webkit-user-select:none;user-select:none;position:fixed;inset:0}#hud.hidden .game{display:none}.ic{flex:none;display:block}.panel{pointer-events:auto;background:linear-gradient(180deg, var(--panel2), var(--panel));border:2px solid var(--ink);border-radius:9px;box-shadow:inset 0 0 0 1px #ffdea029,0 3px #00000061,0 8px 22px #00000047}.h{font-family:var(--font-d);letter-spacing:.09em;text-transform:uppercase;color:var(--gold);font-size:11.5px;font-weight:700}.topbar{flex-wrap:nowrap;justify-content:center;align-items:stretch;gap:6px;display:flex;position:absolute;top:8px;left:8px;right:8px}.topbar .panel{align-items:center;padding:3px 4px;display:flex}.res{border-radius:6px;align-items:center;gap:5px;min-width:62px;padding:3px 7px 3px 5px;display:flex}.res:hover{background:#ffe6aa14}.res b{font-variant-numeric:tabular-nums;font-size:13.5px;font-weight:700}.res small{font-variant-numeric:tabular-nums;color:var(--dim);font-size:10px;line-height:1;display:block}.res small.pos{color:var(--good)}.res small.neg,.res.low b{color:var(--bad)}.civ-chip{font-family:var(--font-d);letter-spacing:.04em;align-items:center;gap:7px;padding:2px 10px 2px 6px;font-weight:700;display:flex}.civ-dot{border:2px solid var(--ink);border-radius:50%;width:14px;height:14px}.ibtn{border:2px solid var(--ink);cursor:pointer;width:34px;height:34px;color:var(--parch);background:linear-gradient(#57432f,#3b2d21);border-radius:7px;place-items:center;margin:0 2px;display:grid;box-shadow:inset 0 1px #ffe6aa38}.ibtn:hover{filter:brightness(1.18)}.ibtn.on{background:linear-gradient(#caa238,#96761f)}.phase{white-space:nowrap;align-items:center;gap:10px;padding:5px 8px 5px 12px;display:flex;position:absolute;top:58px;left:50%;transform:translate(-50%)}.phase .day{font-family:var(--font-d);font-size:14px;font-weight:700}.phase .season{color:var(--dim)}.phase .sep{background:#00000059;border-radius:2px;align-self:stretch;width:2px}.phase .state{align-items:center;gap:7px;display:flex}.phase .state b{font-family:var(--font-d);letter-spacing:.06em}.phase.war{background:linear-gradient(#7b2a22,#4d1813);border-color:#5a1712}.speed{gap:2px;display:flex}.speed .sbtn{border:2px solid var(--ink);min-width:30px;height:26px;color:var(--parch);cursor:pointer;background:#4a3a2a;border-radius:6px;place-items:center;padding:0 6px;font-size:12px;font-weight:700;display:grid}.speed .sbtn.on{color:#23180c;background:linear-gradient(#caa238,#96761f)}.bar{border:1px solid var(--ink);background:#00000080;border-radius:4px;min-width:30px;height:7px;overflow:hidden}.bar i{background:var(--gold);border-radius:2px;height:100%;display:block}.bar.hp i{background:#8fd16a}.bar.mor i{background:#6fa3e8}.bar.sup i{background:#d9a55c}.bar.red i{background:var(--red)}.bar.w90{width:90px}.army{width:186px;max-height:calc(100vh - 300px);padding:6px;display:none;position:absolute;top:104px;left:8px;overflow-y:auto}.army.show{display:block}.army .h{justify-content:space-between;align-items:center;margin:0 2px 5px;display:flex}.army .h span{cursor:pointer;color:var(--dim);font-family:var(--font-b);letter-spacing:0;text-transform:none;font-weight:600}.pcard{cursor:pointer;border:2px solid #0000;border-radius:7px;align-items:center;gap:6px;padding:4px 5px;display:flex}.pcard:hover{background:#ffe6aa14}.pcard.sel{border-color:var(--gold);background:#e3bb4024}.pcard .pc-ico{color:var(--blue)}.pcard .pc-main{flex:1;min-width:0}.pcard .pc-row{align-items:center;min-width:0;display:flex}.pcard .pc-name{white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;font-size:12px;font-weight:600;overflow:hidden}.pcard .bar{height:5px;margin-top:2px}.pcard .pc-n{font-variant-numeric:tabular-nums;text-align:right;min-width:16px;font-weight:700}.pcard .tag{background:var(--bad);color:#2a0d09;border-radius:4px;flex:none;margin-left:4px;padding:0 4px;font-size:9.5px;font-weight:700}.pcard .tag.f{background:var(--gold);color:#2b2008}.objectives{width:236px;padding:8px 10px 9px;position:absolute;top:104px;right:8px}.objectives .h{justify-content:space-between;margin-bottom:6px;display:flex}.obj{color:var(--parch);align-items:flex-start;gap:7px;padding:2.5px 0;display:flex}.obj i{border:2px solid var(--ink);background:#1f1711;border-radius:4px;flex:none;width:13px;height:13px;margin-top:2px}.obj.done{color:#a89b80;-webkit-text-decoration:line-through #a89b8099;text-decoration:line-through #a89b8099}.obj.done i{background:var(--good)}.obj small{color:var(--dim);font-size:11px;text-decoration:none;display:block}.drawer{width:304px;max-height:calc(100vh - 290px);padding:10px 12px 12px;display:none;position:absolute;top:104px;right:8px;overflow-y:auto}.drawer.show{display:block}.drawer h3{font:700 16px var(--font-d);letter-spacing:.04em;justify-content:space-between;align-items:center;margin:0 0 8px;display:flex}.drawer h3 span{cursor:pointer;color:var(--dim);font:600 12px var(--font-b)}.drawer .h{margin:12px 0 5px}.row{justify-content:space-between;gap:8px;padding:1.5px 0;display:flex}.row .v{font-variant-numeric:tabular-nums;font-weight:600}.row .v.pos{color:var(--good)}.row .v.neg{color:var(--bad)}.note{color:var(--dim);font-size:12px}.seg{flex-wrap:wrap;gap:3px;display:flex}.seg .sg{text-align:center;border:2px solid var(--ink);cursor:pointer;white-space:nowrap;background:#4a3a2a;border-radius:6px;flex:1;padding:5px 4px;font-size:12px;font-weight:600}.seg .sg:hover{filter:brightness(1.15)}.seg .sg.on{color:#23180c;background:linear-gradient(#caa238,#96761f)}.drawer.wide{width:340px;padding-bottom:0}.plan-foot{background:var(--panel);border-top:2px solid #00000073;border-radius:0 0 7px 7px;margin:10px -12px 0;padding:7px 12px 9px;position:sticky;bottom:0;box-shadow:0 -8px 12px #00000047}.chips .note{align-self:center;margin-right:2px}.drawer .h .note{text-transform:none;letter-spacing:0;font:500 11px var(--font-b);margin-left:6px}.drawer .note.warn{color:var(--bad);margin-top:3px}.row .costs{justify-content:flex-end;gap:7px}.costline{grid-template-columns:84px 1fr;align-items:start;gap:6px;padding:2px 0;display:grid}.costline>span{white-space:nowrap;padding-top:1px}.costline .costs{justify-content:flex-start;gap:4px 9px}.row.link{cursor:pointer;border-radius:5px}.row.link:hover{background:#ffe6aa14}.bar.w60{vertical-align:middle;width:60px;display:inline-block}.plan-head{align-items:center;gap:10px;margin-top:8px;display:flex}.plan-head .seg{flex:1}.plan-count{font:700 18px var(--font-d);font-variant-numeric:tabular-nums;color:var(--parch)}.plan-count.done{color:var(--good)}.chips{flex-wrap:wrap;gap:4px;display:flex}.chips .ch{border:2px solid var(--ink);cursor:pointer;background:#4a3a2a;border-radius:12px;padding:3px 9px;font-size:11.5px;font-weight:700}.chips .ch:hover{filter:brightness(1.2)}.plan-row{border-radius:7px;grid-template-columns:36px 1fr auto;align-items:center;gap:8px;padding:2px 4px;display:grid}.plan-row:hover{background:#ffe6aa0f}.plan-row .th{background-color:#54764a8c;border-radius:6px;width:36px;height:36px;margin:0}.plan-row.zero .th{opacity:.75;background-color:#0000002e}.plan-row.zero .plan-name span{color:var(--dim)}.plan-mid{min-width:0}.plan-name{justify-content:space-between;gap:6px;font-size:12.5px;font-weight:700;display:flex}.plan-name small{color:var(--dim);font-variant-numeric:tabular-nums;font-weight:600}.pbar{border:1px solid var(--ink);background:#00000080;border-radius:3px;height:6px;margin:3px 0 2px;display:flex;overflow:hidden}.pbar i{background:#8fd16a}.pbar em{background:var(--gold)}.plan-why{color:var(--dim);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.plan-why.warn{color:var(--bad)}.plan-why.ok{color:var(--good)}.stepper{align-items:center;gap:3px;display:flex}.stepper .st{border:2px solid var(--ink);cursor:pointer;background:#4a3a2a;border-radius:6px;place-items:center;width:24px;height:24px;font-size:15px;font-weight:800;line-height:1;display:grid}.stepper .st:hover{filter:brightness(1.25)}.stepper .st.off{opacity:.35}.stepper b{text-align:center;font-variant-numeric:tabular-nums;min-width:22px;font-size:15px}.army .h .hl{gap:10px;display:flex}.army .h .plan-chip{color:var(--gold)}.army .h .plan-chip.done{color:var(--good)}.bbtn.plan-btn{background:linear-gradient(#caa238,#96761f)}.bbtn.plan-btn .ic{margin:8px auto}.bbtn.plan-btn span{color:#23180c;text-shadow:none}.qitem.auto:after{content:"";background:var(--gold);border:1.5px solid var(--ink);border-radius:50%;width:7px;height:7px;position:absolute;top:2px;right:2px}.toasts{flex-direction:column;align-items:center;gap:5px;width:min(430px,44vw);display:flex;position:absolute;top:104px;left:50%;transform:translate(-50%)}.game.drawer-open .toasts{width:min(430px,100vw - 546px);left:calc(50vw - 55px)}.game.drawer-wide .toasts{width:min(430px,100vw - 582px);left:calc(50vw - 73px)}.toast{pointer-events:auto;cursor:pointer;border:2px solid var(--ink);background:#2c2219f0;border-radius:16px;max-width:100%;padding:5px 12px;font-weight:600;animation:.25s ease-out toast-in;box-shadow:0 3px #00000059}.toast.good{background:#2f5a2a}.toast.bad{background:#6d251d}.toast.war{font-family:var(--font-d);letter-spacing:.05em;background:#8c2a20;padding:8px 18px;font-size:16px}.toast.out{opacity:0;transition:opacity .6s}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.minimap{padding:5px;line-height:0;position:absolute;bottom:8px;left:8px}.minimap canvas{border:2px solid var(--ink);cursor:crosshair;image-rendering:pixelated;border-radius:5px}.cmd{width:min(760px,100vw - 520px);min-width:470px;padding:8px 10px 9px;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.tabs{gap:3px;margin-bottom:7px;display:flex}.tab{border:2px solid var(--ink);cursor:pointer;background:#4a3a2a;border-radius:7px;align-items:center;gap:5px;padding:4px 9px 4px 6px;font-size:12px;font-weight:600;display:flex}.tab:hover{filter:brightness(1.15)}.tab.on{color:#23180c;background:linear-gradient(#caa238,#96761f)}.grid{flex-wrap:wrap;gap:6px;display:flex}.bbtn{border:2px solid var(--ink);cursor:pointer;text-align:center;background:linear-gradient(#5d7f4a,#486838);border-radius:8px;width:78px;padding:3px 3px 4px;box-shadow:inset 0 1px #ffffff38}.bbtn:hover{filter:brightness(1.14)}.bbtn span{white-space:nowrap;text-overflow:ellipsis;color:#fff8e6;text-shadow:0 1px #00000080;font-size:11px;font-weight:700;line-height:1.1;display:block;overflow:hidden}.bbtn.off{background:linear-gradient(#57493b,#43382d)}.bbtn.off .th{filter:grayscale(.85)brightness(.8)}.bbtn.on{outline:3px solid var(--gold)}.costs{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.cost{font-variant-numeric:tabular-nums;align-items:center;gap:2px;font-size:11.5px;font-weight:700;display:inline-flex}.cost.miss{color:var(--bad)}.ctx-head{align-items:center;gap:10px;display:flex}.th{pointer-events:none;background-position:50%;background-repeat:no-repeat;background-size:contain;width:56px;height:56px;margin:0 auto -2px;display:block}.ubtn .th{width:46px;height:46px}.qitem .th{width:100%;height:100%;margin:0}.ctx-thumb{border:2px solid var(--ink);background-color:#54764a;background-size:92%;border-radius:8px;flex:none;width:68px;height:68px;margin:0}.ctx-thumb.foe{background-color:#7c3e36}.ctx-info{flex:1;min-width:0}.ctx-title{font:700 17px var(--font-d);letter-spacing:.02em;align-items:center;gap:8px;display:flex}.ctx-title small{font:600 11.5px var(--font-b);color:var(--dim)}.ctx-sub{color:var(--dim);min-height:16px;font-size:12px}.ctx-sub.warn{color:var(--bad)}.ctx-bars{flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px;display:flex}.ctx-bars label{color:var(--dim);align-items:center;gap:5px;font-size:11px;display:flex}.ctx-actions{flex:none;gap:4px;display:flex}.ctx-body{flex-wrap:wrap;align-items:flex-start;gap:12px;margin-top:8px;display:flex}.ctx-col{flex-direction:column;gap:4px;display:flex}.ctx-col .h{margin-bottom:1px}.btn{border:2px solid var(--ink);cursor:pointer;color:var(--parch);white-space:nowrap;background:linear-gradient(#57432f,#3b2d21);border-radius:7px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;font-weight:700;display:inline-flex;box-shadow:inset 0 1px #ffe6aa38}.btn:hover{filter:brightness(1.18)}.btn.gold{color:#23180c;background:linear-gradient(#d6ae3f,#9c7b21)}.btn.danger{background:linear-gradient(#a2362b,#74221a)}.btn.on{color:#23180c;background:linear-gradient(#caa238,#96761f)}.btn.off{opacity:.55}.btn.sq{padding:4px}.queue{align-items:center;gap:4px;display:flex}.qitem{border:2px solid var(--ink);cursor:pointer;background:#4a3a2a;border-radius:6px;width:38px;height:38px;position:relative;overflow:hidden}.qitem b{background:var(--gold);border-top:1px solid var(--ink);height:5px;position:absolute;bottom:0;left:0}.ubtn{width:70px}.hint{border:2px solid var(--ink);white-space:nowrap;background:#1d1620e0;border-radius:16px;padding:5px 14px;font-weight:600;display:none;position:absolute;bottom:168px;left:50%;transform:translate(-50%)}.hint.show{display:block}.hint.bad{background:#6d251df0}.hint kbd,.help kbd{font:700 11px var(--font-b);border:1.5px solid var(--edge);background:#1f1711;border-radius:4px;margin:0 1px;padding:1px 5px}.tip{z-index:50;pointer-events:none;border:2px solid var(--ink);background:#241b14;border-radius:8px;max-width:280px;padding:8px 10px;font-size:12.5px;display:none;position:fixed;box-shadow:0 4px #00000059}.tip.show{display:block}.tip b{font:700 14px var(--font-d);margin-bottom:2px;display:block}.tip p{color:var(--dim);margin:3px 0}.tip .costs{justify-content:flex-start;margin-top:5px}.tip .row{font-size:12px}.labels{position:absolute;inset:0;overflow:hidden}.plate{border:2px solid var(--ink);color:#fff;pointer-events:auto;cursor:pointer;will-change:transform;white-space:nowrap;background:#2e66b5;border-radius:9px;align-items:center;gap:3px;padding:1px 5px 1px 2px;font-size:11px;font-weight:700;display:flex;position:absolute;top:0;left:0}.plate.foe{pointer-events:none;background:#c53a2c}.plate.sel{box-shadow:0 0 0 2px var(--gold)}.plate .pb{background:#00000073;border-radius:3px;width:26px;height:5px;overflow:hidden}.plate .pb i{background:#fff;height:100%;display:block}.plate.rout{background:#6b6b6b}.slabel{text-align:center;will-change:transform;pointer-events:none;position:absolute;top:0;left:0}.slabel .nm{font:700 13px var(--font-d);letter-spacing:.06em;text-shadow:0 0 3px #000,0 1px #000,0 0 8px #000000b3;white-space:nowrap;pointer-events:auto;cursor:pointer}.slabel .nm:hover{text-decoration:underline}.slabel .ty{color:#e8dcc0;text-shadow:0 0 3px #000,0 1px #000;font-size:10.5px}.slabel .bar{width:76px;margin:2px auto 0}.chip{border:2px solid var(--ink);color:#23180c;pointer-events:auto;cursor:pointer;will-change:transform;white-space:nowrap;background:linear-gradient(#d6ae3f,#9c7b21);border-radius:12px;align-items:center;gap:4px;padding:2px 9px 2px 5px;font-size:12px;font-weight:700;display:flex;position:absolute;top:0;left:0;box-shadow:0 2px #00000059}.chip:hover{filter:brightness(1.12)}.bbar{will-change:transform;pointer-events:none;width:46px;position:absolute;top:0;left:0}.bbar .bar{height:6px}.overlay{pointer-events:auto;display:none;position:absolute;inset:0}.overlay.show{display:block}.title{background:linear-gradient(90deg,#0e0a08ed 0%,#0e0a08db 38%,#0e0a0840 72%,#0e0a0800 100%);overflow-y:auto}.title-col{width:min(660px,92vw);padding:clamp(18px,5vh,54px) 0 30px clamp(18px,5vw,64px)}.kicker{font:700 12px var(--font-d);letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}.title h1{font:700 clamp(36px, 6.4vh, 62px)/.98 var(--font-d);letter-spacing:.01em;color:#fff6de;text-shadow:0 3px #000;margin:6px 0 12px}.lede{color:#e6d9bb;max-width:540px;margin:0 0 18px;font-size:15px}.civs{grid-template-columns:repeat(4,1fr);gap:7px;display:grid}.civ{border:2px solid var(--ink);cursor:pointer;background:linear-gradient(#4a3a2a,#32261b);border-radius:9px;padding:9px 9px 10px}.civ:hover{filter:brightness(1.15)}.civ.on{color:#23180c;background:linear-gradient(#d6ae3f,#9c7b21)}.civ b{font:700 14.5px var(--font-d);display:block}.civ small{opacity:.85;font-size:11px}.civ-detail{border:2px solid var(--ink);background:#2c2219e6;border-radius:9px;margin-top:8px;padding:10px 12px}.civ-detail i{color:var(--dim)}.civ-detail ul{margin:6px 0 0;padding-left:18px}.civ-detail li{margin:2px 0}.opts{grid-template-columns:96px 1fr;align-items:center;gap:7px 10px;margin:14px 0 16px;display:grid}.opts label{font:700 11.5px var(--font-d);letter-spacing:.09em;text-transform:uppercase;color:var(--gold)}.begin{font:700 19px var(--font-d);letter-spacing:.06em;padding:11px 34px}.title .foot{color:var(--dim);max-width:540px;margin-top:14px;font-size:12px}.scrim{background:#0a07069e;place-items:center;display:none}.scrim.show{display:grid}.card{width:min(600px,92vw);max-height:88vh;padding:20px 24px 22px;overflow-y:auto}.card h2{font:700 34px var(--font-d);letter-spacing:.03em;margin:0 0 4px}.card h2.win{color:var(--gold)}.card h2.lose{color:var(--bad)}.card p{color:#e6d9bb;margin:4px 0 12px}.stats{border-collapse:collapse;width:100%;margin:6px 0 16px}.stats th,.stats td{text-align:right;font-variant-numeric:tabular-nums;padding:4px 6px}.stats th:first-child,.stats td:first-child{text-align:left;color:var(--dim);font-weight:500}.stats thead th{font:700 13px var(--font-d);border-bottom:2px solid #0006}.help-grid{grid-template-columns:auto 1fr;align-items:baseline;gap:5px 14px;display:grid}.help-grid span{color:#e6d9bb}.card .actions{gap:8px;margin-top:16px;display:flex}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-thumb{background:#5a4532;border-radius:4px}::-webkit-scrollbar-track{background:0 0}@media (max-width:1180px){.res{gap:3px;min-width:0;padding:3px 5px 3px 3px}.res small,.civ-chip span:not(.civ-dot){display:none}.civ-chip{padding:2px 8px}.cmd{width:calc(100vw - 500px)}}@media (max-width:900px){.objectives{display:none}.cmd{width:calc(100vw - 260px);min-width:0;left:auto;right:8px;transform:none}.civs{grid-template-columns:repeat(2,1fr)}}
