:root{
  --bg:#0d0f12; --panel:#17191f; --panel2:#20232b; --panel3:#121419;
  --text:#f5ecd8; --muted:#aa9d82; --gold:#d7a84e; --green:#6bb46f;
  --red:#d26455; --blue:#61a9d8; --line:#3d3425; --soft:#2c2519;
}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(circle at 15% 5%,#3a2b18,transparent 28%),linear-gradient(135deg,#0c0e11,#17130d 70%,#0d0f12);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif}
h1,h2,h3,p{margin-top:0} h1,h2,h3{letter-spacing:-.03em}
button{border:1px solid #5a4b32;background:#272b33;color:var(--text);border-radius:12px;padding:9px 12px;font-weight:800;cursor:pointer}
button:hover{filter:brightness(1.12)} button:disabled{opacity:.45;cursor:not-allowed}
button.primary{background:linear-gradient(180deg,#e2b35b,#9b6b24);color:#171006;border-color:#ffd68b}
button.big{padding:13px 18px;font-size:16px}
.screen{display:none;min-height:100vh}.screen.active{display:block}
.menu-hero{min-height:100vh;display:grid;place-items:center;padding:28px;background:linear-gradient(rgba(0,0,0,.15),rgba(0,0,0,.55)),repeating-linear-gradient(42deg,rgba(215,168,78,.08) 0 2px,transparent 2px 18px)}
.menu-card,.page-card,.panel{background:linear-gradient(180deg,rgba(31,32,37,.96),rgba(17,18,23,.98));border:1px solid #665333;border-radius:22px;box-shadow:0 20px 70px rgba(0,0,0,.45)}
.menu-card{width:min(820px,94vw);padding:34px;text-align:center}.menu-card h1{font-size:clamp(42px,7vw,84px);line-height:.9;color:#ffe1a4;text-shadow:0 6px 0 rgba(0,0,0,.35);margin-bottom:8px}
.menu-card h2{color:var(--gold)}.menu-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}
.eyebrow,.badge,.section-title{display:inline-block;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:900;color:#151006;background:var(--gold);padding:5px 8px;border-radius:999px;margin-bottom:8px}
.section-title{background:#372b18;color:#f3d28b}.muted{color:var(--muted)}
.page-card{max-width:1180px;margin:26px auto;padding:24px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}
.cards,.help-grid,.action-grid,.clan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.card,.info,.action,.report-card{background:linear-gradient(180deg,#242832,#171a20);border:1px solid #4d412c;border-radius:16px;padding:16px}
.card h3,.action h3,.info h3{color:#ffd98d}
.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid #443925;background:rgba(13,15,18,.92);position:sticky;top:0;z-index:5}
.brand h1{font-size:22px;margin:0}.brand span{font-size:12px;color:var(--muted)}.top-actions{display:flex;gap:8px;flex-wrap:wrap}
.game-grid{display:grid;grid-template-columns:280px minmax(0,1fr) 340px;gap:14px;padding:14px}
.left-panel,.right-panel{height:calc(100vh - 100px);overflow:auto}.center-panel{min-height:calc(100vh - 100px)}
.stat-grid{display:grid;gap:7px}.stat{display:flex;justify-content:space-between;border-bottom:1px dashed #463b29;padding:6px 0}.stat strong{color:#ffd98d}
.meters label{display:flex;justify-content:space-between;margin-top:12px;color:var(--muted);font-size:13px}.meter{height:10px;background:#0d0f12;border:1px solid #3e3423;border-radius:999px;overflow:hidden}.meter div{height:100%;width:50%;background:linear-gradient(90deg,#ce614f,#e9be59,#6ab66e)}.meter.danger div{background:linear-gradient(90deg,#5baad7,#e2b35b,#ce614f)}.meter.blue div{background:linear-gradient(90deg,#ce614f,#61a9d8,#8fd9ff)}
.objective-card{display:flex;justify-content:space-between;gap:14px;align-items:center;background:linear-gradient(180deg,#191c22,#111318);border:1px solid #4a3e2a;border-radius:18px;padding:16px;margin-bottom:12px}
.tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #3d3425}.tab.active{background:#4a341b;color:#ffe2a4}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.split{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cost{color:#e6c273;font-size:13px}.good{color:#83d688}.bad{color:#f18a7f}.blue{color:#8ed3ff}.warn{color:#ffd36d}
.worker-row{display:grid;grid-template-columns:130px 1fr 58px;gap:10px;align-items:center;margin:10px 0}.worker-row input{width:100%}
#log,.mini-log{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.35}.log-entry{border-bottom:1px solid #352d20;padding:7px 0;color:#d8ccb5}
.spacer{margin-top:16px}.report-card{margin-bottom:10px}.report-card h3{margin-bottom:6px}
.pill{display:inline-block;margin:2px;padding:4px 8px;border-radius:999px;border:1px solid #5c4c32;background:#16181d;color:#ead4a8;font-size:12px}.pill.good{border-color:#5da562;color:#b8f1bb}.pill.bad{border-color:#b75a4e;color:#ffb3aa}.pill.blue{border-color:#549dcc;color:#b8e3ff}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:20;display:grid;place-items:center;padding:18px}.modal.hidden{display:none}
.map-window{width:min(1500px,98vw);height:min(930px,96vh);background:linear-gradient(180deg,#211d18,#111318);border:1px solid #755d38;border-radius:20px;padding:14px;box-shadow:0 24px 80px #000}.map-header,.map-controls{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}.map-body{display:grid;grid-template-columns:1fr 340px;gap:12px}#worldMap{width:100%;height:72vh;background:#15120c;border:2px solid #8b6b38;border-radius:14px;cursor:grab}.map-info{height:72vh;overflow:auto}
.event-card{width:min(760px,94vw);background:linear-gradient(180deg,#29251d,#15171d);border:1px solid #86663a;border-radius:20px;padding:24px;box-shadow:0 20px 80px #000}.choice-list{display:grid;gap:10px;margin-top:14px}.choice-list button{text-align:left;padding:13px}
@media(max-width:1120px){.game-grid{grid-template-columns:1fr}.left-panel,.right-panel{height:auto}.map-body{grid-template-columns:1fr}.map-info{height:auto;max-height:280px}#worldMap{height:58vh}.split{grid-template-columns:1fr}}
@media(max-width:640px){.menu-buttons{grid-template-columns:1fr}.topbar{height:auto;align-items:flex-start}.objective-card{display:block}.game-grid{padding:8px}.panel{border-radius:16px}.page-card{margin:10px;padding:14px}}
