:root{--bg: #2a2018;--bg2: #34281d;--panel: #3d2f22;--ink: #f0e6d2;--muted: #b8a888;--accent: #b08a3a;--accent2: #d8b25a;--money: #6fae6a;--morale: #d89a4a;--food: #c9a24a;--danger: #c75a4a;--line: #5a4733}*{box-sizing:border-box}html,body{margin:0;background:radial-gradient(120% 90% at 50% 0%,#3a2c1f 0%,var(--bg) 70%);color:var(--ink);font-family:Georgia,Times New Roman,serif;min-height:100vh}.wrap{max-width:720px;margin:0 auto;padding:20px 16px 48px}header{text-align:center}h1{margin:8px 0 2px;letter-spacing:.18em;font-size:clamp(28px,7vw,46px);color:var(--accent2);text-shadow:0 2px 0 #1c140d}.sub{margin:0 0 14px;color:var(--muted);font-style:italic;font-size:14px}.controls{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center;margin-bottom:16px}.seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.seg button{background:var(--bg2);color:var(--muted);border:none;padding:7px 12px;font-family:inherit;font-size:13px;cursor:pointer}.seg button.on{background:var(--accent);color:#1c140d;font-weight:700}.new{background:var(--accent);color:#1c140d;border:none;padding:8px 16px;border-radius:8px;font-family:inherit;font-weight:700;cursor:pointer}.new:hover{background:var(--accent2)}.ledgers{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:14px}.ledger{display:flex;align-items:center;gap:8px}.ledger .lbl{width:86px;font-size:13px;color:var(--muted)}.ledger .bar{flex:1;height:12px;background:#221a12;border-radius:7px;overflow:hidden}.ledger .bar i{display:block;height:100%;transition:width .35s ease;border-radius:7px}.money .bar i{background:linear-gradient(90deg,#4d7a48,var(--money))}.morale .bar i{background:linear-gradient(90deg,#a8703a,var(--morale))}.food .bar i{background:linear-gradient(90deg,#9a7a32,var(--food))}.bar i.danger{background:linear-gradient(90deg,#8a2f24,var(--danger))!important}.ledger .val{width:28px;text-align:right;font-variant-numeric:tabular-nums}.season{grid-column:1 / -1;text-align:center;color:var(--accent2);font-size:14px;letter-spacing:.05em;border-top:1px dashed var(--line);padding-top:8px}.event{margin-bottom:14px}.ecard{background:var(--bg2);border:1px solid var(--line);border-left:5px solid var(--accent);border-radius:10px;padding:14px 16px}.ecard h3{margin:4px 0 6px;color:var(--accent2)}.ecard p{margin:0 0 6px;line-height:1.45}.ecard .tag{display:inline-block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#1c140d;background:var(--accent);padding:2px 8px;border-radius:10px}.kind-drought{border-left-color:#c9962f}.kind-duststorm{border-left-color:#8a6a3a}.kind-market{border-left-color:#c75a4a}.kind-community{border-left-color:#6fae6a}.kind-harvest{border-left-color:#8fbf6a}.kind-relief{border-left-color:#5a9ad8}.reliefline{font-size:13px;padding:6px 8px;border-radius:6px;background:#221a12}.reliefline.good{color:#9fd89a}.reliefline.early{color:#d8a86a}.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.act{display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-family:inherit;font-size:16px;cursor:pointer;text-align:left;transition:transform .08s ease,background .15s ease}.act small{color:var(--muted);font-size:12px}.act:hover:not(:disabled){background:#4a3829;transform:translateY(-1px)}.act:disabled{opacity:.4;cursor:default}.act.done{border-color:var(--accent2)}.log{background:#221a12;border:1px solid var(--line);border-radius:10px;padding:10px 14px;font-size:13px;line-height:1.5;min-height:60px}.logline{color:var(--muted);padding:2px 0;border-bottom:1px dotted #3a2c1f}.logline.latest{color:var(--ink)}.logline:last-child{border-bottom:none}.overlay{position:fixed;inset:0;background:#140e08db;display:flex;align-items:center;justify-content:center;z-index:10;padding:16px}.overlay.hidden{display:none}.card{background:var(--panel);border:1px solid var(--accent);border-radius:14px;padding:26px 28px;text-align:center;max-width:460px}.card h2{margin:0 0 10px;color:var(--accent2);font-size:24px}.card p{color:var(--ink);line-height:1.5}.bigscore{color:var(--accent2);font-size:15px;margin:14px 0 18px}footer{margin-top:22px;text-align:center;color:var(--muted);font-size:12px;font-style:italic}@media(max-width:480px){.ledgers,.actions{grid-template-columns:1fr}}
