:root{--ink:#3b291c;--ink-soft:#6c5540;--parchment:#ead7a8;--parchment-deep:#c6a86a;--wood:#6f4228;--wood-dark:#3c291d;--red:#b64835;--gold:#d39b32;--green:#4f6d3d;--line:#4b301d4d}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{color:var(--ink);background:#243528;font-family:Georgia,Times New Roman,serif;overflow:hidden}button{font:inherit}.game-shell{background:radial-gradient(circle at 20% 0,#e2be6529,#0000 34%),#243528;grid-template-columns:minmax(0,1fr) 356px;min-height:100vh;display:grid}.world-pane{min-width:0;position:relative;overflow:hidden}.world-pane:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 90px #121b13a6}.game-canvas{position:absolute;inset:0}.game-canvas canvas{width:100%;height:100%;display:block}.brand{z-index:3;color:#fff3cf;pointer-events:none;background:linear-gradient(145deg,#482f1eeb,#302118e6);border:2px solid #ebcd8980;border-radius:5px 18px;padding:14px 18px 16px;position:absolute;top:24px;left:28px;box-shadow:0 8px 25px #16120d59,inset 0 0 18px #ffd88514}.eyebrow{color:#e9b84c;letter-spacing:.18em;text-transform:uppercase;margin:0 0 5px;font-family:Segoe UI,sans-serif;font-size:10px;font-weight:800}.brand h1{text-shadow:0 3px 10px #24190f;margin:0;font-size:clamp(25px,3vw,44px);font-weight:500;line-height:.9}.status-strip{z-index:3;pointer-events:none;flex-wrap:wrap;gap:7px;display:flex;position:absolute;bottom:24px;left:28px}.status-chip{color:#f6e6bd;background:#3a271ae0;border:1px solid #eccc876b;border-radius:4px 11px;padding:8px 11px;font-family:Segoe UI,sans-serif;font-size:11px;box-shadow:0 5px 16px #00000038}.status-chip strong{color:#ffd66d}.side-panel{z-index:4;border-left:8px solid var(--wood);scrollbar-color:var(--wood) var(--parchment);background:linear-gradient(#f1ddb1f5,#dec289f7),repeating-linear-gradient(4deg,#0000 0 9px,#52361f0a 10px);height:100vh;padding:18px 20px 32px;position:relative;overflow-y:auto;box-shadow:-18px 0 55px #0000004d,inset 2px 0 #d7b973}.panel-head{border:2px solid var(--line);background:#fff5d252;border-radius:5px 14px;grid-template-columns:46px 1fr;align-items:center;gap:11px;padding:10px;display:grid}.crest{color:#ffe1a0;background:var(--red);border:2px solid #8b4a32;border-radius:50% 50% 44% 44%;place-items:center;width:42px;height:42px;font-size:21px;display:grid;box-shadow:inset 0 0 0 3px #ffe29e2e}.live{color:#456537;letter-spacing:.13em;text-transform:uppercase;font-family:Segoe UI,sans-serif;font-size:10px;font-weight:800;display:block}.live:before{content:"";background:#5b873d;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block;box-shadow:0 0 0 2px #53773a2e}.tick{color:var(--ink-soft);margin-top:3px;font-family:Segoe UI,sans-serif;font-size:10px;display:block}.section{border-bottom:2px solid #5b39202e;padding:19px 0}.section:last-child{border-bottom:0}.section-title{color:#4a2e1d;justify-content:space-between;align-items:baseline;margin:0 0 12px;font-size:19px;font-weight:700;display:flex}.section-title small{color:#8a6c4c;letter-spacing:.1em;text-transform:uppercase;font-family:Segoe UI,sans-serif;font-size:9px;font-weight:700}.tool-group{margin:0 0 13px}.tool-group h3{color:#7e5d3c;letter-spacing:.12em;text-transform:uppercase;margin:0 0 6px;font-family:Segoe UI,sans-serif;font-size:9px;font-weight:800}.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.tool{text-align:left;min-height:51px;color:var(--ink);cursor:pointer;background:linear-gradient(#f7e8bd,#d8bd82);border:1px solid #5b381f52;border-radius:4px 10px;grid-template-columns:29px minmax(0,1fr);align-items:center;padding:7px 8px;transition:all .14s;display:grid;box-shadow:inset 0 1px #ffffff80,0 2px 3px #482e1c1a}.tool:hover{border-color:#9b5b35;transform:translateY(-1px)}.tool.active{color:#fff1c9;background:linear-gradient(#b85a40,#8e3f30);border-color:#6d3527;box-shadow:inset 0 0 0 2px #ffde912b,0 3px 7px #47231938}.tool-icon{text-align:center;font-size:21px}.tool-copy{min-width:0}.tool-name{font-family:Segoe UI,sans-serif;font-size:11px;font-weight:800;display:block}.tool-meta{color:#806548;text-overflow:ellipsis;white-space:nowrap;font-family:Segoe UI,sans-serif;font-size:9px;display:block;overflow:hidden}.tool.active .tool-meta{color:#f2cfa0}.hint{color:#705638;margin:10px 0 0;font-family:Segoe UI,sans-serif;font-size:10px;line-height:1.45}.danger{color:#8f3328;border-left:3px solid var(--red);background:#b3423114;padding:7px 9px}.inventory{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 12px;display:grid}.inventory-row{border-bottom:1px dotted #52341e38;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:5px;min-width:0;padding:4px 0;display:grid}.resource-icon{text-align:center}.inventory-label{color:#6d5339;text-overflow:ellipsis;white-space:nowrap;font-family:Segoe UI,sans-serif;font-size:10px;overflow:hidden}.inventory-value{color:#3d2a1b;font-family:ui-monospace,monospace;font-size:11px;font-weight:800}.priority-list{gap:3px;display:grid}.priority-row{color:#5c432d;border-bottom:1px dotted #52341e2e;justify-content:space-between;align-items:center;min-height:28px;font-family:Segoe UI,sans-serif;font-size:10px;display:flex}.priority-controls{text-align:center;grid-template-columns:22px 22px 22px;align-items:center;display:inline-grid}.priority-controls button{color:#fff0c8;background:var(--wood);cursor:pointer;border:1px solid #633c25;border-radius:4px;width:20px;height:20px;padding:0}.priority-controls strong{color:#8f3e2e}.event-log{gap:7px;display:grid}.event{color:#705538;background:#fff5d542;border-left:3px solid #70874e;padding:5px 7px 5px 10px;font-family:Segoe UI,sans-serif;font-size:10px;line-height:1.4}.event-construction{border-left-color:#bd7a35}.event-territory{border-left-color:#b74734}.state-mark{color:#563b268c;margin:12px 0 0;font-family:ui-monospace,monospace;font-size:9px}@media (width<=900px){body{overflow:auto}.game-shell{grid-template-rows:68vh auto;grid-template-columns:1fr}.side-panel{border-left:0;border-top:8px solid var(--wood);height:auto}.brand h1{font-size:28px}}@media (width<=520px){.brand{top:12px;left:12px}.status-strip{bottom:12px;left:12px}.side-panel{padding:14px}.inventory{grid-template-columns:1fr}}
