
*{box-sizing:border-box}body{margin:0;background:#efe7cf;color:#28251f;font-family:system-ui,-apple-system,sans-serif;user-select:none}.app{max-width:560px;margin:auto;padding:8px}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.title{font-weight:900;font-size:17px}.date{font-weight:900;background:#fff8dd;border:1px solid #bba66d;border-radius:8px;padding:5px 8px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-bottom:7px}.stat{background:#fffaf0;border:1px solid #cfc1a0;border-radius:7px;padding:4px;text-align:center;min-width:0}.stat span{display:block;font-size:10px;color:#756a54}.stat b{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map{display:grid;grid-template-columns:repeat(15,1fr);gap:1px;background:#756b53;padding:1px;border:2px solid #655c48;border-radius:5px}.t{aspect-ratio:1;border:0;padding:0;font-size:11px;display:flex;align-items:center;justify-content:center;min-width:0}.empty{background:#b9b27d}.fertile{background:#8fbd68}.forest{background:#397748}.rock{background:#8a8985}.water{background:#5d9ec5}.house{background:#d8a75d}.market{background:#e0c04d}.rice{background:#b9cf63}.veg{background:#71b85d}.pig,.chicken,.cow{background:#c88d67}.woodcamp{background:#76623e}.quarry{background:#777}.school{background:#a9a4d0}.culture{background:#d3a0bd}.factory{background:#7f858b}.t.sel{outline:3px solid #fff;box-shadow:inset 0 0 0 2px #163f20;filter:brightness(1.35);z-index:2}.hint{text-align:center;font-size:11px;color:#6f6653;padding:6px 0}
.ov{position:fixed;left:0;right:0;bottom:0;top:var(--head-h,120px);background:#0008;display:none;align-items:flex-start;justify-content:center;padding:8px 18px 18px;z-index:60}.ov.on{display:flex}.pop{width:min(430px,100%);max-height:calc(100vh - var(--head-h,120px) - 18px);overflow:auto;background:#fffaf0;border-radius:14px;padding:14px;box-shadow:0 8px 30px #0006}.ph{display:flex;justify-content:space-between;gap:8px;align-items:center}.ph h3{margin:0}.x{border:0;background:#ddd2bb;border-radius:8px;width:38px;height:38px;font-size:20px}.person{border:1px solid #d2c5a8;border-radius:9px;padding:8px;margin:7px 0;background:white}.person b{font-size:14px}.muted{font-size:12px;color:#746b5a}.actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.actions button,.wide{border:0;border-radius:9px;background:#315f38;color:white;padding:10px 7px;font-weight:800;font-size:13px}.actions button:disabled{opacity:.35}.danger{background:#91483e!important}.note{background:#f0ead9;border-radius:8px;padding:8px;margin:8px 0;font-size:13px}.job{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e1d7c1;padding:7px 0}.job button{border:0;border-radius:7px;padding:7px;background:#315f38;color:white;font-weight:700}

.map{background:#d9d9d9;gap:1px;border-color:#aaa}
.t,.empty,.fertile,.forest,.rock,.water,.house,.market,.rice,.veg,.pig,.chicken,.cow,.woodcamp,.quarry,.school,.culture,.factory{background:#fff!important;color:#222}
.t{font-size:12px;border:0}
.t.sel{background:#fff6b8!important;outline:3px solid #222;box-shadow:none;filter:none}
.t.over{background:#ffd4d4!important;outline:2px solid #c62828;color:#a40000}.t.over.sel{outline:3px solid #c62828}
.t.warn50{background:#fff3b0!important}.t.warn10{background:#ffc7c7!important;outline:2px solid #c62828}.resctl{display:flex;gap:6px;align-items:center}.resctl button{flex:1}

.top{position:sticky;top:0;z-index:30;background:#fff}
.stats{background:#fff}

.stats{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px!important}
.stats .stat{min-width:0!important;padding:3px 2px!important;font-size:10px!important;line-height:1.15!important;text-align:center}
.stats .stat b,.stats .stat span{white-space:nowrap}

.net{font-size:.72em!important;font-weight:700;margin-left:2px}
.net.pos{color:#16833b!important}.net.neg{color:#c62828!important}.net.zero{color:#777!important}

.stats{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:2px!important}
.stats .stat{display:flex!important;align-items:center!important;justify-content:center!important;
 gap:3px!important;white-space:nowrap!important;overflow:hidden!important;
 padding:3px 2px!important;line-height:1!important;min-height:20px!important}
.stats .stat b,.stats .stat span{display:inline!important;white-space:nowrap!important}

.t.soil-good{background:#e8f5e9!important}
.t.soil-mid{background:#fff9c4!important}
.t.soil-warn{background:#ffe082!important}
.t.soil-bad{background:#ffab91!important}
.t.soil-dead{background:#bdbdbd!important}

.stats .stat{font-size:9px!important;gap:2px!important;padding:3px 1px!important}

.govbar{display:grid;grid-template-columns:1.1fr 1.5fr 1fr;gap:3px;margin-bottom:4px}
.govcard,.tierbtn{border:1px solid #cfc1a0;background:#fffaf0;border-radius:8px;padding:6px 4px;text-align:center;font-weight:800;font-size:11px}
.govcard small{display:block;font-size:9px;color:#756a54}.tiernav{display:grid;grid-template-columns:1fr 1fr .72fr .72fr .82fr;gap:4px;margin-bottom:5px}.tierbtn{padding:7px}.tierbtn.warn{background:#fff3b0}.tierbtn.danger{background:#ffc7c7}
@keyframes blinkWarn{50%{background:#ffe082}}@keyframes blinkDanger{50%{background:#ff8a80}}
.t.housewarn{animation:blinkWarn 1s infinite}.t.housedanger{animation:blinkDanger .65s infinite;outline:2px solid #c62828}
.range{width:100%}.row{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid #e4dbc7;padding:6px 0;font-size:12px}.row:last-child{border-bottom:0}

.stickyHead{position:sticky;top:0;z-index:40;background:#fff;padding-bottom:3px}
.top{position:static!important}.tier2{display:none;background:#fff;border:1px solid #d8cbaa;border-radius:8px;margin-bottom:4px;overflow:hidden}
.tier2.on{display:block}.tierline{width:100%;border:0;border-bottom:1px solid #e4dbc7;background:#fffaf0;padding:6px 7px;display:grid;grid-template-columns:1fr 2.2fr;align-items:center;text-align:left;font-size:11px;min-height:29px}
.tierline:last-child{border-bottom:0}.tierline .right{text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tierline.warn{background:#fff3b0}.tierline.danger{background:#ffc7c7}
.tierbtn.active{outline:2px solid #315f38;background:#e9f3e7}
.stepctl{display:grid;grid-template-columns:46px 1fr 46px;gap:6px;align-items:center;margin:7px 0}.stepctl button{min-height:40px;font-size:22px;font-weight:800;padding:4px}.stepval{text-align:center;font-weight:800}.stepval small{display:block;font-weight:500;color:#667;font-size:11px}
.pos{color:#188038;font-weight:700}.neg{color:#c5221f;font-weight:700}.zero{color:#777}

/* v0.70 compact mobile State budget */
.budgetsum{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;align-items:center;padding:7px 8px;margin:5px 0;background:#f5f5f5;border-radius:9px;font-size:11px;text-align:center}
.budgetsum b{font-size:13px}
.budgetcard{padding:6px 8px;margin:7px 0;border:1px solid #ddd;border-radius:9px;background:#fff;font-size:11px;line-height:1.25}
.bline{display:flex;align-items:center;gap:9px;min-height:24px;white-space:nowrap}
.budgetline1{gap:6px}.budgetgood{display:inline-flex;gap:3px;align-items:center}.budgettarget{display:inline-flex;gap:3px;align-items:center}.budgetworkers{margin-left:auto}.budgetline2{gap:14px}.budgetline3{gap:12px}
.wagectl{display:inline-flex;align-items:center;gap:3px}
.wagectl button{min-width:27px;height:25px;padding:0 6px}
@media(max-width:420px){.budgetsum{font-size:10px;gap:2px;padding:6px 4px}.budgetcard{font-size:10px;padding:5px 6px;margin:6px 0}.bline{gap:5px;min-height:23px}.budgetline1{gap:4px}.budgetgood,.budgettarget{gap:2px}.budgetline2{gap:10px}.budgetline3{gap:9px}.wagectl button{min-width:25px}}
