.overlay-surface{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--paper);color:var(--ink);box-shadow:var(--shadow-card)}.unit-icon.svelte-186tu3i{vertical-align:middle;flex-shrink:0;width:32px;height:32px;display:inline-block;overflow:hidden}.loading.svelte-7b30fm{align-items:center;gap:var(--space-2);color:var(--text-muted);font-size:13px;display:inline-flex}.loading-indicator.svelte-7b30fm{border:2px solid;border-right-color:#0000;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:1s linear infinite svelte-7b30fm-loading-spin}@keyframes svelte-7b30fm-loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.loading-indicator.svelte-7b30fm{animation:none}}.map-frame.svelte-1rgo44s{height:calc(var(--map-canvas-h) + 2px);background:#8d9d68;border:1px solid #85945d;border-radius:7px;position:relative;overflow:hidden}.map-loading.svelte-1rgo44s{z-index:2;background:#8d9d68;place-items:center;display:grid;position:absolute;inset:0}.map-loading.svelte-1rgo44s .loading{color:#1d3026}.empty-state.svelte-64hdw{color:var(--muted);min-width:0;font-size:13px}.empty-state-inline.svelte-64hdw{align-items:center;gap:var(--space-2);height:28px;padding:4px 0;line-height:20px;display:flex}.empty-state-inline.svelte-64hdw p:where(.svelte-64hdw){text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.empty-state-inline.svelte-64hdw a{white-space:nowrap;flex-shrink:0}.empty-state-block.svelte-64hdw{padding:var(--space-3) 0;line-height:1.6}.empty-state-header.svelte-64hdw{white-space:nowrap;font-size:12px;line-height:16px;display:inline-flex}p.svelte-64hdw{margin:0}.popover.svelte-7825oj{padding:var(--space-2);width:max-content;max-width:calc(100vw - 2rem);max-height:320px;margin:0;position:fixed;inset:auto;overflow:hidden}.popover.svelte-7825oj:popover-open{gap:var(--space-2);flex-direction:column;display:flex}.popover.svelte-7825oj>.field{flex-shrink:0}.tab-lock.svelte-1fwbyla{display:inline-flex}.tab-lock.svelte-1fwbyla svg{width:12px;height:12px}.unit-label.svelte-1hcikrv{vertical-align:middle;white-space:nowrap;align-items:center;gap:.4rem;display:inline-flex}.log-group.svelte-1qbwsr8{min-width:0}h3.svelte-1qbwsr8{height:24px;padding:0 var(--cell-pad-x);background:var(--surface-muted);color:var(--muted);margin:0;font-size:12px;font-weight:600;line-height:24px}ol.svelte-1qbwsr8{margin:0;padding:0;list-style:none}li.svelte-1qbwsr8{min-width:0}.log-row.svelte-1qbwsr8{align-items:center;gap:var(--space-2);border-bottom:1px solid var(--border);min-width:0;height:28px;font-size:13px;display:flex}time.svelte-1qbwsr8{color:var(--muted);font-variant-numeric:tabular-nums;flex:0 0 44px;font-size:12px}.log-icon.svelte-1qbwsr8{flex-shrink:0;display:flex}.log-message.svelte-1qbwsr8{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.log-icon.svelte-1qbwsr8 svg,.log-message.svelte-1qbwsr8 svg{width:16px;height:16px}.log-detail.svelte-1qbwsr8{padding:var(--space-2);background:var(--surface-muted)}.log-row.svelte-1qbwsr8:has(.btn:where(.svelte-1qbwsr8)){height:32px}@media (width<=700px){.log-row.svelte-1qbwsr8:has(.btn:where(.svelte-1qbwsr8)){height:40px}}.log-more.svelte-1qbwsr8{margin-top:var(--space-2)}svg.svelte-yglxx8{vertical-align:-.18em;flex-shrink:0;display:inline-block}.village-switcher.svelte-1benh16{align-items:center;gap:var(--space-1);min-width:0;max-width:100%;display:flex}.switcher-name.svelte-1benh16{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.switcher-coordinates.svelte-1benh16{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;font-size:12px}.switcher-hint.svelte-1benh16,.switcher-check.svelte-1benh16{flex-shrink:0}.switcher-check.svelte-1benh16{width:12px}.village-options.svelte-1benh16{flex:auto;min-width:0;min-height:0;overflow:auto}.switcher-empty.svelte-1benh16{margin:var(--space-2);color:var(--muted);font-size:13px}p.svelte-vdps47{margin:var(--space-2) 0;font-size:.8rem}div.svelte-vdps47{margin-top:var(--space-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem;font-size:.8rem;display:flex}.effect-value.svelte-t8x4nl{white-space:nowrap}.effect-comparison.svelte-t8x4nl{margin:var(--space-3) 0}.effect-comparison.svelte-t8x4nl>div:where(.svelte-t8x4nl){gap:var(--space-2);margin:var(--space-dense) 0;grid-template-columns:minmax(0,1fr) auto;display:grid}.effect-comparison.svelte-t8x4nl dt:where(.svelte-t8x4nl){overflow-wrap:normal}.effect-comparison.svelte-t8x4nl dd:where(.svelte-t8x4nl){text-align:right;margin:0}.modal.svelte-9pi54v{box-sizing:border-box;width:min(28rem,100% - 2rem);max-width:none;max-height:calc(100dvh - 2rem);padding:var(--overlay-pad);font-size:13px;overflow:hidden}.modal[open].svelte-9pi54v{gap:var(--space-4);flex-direction:column;display:flex}.modal-wide.svelte-9pi54v{width:min(36rem,100% - 2rem)}.modal.svelte-9pi54v::backdrop{background:var(--overlay)}.modal-header.svelte-9pi54v{justify-content:space-between;align-items:start;gap:var(--space-3);flex-shrink:0;display:flex}.modal-header.svelte-9pi54v>div:where(.svelte-9pi54v){min-width:0}h2.svelte-9pi54v{font:20px var(--font-serif);overflow-wrap:anywhere;margin:0}.modal-subtitle.svelte-9pi54v{margin:var(--space-1) 0 0;color:var(--muted);font-size:12px}.modal-body.svelte-9pi54v{overflow-wrap:anywhere;min-height:0;overflow:auto}.modal-footer.svelte-9pi54v{justify-content:flex-end;align-items:start;gap:var(--space-2);flex-wrap:wrap;flex-shrink:0;display:flex}.modal-footer.svelte-9pi54v .primary-action{min-width:0;max-width:100%}.modal-footer.svelte-9pi54v .btn-block{width:auto}@media (width<=639px){.modal-footer.svelte-9pi54v{flex-direction:column;align-items:stretch}.modal-footer.svelte-9pi54v .btn,.modal-footer.svelte-9pi54v .primary-action{width:100%}}.resource-shortage.svelte-1ed2jb6{color:var(--danger);font-size:.7rem;font-weight:400;line-height:1.5}.resource-shortage.compact.svelte-1ed2jb6{white-space:nowrap;font-size:10px;line-height:12px}.resource-cost.svelte-b35zwl{vertical-align:middle;font-size:inherit;gap:10px}.resource-cost-inline.svelte-b35zwl{flex-wrap:wrap;align-items:start;display:inline-flex}.resource-cost-list.svelte-b35zwl{width:100%;display:grid}.resource-cost-item.svelte-b35zwl{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.resource-cost-main.svelte-b35zwl{align-items:center;gap:4px;display:inline-flex}.resource-cost-list.svelte-b35zwl .resource-cost-main:where(.svelte-b35zwl){width:100%;display:flex}.resource-cost-list.svelte-b35zwl .resource-cost-amount:where(.svelte-b35zwl){margin-left:auto}.resource-cost-amount.svelte-b35zwl{font-variant-numeric:tabular-nums;white-space:nowrap}.resource-cost.svelte-b35zwl svg{width:16px;height:16px}.is-short.svelte-b35zwl{color:var(--danger)}.resource-cost-inline.resource-cost-compact.svelte-b35zwl{flex-wrap:nowrap}.resource-cost-compact.svelte-b35zwl .resource-cost-item:where(.svelte-b35zwl){flex-shrink:0;gap:0}.resource-cost-compact.svelte-b35zwl .resource-cost-main:where(.svelte-b35zwl){line-height:16px}.requirements-inline.svelte-11s2c79{align-items:center;gap:var(--space-2);white-space:nowrap;flex:auto;display:flex}.inline-requirement-text.svelte-11s2c79{text-overflow:ellipsis;min-width:0;overflow:hidden}.requirements-inline.svelte-11s2c79 a{flex-shrink:0}.requirements.svelte-11s2c79{text-align:left;min-width:0;font-size:13px;font-weight:400;position:relative}.requirement-list.svelte-11s2c79{gap:var(--space-1);margin:var(--space-2) 0;padding:0;list-style:none;display:grid}li.svelte-11s2c79{align-items:baseline;gap:var(--space-1);color:var(--danger);flex-wrap:wrap;line-height:1.5;display:flex}li.requirement-met.svelte-11s2c79{color:var(--success)}.requirement-mark.svelte-11s2c79{flex-shrink:0}.requirement-reason.svelte-11s2c79{align-items:center;gap:var(--space-1);margin:var(--space-2) 0;color:var(--danger);flex-wrap:wrap;line-height:1.5;display:flex}.requirement-reason.svelte-11s2c79 svg{flex-shrink:0;width:16px;height:16px}p.svelte-wte57n{margin:var(--space-2) 0}.terrain-vegetation.svelte-197o7l4{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.activity-layer.svelte-u789tc{pointer-events:none;z-index:75;position:absolute;inset:0}.lane-activity.svelte-u789tc{width:100%;height:100%;overflow:visible}.lane-walker.svelte-u789tc{offset-rotate:0deg;offset-distance:25%;animation:linear infinite alternate svelte-u789tc-village-walk}.village-flag.svelte-u789tc{width:1.8%;height:auto;position:absolute;overflow:visible;transform:translateY(-100%)}.flag-cloth.svelte-u789tc{transform-origin:5px 8px;animation:3.2s ease-in-out infinite alternate svelte-u789tc-flag-breeze}.forge-smoke.svelte-u789tc{width:2%;height:5%;position:absolute}.forge-smoke.svelte-u789tc span:where(.svelte-u789tc){aspect-ratio:1;filter:blur(2px);opacity:0;background:#d3d2c080;border-radius:50%;width:65%;animation:5s linear infinite svelte-u789tc-smoke-rise;position:absolute;bottom:0;left:0}.forge-smoke.svelte-u789tc span:where(.svelte-u789tc):nth-child(2){animation-delay:-1.7s}.forge-smoke.svelte-u789tc span:where(.svelte-u789tc):nth-child(3){animation-delay:-3.4s}.forge-smoke.researching.svelte-u789tc span:where(.svelte-u789tc){background:#e1d8bca0}.forge-glow.svelte-u789tc{background:#ffb45480;border-radius:50%;width:1.1%;height:.7%;animation:1.8s ease-in-out infinite alternate svelte-u789tc-forge-light;position:absolute;box-shadow:0 0 8px #ed8c48}.hammer-arm.svelte-u789tc{transform-origin:2px -5px;animation:1.4s ease-in-out infinite alternate svelte-u789tc-hammer-work}.work-paused.svelte-u789tc .hammer-arm:where(.svelte-u789tc){animation-play-state:paused}.training.svelte-u789tc{width:2.8%;height:auto;position:absolute;transform:translateY(-70%)}.training-spear.svelte-u789tc{transform-origin:10px 16px;animation:2s ease-in-out infinite alternate svelte-u789tc-spear-practice}@keyframes svelte-u789tc-village-walk{0%,7%{offset-distance:0%}93%,to{offset-distance:100%}}@keyframes svelte-u789tc-flag-breeze{0%{transform:skewY(-5deg)scaleX(.9)}to{transform:skewY(5deg)scaleX(1)}}@keyframes svelte-u789tc-smoke-rise{0%{opacity:0;transform:translate(0)scale(.5)}25%{opacity:.55}to{opacity:0;transform:translate(12px,-40px)scale(1.8)}}@keyframes svelte-u789tc-forge-light{0%{opacity:.4}to{opacity:.9}}@keyframes svelte-u789tc-hammer-work{0%{transform:rotate(-35deg)}to{transform:rotate(15deg)}}@keyframes svelte-u789tc-spear-practice{0%{transform:rotate(0)}to{transform:rotate(35deg)}}@media (prefers-reduced-motion:reduce){.lane-walker.svelte-u789tc,.flag-cloth.svelte-u789tc,.forge-smoke.svelte-u789tc span:where(.svelte-u789tc),.forge-glow.svelte-u789tc,.hammer-arm.svelte-u789tc,.training-spear.svelte-u789tc{animation:none}.forge-smoke.svelte-u789tc span:where(.svelte-u789tc){opacity:.35}.forge-smoke.svelte-u789tc span:where(.svelte-u789tc):not(:first-child){display:none}}.locked-list.svelte-saeup0{margin:var(--space-2) 0;color:var(--muted);font-size:13px}summary.svelte-saeup0{cursor:pointer;min-height:28px;line-height:28px}ul.svelte-saeup0{margin:0;padding:0;list-style:none}li.svelte-saeup0{align-items:center;gap:var(--space-2);min-height:var(--row-h);border-bottom:1px solid var(--border);display:flex}.locked-list-icon.svelte-saeup0{flex-shrink:0;display:flex}.locked-list-icon.svelte-saeup0 svg{width:16px;height:16px}@media (width<=700px){summary.svelte-saeup0{min-height:36px;line-height:36px}li.svelte-saeup0{flex-wrap:wrap;min-height:36px}}.count-input-controls.svelte-b47m31{align-items:center;gap:var(--space-1);min-width:0;display:flex}.count-input-compact.svelte-b47m31{flex-direction:column}.count-input-controls.svelte-b47m31 input:where(.svelte-b47m31){width:6rem}.count-input-compact.svelte-b47m31 input:where(.svelte-b47m31){width:56px}.count-input-controls.svelte-b47m31 .btn:where(.svelte-b47m31){white-space:nowrap;flex-shrink:0}.activity-queue.svelte-156eufu{gap:var(--space-2);margin:var(--space-2) 0 0;padding:0;list-style:none;display:grid}li.svelte-156eufu{gap:var(--space-1) var(--space-2);min-width:0;padding:var(--space-3);border:1px solid var(--border);border-left:3px solid var(--success);border-radius:var(--radius-inner);background:var(--surface-muted);grid-template-columns:minmax(0,1fr) auto;font-size:13px;line-height:1.5;display:grid;position:relative}li.queue-waiting.svelte-156eufu{border-left-color:var(--border-strong)}.activity-heading.svelte-156eufu{align-items:baseline;gap:var(--space-1) var(--space-2);flex-wrap:wrap;grid-column:1;min-width:0;display:flex}.activity-title.svelte-156eufu{align-items:center;gap:var(--space-1);overflow-wrap:anywhere;min-width:0;display:inline-flex}.activity-title-text.svelte-156eufu{min-width:0}.activity-title.svelte-156eufu svg{flex-shrink:0;width:20px;height:20px}.queue-state.svelte-156eufu,.activity-subtitle.svelte-156eufu,.activity-moment.svelte-156eufu,.activity-times.svelte-156eufu,.activity-detail.svelte-156eufu{color:var(--text-muted);font-size:12px}.queue-state.svelte-156eufu{white-space:nowrap}progress.svelte-156eufu,.activity-subtitle.svelte-156eufu,.activity-times.svelte-156eufu,.activity-detail.svelte-156eufu,.activity-moment.svelte-156eufu,.queue-confirmation.svelte-156eufu{overflow-wrap:anywhere;grid-column:1/-1;min-width:0}progress.svelte-156eufu{width:100%;height:5px;accent-color:var(--success)}.activity-times.svelte-156eufu{gap:var(--space-1) var(--space-2);flex-wrap:wrap;display:flex}.queue-controls.svelte-156eufu{justify-content:end;align-items:start;gap:var(--space-1);flex-wrap:wrap;grid-area:1/2/3;display:flex}.queue-controls.svelte-156eufu:has(.training-confirmation){grid-area:auto/1/auto/-1;justify-content:start}.queue-controls.svelte-156eufu:empty,.activity-detail.svelte-156eufu:empty,.queue-confirmation.svelte-156eufu:empty{display:none}.compact.svelte-156eufu{gap:var(--space-1)}.compact.svelte-156eufu li:where(.svelte-156eufu){padding:var(--space-1) var(--space-2)}@media (width<=520px){.queue-controls.svelte-156eufu{grid-area:auto/1/auto/-1;justify-content:start}}p.svelte-1nxa1xj{margin:.3rem 0}.actions.svelte-1nxa1xj{flex-wrap:wrap;gap:.4rem;display:flex}.recruitment-table.svelte-4i0er3{min-width:860px}.locked-unit-name.svelte-4i0er3{white-space:nowrap;flex:none}.recruitment-queued.svelte-4i0er3{white-space:nowrap;color:var(--text-muted);margin-left:4px;font-size:12px;display:inline}.research-table.svelte-r0oi1c{min-width:640px}.research-table.svelte-r0oi1c tbody:where(.svelte-r0oi1c) th:where(.svelte-r0oi1c){white-space:nowrap}.locked-research-name.svelte-r0oi1c{white-space:nowrap;flex-shrink:0}p.svelte-la7yza{margin:var(--space-1) 0;color:var(--text-muted);font-size:.85rem;line-height:1.6}strong.svelte-la7yza{color:var(--text);font-variant-numeric:tabular-nums}.order-toolbar.svelte-iw5mgj{align-items:end;gap:var(--space-2);flex-wrap:wrap;display:flex}.order-toolbar.svelte-iw5mgj .form-actions:where(.svelte-iw5mgj){flex:none;margin:0}.order-toolbar.svelte-iw5mgj .compact-travel{flex:160px;margin:0}.fields.svelte-iw5mgj{gap:var(--space-2);flex-wrap:wrap;flex:260px;margin:0;display:flex}.fields.svelte-iw5mgj .field{flex:10rem}p.svelte-1ubx4nh,ul.svelte-1ubx4nh{color:var(--text-muted);font-size:.85rem;line-height:1.6}tbody.svelte-1ubx4nh tr:where(.svelte-1ubx4nh){cursor:pointer}.report-pagination.svelte-1ubx4nh{margin-top:var(--space-3);color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;font-size:.8rem;display:flex}.report-detail.svelte-1ubx4nh{border-top:1px solid var(--border);margin-top:var(--space-4);padding-top:var(--space-2)}.movement-table.svelte-o2apyw{white-space:nowrap}.movement-units.svelte-o2apyw,.movement-units.svelte-o2apyw>span:where(.svelte-o2apyw){align-items:center;gap:var(--space-1);display:inline-flex}.section-header.svelte-iz94gk{align-items:baseline;gap:var(--space-2);margin:var(--space-4) 0 var(--space-2);flex-wrap:wrap;display:flex}h3.svelte-iz94gk{margin:0}.queue-capacity.svelte-iz94gk{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-size:12px}p.svelte-1mfv9yv{font-size:.85rem}form.svelte-1mfv9yv{flex-wrap:wrap;align-items:end;gap:.6rem;display:flex}.market-intro.svelte-kvf71t{margin:var(--space-2) 0 var(--space-3)}form.svelte-kvf71t{grid-template-columns:minmax(180px,1fr) minmax(0,2fr);align-items:end;gap:6px 16px;display:grid}.market-resources.svelte-kvf71t{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:8px;display:grid}.market-send.svelte-kvf71t,.market-budget.svelte-kvf71t{grid-column:1/-1}.market-send.svelte-kvf71t p:where(.svelte-kvf71t),.market-travel.svelte-kvf71t{margin:0}.market-travel.svelte-kvf71t,form.svelte-kvf71t .requirements{grid-column:1/-1}@media (width<=650px){form.svelte-kvf71t{grid-template-columns:minmax(0,1fr)}}.activity-groups.svelte-1hf5nge{gap:var(--space-2);display:grid}.construction-inline.svelte-1hf5nge{margin:var(--space-2) 0 0}p.svelte-kw5hve{color:var(--muted);margin:0;font-size:12px}.inline-village-editor.svelte-wen7v8{min-width:0}form.inline-name-form.svelte-wen7v8{align-items:center;gap:var(--space-1);max-width:100%;margin:0;display:flex;position:relative}.inline-name-form.svelte-wen7v8 .field{flex:140px;min-width:0}.inline-name-form.svelte-wen7v8 .field-error{z-index:2;background:var(--paper);position:absolute;top:100%;left:0}.inline-edit-reason.svelte-wen7v8{background:var(--paper);z-index:1;position:absolute;top:100%;left:0}.village-editor.svelte-wen7v8{display:contents}.editor-heading.svelte-wen7v8{flex-wrap:wrap;align-items:baseline;gap:4px 12px;font-size:12px;display:flex}.editor-hint.svelte-wen7v8{color:var(--muted);font-size:11px;font-weight:400}.private-note.svelte-wen7v8{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text-muted);flex:0 auto;margin:0;font-size:12px;line-height:1.45}form.svelte-wen7v8{margin-top:var(--space-2);gap:8px;max-width:760px;display:grid}fieldset.svelte-wen7v8{margin:var(--space-2) 0 0;border:0;padding:0}legend.svelte-wen7v8{margin-bottom:var(--space-2);padding:0;font-size:12px;font-weight:600}.role-choices.svelte-wen7v8{flex-wrap:wrap;gap:7px;display:flex}.role-choices.svelte-wen7v8 label:where(.svelte-wen7v8){padding:var(--space-2) var(--space-3);border:1px solid var(--border-strong);cursor:pointer;border-radius:5px;align-items:center;gap:7px;font-size:12px;display:flex}.role-choices.svelte-wen7v8 label.chosen:where(.svelte-wen7v8){background:var(--surface-muted);border-color:var(--success)}.role-choices.svelte-wen7v8 label:where(.svelte-wen7v8):focus-within{outline:2px solid var(--success);outline-offset:2px}.editor-hint.svelte-wen7v8{margin:calc(var(--space-1) / 2) 0;line-height:1.6}@media (width<=600px){.editor-heading.svelte-wen7v8{align-items:flex-start}.role-choices.svelte-wen7v8 label:where(.svelte-wen7v8){flex:115px}}.resource-bar.svelte-1jd99zs .troop-indicator:where(.svelte-1jd99zs){border-top:1px solid var(--border);margin-top:var(--space-2);padding-top:var(--space-2);grid-column:1/-1}.troop-indicator.svelte-1jd99zs>div:where(.svelte-1jd99zs){flex-wrap:wrap;align-items:center;gap:.3rem .7rem;display:flex}.troop-indicator.svelte-1jd99zs a:where(.svelte-1jd99zs){color:#526b45;margin-top:0;font-size:10px;display:inline}.storage-fill-time.svelte-1jd99zs{color:var(--text-muted);overflow-wrap:anywhere;font-size:9px}.minute-production.svelte-1jd99zs{color:var(--text-muted);margin-top:1px;font-size:9px}.world-identifier.svelte-8pnsju{color:var(--muted);overflow-wrap:anywhere}.managed-worlds.svelte-x8sobe{gap:var(--panel-gap);margin:var(--panel-gap) 0;display:grid}.world-state.svelte-x8sobe{margin-bottom:var(--space-dense)}.world-identifier.svelte-x8sobe{color:var(--text-muted);overflow-wrap:anywhere}form.svelte-x8sobe{margin:var(--space-4) 0;flex-wrap:wrap;align-items:end;gap:.65rem;display:flex}form.svelte-x8sobe .field{flex:14rem}.world-actions.svelte-x8sobe{margin-top:var(--space-4);flex-wrap:wrap;gap:.65rem;display:flex}:root{color:#303d32;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--map-toolbar-h:40px;--row-h:32px;--cell-pad-y:4px;--cell-pad-x:8px;--panel-pad:12px;--panel-gap:12px;--panel-head-h:36px;--text-table:13px;--lh-dense:1.45;--section-gap:8px;--space-dense:6px;--overlay-pad:20px;--app-bar-h:44px;--status-bar-h:52px;--accent-strong:#2f4a38;--notice-info-bg:var(--surface-muted);--notice-info-border:var(--border);--notice-info-ink:var(--text);--notice-success-bg:#e8eddf;--notice-success-border:#c9d4ba;--notice-success-ink:#38563b;--notice-warning-bg:#f7efd9;--notice-warning-border:#d9bf78;--notice-warning-ink:#72581f;--notice-error-bg:#f5e5dc;--notice-error-border:#d7ac98;--notice-error-ink:#733e2c;--surface:#fcfbf6;--surface-muted:#f6f3ea;--border:#deddd0;--border-strong:#c6ccad;--text:#253c32;--text-muted:#727669;--danger:#9b492e;--danger-bg:#fff0e8;--success:#708454;--warning:#94763c;--radius-card:6px;--shadow-card:0 8px 32px #21180d33;--radius-inner:4px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:28px;--font-serif:Georgia, serif;--font-sans:"Segoe UI", system-ui, sans-serif;--text-xs:11px;--text-sm:13px;--text-md:14px;--text-lg:18px;--overlay:#21180d99;--ink:var(--text);--muted:var(--text-muted);--line:var(--border);--paper:var(--surface);--gold:var(--warning);background:#f3f1e9;font-family:Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}:focus-visible{outline-offset:4px;outline:3px solid #9b722b}svg{flex-shrink:0;width:24px;height:24px;display:block}.shell,.app-bar-inner{width:min(1400px,100%);margin:0 auto;padding-left:42px;padding-right:42px}main{min-height:calc(100dvh - 140px)}.resource-bar{border:1px solid var(--line);background:#fcfbf6;border-radius:5px;grid-template-columns:repeat(3,1fr) 1.2fr 1fr;margin-top:24px;padding:17px 0;display:grid}.resource-item{border-right:1px solid #e6e4d9;align-items:center;gap:11px;padding:0 22px;display:flex}.resource-item:last-child{border-right:0}.resource-icon{color:#827e61}.resource-icon svg{width:28px;height:28px}.resource-name{color:#737669;margin-bottom:3px;font-size:10px;display:block}.resource-item strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:19px;font-weight:600;display:block}.resource-item strong small{color:#787b6c;font-size:10px;font-weight:400}.resource-production{color:#536d48;text-align:right;margin-left:auto;font-size:11px}.resource-production small{color:#7d816f;margin-top:4px;font-size:9px;display:block}.village-heading{justify-content:space-between;align-items:center;gap:20px;padding:30px 0 26px;display:flex}.eyebrow{margin:0 0 var(--space-2);text-transform:uppercase;letter-spacing:.16em;color:var(--gold);font-size:10px;font-weight:650}.heading-flourish{vertical-align:middle;color:#a99c76;margin-left:17px;font-size:27px;display:inline-block}.village-subtitle{color:#74776b;margin:9px 0 0;font-size:12px}.preview-stamp{color:#797a6b;flex-direction:column;align-items:flex-end;gap:9px;font-size:10px;display:flex}.preview-badge{color:#73603a;letter-spacing:.03em;background:#ece6d5;border:1px solid #d7c9a5;border-radius:3px;padding:5px 10px;font-size:10px}.village-layout{grid-template-columns:minmax(0,1fr) 288px;align-items:start;gap:20px;display:grid}.village-board{background:var(--paper);border:1px solid #c6ccad;border-radius:5px;overflow:hidden;box-shadow:0 3px 10px #293b2a05}.board-heading{border-bottom:1px solid var(--border-strong);justify-content:space-between;align-items:center;gap:12px;height:45px;padding:0 18px;display:flex}.board-heading h2{align-items:center;gap:9px;margin:0;font-size:11px;font-weight:600;display:flex}.board-heading h2 svg{color:#718261;width:17px;height:17px}.board-heading>span{color:#797e6e;font-size:10px}.scene-scroll{overflow:auto hidden}.scene-scroll:focus-visible{outline-offset:-4px}.village-scene{aspect-ratio:3/2;isolation:isolate;background:#a5ad83;min-width:740px;position:relative;overflow:hidden}.landscape{object-fit:fill;z-index:0;width:100%;height:100%;position:absolute;inset:0}.village-ground,.wall-layer{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;inset:0}.scene-scenery{left:var(--x);top:var(--y);width:var(--size);aspect-ratio:var(--ratio);z-index:var(--depth);pointer-events:none;position:absolute;transform:translate(-50%,-100%)}.scene-scenery>svg{width:100%;height:100%;display:block}.scene-building{left:var(--x);top:var(--y);width:var(--size);aspect-ratio:var(--ratio);z-index:var(--depth);display:block;position:absolute;transform:translate(-50%,-100%)}.scene-building>svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.scene-building.empty,.scene-building.wall-hotspot{aspect-ratio:auto;width:12%;height:36px;transform:translate(-50%,-50%)}.empty-marker{color:#5f6946;background:#f5edd3c9;border:1px dashed #665f37;border-radius:50%;place-items:center;width:30px;height:30px;margin:0 auto;font-size:19px;display:grid}.scene-building.wall-hotspot{width:17%;height:26%}.wall-hotspot .empty-marker{background:#f5edd3b3;width:24px;height:24px;font-size:16px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.building-label{z-index:2;white-space:nowrap;background:#f1ead3eb;border:1px solid #6f795148;border-radius:3px;align-items:center;gap:6px;padding:4px 5px 4px 8px;font-size:clamp(9px,.8vw,11px);font-weight:550;display:flex;position:absolute;top:calc(100% - 25px);left:50%;transform:translate(-50%);box-shadow:0 2px 4px #34443322}.building-label-layer{pointer-events:none;z-index:101;position:absolute;inset:0}.building-label-layer .scene-building-label{width:max-content;left:clamp(calc(var(--label-half,0px) + 4px), var(--x), calc(100% - var(--label-half,0px) - 4px));top:var(--y);pointer-events:auto;cursor:pointer;transform:translate(-50%,-25px)}.building-label-layer .scene-building-label.empty:not(.wall-hotspot){transform:translate(-50%,13px)}.building-label-layer .scene-building-label.wall-hotspot{top:calc(var(--y) + 13%);transform:translate(-50%,-100%)}.building-level{color:#46563b;background:#d0d4b5;border-radius:2px;place-items:center;min-width:17px;height:17px;font-size:9px;display:grid}.scene-building-label.selected{color:#f5ecd4;background:#2f4a38;border-color:#2f4a38}.scene-building-label.selected .building-level{color:#f5ecd4;background:#51664a}.scene-building-label.empty{color:#586044;background:#dddcc2;border-style:dashed}.scene-building-label.empty.selected{color:#f5ecd4;background:#2f4a38;border-style:solid}.scene-building-label.levels-only{gap:0;padding:3px}.scene-caption{color:#41543a;z-index:100;pointer-events:none;background:#f2ead4d9;border-radius:2px;padding:4px 8px;font:italic 10px Georgia,serif;position:absolute;bottom:10px;left:12px}.scene-toolbar{color:#747966;border-top:1px solid #c6ccad;justify-content:space-between;align-items:center;gap:8px;min-height:47px;padding:0 15px;font-size:10px;display:flex}.scene-toolbar>span{align-items:center;gap:7px;display:flex}.selection-dot{background:#6f845c;border-radius:50%;width:6px;height:6px}.mobile-scene-help{display:none}.building-list:not([hidden]){border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:12px;display:grid}.building-list button{text-align:left;justify-content:space-between}.building-list button>span:last-child{color:#727764;font-size:10px}.building-detail{border:1px solid var(--line);background:var(--paper);border-radius:5px;padding:20px}.detail-heading{justify-content:space-between;align-items:center;gap:5px;display:flex}.detail-heading .eyebrow{letter-spacing:.12em;margin:0;font-size:8px}.detail-number{color:#66714e;background:#f0f1e5;border:1px solid #dedfcd;border-radius:3px;padding:4px 7px;font-size:9px}.detail-art{place-items:center;height:174px;margin:6px 0 9px;display:grid;position:relative}.detail-art>svg{width:174px;height:155px;position:relative}.visual-level-control{border-bottom:1px solid var(--line);margin:0 0 20px;padding-bottom:17px}.visual-level-control>p{color:#536248;justify-content:space-between;margin:0 0 8px;font-size:11px;display:flex}.visual-level-control>p>span{color:#81816e;font-size:10px}.visual-level-buttons{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.preview-tools{color:#6c735f;flex-wrap:wrap;align-items:center;gap:12px;margin-top:-7px;padding:12px 0 18px;font-size:11px;display:flex}.preview-tool-buttons{gap:7px;display:flex}.bulk-level{align-items:center;gap:9px;margin-left:auto;display:flex}.labels-toggle{cursor:pointer;align-items:center;gap:7px;min-height:36px;display:flex}.labels-toggle input{width:15px;height:15px}.building-category{color:#82714d;text-transform:uppercase;letter-spacing:.12em;margin:0 0 7px;font-size:9px}.detail-copy h2{color:var(--ink);margin:0;font:26px/1.15 Georgia,serif}.building-description{color:#707565;min-height:76px;margin:12px 0 18px;font-size:11px;line-height:1.85}.detail-stat{color:#7b7c6f;border-top:1px solid #e5e4d9;justify-content:space-between;align-items:center;gap:8px;padding:12px 0;font-size:10px;display:flex}.detail-stat strong{color:#526044;font-size:10px;font-weight:550}.detail-action{border-top:1px solid #e5e4d9;padding-top:17px}.detail-action p{color:#7c7d70;text-align:center;margin:11px 0 0;font-size:10px;line-height:1.7}.village-notes{grid-template-columns:minmax(0,1fr) 288px;gap:20px;margin-top:18px;display:grid}.queue-panel{border:1px solid var(--line);background:#f9f8f1;border-radius:4px;align-items:center;gap:13px;padding:17px 20px;display:flex}.note-icon{color:#83916b;background:#efefe3;border:1px solid #dfdfce;border-radius:4px;place-items:center;width:34px;height:34px;display:grid}.note-icon svg{width:19px;height:19px}.queue-panel h2{margin:0 0 5px;font-size:11px;font-weight:600}.queue-panel p{color:#7b7e6d;margin:0;font-size:10px}.empty-state-label{color:#7b7d6f;margin-left:auto;font-size:9px}.preview-note{color:#777b69;align-items:center;gap:10px;padding:2px;display:flex}.preview-note svg{width:17px;height:17px}.preview-note p{margin:0;font-size:10px;line-height:1.8}footer.shell{color:#858678;justify-content:space-between;gap:16px;margin-top:32px;padding-top:18px;padding-bottom:23px;font-size:10px;display:flex}footer>span:first-child{color:#5e6b55}.server-intro{padding:46px 0 27px}.settings-controls{align-items:start;gap:var(--space-2);flex-direction:column;display:flex}.text-link{text-underline-offset:4px;align-items:center;gap:10px;font-size:12px;display:flex}.text-link svg{width:17px;height:17px}.skip-link{z-index:10;background:#fff;padding:10px;position:absolute;top:-100px;left:16px}.skip-link:focus{top:12px}@media (width>=1500px){.building-label{font-size:11px}}@media (width<=1150px){.shell,.app-bar-inner{padding-left:26px;padding-right:26px}.village-layout,.village-notes{grid-template-columns:minmax(0,1fr) 255px;gap:15px}.resource-item{gap:8px;padding:0 15px}.resource-production{display:none}.resource-icon svg{width:25px;height:25px}.resource-item strong{font-size:17px}.building-detail{padding:16px}}@media (width<=960px){.village-layout,.overview-layout{grid-template-columns:minmax(0,1fr)}.building-detail{grid-template-columns:190px minmax(0,1fr);grid-template-areas:"heading heading""art copy""levels action";align-items:center;gap:12px 25px;display:grid}.detail-heading{grid-area:heading;margin-bottom:4px}.detail-art{grid-area:art;height:170px;margin:0}.detail-copy{grid-area:copy}.visual-level-control{border-bottom:0;grid-area:levels;margin:0;padding:0}.building-description{min-height:auto;margin-bottom:10px}.detail-stat{padding:8px 0}.detail-action{border-top:0;grid-area:action;padding-top:0}.village-notes{grid-template-columns:1fr 1fr}.resource-item{padding:0 12px}.resource-item strong small{font-size:9px}.resource-capacity .resource-icon{display:none}}@media (width<=650px){.shell,.app-bar-inner{padding-left:17px;padding-right:17px}.resource-bar{grid-template-columns:repeat(3,1fr);margin-top:16px;padding:12px 0 0}.resource-item{gap:8px;padding:0 10px}.resource-item:nth-child(3){border:0}.resource-item:nth-child(n+4){border-top:1px solid #e6e4d9;border-right:0;grid-column:span 1;margin-top:12px;padding-top:10px;padding-bottom:10px}.resource-item:nth-child(4){grid-column:span 2}.resource-capacity .resource-icon{display:block}.resource-item:nth-child(n+4) .resource-icon svg{width:21px;height:21px}.resource-item:nth-child(n+4) .resource-name{margin-right:9px;display:inline}.resource-item:nth-child(n+4) strong{font-size:13px;display:inline}.resource-item:nth-child(5){padding-left:0}.resource-item:nth-child(5) .resource-icon{display:none}.resource-name{font-size:9px}.resource-item strong{font-size:17px}.resource-icon svg{width:24px;height:24px}.village-heading{flex-direction:column;align-items:start;gap:15px;padding:24px 0 19px}h1{font-size:34px}.preview-stamp{flex-direction:row;align-items:center;gap:8px;font-size:9px}.preview-badge{font-size:9px}.board-heading{padding:0 12px}.scene-toolbar{padding:2px 10px}.desktop-scene-help,.selection-dot{display:none}.mobile-scene-help{font-size:9px;display:inline}.building-label{font-size:9px}.building-detail{grid-template-columns:95px minmax(0,1fr);grid-template-areas:"heading heading""art copy""levels levels""action action";gap:16px 13px;padding:16px}.detail-art{align-self:start;height:100px}.detail-art>svg{width:100px;height:100px}.preview-tools{gap:9px;padding-top:9px}.bulk-level{margin-left:0}.detail-copy h2{font-size:24px}.detail-action{border-top:1px solid var(--line);grid-column:1/-1;margin-top:4px;padding-top:14px}.detail-action p{text-align:left}.village-notes{grid-template-columns:1fr;gap:15px}.preview-note{padding:0 3px}.building-list:not([hidden]){grid-template-columns:1fr}footer.shell{flex-wrap:wrap;margin-top:25px;font-size:9px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.world-controls{flex-wrap:wrap;align-items:center;gap:14px;margin-top:22px;font-size:12px;display:flex}.world-controls form,.world-admin>div{align-items:center;gap:8px;display:flex}.local-play-note{color:var(--muted);margin-left:auto;font-size:10px}.world-admin{margin-left:auto;font-size:12px;position:relative}.world-admin summary{cursor:pointer;padding:10px}.world-admin>div{border:1px solid var(--line);background:var(--paper);flex-wrap:wrap;padding:10px}.game-footnote{color:var(--muted);font-size:11px;line-height:1.7}.construction-badge{color:#574725;background:#edce84;border:1px solid #876c36;border-radius:50%;place-items:center;width:27px;height:27px;animation:2s ease-in-out infinite builder-pulse;display:grid;position:absolute;top:20%;right:4%;box-shadow:0 2px 5px #0003}.under-construction>svg{filter:sepia(.18)}@keyframes builder-pulse{50%{transform:translateY(-3px)}}.scene-paused .construction-badge{animation-play-state:paused}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.construction-badge{animation:none}}@media (width<=600px){.world-controls form{width:100%}.local-play-note{margin-left:0}}.military-layout{margin-top:var(--panel-gap);gap:var(--panel-gap);grid-template-columns:1fr 1fr;display:grid}.military-layout.single{grid-template-columns:1fr}.military-unit{border-top:1px solid var(--line);padding:16px 0}.military-unit h3{margin:0 0 10px;font-size:13px;font-weight:600}.military-unit p{margin:7px 0}.unit-heading{justify-content:space-between;align-items:baseline;gap:10px;font-size:13px;display:flex}.unit-heading small{color:var(--muted);font-size:10px;font-weight:400}.recruit-action{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;font-size:12px;display:flex}@media (width<=800px){.military-layout{grid-template-columns:1fr;gap:0}}.live-resource{align-items:start}.resource-values{width:100%;min-width:0}.live-resource strong{font-size:17px}.resource-values meter{accent-color:#708454;width:100%;height:7px;margin:5px 0;display:block}.live-production{color:#526b45;margin-top:5px;font-size:10px;line-height:1.5;display:block}.resource-full .live-production,.resource-full strong{color:#95602c}.world-paused .live-production{color:var(--muted)}.detail-action .selected-construction{text-align:left;color:#7d6231;margin:0 0 12px}.live-queue .queue-explanation{font-size:12px;line-height:var(--lh-dense);margin:var(--space-2) 0 0}.recruit-limit{flex-wrap:wrap;gap:5px 10px;display:flex;font-size:10px!important}.research-completed{color:#526c46}.unit-heading{flex-wrap:wrap}.unit-heading strong{font-size:12px}.unit-heading small{display:inline-block}@media (width<=1150px){.live-resource{gap:7px;padding:0 12px}.live-resource .resource-icon{display:none}.live-resource strong{font-size:16px}}@media (width<=650px){.live-resource{padding:0 9px}.live-resource strong{font-size:15px}.live-resource strong small{margin-top:2px;display:block}.resource-values meter{margin-top:6px}.live-production{font-size:9px}.preview-stamp,.world-controls label{flex-wrap:wrap}}.world-creation-settings{position:relative}.world-creation-settings summary{cursor:pointer;color:#526247;padding:10px 4px;font-size:11px}.world-creation-settings>div{z-index:200;border:1px solid var(--line);background:var(--paper);border-radius:4px;gap:12px;min-width:255px;padding:16px;display:grid;position:absolute;top:100%;right:0;box-shadow:0 5px 18px #253c3220}.world-creation-settings label{gap:5px;font-size:11px;display:grid}.world-creation-settings p{color:var(--muted);margin:0;font-size:10px;line-height:1.7}@media (width<=650px){.world-controls form{flex-wrap:wrap}.world-creation-settings>div{left:0;right:auto}}.building-section-link{color:#4e6640;text-underline-offset:3px;margin-top:14px;font-size:11px;display:block}#army-title,#research-title{scroll-margin-top:20px}.building-effects{margin-top:16px}.building-effects h3{color:var(--ink);margin:0 0 9px;font-size:12px}.building-effects small{color:#8c6939;margin-top:3px;font-size:9px;display:block}.building-effects p{color:var(--muted);font-size:10px;line-height:1.7}.recruitment-building+.recruitment-building{margin-top:25px}.recruitment-building-title{background:#ecefdf;border-radius:3px;justify-content:space-between;gap:12px;margin:20px 0 0;padding:12px;font:16px Georgia,serif;display:flex}.recruitment-building-title small{color:var(--muted);font:10px Segoe UI,sans-serif}.unit-stats{background:#f2f1e8;border-radius:3px;grid-template-columns:1fr 1fr;gap:7px 16px;margin:8px 0 12px;padding:12px;display:grid}.unit-stats>div{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.unit-stats dt{color:var(--muted);font-size:10px}.unit-stats dd{font-variant-numeric:tabular-nums;margin:0;font-size:12px}.live-queue .military-planned-note{color:#8b6d42;font-size:10px;line-height:1.8}.village-heading-role{color:#68764d;margin-right:10px;display:inline-block}.world-creation-settings>div{max-height:70vh;overflow-y:auto}.settings-controls label{align-items:center;gap:8px;font-size:12px;display:flex}.overview-layout{gap:var(--panel-gap);grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:start;min-width:0;display:grid}.overview-side{gap:var(--panel-gap);align-content:start;min-width:0;display:grid}.village-board,.scene-scroll,.activity-panel{min-width:0}@media (width<=960px){.overview-layout{grid-template-columns:minmax(0,1fr)}.overview-side{display:contents}.activity-panel{order:1}.village-board{order:2}.building-detail{order:3}}.scene-heading{flex-wrap:wrap;height:auto;min-height:45px;padding-top:6px;padding-bottom:6px}.scene-heading-tools{align-items:center;gap:12px;margin-left:auto;display:flex}.scene-count{color:#797e6e;white-space:nowrap;font-size:10px}.scene-heading-tools .building-label-control{white-space:nowrap}@media (width<=800px){.scene-heading-tools{flex-wrap:wrap;margin-left:0}}.world-controls .world-creation-form{display:grid}@media (width<=700px){:root{--panel-pad:10px}}.army-layout{gap:var(--panel-gap);align-items:start;display:grid}.army-primary{gap:var(--panel-gap);min-width:0;display:grid}.army-layout>.panel,.army-primary>.panel{margin:0}@media (width>=1100px){.army-layout{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}}main.shell:has(.world-map){min-height:0}:root{--btn-height:36px;--btn-padding:8px 12px;--btn-radius:3px;--btn-font-size:12px;--btn-gap:7px;--btn-small-height:28px;--btn-small-padding:3px 6px;--btn-small-font-size:12px;--btn-small-gap:4px;--btn-primary-bg:#294b38;--btn-primary-hover:#3a5e46;--btn-primary-active:#203c2c;--btn-primary-ink:#fffaf0;--btn-secondary-bg:#faf8ee;--btn-secondary-hover:#e5e9d9;--btn-secondary-active:#d5deca;--btn-secondary-ink:#3b5132;--btn-secondary-border:#a8b094;--btn-focus:#9b722b;--btn-danger-bg:#9c3d30;--btn-danger-hover:#b04a3b;--btn-danger-active:#7e2f25;--btn-danger-ink:#fffaf0;--btn-disabled-bg:#e7e3d8;--btn-disabled-ink:var(--muted);--btn-disabled-border:var(--line)}.btn{justify-content:center;align-items:center;gap:var(--btn-gap);min-width:var(--btn-height);min-height:var(--btn-height);max-width:100%;padding:var(--btn-padding);border:1px solid var(--btn-border);border-radius:var(--btn-radius);background:var(--btn-bg);color:var(--btn-ink);font:inherit;font-size:var(--btn-font-size);text-align:center;overflow-wrap:anywhere;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;font-weight:600;line-height:1.25;text-decoration:none;transition:background-color .15s,border-color .15s;display:inline-flex}.btn-primary{--btn-bg:var(--btn-primary-bg);--btn-ink:var(--btn-primary-ink);--btn-border:var(--btn-primary-bg);--btn-hover:var(--btn-primary-hover);--btn-active:var(--btn-primary-active)}.btn-secondary{--btn-bg:var(--btn-secondary-bg);--btn-ink:var(--btn-secondary-ink);--btn-border:var(--btn-secondary-border);--btn-hover:var(--btn-secondary-hover);--btn-active:var(--btn-secondary-active)}.btn-danger{--btn-bg:var(--btn-danger-bg);--btn-ink:var(--btn-danger-ink);--btn-border:var(--btn-danger-bg);--btn-hover:var(--btn-danger-hover);--btn-active:var(--btn-danger-active)}.btn-block{width:100%}.form-actions .btn-block{width:auto}.btn-reason,.primary-action .btn-reason{max-width:28rem;color:var(--muted);text-align:left;margin:6px 0 0;font-size:12px;line-height:1.5;display:block}@media (width<=639px){.form-actions .btn-block{width:100%}}.btn-small{--btn-height:var(--btn-small-height);--btn-padding:var(--btn-small-padding);--btn-font-size:var(--btn-small-font-size);--btn-gap:var(--btn-small-gap)}.btn:hover:not(:disabled):not([aria-disabled=true]){background:var(--btn-hover)}.btn:active:not(:disabled):not([aria-disabled=true]),.btn[aria-pressed=true]{background:var(--btn-active)}.btn[aria-pressed=true]{box-shadow:inset 0 0 0 1px}.btn:focus-visible{outline:3px solid var(--btn-focus);outline-offset:3px}.btn:disabled,.btn[aria-disabled=true]{background:var(--btn-disabled-bg);color:var(--btn-disabled-ink);border-color:var(--btn-disabled-border);opacity:1;cursor:not-allowed}.btn>svg{width:16px;height:16px}.btn.scene-building{--btn-bg:transparent;--btn-hover:transparent;--btn-active:transparent;min-width:0;min-height:0;box-shadow:none;border:0;border-radius:20%;padding:0}.btn.scene-building:focus-visible{outline-offset:2px}.btn.scene-building>svg{width:100%;height:100%}.btn.scene-building:hover>svg,.btn.scene-building:focus-visible>svg{filter:brightness(1.13)drop-shadow(0 0 3px #f5dfa8)}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn.tabs-item{--btn-hover:var(--surface-muted);--btn-active:var(--surface-muted);border:0;border-right:1px solid var(--border-strong);min-width:0;height:34px;min-height:34px;color:var(--text);white-space:nowrap;overflow-wrap:normal;background:0 0;border-radius:0;flex:none;gap:6px;padding:6px 16px;font-size:12px;font-weight:400}.btn.tabs-item:last-child{border-right:0}.btn.tabs-item:hover{background:var(--surface-muted)}.btn.tabs-item[aria-current=page],.btn.tabs-item[aria-selected=true]{--btn-hover:var(--accent-strong);--btn-active:var(--accent-strong);background:var(--accent-strong);color:var(--paper);font-weight:650}.btn.tabs-item[aria-disabled=true]{opacity:1;cursor:pointer}.btn.tabs-item[aria-disabled=true]:not([aria-selected=true]){color:var(--muted)}.btn.tabs-item small{font-size:10px;font-weight:400}.btn.tabs-item:focus-visible{outline-offset:-3px}.btn.village-step{flex:0 0 var(--btn-height);width:var(--btn-height);padding-left:0;padding-right:0}.btn.village-current{flex:0 auto;min-width:0;max-width:280px}.btn.village-current[aria-expanded=true]{background:var(--surface-muted)}.btn.village-option{text-align:left;background:0 0;border-color:#0000;justify-content:flex-start;width:100%;font-weight:400}.btn.village-option[aria-selected=true]{background:var(--surface-muted);font-weight:650}.btn.village-option[data-active=true]{box-shadow:inset 0 0 0 2px var(--accent-strong)}.data-table .btn:not(.scene-building){--btn-height:28px;--btn-padding:3px 6px;--btn-font-size:12px}@media (width<=700px){:root{--btn-small-height:36px}.data-table .btn:not(.scene-building){--btn-height:36px}.btn.tabs-item{height:36px;min-height:36px}}.btn.btn-count-max{--btn-bg:transparent;--btn-hover:var(--surface-muted);--btn-border:transparent;padding:2px 4px;font-weight:400;text-decoration:underline}.btn.btn-count-maximum{font-variant-numeric:tabular-nums}.btn.btn-count-maximum:not(.btn-count-max){min-width:7em}.btn.resource-tile{font-variant-numeric:tabular-nums;background:0 0;border:0;height:100%;min-height:0;padding:0;font-weight:400}.btn.resource-tile:hover,.btn.resource-tile[aria-expanded=true]{background:var(--surface-muted)}.btn.resource-tile .resource-tile-value{font-size:14px;line-height:18px}.btn.resource-tile strong{font-weight:600}.btn.resource-tile .resource-tile-sub{color:var(--text-muted);font-size:11px;line-height:12px}.btn.resource-tile-danger .resource-tile-sub>span:last-child,.btn.resource-tile-danger strong{color:var(--danger)}.btn.resource-tile-warning .resource-tile-sub>span:last-child{color:var(--warning)}.btn.panel-toggle{--btn-height:40px;height:auto;min-height:40px;padding:3px var(--panel-pad);border-radius:var(--radius-card) var(--radius-card) 0 0;background:0 0;border:0;font-weight:400}.btn.panel-toggle:hover{background:var(--surface-muted)}.btn.panel-toggle .panel-summary{color:var(--text-muted);font-size:12px}.btn.panel-toggle .panel-arrow{font-size:16px}@media (width<=700px){.data-table-stack .btn:not(.scene-building){--btn-height:40px;min-height:40px}.data-table-stack .btn{min-width:40px}}.btn.info-tip{min-width:var(--btn-small-height)}:root{--field-height:36px;--field-height-small:28px;--field-padding:6px 10px}.field{gap:var(--space-1);min-width:0;display:grid;position:relative}.field-inline{align-items:center;gap:var(--space-1) var(--space-2);grid-template-columns:auto minmax(0,1fr)}.field-label,.field-hint,.field-error{font-size:12px;font-weight:400;line-height:1.5}.field-label,.field-hint{color:var(--muted)}.field-hint,.field-error{margin:0}.field-error{color:var(--danger)}.field-inline>.field-hint,.field-inline>.field-error{grid-column:1/-1}.input,.field input:not([type=checkbox],[type=radio]),.field select,.field textarea{box-sizing:border-box;width:100%;min-width:0;height:var(--field-height);padding:var(--field-padding);font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-inner);font-size:14px;display:block}.field textarea,textarea.input{resize:vertical;height:auto;min-height:80px}.input.input-sm,.field .input-sm{height:var(--field-height-small);font-size:12px}.input:disabled,.field input:disabled,.field select:disabled,.field textarea:disabled{opacity:.6}.input[aria-invalid=true],.field input[aria-invalid=true],.field select[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:var(--danger)}.check{align-items:center;gap:var(--space-2);font-size:12px;display:inline-flex}.check input,input[type=checkbox],input[type=radio]{accent-color:var(--success);margin:0}.form-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));align-items:end;display:grid}@media (pointer:coarse){:root{--field-height:44px}}.form-actions{justify-content:flex-start;align-items:start;gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;flex-basis:100%;grid-column:1/-1;display:flex}.primary-action{min-width:0;max-width:100%}@media (width<=639px){.form-actions>.primary-action{flex:100%}}.data-table .input,.data-table .field input{height:28px;padding:3px 6px;font-size:13px}@media (width<=700px){.data-table .input,.data-table .field input{height:36px}}.data-table .count-input-compact .input{width:56px}@media (width<=700px){.toolbar .field .input-sm{height:36px}}.data-table .count-input-controls:not(.count-input-compact) .input{flex:0 0 4.5rem;width:4.5rem}@media (width<=700px){.data-table-stack .field .input{min-width:4rem;height:40px}.data-table-stack .actions.stack-controls .count-input-controls .input{flex:auto;min-width:4rem}}.panel{width:100%;min-width:0;margin:var(--panel-gap) 0 0;padding:var(--panel-pad);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);color:var(--text);font-size:var(--text-md);line-height:var(--lh-dense);overflow-wrap:anywhere}.panel>:first-child{margin-top:0}.panel>:last-child{margin-bottom:0}.panel-heading{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:var(--panel-head-h);padding:3px var(--panel-pad);border-bottom:1px solid var(--border);border-radius:var(--radius-card) var(--radius-card) 0 0;background:var(--surface-muted);flex-wrap:wrap;display:flex}.panel>.panel-heading{margin:calc(-1 * var(--panel-pad)) calc(-1 * var(--panel-pad)) var(--panel-pad);width:calc(100% + 2 * var(--panel-pad))}.panel-title{align-items:center;gap:var(--space-2);color:var(--text);font:400 15px/1.3 var(--font-serif);margin:0;display:flex}.panel-heading .panel-title{margin:0}.panel-heading .page-header{align-items:center;gap:var(--space-2);width:100%;margin:0}.panel-heading .page-header-copy{flex-basis:auto}.panel-page>.panel-heading{min-height:40px;padding-top:0;padding-bottom:0}.panel-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.panel.panel-default>p,.panel.panel-inner>p{font-size:var(--text-md);line-height:var(--lh-dense)}.panel .secondary-text{color:var(--text-muted);font-size:var(--text-sm)}.panel-inner{margin:var(--space-3) 0;padding:var(--panel-pad);background:var(--surface-muted);border-radius:var(--radius-inner)}.panel-compact,.military-layout>.panel,.overview-side>.panel,.managed-worlds>.panel{margin:0}.page-header{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:36px;margin:var(--space-2) 0;flex-wrap:nowrap;display:flex}.page-header-copy{align-items:center;gap:var(--space-2);flex:1 1 0;min-width:0;display:flex}.page-header-title{white-space:nowrap;color:var(--text);font:400 20px/1.2 var(--font-serif);letter-spacing:-.015em;flex:none;margin:0}.page-header .eyebrow{text-overflow:ellipsis;white-space:nowrap;letter-spacing:0;text-transform:none;min-width:0;color:var(--text-muted);margin:0;font-size:12px;line-height:1.2;overflow:hidden}.page-header-aside{align-items:center;gap:var(--space-2);color:var(--text-muted);font-size:var(--text-sm);flex-wrap:nowrap;flex:none;display:flex}.panel>.page-header{margin-top:0}.section-title{margin:var(--section-gap) 0 var(--space-2);color:var(--text);font:400 15px/1.3 var(--font-serif)}@media (width<=700px){.page-header-title{font-size:20px}}.is-locked .locked-content{opacity:.6}.panel>p{margin:var(--space-2) 0}.panel small,.panel .preview-badge,.panel .unit-stats dt{font-size:12px}.panel-collapsible>.panel-heading{padding:0}.panel-toggle-heading{width:100%;font:inherit;margin:0}.panel-toggle{align-items:center;gap:var(--space-2);width:100%;display:flex}.panel-toggle .panel-title{text-align:left;flex:1}.panel-summary,.panel-arrow{white-space:nowrap;flex-shrink:0}.panel.panel-collapsed{padding:0}.panel-collapsed>.panel-heading{border-bottom:0;width:100%;margin:0}.panel-body>:first-child{margin-top:0}.panel-body>:last-child{margin-bottom:0}.info-tip-content{overflow-wrap:normal;max-width:min(300px,100vw - 64px);font-size:13px;line-height:1.5}.panel.queue-panel{padding:0}.queue-panel>.panel-heading{width:100%;margin:0}.queue-panel>.activity-queue{margin-top:0}.panel.panel-empty{padding:0}.panel-empty>.panel-heading{width:100%;min-height:calc(var(--panel-head-h) - 2px);border-bottom:0;margin:0}.table-scroll{max-width:100%;margin:var(--space-2) 0;position:relative;overflow-x:auto}.data-table{border-collapse:collapse;overflow-wrap:normal;word-break:normal;width:100%;font-size:var(--text-table);text-align:left}.data-table caption{text-align:left;margin-bottom:var(--space-2);color:var(--muted);font-size:12px}.data-table th,.data-table td{padding:var(--cell-pad-y) var(--cell-pad-x);height:var(--row-h);line-height:var(--lh-dense);border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;-webkit-hyphens:manual;hyphens:manual;font-weight:400}.data-table thead th{white-space:nowrap;color:var(--muted);font-size:12px;font-weight:600}.data-table tbody tr:hover,.data-table tr.selected,.data-table-detail{background:var(--surface-muted)}.data-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.data-table .actions{text-align:right}.data-table .actions .count-input-controls{justify-content:flex-end}.data-table-detail .unit-stats{margin:0}.data-table-compact{font-size:12px}.data-table-compact th,.data-table-compact td{height:28px;padding:2px var(--cell-pad-x)}.data-table-compact thead th{font-size:12px}.unit-table-name{align-items:center;gap:var(--space-2);white-space:nowrap;display:flex}.data-table thead{background:var(--surface-muted)}.data-table .zero{color:var(--text-muted);opacity:.55}:is(.data-table tr:has(.btn,.input)>th,.data-table tr:has(.btn,.input)>td){padding-top:1px;padding-bottom:1px}.data-table td .requirement-list,.data-table th .requirement-list{gap:0;margin:0}.data-table td .requirement-reason,.data-table th .requirement-reason{margin:0}@media (width<=700px){:is(.data-table tr:has(.btn,.input)>th,.data-table tr:has(.btn,.input)>td){height:40px}}.num.zero{color:var(--text-muted);opacity:.55}.unit-grid{min-width:max-content}.unit-grid .unit-grid-label{z-index:1;background:var(--surface);white-space:nowrap;min-width:120px;position:sticky;left:0}.unit-grid thead .unit-grid-label{background:var(--surface-muted);z-index:2}.unit-grid td,.unit-grid th:not(.unit-grid-label){min-width:64px}.unit-grid-icon{justify-content:flex-end;display:flex}.unit-grid .num,.unit-grid .actions{text-align:center}.unit-grid-icon{justify-content:center}.data-table .actions{white-space:nowrap;width:1%}.research-completed{color:var(--success);font-size:12px}.table-region{min-width:0;max-width:100%}.table-scroll-hint{color:var(--text-muted);margin:2px 0 0;font-size:11px}@media (width<=560px){.data-table .mobile-zero-column{display:none}}@media (width<=700px){table.data-table.data-table-stack{width:100%;min-width:0;display:block}.data-table-stack thead{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.data-table-stack tbody{display:block}.data-table-stack tbody>tr:not([hidden]){border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;gap:0 8px;padding:1px 0 2px;display:grid}.data-table.data-table-stack tbody>tr>:is(th,td){text-align:left;white-space:normal;border:0;min-width:0;height:auto;padding:0}.data-table-stack .stack-main{grid-area:1/1;align-self:center}.data-table-stack .stack-end,.data-table-stack .actions{grid-area:1/2;align-self:center;width:auto}.data-table-stack .stack-end{text-align:right}.data-table-stack .stack-meta{grid-area:2/1;align-items:start;font-size:12px;line-height:16px;display:flex}.data-table-stack .stack-secondary{white-space:nowrap;grid-column:2;justify-content:flex-end}.data-table-stack .stack-controls{grid-area:3/1/auto/-1;width:100%;margin-top:4px}.data-table-stack td[data-label]:before{content:attr(data-label) ": ";color:var(--text-muted);flex-shrink:0;margin-right:4px;font-size:12px}.data-table-stack .stack-main .unit-table-name{justify-content:space-between;gap:4px}.data-table-stack .resource-cost.resource-cost-compact{flex-wrap:wrap;gap:4px 8px;min-width:0}.data-table-stack .resource-cost .resource-shortage.compact{line-height:11px}.data-table-stack .data-table-detail>td{grid-column:1/-1}}.tabs{width:fit-content;min-width:0;max-width:100%;margin:var(--space-2) 0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-inner);background:var(--surface);scrollbar-width:thin;flex-wrap:nowrap;gap:0;padding:0;display:flex;position:relative;overflow-x:auto}@media (width<=560px){.tabs{flex-wrap:wrap;width:100%;overflow:visible}.tabs .tabs-item{flex:33.3333%}.tabs[role=tablist] .tabs-item{flex-basis:50%}}.notice{--notice-bg:var(--notice-info-bg);--notice-border:var(--notice-info-border);--notice-ink:var(--notice-info-ink);align-items:start;gap:var(--space-2);margin:var(--space-3) 0;border:1px solid var(--notice-border);border-radius:var(--radius-inner);background:var(--notice-bg);color:var(--notice-ink);grid-template-columns:16px minmax(0,1fr) auto auto;padding:10px 14px;font-size:13px;line-height:1.5;display:grid}.notice-success{--notice-bg:var(--notice-success-bg);--notice-border:var(--notice-success-border);--notice-ink:var(--notice-success-ink)}.notice-warning{--notice-bg:var(--notice-warning-bg);--notice-border:var(--notice-warning-border);--notice-ink:var(--notice-warning-ink)}.notice-error{--notice-bg:var(--notice-error-bg);--notice-border:var(--notice-error-border);--notice-ink:var(--notice-error-ink)}.notice-emphasis{border-width:2px}.notice-icon{width:16px;height:16px;margin-top:2px;display:inline-flex}.notice-icon svg{width:16px;height:16px}.notice-body{overflow-wrap:anywhere;min-width:0}.notice-body p{margin:0}.notice-actions{align-items:start;gap:var(--space-2);flex-wrap:wrap;grid-column:3;display:flex}.notice-dismiss{grid-column:4}@media (width<=639px){.notice-actions{grid-area:2/2/auto/-1}.notice-dismiss{grid-row:1}}.app-bar{height:var(--app-bar-h);color:#f2ead2;background:#233b31;border-bottom:1px solid #ad9260}.app-bar-inner{align-items:center;gap:16px;height:100%;display:flex}.brand{font:16px var(--font-serif);letter-spacing:.1em;flex-shrink:0;align-items:center;gap:8px;text-decoration:none;display:flex}.crest{color:#dfcd9d;width:28px;height:28px;font:20px var(--font-serif);border:1px solid #b8a477;border-radius:2px 2px 8px 8px;place-items:center;display:grid}.main-nav{flex-shrink:0;align-items:center;gap:0;min-width:0;height:100%;display:flex}.main-nav a{white-space:nowrap;border-bottom:2px solid #0000;align-items:center;gap:6px;height:100%;padding:6px 10px;font-size:14px;text-decoration:none;display:flex}.main-nav a svg{width:16px;height:16px}.main-nav a[aria-current=page]{background:#ffffff0d;border-color:#cbb775;font-weight:650}.nav-note{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin-left:auto;font-size:11px;overflow:hidden}.development{color:#d0d5c5;white-space:nowrap;flex-shrink:0;font-size:11px}.status-bar{min-height:var(--status-bar-h);border:1px solid var(--border);border-radius:var(--radius-inner);background:var(--paper);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;margin-top:8px;padding:3px 8px;display:grid}.status-identity{align-items:center;gap:4px;min-width:0;display:flex}.status-identity>.village-switcher{flex:0 auto}.status-identity>.inline-village-editor{flex-shrink:0}.village-status-name:not(.sr-only){min-width:0;font:16px var(--font-serif);align-items:center;gap:6px;margin:0;display:flex}.village-status-name>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.village-coords{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;font-size:12px}.status-resources{min-width:0}.status-meta{white-space:nowrap;align-items:center;gap:8px;font-size:12px;display:flex}.status-meta>*+:before{content:"·";color:var(--muted);margin-right:8px}.resource-strip{grid-template-columns:repeat(5,minmax(0,auto));align-items:stretch;gap:8px;min-width:0;margin:0;display:grid}.resource-tile-wrap{min-width:0}.resource-tile{flex-direction:column;justify-content:start;align-items:center;gap:1px;width:100%;display:flex}.resource-tile-value{white-space:nowrap;align-items:center;gap:3px;max-width:100%;display:flex}.resource-tile-value svg{flex:0 0 16px;width:16px;height:16px}.resource-tile-value strong{text-overflow:ellipsis;min-width:0;overflow:hidden}.resource-tile-sub{white-space:nowrap;gap:4px;display:flex}.resource-tile-sub>span+span:before{content:"·";margin-right:4px}.resource-tile-details{max-width:300px;font-size:13px}.resource-tile-details p{margin:6px 0 0}@media (width<=1100px){.resource-tile-sub{flex-direction:column;align-items:center;gap:0}.resource-tile-sub>span+span:before{content:none}}@media (width<=1150px){.development{display:none}.app-bar-inner{gap:8px}.main-nav a{padding-left:8px;padding-right:8px}}@media (width<=1023px){.nav-note,.status-meta{display:none}.status-bar{grid-template-columns:minmax(0,1fr) auto}.main-nav{flex:1;overflow-x:auto}}@media (width<=700px){.app-bar-inner{padding-left:12px;padding-right:12px}.brand>span:last-child{display:none}.main-nav a{gap:4px;padding:6px 8px;font-size:12px}.status-bar{grid-template-columns:minmax(0,1fr);gap:0;padding:0 8px}.status-identity,.status-resources{align-items:center;min-height:36px;display:flex}.status-resources{min-height:46px}.status-identity .village-switcher{flex:1}.resource-strip{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;width:100%}}
