:root{--accent: #5a9c6a;--accent-dim: #3f7150;--bg: #1c1a16;--panel: #2a2620;--panel-2: #34302a;--ink: #ece4d4;--muted: #a89b85;--gold: #d9b25a;--bad: #c2604f;--good: #5a9c6a;--line: #463f35}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:radial-gradient(circle at 50% -10%,#2a2620,var(--bg));color:var(--ink);font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;-webkit-font-smoothing:antialiased}#app{max-width:860px;margin:0 auto;padding:16px 14px 48px}header.top{text-align:center;margin-bottom:8px}header.top h1{font-size:2.1rem;letter-spacing:.18em;margin:4px 0 0;color:var(--gold);text-transform:uppercase}header.top .sub{color:var(--muted);font-size:.92rem;margin:2px 0 0}.controls{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:12px 0}button{font-family:inherit;cursor:pointer;border:1px solid var(--line);background:var(--panel-2);color:var(--ink);padding:7px 12px;border-radius:8px;font-size:.92rem;transition:transform .05s ease,background .15s}button:hover:not(:disabled){background:var(--accent-dim)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.4;cursor:not-allowed}button.primary{background:var(--accent);color:#11140f;border-color:var(--accent);font-weight:700}button.primary:hover:not(:disabled){background:#6cb47d}button.sel{outline:2px solid var(--gold)}.resources{display:flex;gap:8px;justify-content:center;margin:10px 0 4px;flex-wrap:wrap}.res{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px 14px;min-width:96px;text-align:center}.res .ic{font-size:1.3rem}.res .val{font-size:1.35rem;font-weight:700;color:var(--gold)}.res .lbl{font-size:.74rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.res .delta{font-size:.72rem;color:var(--good)}.season-bar{text-align:center;color:var(--muted);margin:6px 0;font-size:.95rem}.season-bar b{color:var(--ink)}.monument{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:14px 0}.monument h2{margin:0 0 6px;font-size:1.05rem;color:var(--gold)}.bar{height:16px;background:#1a1813;border-radius:8px;overflow:hidden;border:1px solid var(--line)}.bar>span{display:block;height:100%;background:linear-gradient(90deg,var(--accent-dim),var(--gold));transition:width .3s}.monument .row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:8px;flex-wrap:wrap}.monument .row small{color:var(--muted)}.section{margin:18px 0}.section h2{font-size:1.05rem;color:var(--gold);margin:0 0 8px;border-bottom:1px solid var(--line);padding-bottom:4px}.digs,.buildings{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.card.matched{border-color:var(--accent)}.card .ic{font-size:1.6rem}.card .name{font-weight:700;font-size:.98rem;margin:2px 0}.card .ev{font-size:.8rem;color:var(--muted);line-height:1.3}.card.dig.active{outline:2px solid var(--gold)}.tag{display:inline-block;font-size:.72rem;padding:1px 7px;border-radius:6px;background:var(--panel-2);color:var(--muted);margin-top:4px}.tag.ok{background:var(--accent);color:#11140f}.fn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:6px;margin:8px 0}.fn-grid button{text-align:left;font-size:.84rem}.building .cost{font-size:.78rem;color:var(--muted);margin:4px 0}.building .prod{font-size:.78rem;color:var(--good);margin:2px 0}.building .req{font-size:.76rem;color:var(--gold)}.building.locked{opacity:.92}.building.built{border-color:var(--gold)}.log{background:#15130f;border:1px solid var(--line);border-radius:8px;padding:8px 12px;min-height:24px;font-size:.88rem}.log.good{color:var(--good)}.log.bad{color:var(--bad)}.score{text-align:center;font-size:1rem;color:var(--muted);margin-top:10px}.score b{color:var(--gold)}.win-banner{background:linear-gradient(90deg,var(--accent-dim),var(--gold));color:#11140f;border-radius:10px;padding:12px;text-align:center;font-weight:700;margin:12px 0;font-size:1.05rem}.modal-backdrop{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:20;padding:16px}.modal{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px 20px;max-width:460px;width:100%}.modal h3{margin:0 0 8px;color:var(--gold)}.modal p{line-height:1.4;color:var(--ink);font-size:.95rem}.modal .ev{color:var(--muted);font-size:.88rem;margin:8px 0}.modal .actions{text-align:right;margin-top:10px}.help{font-size:.82rem;color:var(--muted);line-height:1.5;margin:6px 0 0}
