:root{--ink:#efe6d4;--ink-dim:#b8ac95;--ink-faint:#8a8070;--panel:#1b1814;--panel-2:#23201a;--panel-3:#2c2820;--edge:#3d372c;--edge-bright:#5a5140;--gold:#d9b063;--gold-dim:#a98844;--good:#7fc47a;--bad:#d9705e;--warn:#dfb455;--r:#5fbf6a;--c:#4aa3d8;--i:#d9b23f;--shadow:0 8px 28px #0000008c;--display:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--ui:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);font-family:var(--ui);-webkit-font-smoothing:antialiased;background:#0e0c0a;margin:0;padding:0;font-size:13px;overflow:hidden}#app{grid-template:"top top top"48px"left canvas right"1fr"bottom bottom bottom"92px/232px 1fr 318px;display:grid;position:fixed;inset:0}canvas#view{cursor:crosshair;grid-area:canvas;width:100%;height:100%;display:block}#topbar{border-bottom:1px solid var(--edge);z-index:10;background:linear-gradient(#241f18,#17140f);grid-area:top;align-items:center;gap:0;padding:0 14px;display:flex}.brand{font-family:var(--display);letter-spacing:.14em;color:var(--gold);text-transform:uppercase;border-right:1px solid var(--edge);margin-right:14px;padding-right:16px;font-size:19px}.stat{border-right:1px solid #5a514059;flex-direction:column;justify-content:center;min-width:74px;padding:0 15px;display:flex}.stat .k{letter-spacing:.13em;text-transform:uppercase;color:var(--ink-faint);font-size:9px;line-height:1.4}.stat .v{font-variant-numeric:tabular-nums;font-size:15px;font-weight:600;line-height:1.2}.stat .v small{color:var(--ink-dim);margin-left:3px;font-size:10px;font-weight:400}.stat.era .v{font-family:var(--display);color:var(--gold);font-size:16px}.stat.wide{min-width:132px}.spacer{flex:1}.v.good{color:var(--good)}.v.bad{color:var(--bad)}.v.warn{color:var(--warn)}#tools{background:var(--panel);border-right:1px solid var(--edge);z-index:5;grid-area:left;padding:8px;overflow-y:auto}.tool-group{margin-bottom:10px}.tool-group h4{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 5px;padding-left:3px;font-size:9px}.tool-row{grid-template-columns:repeat(3,1fr);gap:3px;margin-bottom:3px;display:grid}.tool{background:var(--panel-2);border:1px solid var(--edge);color:var(--ink-dim);cursor:pointer;text-align:center;border-radius:3px;padding:6px 4px;font-family:inherit;font-size:10px;line-height:1.25;transition:background .11s,border-color .11s,color .11s}.tool:hover:not(:disabled){background:var(--panel-3);color:var(--ink);border-color:var(--edge-bright)}.tool.active{border-color:var(--gold);color:var(--gold);background:#4a3c1e}.tool:disabled{opacity:.3;cursor:not-allowed}.tool .cost{color:var(--ink-faint);font-variant-numeric:tabular-nums;font-size:9px;display:block}.tool.active .cost{color:var(--gold-dim)}.tool.zone-r.active{border-color:var(--r);color:var(--r);background:#23401f}.tool.zone-c.active{border-color:var(--c);color:var(--c);background:#17313f}.tool.zone-i.active{border-color:var(--i);color:var(--i);background:#3d3315}.tool-list{flex-direction:column;gap:3px;display:flex}.tool-list .tool{text-align:left;justify-content:space-between;align-items:center;gap:6px;padding:5px 7px;display:flex}.tool-list .tool .cost{flex-shrink:0;display:inline}#panels{background:var(--panel);border-left:1px solid var(--edge);z-index:5;flex-direction:column;grid-area:right;min-height:0;display:flex}.tabs{border-bottom:1px solid var(--edge);flex-shrink:0;display:flex}.tab{color:var(--ink-faint);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:9px 2px;font-family:inherit;font-size:10px}.tab:hover{color:var(--ink)}.tab.active{color:var(--gold);border-bottom-color:var(--gold);background:#d9b0630f}.panel-body{flex:1;min-height:0;padding:11px;overflow-y:auto}.panel-body h3{letter-spacing:.15em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 8px;font-size:10px;font-weight:600}.panel-body h3:not(:first-child){margin-top:18px}.kv{border-bottom:1px solid #3d372c80;justify-content:space-between;padding:3px 0;font-size:12px;display:flex}.kv span:first-child{color:var(--ink-dim)}.kv span:last-child{font-variant-numeric:tabular-nums;font-weight:500}.bar{background:var(--panel-3);border-radius:3px;height:5px;margin:3px 0 8px;overflow:hidden}.bar i{border-radius:3px;height:100%;transition:width .4s;display:block}#bottom{border-top:1px solid var(--edge);z-index:10;background:linear-gradient(#17140f,#221d16);grid-area:bottom;align-items:center;gap:14px;padding:0 14px;display:flex}.rci{border-right:1px solid var(--edge);align-items:flex-end;gap:9px;padding-right:14px;display:flex}.rci-col{text-align:center;width:26px}.rci-track{background:var(--panel-2);border:1px solid var(--edge);border-radius:2px;height:46px;position:relative;overflow:hidden}.rci-track i{transition:all .45s;position:absolute;left:0;right:0}.rci-mid{background:var(--edge-bright);height:1px;position:absolute;top:50%;left:0;right:0}.rci-col label{letter-spacing:.06em;margin-top:3px;font-size:10px;font-weight:700;display:block}.overlay-picker{flex-wrap:wrap;gap:3px;max-width:380px;display:flex}.chip{background:var(--panel-2);border:1px solid var(--edge);color:var(--ink-dim);cursor:pointer;border-radius:10px;padding:3px 9px;font-family:inherit;font-size:10px}.chip:hover{color:var(--ink);border-color:var(--edge-bright)}.chip.active{border-color:var(--gold);color:var(--gold);background:#4a3c1e}#ticker{flex:1;min-width:0;max-height:68px;padding-right:8px;font-size:11px;line-height:1.5;overflow-y:auto}#ticker div{color:var(--ink-dim);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}#ticker div b{color:var(--ink-faint);font-variant-numeric:tabular-nums;margin-right:6px;font-weight:500}#ticker div.good{color:var(--good)}#ticker div.bad{color:var(--bad)}#ticker div.era{color:var(--gold);font-family:var(--display)}#ticker div.event{color:var(--warn)}#endturn{border:1px solid var(--gold-dim);color:var(--ink);font-family:var(--display);letter-spacing:.11em;text-transform:uppercase;cursor:pointer;white-space:nowrap;background:linear-gradient(#6d5620,#4a3a13);border-radius:4px;padding:13px 24px;font-size:15px;transition:transform 80ms,filter .12s;box-shadow:0 2px #0006,inset 0 1px #ffdc962e}#endturn:hover{filter:brightness(1.16)}#endturn:active{transform:translateY(1px)}#endturn:disabled{opacity:.45;cursor:default}#endturn small{font-family:var(--ui);letter-spacing:.09em;color:var(--gold-dim);text-transform:none;margin-top:2px;font-size:9px;display:block}.scrim{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;background:#080604c2;justify-content:center;align-items:center;animation:.28s fade;display:flex;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}.modal{border:1px solid var(--edge-bright);box-shadow:var(--shadow);background:linear-gradient(170deg,#262119,#16130f);border-radius:6px;width:calc(100% - 48px);max-width:620px;max-height:calc(100% - 48px);animation:.32s cubic-bezier(.2,.8,.3,1) rise;overflow-y:auto}.modal .head{border-bottom:1px solid var(--edge);padding:22px 28px 16px}.modal .eyebrow{letter-spacing:.2em;text-transform:uppercase;color:var(--gold-dim);margin-bottom:7px;font-size:10px}.modal h2{font-family:var(--display);letter-spacing:.01em;color:var(--ink);margin:0;font-size:27px;font-weight:500}.modal .body{color:var(--ink-dim);padding:18px 28px;font-size:14px;line-height:1.65}.modal .body p{margin:0 0 12px}.choices{flex-direction:column;gap:8px;padding:4px 20px 22px;display:flex}.choice{background:var(--panel-2);border:1px solid var(--edge);cursor:pointer;text-align:left;color:var(--ink);border-radius:4px;padding:12px 15px;font-family:inherit;font-size:13px;transition:background .12s,border-color .12s,transform .1s}.choice:hover{border-color:var(--gold-dim);background:#33291a;transform:translate(2px)}.choice .label{margin-bottom:3px;font-weight:600}.choice .desc{color:var(--ink-faint);font-size:12px;line-height:1.45}.choice .fx{flex-wrap:wrap;gap:5px;margin-top:7px;display:flex}.fx-pill{border:1px solid var(--edge);font-variant-numeric:tabular-nums;background:#ffffff0d;border-radius:9px;padding:2px 7px;font-size:10px}.fx-pill.good{color:var(--good);border-color:#7fc47a59}.fx-pill.bad{color:var(--bad);border-color:#d9705e59}.fx-pill.money{color:var(--gold);border-color:#d9b06359}.era-card{text-align:center;max-width:660px}.era-card .head{border-bottom:none;padding:40px 44px 22px}.era-card h2{letter-spacing:.02em;font-size:44px}.era-card .tagline{font-family:var(--display);color:var(--gold);margin-top:9px;font-size:17px;font-style:italic}.era-card .body{text-align:left;padding:0 44px 12px;font-size:14.5px}.era-card .years{font-family:var(--mono);letter-spacing:.28em;color:var(--ink-faint);margin-bottom:12px;font-size:12px}.unlocks{flex-wrap:wrap;justify-content:flex-start;gap:5px;padding:4px 44px 12px;display:flex}.unlock{color:var(--gold);background:#d9b06317;border:1px solid #d9b06347;border-radius:3px;padding:4px 10px;font-size:11px}.modal .foot{justify-content:center;padding:14px 28px 26px;display:flex}.btn{background:var(--panel-3);border:1px solid var(--edge-bright);color:var(--ink);cursor:pointer;font-family:var(--display);letter-spacing:.11em;text-transform:uppercase;border-radius:4px;padding:10px 26px;font-size:13px}.btn:hover{border-color:var(--gold-dim);background:#3a3225}.btn.primary{border-color:var(--gold-dim);background:linear-gradient(#6d5620,#4a3a13)}.policy{border:1px solid var(--edge);background:var(--panel-2);border-radius:4px;margin-bottom:7px;padding:10px 12px}.policy.active{border-color:var(--gold-dim);background:#2b2417}.policy .name{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:3px;font-size:12.5px;font-weight:600;display:flex}.policy .upkeep{color:var(--ink-faint);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:10px}.policy .desc{color:var(--ink-faint);margin-bottom:6px;font-size:11.5px;line-height:1.45}.policy .flavour{color:var(--ink-faint);opacity:.8;margin-top:5px;font-size:11px;font-style:italic}.policy .fx{flex-wrap:wrap;gap:4px;margin-bottom:7px;display:flex}.policy button{background:var(--panel-3);border:1px solid var(--edge-bright);width:100%;color:var(--ink-dim);cursor:pointer;border-radius:3px;padding:5px;font-family:inherit;font-size:11px}.policy button:hover:not(:disabled){color:var(--gold);border-color:var(--gold-dim)}.policy button:disabled{opacity:.4;cursor:not-allowed}.slots{color:var(--ink-faint);margin-bottom:10px;font-size:11px}.chart{background:var(--panel-2);border:1px solid var(--edge);border-radius:3px;width:100%;height:78px;margin-bottom:4px;display:block}.chart-label{color:var(--ink-faint);justify-content:space-between;margin-bottom:12px;font-size:10px;display:flex}.slider-row{margin-bottom:12px}.slider-row label{color:var(--ink-dim);justify-content:space-between;margin-bottom:4px;font-size:11.5px;display:flex}.slider-row label b{color:var(--ink);font-variant-numeric:tabular-nums}input[type=range]{width:100%;accent-color:var(--gold);height:16px}.advisor{border-left:2px solid var(--edge-bright);color:var(--ink-dim);margin-bottom:8px;padding:5px 0 5px 9px;font-size:11.5px;line-height:1.5}.advisor.bad{border-left-color:var(--bad)}.advisor.good{border-left-color:var(--good)}.advisor.warn{border-left-color:var(--warn)}.advisor b{color:var(--ink);letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px;font-size:11px;display:block}.empty{color:var(--ink-faint);padding:8px 0;font-size:12px;font-style:italic}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#3a3428;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#4e4635}#start .modal{max-width:500px}#start .field{margin-bottom:14px}#start label{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:5px;font-size:10px;display:block}#start input[type=text]{background:var(--panel);border:1px solid var(--edge-bright);width:100%;color:var(--ink);font-family:var(--display);border-radius:3px;padding:9px 11px;font-size:16px}#start input[type=text]:focus{border-color:var(--gold-dim);outline:none}.pace-row{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}button.pace{text-align:left;background:var(--panel);border:1px solid var(--edge-bright);color:var(--ink-dim);cursor:pointer;font:inherit;border-radius:3px;flex-direction:column;justify-content:flex-start;padding:8px 9px;display:flex}button.pace b{font-family:var(--display);color:var(--ink);margin-bottom:3px;font-size:13px;display:block}button.pace span{color:var(--ink-faint);font-size:10px;line-height:1.45;display:block}button.pace:hover{border-color:var(--gold-dim)}button.pace.active{border-color:var(--gold);background:var(--gold-wash,#c49a461f)}button.pace.active b{color:var(--gold)}.hint{color:var(--ink-faint);font-size:11px;line-height:1.6}kbd{background:var(--panel-3);border:1px solid var(--edge-bright);font-family:var(--mono);color:var(--ink);border-bottom-width:2px;border-radius:3px;padding:1px 5px;font-size:10px}.tip{pointer-events:none;border:1px solid var(--edge-bright);z-index:60;max-width:260px;box-shadow:var(--shadow);background:#14110cf2;border-radius:4px;padding:7px 10px;font-size:11.5px;line-height:1.5;position:fixed}.tip b{color:var(--gold);margin-bottom:3px;font-size:12px;display:block}.tip .row{color:var(--ink-dim);justify-content:space-between;gap:14px;display:flex}.tip .row span:last-child{font-variant-numeric:tabular-nums;color:var(--ink)}.tool-tip{max-width:268px}.tool-tip i{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);font-size:9px;font-style:normal;display:block}.tool-tip .note{color:var(--ink-dim);margin:4px 0 6px;line-height:1.5}.tool-tip .why{color:var(--bad,#d98a6a);margin:3px 0 2px}.tool-tip .row+.row{margin-top:1px}#inspector{border:1px solid var(--edge-bright);width:296px;max-height:74vh;box-shadow:var(--shadow);z-index:65;background:#14110cf7;border-radius:4px;display:none;position:fixed;overflow:hidden}#inspector .head{border-bottom:1px solid var(--edge);background:#ffffff08;justify-content:space-between;align-items:flex-start;gap:8px;padding:8px 10px;display:flex}#inspector .head i{letter-spacing:.14em;color:var(--ink-faint);font-size:9px;font-style:normal;display:block}#inspector .head b{font-family:var(--display);color:var(--gold);font-size:14px}#inspector .close{color:var(--ink-faint);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:18px;line-height:1}#inspector .close:hover{color:var(--ink)}#inspector .body{max-height:calc(74vh - 42px);padding:8px 10px 10px;font-size:11.5px;overflow-y:auto}#inspector .body h3{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin:9px 0 4px;font-size:9px}#legend{border-right:1px solid var(--edge);flex-direction:column;gap:3px;min-width:168px;max-width:200px;padding-right:14px;display:none}.legend-title{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-dim);font-size:10px;line-height:1.3}.legend-bar{border:1px solid var(--edge);border-radius:2px;height:9px}.legend-ends{color:var(--ink-faint);justify-content:space-between;gap:8px;font-size:9.5px;display:flex}.legend-ends span:last-child{text-align:right}@media (width<=1280px){#app{grid-template-columns:190px 1fr 264px}.stat{min-width:60px;padding:0 10px}.brand{display:none}}@media (width<=1000px){#app{grid-template-rows:44px 1fr 108px;grid-template-columns:150px 1fr 232px}.tool-list .tool,.tool{font-size:9.5px}#bottom{gap:8px;padding:0 8px}.overlay-picker{max-width:300px;max-height:84px;overflow-y:auto}#legend{display:none!important}#ticker{max-height:84px}#endturn{padding:10px 14px;font-size:13px}}@media (width<=760px){#app{grid-template-columns:122px 1fr 190px}.rci{display:none}}.tool.unaffordable{opacity:.45;border-style:dashed}
