:root{--connection-bg: var(--color-bg);--connection-panel: var(--color-panel);--connection-text: var(--color-text);--connection-muted: var(--color-muted);--connection-brass: var(--color-brass);--connection-danger: var(--color-danger)}.connection-page{min-height:calc(100dvh - var(--game-nav-height));background:radial-gradient(ellipse at top,var(--color-raised),transparent 70%),var(--connection-bg);color:var(--connection-text);padding:clamp(16px,5vw,64px) 16px;font-family:var(--font-body)}.connection-panel{max-width:44rem;margin:auto;padding:clamp(20px,5vw,40px);border:1px solid var(--color-divider);background:var(--connection-panel);border-top:2px solid var(--connection-brass);border-radius:6px;box-shadow:var(--shadow-panel)}.connection-panel h1,.connection-panel h2{font-family:var(--font-title);font-weight:400;line-height:1.2}.connection-panel h1{font-size:clamp(1.7rem,5vw,2.3rem);margin:28px 0 20px}.connection-panel h2{font-size:1.4rem;margin-top:36px}.connection-brand{font-size:.75rem;letter-spacing:.08em}.connection-panel p{line-height:1.65}.connection-panel a{color:var(--connection-brass)}.connection-muted{color:var(--connection-muted);font-size:.9rem}.connection-panel label{display:block;margin:20px 0 8px}.connection-panel input,.connection-panel select{width:100%;padding:12px;min-height:46px;background:var(--connection-bg);color:var(--connection-text);border:1px solid var(--color-border);border-radius:4px;font:inherit}.connection-url{font-family:monospace;overflow-wrap:anywhere}.connection-actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.connection-panel button,.connection-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid var(--connection-brass);border-radius:4px;background:var(--color-primary-surface);color:var(--connection-text)!important;box-shadow:var(--shadow-control);text-decoration:none;font:inherit;font-weight:600;cursor:pointer}.connection-panel .secondary{background:transparent;color:var(--connection-brass)!important}.connection-panel button:disabled{opacity:.55;cursor:wait}.connection-panel :focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}.connection-status{min-height:3rem;line-height:1.5;margin-top:20px}.connection-status[role=alert]{color:var(--connection-danger)}.connection-list{list-style:none;padding:0}.connection-list li{padding:16px 0;border-top:1px solid var(--color-divider);display:flex;flex-direction:column;gap:10px}.connection-list li>button{align-self:flex-start}@media (forced-colors: active){:root{scrollbar-color:auto}.connection-panel{border:1px solid CanvasText}}.agent-setup textarea{width:100%;padding:12px;min-height:240px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg);color:var(--color-text);font:.8rem/1.6 var(--font-body)}.connection-panel .connection-check{display:flex;gap:12px;align-items:center;min-height:44px;line-height:1.5}.connection-panel .connection-check input{width:20px;height:20px;min-height:20px;flex:none;accent-color:var(--color-brass)}.connection-manual summary{cursor:pointer;min-height:44px;padding:10px 0;color:var(--color-brass)}.connection-panel .resize-none{resize:none}.agent-link-setup .onboarding-token-notice{border-left:3px solid var(--color-brass);padding-left:12px}.agent-link-setup .onboarding-muted{color:var(--color-muted);font-size:.85rem}.agent-link-setup .ui-button{max-width:100%;white-space:normal}.agent-link-setup .onboarding-link .ui-button{margin-top:6px}.game-window[open]{display:flex;flex-direction:column;min-width:0}.game-window>.ui-dialog-heading{flex:none;gap:16px}.game-window>.ui-dialog-body{min-height:0;overflow:auto;overscroll-behavior:contain}.game-window-controls{display:flex;gap:4px;flex:none}.game-window-controls .ui-button{min-width:40px;min-height:40px}.game-window.game-window-expanded{max-height:calc(100dvh - 32px)}.ui-dialog.game-window.game-window-compact{position:fixed;margin:0;width:min(360px,calc(100vw - 24px));max-width:calc(100vw - 24px);height:auto;padding:0;box-shadow:var(--shadow-panel);z-index:var(--z-game-panel)}.game-window-compact>.ui-dialog-heading{padding:10px 12px}.game-window-compact>.ui-dialog-heading h2{font-size:1rem}.game-window-compact>.ui-dialog-body{padding:12px}.game-window-compact.ui-dialog-trade .trade-window{min-height:0}.city-window>.ui-dialog-body{padding:0}.city-window .city-panel-body{overflow:visible}.storage-summary-row{display:contents}.storage-summary-row dt{display:flex;gap:6px;align-items:center}.storage-allocation-row input[type=range]{grid-column:1 / -1;width:100%;min-height:32px;accent-color:var(--color-brass)}.building-live-inspection .recipe-resource{display:inline-flex;align-items:center;gap:4px;margin-inline-end:8px}.building-live-inspection input[readonly]{width:100%;min-height:44px;font:inherit}.horse-panel input[type=number]{display:block;width:120px;min-height:44px;font:inherit;border:1px solid var(--color-border);border-radius:4px;padding:6px 10px;color:var(--color-text);background:var(--color-input)}.horse-hud-trigger{text-align:left;padding:6px 12px}.horse-hud-trigger small{display:block;font-size:.65rem;font-weight:400;color:var(--color-muted)}.city-resource-amount>small{font-size:.65em;font-weight:400;color:var(--color-muted)}.game-menu-trigger{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px}.is-playing .game-menu-trigger span{display:none}.game-window .game-menu-links{position:static;width:auto;padding:0;border:0;box-shadow:none;background:transparent}.ui-tabs[hidden]{display:none}.personal-trade-window .city-panel-body{overflow:auto;min-height:0}.personal-trade-form{max-width:640px;margin:auto}.personal-trade-form form{display:grid;gap:16px}.personal-trade-form label,.carrier-panel label{display:grid;gap:6px}.personal-trade-form input,.carrier-panel input,.copy-value-fallback input{min-height:44px;max-width:100%;padding:8px;font:inherit;color:var(--color-text);background:var(--color-input);border:1px solid var(--color-border);border-radius:4px}.copy-value-fallback{display:grid;gap:6px}.trade-record-id{display:block;font-size:12px;overflow-wrap:anywhere;margin-block:12px;-webkit-user-select:text;user-select:text}.carrier-return-warning{display:block}.fleet-window .carrier-panel{margin:24px auto;padding-top:24px;border-top:1px solid var(--color-divider)}@media (min-width: 701px){html:has(.city-page),html:has(.world-page){overflow:hidden}html .city-page,html .world-page{min-height:0;height:100dvh}html .game-navigation.is-playing{position:fixed}.city-resource-name{display:none}.city-resource{grid-template-rows:auto auto 12px;min-height:68px}.city-resource-amount{grid-column:2;grid-row:1}.city-resource-flow{grid-column:2;grid-row:2}.city-resource-limit{grid-column:2;grid-row:3}.city-conditions{display:flex;align-items:center;gap:6px;margin-top:8px}.city-conditions .world-weather{padding:0;border:0;gap:4px}.city-conditions .weather-compass{width:32px;height:32px}.city-conditions .world-weather strong{font:14px/1.2 var(--font-body)}.city-conditions .weather-caption{display:none}.city-conditions .weather-direction{font-size:9px}.city-conditions .environment-trigger{padding:4px 6px;min-height:40px;font-size:10px}.game-window-expanded[data-game-window=storage]{width:min(840px,calc(100vw - 32px))}.game-window-expanded .storage-editor fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.game-window-expanded .storage-editor fieldset>:not(.storage-allocation-row){grid-column:1 / -1}}.city-resource-limit{color:var(--color-danger);font-size:9px;line-height:12px}.city-resource.is-at-quota .city-resource-amount{color:var(--color-danger)}.game-window-expanded[data-game-window=city-search]{width:min(600px,calc(100vw - 32px))}.game-window-expanded[data-game-window=events],.game-window-expanded[data-game-window=history]{width:min(960px,calc(100vw - 32px))}.game-window.environment-dialog>.ui-dialog-body{padding:20px}.city-search{min-width:0}.city-search li,.city-search li .ui-button{min-width:0;width:100%;overflow-wrap:anywhere;text-align:left}.city-vitals .horse-hud-trigger{padding:3px;border:1px solid transparent;background:transparent;box-shadow:none;color:inherit;font:inherit}.city-vitals .horse-hud-trigger:hover{background:var(--color-raised);border-color:var(--color-border)}@media (min-width: 701px){.city-page .city-hud-top{padding-right:80px;grid-template-columns:240px minmax(0,1fr);box-sizing:border-box}.city-hud-top .city-supplies{min-width:0}.city-stock-rail .city-resource{grid-template-columns:28px minmax(0,1fr);padding:6px 4px;gap:2px 3px}.city-stock-rail .city-resource-icon .resource-icon{width:28px;height:28px}.city-stock-rail .city-resource-amount{font-size:.94rem}.city-stock-rail .city-coins{padding-inline:8px}}.ui-dialog.handbook-dialog{width:min(960px,calc(100vw - 32px));height:min(760px,calc(100dvh - 40px));max-height:calc(100dvh - 24px);overflow:hidden}.handbook-dialog[open]{display:flex;flex-direction:column}.handbook-dialog>.ui-dialog-heading{flex:none}.handbook-dialog>.ui-dialog-body{display:flex;flex:1;min-height:0;padding:0}.handbook{display:flex;flex-direction:column;width:100%;min-width:0;min-height:0}.handbook>.ui-tabs{flex:none;flex-wrap:wrap;padding:8px 20px;gap:4px;border-bottom:1px solid var(--color-divider)}.handbook>.ui-tabs button{flex:1 1 auto;min-height:44px}.handbook>.city-panel-body{padding:0;overflow:auto;scrollbar-gutter:stable}.handbook-content{max-width:820px;margin:auto;padding:28px 36px 40px}.handbook .handbook-content h2{font:400 clamp(1.6rem,3vw,2.2rem)/1.2 var(--font-title);margin:6px 0 16px}.handbook .handbook-content h3{font:600 1rem/1.4 var(--font-body);margin:0 0 8px}.handbook .handbook-content p,.handbook .handbook-content li{font-size:.9rem;line-height:1.7}.handbook .handbook-content p{margin:10px 0}.handbook-content .handbook-lead{font-size:1.05rem;color:var(--color-muted)}.handbook-intro{display:grid;grid-template-columns:1fr 160px;align-items:center;gap:24px}.handbook-intro>.building-portrait{width:160px;height:144px;object-fit:contain}.handbook-section{border-top:1px solid var(--color-divider);margin-top:24px;padding-top:22px}.handbook-section ol{padding-left:22px}.handbook-section li+li{margin-top:8px}.handbook-note{border-left:3px solid var(--color-brass);padding:8px 16px;background:var(--color-raised)}.handbook-building-links{display:flex;flex-wrap:wrap;gap:8px}.handbook-building-links .ui-button{white-space:normal;text-align:left}.handbook-resources{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:26px 0}.handbook-resources section{display:flex;align-items:flex-start;gap:12px}.handbook-resources section>svg,.handbook-resources section>img{flex:none;width:32px;height:32px}.handbook-resources p{margin:0;color:var(--color-muted)}.handbook .city-catalog-entry{margin-top:20px;padding:20px 0;border-top:1px solid var(--color-divider);scroll-margin-top:16px}.handbook .city-catalog-title{display:flex;align-items:center;gap:20px}.handbook .city-catalog-title .building-portrait{width:96px;height:86px;object-fit:contain;flex:none}.handbook .city-catalog-entry h3{margin-top:0}.handbook .city-catalog-cost{display:flex;flex-wrap:wrap;gap:16px}.handbook .city-catalog-cost>span{display:inline-flex;align-items:center;gap:6px}.handbook .city-catalog-cost svg{width:24px;height:24px}.handbook .city-facts{font-size:.85rem}.handbook .city-facts dt{color:var(--color-muted)}.handbook .city-facts dd{text-align:right}@media (max-width: 600px){.ui-dialog.handbook-dialog{width:calc(100vw - 16px);height:calc(100dvh - 24px)}.handbook>.ui-tabs{padding:6px}.handbook-content{padding:20px 18px 28px}.handbook-intro{grid-template-columns:1fr;gap:8px}.handbook-intro>.building-portrait{grid-row:1;width:100px;height:90px}.handbook-resources{grid-template-columns:1fr}.handbook .city-catalog-title{gap:12px}.handbook .city-catalog-title .building-portrait{width:64px;height:58px}}.feedback-form textarea{display:block;width:100%;min-height:10rem;padding:10px 12px;resize:none;background:var(--color-input);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text);font:1rem/1.5 var(--font-body)}.feedback-form textarea[aria-invalid=true]{border-color:var(--color-danger)}.feedback-form textarea:disabled{opacity:.65}.feedback-count{margin:4px 0;text-align:right;color:var(--color-muted);font-variant-numeric:tabular-nums}.feedback-status{min-height:5rem}.feedback-status .ui-status{overflow-wrap:anywhere}.feedback-submit{min-width:10rem}.audio-settings{display:grid;gap:18px}.audio-toggle{display:flex;gap:12px;align-items:center;min-height:44px;cursor:pointer;font-weight:600}.audio-toggle input{width:20px;height:20px;accent-color:var(--color-brass);cursor:pointer}.audio-hint{color:var(--color-muted);font-size:.9rem;line-height:1.55;margin:0}.audio-volume{display:grid;grid-template-columns:1fr auto;gap:8px}.audio-volume label{font-weight:600}.audio-volume output{font-variant-numeric:tabular-nums}.audio-volume input{grid-column:1 / -1;width:100%;min-height:44px;margin:0;accent-color:var(--color-brass);cursor:pointer}.audio-current{border-block:1px solid var(--color-divider);padding:16px 0}.audio-current p{margin:6px 0;font-family:var(--font-title);font-size:1.3rem}.audio-current small{color:var(--color-muted)}.audio-credits{max-width:960px;margin:0 auto;padding:32px 24px 60px;line-height:1.6}.audio-credits header{margin:28px 0;max-width:650px}.audio-credits h1{font:2rem var(--font-title);margin:8px 0 16px}.audio-credits h2{font:1.35rem var(--font-title);margin:8px 0}.audio-credit-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.audio-credit-list article{background:var(--color-panel);border:1px solid var(--color-divider);padding:22px;border-radius:4px;min-width:0}.audio-credit-links{display:flex;flex-wrap:wrap;gap:8px 20px;margin-bottom:12px}.audio-credit-links a{min-height:44px;display:inline-flex;align-items:center}.audio-credits a,.audio-settings a{color:var(--color-brass);text-underline-offset:3px}.audio-credits a:hover,.audio-settings a:hover{color:var(--color-text)}.audio-credits footer{margin-top:28px;max-width:720px}@media (max-width: 650px){.audio-credits{padding:24px 16px 40px}.audio-credit-list{grid-template-columns:1fr}.audio-credit-list article{padding:18px}.audio-credits h1{font-size:1.7rem}}.interface-settings{display:grid;gap:10px;padding-bottom:24px;border-bottom:1px solid var(--color-border)}.interface-settings p{font-size:13px;color:var(--color-muted);margin:0}.interface-settings input[type=number]{max-width:140px;min-height:44px;padding:8px;font:inherit;background:var(--color-input);color:var(--color-text);border:1px solid var(--color-border);border-radius:4px}:root{--z-game-hud: 10;--z-game-panel: 20;--color-bg: #d8e1da;--color-panel: #eef0e6;--color-raised: #f8f7ef;--color-divider: #81958440;--color-text: #2c4039;--color-muted: #53675c;--color-brass: #855b37;--color-danger: #a1392e;--color-border: #708272;--color-focus: #266f91;--color-success: #346a42;--color-primary-surface: #e8cfac;--color-selected: #f4e5d0;--color-input: #fafbf5;--color-hud: #eef0e6f2;--color-backdrop: #425a4938;--shadow-panel: 0 8px 28px #243e3024, 0 1px 3px #243e3014;--shadow-control: 0 1px 2px #243e3020, inset 0 1px #ffffffb3;--scroll-thumb: #7c9083;--scroll-hover: #855b37;--scroll-track: #e4e9df;--font-title: Georgia, "Times New Roman", serif;--font-body: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--game-nav-height: 52px;color-scheme:light}*{scrollbar-color:var(--scroll-thumb) var(--scroll-track);scrollbar-width:thin}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--scroll-track)}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border:2px solid var(--scroll-track);border-radius:6px}::-webkit-scrollbar-thumb:hover,::-webkit-scrollbar-thumb:active{background:var(--scroll-hover)}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border:1px solid var(--color-brass);border-radius:4px;background:var(--color-primary-surface);color:var(--color-text);box-shadow:var(--shadow-control);font:600 .9rem var(--font-body);text-decoration:none;cursor:pointer}.ui-button.secondary{color:var(--color-text);background:var(--color-raised);border-color:var(--color-border)}.game-icon{width:20px;height:20px;flex:none}.game-navigation{position:relative;z-index:40;display:flex;gap:24px;align-items:center;min-height:52px;padding:0 20px;background:var(--color-bg);color:var(--color-text);border-bottom:1px solid var(--color-divider);font:500 .76rem var(--font-body)}.game-navigation a{color:var(--color-muted);text-decoration:none;display:inline-flex;align-items:center;gap:8px;min-height:44px}.game-navigation a:hover{color:var(--color-text)}.game-navigation .game-brand{color:var(--color-brass);font:500 .85rem var(--font-title);letter-spacing:.1em}.game-brand .game-icon{width:24px;height:24px}.game-primary-nav{display:flex;align-self:stretch;gap:22px}.game-primary-nav a[aria-current=page]{color:var(--color-brass);box-shadow:inset 0 -2px var(--color-brass)}.game-menu{margin-left:auto}.game-menu summary{min-height:44px;display:flex;align-items:center;gap:8px;padding:0 8px;list-style:none;cursor:pointer;color:var(--color-brass)}.game-menu summary::-webkit-details-marker{display:none}.game-menu summary:hover,.game-menu[open] summary{background:var(--color-raised)}.game-menu-links{position:absolute;right:12px;top:calc(100% + 6px);width:min(300px,calc(100vw - 24px));padding:18px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-panel);box-shadow:var(--shadow-panel)}.game-menu-links a,.game-menu-links button{display:flex;padding:8px;border-radius:3px}.game-menu-links button{width:100%;border:0;background:transparent;color:inherit;font:inherit;text-align:left;align-items:center;gap:8px;cursor:pointer}.game-menu-links a:hover,.game-menu-links button:hover,.game-menu-links button:active{background:var(--color-raised)}.game-access-note{margin:12px 0 0;padding-top:12px;border-top:1px solid var(--color-divider);color:var(--color-muted);font-size:.7rem;line-height:1.5}.ui-eyebrow{color:var(--color-brass);font:600 .65rem/1.5 var(--font-body);letter-spacing:.1em;text-transform:uppercase;margin:0 0 10px}.scene-button{min-width:44px}.scene-button.is-compact span{display:none}.ui-button.scene-button.secondary{background:transparent;border-color:transparent;color:var(--color-muted)}.ui-button.scene-button:hover{background:var(--color-raised);color:var(--color-text)}.ui-button.scene-button:disabled{opacity:.5}.ui-button.danger{background:transparent;border-color:var(--color-danger);color:var(--color-danger)}.ui-muted{color:var(--color-muted);line-height:1.6}.ui-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:20px}.ui-dialog{padding:0;width:min(520px,calc(100vw - 24px));max-height:calc(100dvh - 32px);border:1px solid var(--color-border);border-radius:10px;background:var(--color-panel);color:var(--color-text);font:400 .9rem/1.6 var(--font-body);box-shadow:var(--shadow-panel),0 0 0 6px #eef0e64d}.ui-dialog::backdrop{background:var(--color-backdrop)}.ui-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px 10px 24px;border-bottom:1px solid var(--color-divider)}.ui-dialog-heading h2{margin:0;font:400 1.35rem/1.2 var(--font-title)}.ui-dialog-heading .ui-button{padding:8px}.ui-dialog-body{padding:4px 24px 24px;overflow-wrap:anywhere}.ui-form label{display:block;margin:18px 0 8px;color:var(--color-muted);font-size:.8rem}.ui-form input{width:100%;min-height:44px;padding:10px 12px;background:var(--color-input);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text);font:1rem var(--font-body)}.ui-form input[aria-invalid=true]{border-color:var(--color-danger)}.ui-message-list{list-style:none;padding:0}.ui-message-list li{padding:12px 0;border-bottom:1px solid var(--color-divider)}.ui-message-list time{display:block;color:var(--color-muted);font-size:.72rem}.register-page{min-height:calc(100dvh - var(--game-nav-height));padding:clamp(20px,4vw,56px);background:var(--color-bg)}.city-register{max-width:1160px;margin:auto}.register-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--color-divider);padding-bottom:24px}.register-heading h1{font:400 clamp(1.7rem,3vw,2.4rem) var(--font-title);margin:0}.register-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:20px;margin-top:30px}.register-city{background:var(--color-panel);border:1px solid var(--color-divider);border-radius:5px;overflow:hidden}.register-city>header{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--color-divider)}.register-city>header>.game-icon{color:var(--color-brass)}.register-city h2{font:400 1.4rem var(--font-title);margin:0;flex:1;overflow-wrap:anywhere}.register-city dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px}.register-city dt{color:var(--color-muted);font-size:.65rem;margin-bottom:4px}.register-city dd{margin:0;font-size:.85rem;font-variant-numeric:tabular-nums}.register-stocks{display:flex;flex-wrap:wrap;gap:8px 16px;margin:20px;color:var(--color-muted);font-size:.7rem}.register-stocks strong{color:var(--color-text);margin-left:4px}.register-city footer{display:flex;flex-wrap:wrap;gap:8px;padding:14px 18px;border-top:1px solid var(--color-divider)}.register-city footer .ui-button{padding:8px 12px;font-size:.75rem}.register-empty{padding:60px 0;text-align:center;color:var(--color-muted)}.register-empty .game-icon{width:48px;height:48px;color:var(--color-brass)}.register-empty h2{font:400 1.5rem var(--font-title);color:var(--color-text)}.register-pagination{display:flex;align-items:center;justify-content:space-between;margin-top:24px}@media (max-width: 700px){.register-heading{align-items:flex-start;flex-direction:column;gap:16px}.register-page{padding:24px 16px}.ui-dialog-body{padding-inline:18px}}@media (max-width: 700px){.game-navigation{gap:10px;padding:0 10px}.game-navigation .game-brand{font-size:.72rem;gap:5px;letter-spacing:.03em}.game-brand .game-icon{width:20px;height:20px}.game-primary-nav{gap:2px}.game-primary-nav a{padding:0 7px}.game-primary-nav a span,.game-menu summary span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}}.ui-button:hover:not(:disabled){filter:brightness(1.035);border-color:var(--color-brass)}.ui-button:active:not(:disabled){filter:brightness(.97)}.ui-button:disabled{opacity:.5;cursor:not-allowed}.ui-status{min-height:3rem;padding-block:8px;font-size:.9rem;line-height:1.5}.ui-status[role=alert]{color:var(--color-danger)}.session-warning{position:fixed;z-index:30;top:calc(var(--game-nav-height) + 8px);right:12px;width:min(32rem,calc(100% - 24px));max-height:calc(100dvh - var(--game-nav-height) - 24px);overflow-y:auto;padding:8px 12px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-panel);box-shadow:var(--shadow-panel)}.ui-page-state{min-height:65vh;display:grid;align-content:center;justify-items:start;gap:16px;padding:clamp(24px,8vw,96px);background:var(--color-bg);color:var(--color-text)}.ui-page-state h1{font:400 2rem var(--font-title);margin:0}.ui-page-state a{color:var(--color-brass)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}@media (forced-colors: active){*{scrollbar-color:auto}.ui-button{border-color:ButtonText}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto}}.game-navigation.is-playing{position:absolute;top:8px;left:12px;min-height:44px;padding:0;border:0;background:transparent;gap:0}.game-navigation.is-playing .game-brand{display:none}.is-playing .game-primary-nav{gap:4px}.is-playing .game-primary-nav a{min-width:96px;justify-content:center;box-sizing:border-box;padding:0 12px;min-height:42px;border-radius:5px;border:1px solid var(--color-border);background:var(--color-hud);color:var(--color-text);box-shadow:var(--shadow-control)}.is-playing .game-primary-nav a[aria-current=page]{background:var(--color-selected);border-color:var(--color-brass);color:var(--color-brass);box-shadow:var(--shadow-control)}.is-playing .game-menu{position:fixed;right:12px;top:8px}.is-playing .game-menu summary{width:44px;justify-content:center;background:var(--color-hud);border:1px solid var(--color-border);border-radius:5px;box-shadow:var(--shadow-control)}.is-playing .game-menu summary span{display:none}.is-playing .game-menu-links{right:0;top:52px}.game-navigation.is-playing .game-primary-nav a span{position:static;width:auto;height:auto;clip-path:none;overflow:visible}.game-navigation.is-playing .game-primary-nav .game-icon{display:none}.ui-tabs{display:flex;flex-shrink:0;border-bottom:1px solid var(--color-divider)}.ui-tabs button{flex:1;min-width:0;min-height:44px;padding:8px 4px;border:0;background:transparent;color:var(--color-muted);font:500 .8rem var(--font-body);cursor:pointer}.ui-tabs button[aria-selected=true]{color:var(--color-brass);box-shadow:inset 0 -2px var(--color-brass)}.ui-tabs button:hover{background:var(--color-raised)}.ui-tabs button:focus-visible{outline-offset:-4px}.resource-icon{width:42px;height:42px;flex:none;display:inline-block;vertical-align:middle}.resource-icon.is-small{width:24px;height:24px}.building-portrait{width:100px;height:92px;object-fit:contain;flex:none}.game-command-dock{display:flex;align-items:stretch;border:1px solid var(--color-divider);border-radius:8px;padding:4px;background:var(--color-hud);box-shadow:var(--shadow-panel)}.game-command-dock .ui-button{border:0;box-shadow:none;background:transparent;border-radius:4px;flex-direction:column;gap:3px;min-width:68px;padding:7px 12px;font-size:.7rem}.game-command-dock .ui-button .game-icon{color:var(--color-brass)}.game-command-dock .ui-button:hover,.game-command-dock .ui-button[aria-pressed=true]{background:var(--color-selected)}.ui-popover{position:fixed;z-index:50;width:min(310px,calc(100vw - 24px));padding:16px;background:var(--color-panel);color:var(--color-text);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-panel);overflow-y:auto;overscroll-behavior:contain;font:.8rem/1.5 var(--font-body)}.ui-popover h2{font:400 1.3rem/1.2 var(--font-title);margin:0}.ui-popover-close{position:absolute;right:5px;top:5px;padding:8px;min-width:44px}.resource-picker{border:0;padding:0;margin:0;min-width:0}.resource-picker legend{font-size:.75rem;color:var(--color-muted);margin-bottom:5px}.resource-picker-options{display:flex;gap:5px}.resource-picker button{min-width:44px;min-height:48px;flex:1;border:1px solid var(--color-border);border-radius:5px;background:var(--color-input);cursor:pointer;color:var(--color-text)}.resource-picker button[aria-pressed=true]{background:var(--color-selected);border-color:var(--color-brass);box-shadow:inset 0 -2px var(--color-brass)}.resource-picker button:hover:not(:disabled){background:var(--color-raised)}.resource-picker button:disabled{opacity:.55;cursor:not-allowed}.resource-picker .resource-icon{width:34px;height:34px}.quantity-field{min-width:0}.quantity-control{display:flex;gap:0;align-items:stretch}.quantity-control .ui-button{padding:8px;min-width:36px;border-radius:4px 0 0 4px;box-shadow:none}.quantity-control .ui-button:last-child{border-radius:0 4px 4px 0}.quantity-control input{border-radius:0;text-align:center;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;margin:0}.quantity-control input::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);border:0}@media (max-width: 700px){.game-navigation.is-playing{left:8px;top:6px}.is-playing .game-menu{right:8px;top:6px}.game-command-dock .ui-button{min-width:52px;padding:6px 8px;font-size:.65rem}.resource-picker-options{gap:3px}.resource-picker .resource-icon{width:30px;height:30px}}:root{--motion-enter: .18s;--motion-ease: cubic-bezier(.2, .7, .25, 1)}@keyframes surface-enter{0%{opacity:0;translate:0 6px}to{opacity:1;translate:0 0}}.ui-dialog[open],.ui-popover,.city-sidebar:not([hidden]),.plot-details,.hub-details,.city-quick-card,.game-menu[open]>div{animation:surface-enter var(--motion-enter) var(--motion-ease) both}.ui-dialog[open]::backdrop{animation:backdrop-enter var(--motion-enter) ease-out both}@keyframes backdrop-enter{0%{opacity:0}to{opacity:1}}.ui-button,.scene-button,.ui-tab{transition:background-color .12s ease-out,border-color .12s ease-out,color .12s ease-out}@media (prefers-reduced-motion: reduce){.ui-dialog[open],.ui-dialog[open]::backdrop,.ui-popover,.city-sidebar:not([hidden]),.plot-details,.hub-details,.city-quick-card,.game-menu[open]>div{animation:none}.ui-button,.scene-button,.ui-tab{transition:none}}:root{font-family:var(--font-body);line-height:1.4;color:var(--color-text);background-color:var(--color-bg)}*{box-sizing:border-box}body{margin:0;min-height:100vh}#root{min-height:100vh}
