.visual-ui{width:100%;height:100dvh}.resource-chip{white-space:nowrap;color:inherit;align-items:center;gap:5px;font-size:14px;display:inline-flex!important}.resource-chip strong{font-variant-numeric:tabular-nums}.game-icon{vertical-align:middle;flex-shrink:0}.visual-ui .chapter,.visual-ui .region-season{display:none}.visual-ui .region{font-size:10px}.visual-ui .workshop-launch{top:95px}.visual-ui .regions-launch{display:none}.visual-ui .camera-tools{gap:7px;top:24%}.visual-ui .camera-button{min-height:48px}.visual-ui .camera-button span{font-size:10px}.visual-ui .camera-button:has(small){min-height:48px}.hide-labels .camera-button span{display:none}.visual-ui .mission-card{width:430px;max-width:430px;padding:12px 16px}.visual-ui .mission-top{align-items:center;gap:8px;margin:0 0 8px}.visual-ui .mission-card.minimized .mission-top{margin:0}.objective-name{text-align:start;flex:1;min-height:44px;font-size:16px;line-height:1.3}.visual-action-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.visual-action-row .primary-action{width:auto;min-width:100px;margin:0}.visual-flow{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.visual-detail{color:inherit;margin-top:7px;font-size:12px}.visual-detail summary{cursor:pointer;opacity:.8;align-items:center;min-height:36px;display:flex}.visual-detail p{max-width:50ch;line-height:1.6}.visual-ui .mission-card progress{accent-color:#d1bd7b;width:100%;height:8px}.visual-ui .priority-choices{margin:8px 0}.visual-ui .priority-choices button{align-items:center;gap:6px;display:flex}.visual-ui .priority-choices strong{font-size:12px}.visual-ui .rail-console{width:300px}.visual-ui .segmented button{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.visual-ui .console-heading>strong{display:flex}.visual-ui .train-list button{gap:8px}.visual-ui .mission-foot{display:none}.visual-ui .save-warning{color:#ffe4a4;margin:5px 0;font-size:12px;line-height:1.5}.quick-map{z-index:25;border-radius:18px;grid-template-columns:1fr 1fr;gap:10px;width:260px;padding:50px 12px 12px;display:grid;position:absolute;top:23%;right:86px}.quick-map>button:not(.map-close){border:1px solid #fff2;border-radius:12px;flex-direction:column;align-items:center;gap:7px;min-height:85px;font-size:12px;display:flex}.quick-map .map-close{min-width:44px;min-height:44px;position:absolute;top:3px;right:5px}.visual-help p{margin:15px 0;font-size:14px;line-height:1.6}.visual-ui .settings-panel{max-height:calc(100dvh - 80px);overflow:auto}.visual-ui .event-toast{font-size:12px;top:155px}.visual-ui .build-celebration{top:155px}.visual-ui .build-celebration small{display:none}.object-panel{z-index:26;border-radius:18px;gap:10px;width:260px;padding:18px;display:grid;position:absolute;top:24%;left:50%;transform:translate(-50%)}.object-panel>button{min-height:44px}:is(.visual-ui button:focus-visible,.visual-ui summary:focus-visible){outline-offset:3px;outline:3px solid #e4bf69}.visual-ui [dir=rtl] .visual-flow{direction:ltr}@media (max-width:680px){.visual-ui .workshop-launch{top:82px;left:12px}.visual-ui .camera-tools{gap:5px;top:23%;right:10px}.visual-ui .mission-card{width:100%;max-width:none;padding:9px 12px}.visual-ui .objective-name{font-size:14px}.visual-ui .bottom-ui{gap:7px;bottom:12px;left:12px;right:12px}.visual-ui .rail-console{width:100%}.visual-ui .mission-top{gap:5px}.visual-ui .mission-top>.game-icon{width:32px;height:32px}.visual-ui .visual-flow{gap:3px}.visual-ui .visual-action-row .primary-action{min-width:84px}.visual-ui .region{display:none}.quick-map{width:calc(100% - 84px);max-width:285px;right:70px}.visual-ui .event-toast,.visual-ui .build-celebration{top:139px}.visual-ui .priority-choices button{flex-wrap:wrap;padding:8px}.visual-ui .priority-choices .game-icon{max-width:32px}.visual-ui .objective-progress{margin:5px 0}.visual-ui .settings-panel{max-width:calc(100vw - 24px)}.visual-ui .visual-detail summary{min-height:36px}}@media (max-height:500px){.visual-ui .camera-tools{gap:2px;top:15%}.visual-ui .camera-button{min-height:40px}.visual-ui .mission-card{max-width:350px}.visual-ui .workshop-launch{top:72px}.visual-ui .visual-help{max-height:95dvh;overflow:auto}}.help-legend{grid-template-columns:1fr 1fr;gap:8px;display:grid}.help-legend span{align-items:center;gap:8px;display:flex}.visual-ui .object-panel button{white-space:normal}.hide-labels .region{display:none}.hide-labels .map-label,.hide-labels .celebration-copy,.hide-labels .event-toast>span,.hide-labels .loading-scene>h2,.hide-labels .loading-scene>p{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hide-labels .quick-map>button:not(.map-close){min-height:72px}.hide-labels .celebration-seal{align-items:center;gap:8px;display:flex}.hide-labels .camera-button .game-icon{width:30px;height:30px}.hide-labels .loading-scene:has(.primary-action)>p{clip:auto;white-space:normal;width:auto;height:auto;margin:0;position:static;overflow:visible}.quick-map{width:284px;max-height:calc(100dvh - 150px);padding:42px 12px 12px;display:block;overflow:auto}.map-places{height:214px;position:relative}.map-rails{fill:none;stroke:#d7cba57a;stroke-width:5px;stroke-dasharray:3 5;width:100%;height:100%;position:absolute;inset:0}.map-places>button{background:#233f32;border:1px solid #e5d1a849;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-width:60px;min-height:60px;display:flex;position:absolute}.map-riverside{bottom:8px;left:8px}.map-quarry{top:8px;left:8px}.map-foundry{top:8px;right:8px}.map-viaduct{bottom:8px;right:8px}.map-places>.map-connection{background:#1c372b;min-width:44px;min-height:44px;top:87px;left:18px}.map-tools{border-top:1px solid #e5d1a836;justify-content:space-around;gap:12px;padding-top:10px;display:flex}.map-tools>button{border:1px solid #e5d1a838;border-radius:10px;flex-direction:column;flex:1;justify-content:center;align-items:center;min-width:44px;min-height:52px;display:flex}.quick-map .map-label{font-size:14px}.quick-map button:focus-visible{outline-offset:2px;outline:3px solid #ffe1a1}@media (max-width:680px){.quick-map{width:calc(100% - 84px);max-width:284px;top:14%;right:70px}}.workshop-launch{z-index:12;color:#263d35;border-radius:16px;align-items:center;gap:9px;padding:12px 15px;font-size:13px;font-weight:650;display:flex;position:absolute;top:135px;left:30px}.workshop-launch strong{color:#796126;border-left:1px solid #bcc5aa;align-items:center;gap:5px;padding-left:10px;display:flex}.railway-workshop{max-height:calc(100dvh - 24px);font-family:var(--font-sans),sans-serif;flex-direction:column;box-shadow:0 22px 100px #102c3860;color:#293c32!important;background:#f5f3e9!important;border:1px solid #d3d5be!important;border-radius:24px!important;gap:12px!important;width:min(680px,100vw - 24px)!important;max-width:680px!important;padding:24px!important;display:flex!important}.workshop-heading h2{margin:7px 0;font-size:25px;font-weight:650;line-height:1.15}.workshop-heading p:not(.eyebrow){color:#617064;font-size:13px}.workshop-scroll{overscroll-behavior:contain;min-height:0;padding:2px;overflow:auto}.economy-strip{border-bottom:1px solid #d5dac8;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-bottom:15px;padding:13px 0;font-size:13px;display:flex}.economy-strip span{align-items:center;gap:6px;display:flex}.project-cards{grid-template-columns:1fr 1fr;gap:10px;display:grid}.project-cards article{background:#fffdf5;border:1px solid #d6dac7;border-radius:15px;padding:14px}.project-cards article>div{justify-content:space-between;gap:5px;display:flex}.project-cards h3,.operator-policy h3,.save-tools h3,.plan-review h3{font-size:16px;font-weight:650}.project-cards p,.operator-policy p,.save-tools p,.plan-review p,.work-order p{color:#66715e;margin:8px 0;font-size:12px;line-height:1.6}.project-cards button{text-align:left;color:#305d45;border-top:1px solid #e3e6d8;justify-content:space-between;align-items:center;gap:6px;width:100%;min-height:44px;margin-top:10px;font-size:12px;font-weight:600;display:flex}.project-cards button:disabled{opacity:.55;cursor:default}.owned-label{color:#4c7557;align-items:center;gap:3px;font-size:10px;display:flex}.project-cards .owned{background:#eaf0df}.plan-review,.work-order{background:#e8eddd;border:1px solid #bacba6;border-radius:16px;margin-bottom:14px;padding:16px}.plan-cost{gap:12px;margin:12px 0;font-size:14px;display:flex}.operator-policy,.save-tools,.service-route{border-top:1px solid #d5dac8;margin-top:18px;padding-top:15px;display:block}.operator-policy h3{align-items:center;gap:6px;display:flex}.operator-policy label{justify-content:space-between;align-items:center;gap:8px;min-height:46px;font-size:12px;display:flex}.operator-policy select,.service-route select{color:#294333;background:#fffdf5;border:1px solid #c2ceb4;border-radius:9px;max-width:65%;min-height:44px;padding:9px}.operator-policy input{accent-color:#365e44;width:22px;height:22px}.service-route>span{margin-bottom:8px;font-size:14px;font-weight:600;display:block}.service-route select{width:100%;max-width:100%}.service-route small{color:#69735f;margin-top:7px;font-size:11px;display:block}.save-tools>div{flex-wrap:wrap;gap:8px;display:flex}.save-tools button{border:1px solid #c2ceb4;border-radius:10px;align-items:center;gap:6px;min-height:44px;padding:10px 12px;font-size:12px;display:flex}.workshop-message{background:#fff2cb;border-radius:10px;padding:10px;font-size:12px;line-height:1.5}.workshop-return{flex-shrink:0}.import-confirm{background:#f4e7c5;border-radius:10px;margin-top:10px;padding:12px}.workshop-intro{background:#e8eddd;border-radius:14px;padding:15px;font-size:14px;line-height:1.6}.railway-workshop button:focus-visible{outline-offset:3px;outline:3px solid #769848}.railway-workshop select:focus-visible{outline-offset:3px;outline:3px solid #769848}.workshop-launch:focus-visible{outline-offset:3px;outline:3px solid #769848}.service-meter{color:#526748;justify-content:space-between;padding-top:10px;font-size:12px;display:flex}@media (max-width:600px){.workshop-launch{min-height:44px;padding:10px;font-size:11px;top:105px;left:14px}.railway-workshop{padding:18px!important}.workshop-heading h2{font-size:21px}.project-cards{grid-template-columns:1fr}.project-cards p{margin:5px 0}.project-cards article{padding:12px}.economy-strip{font-size:12px}.workshop-heading .eyebrow{font-size:9px}}@media (max-height:500px){.railway-workshop{gap:6px!important;padding:14px!important}.workshop-heading h2{font-size:19px}.workshop-heading>p:not(.eyebrow){display:none}.workshop-launch{top:83px;left:16px}.workshop-return{min-height:40px}}.workshop-launch{color:#f3e7c8}.workshop-launch strong{color:#f3dca1}.railway-workshop .eyebrow{color:#6b794a}.route-preview{background:#f3f3e5;border:1px solid #c4d0b6;border-radius:12px;margin:12px 0;padding:8px}.route-preview svg{width:100%;height:160px}.route-preview text{fill:#3c5140;font-size:4px;font-weight:600}.route-preview figcaption{text-align:center;color:#637056;font-size:10px}@media (max-width:600px){.phase2a-app .event-toast{width:max-content;max-width:calc(100% - 88px);top:160px;left:14px;transform:none}.phase2a-app .build-celebration{top:160px}}@media (max-height:500px) and (min-width:601px){.phase2a-app .event-toast{max-width:300px;top:16px;left:50%;transform:translate(-50%)}.phase2a-app .build-celebration{max-width:calc(100% - 350px);top:135px}}.visual-workshop .vw-projects{grid-template-columns:1fr;gap:10px}.visual-workshop .vw-card-heading{justify-content:flex-start;align-items:center;gap:12px;min-width:0;display:flex}.visual-workshop .vw-card-heading>div{flex:1;min-width:0}.visual-workshop .vw-card-heading h3{margin:0;font-size:15px;line-height:1.3}.visual-workshop .vw-card-heading p{color:#526449;margin:3px 0 0;font-size:12px;line-height:1.35}.visual-workshop .vw-card-heading>.owned-label{flex-shrink:0;margin-inline-start:auto}.visual-workshop .vw-costs{justify-content:flex-start;gap:22px;margin:10px 0;display:flex}.visual-workshop .vw-costs>span{gap:3px;min-width:78px;display:grid}.visual-workshop .vw-costs small{color:#62715b;font-size:11px;font-weight:600}.visual-workshop .vw-card-footer{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.visual-workshop .vw-card-footer details{flex:1;min-width:0}.visual-workshop .vw-card-footer>button{background:#edf2e1;border:1px solid #bdcdb1;border-radius:10px;flex-shrink:0;width:auto;min-width:98px;margin:0;padding:0 12px}.visual-workshop details{color:#57654d;font-size:12px}.visual-workshop summary{cursor:pointer;align-content:center;width:fit-content;min-height:44px;padding:10px 6px;font-weight:600;display:list-item}.visual-workshop summary:focus-visible{outline-offset:2px;border-radius:4px;outline:3px solid #769848}.visual-workshop details p{max-width:54ch;margin:0 0 10px;line-height:1.5}.visual-workshop .vw-actions{flex-wrap:wrap;gap:10px;margin:8px 0;display:flex}.visual-workshop .vw-actions>button{flex:1;min-height:44px}.visual-workshop .vw-commit-note{color:#405a35;font-size:12px}.visual-workshop .plan-review>small{color:#526449;font-size:11px}.visual-workshop .vw-delivery{align-items:center;gap:8px;margin:6px 0;font-size:12px;display:flex}.visual-workshop .work-order progress{accent-color:#477a4b;width:100%;height:10px;margin-top:12px}.visual-workshop .work-order button{min-height:44px;padding:8px 12px}.visual-workshop .work-order button:disabled{opacity:.5;cursor:not-allowed}.visual-workshop .vw-operator fieldset{border:0;min-width:0;margin:12px 0;padding:0}.visual-workshop .vw-operator legend{margin-bottom:8px;font-size:12px;font-weight:600}.visual-workshop .vw-choice-row{flex-wrap:wrap;gap:8px;display:flex}.visual-workshop .vw-choice-row button{color:#415a39;background:#fffdf5;border:1px solid #c6d0b7;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:7px;min-width:85px;min-height:62px;padding:8px;font-size:12px;display:flex}.visual-workshop .vw-choice-row button[aria-pressed=true]{background:#e4edd5;border:2px solid #527747;font-weight:650}.visual-workshop .operator-policy input{width:28px;height:28px;margin:8px}.visual-workshop .service-route label>span{margin-bottom:8px;font-size:13px;font-weight:600;display:block}.visual-workshop .service-route small{align-items:center;gap:5px;display:flex}.visual-workshop .save-tools{border-top:0;margin-top:0;padding-top:0}.visual-workshop .save-tools .import-confirm{display:block}.visual-workshop .import-confirm button{margin-top:8px}.visual-workshop .workshop-intro>svg,.visual-workshop .workshop-intro>img{margin-inline-end:8px;display:inline-block}.visual-workshop .project-cards article{padding:12px 14px}.visual-workshop .plan-review .route-preview svg{height:145px}.visual-workshop .economy-strip{padding-top:3px}@media (max-width:420px){.visual-workshop .vw-card-heading{gap:8px}.visual-workshop .vw-choice-row button{flex-direction:column;gap:3px}.visual-workshop .vw-card-heading h3{font-size:14px}.visual-workshop .vw-card-heading>.owned-label{font-size:9px}.visual-workshop .vw-costs{gap:18px}.visual-workshop .vw-actions{flex-direction:column}.visual-workshop .economy-strip{gap:8px}.visual-workshop .project-cards article{padding:10px}}.atlas-launch{z-index:12;color:#f3e7c8;border-radius:15px;align-items:center;gap:8px;min-height:44px;padding:9px 13px;font-size:14px;display:flex;position:absolute;top:146px;right:18px}.atlas-panel{max-height:calc(100dvh - 24px);color:#294736!important;flex-direction:column!important;gap:12px!important;width:min(560px,100vw - 24px)!important;max-width:560px!important;padding:20px!important;display:flex!important}.atlas-heading{justify-content:space-between;align-items:center;gap:12px;padding-right:24px;display:flex}.atlas-heading h2{font-size:25px;line-height:1.15}.atlas-heading p{color:#687057;margin:6px 0 0;font-size:12px}.atlas-mode{white-space:nowrap;background:#e5ebdc;border-radius:10px;align-items:center;gap:5px;padding:6px 8px;font-size:11px;font-weight:700;display:flex}.atlas-mode.is-managed{background:#dfe8cb}.atlas-mode.is-archived{color:#76674e;background:#ebe3d1}.atlas-scroll{overscroll-behavior:contain;min-height:0;max-height:65dvh;padding-right:4px;overflow-y:auto}.atlas-scroll h3{margin:12px 0 7px;font-size:14px;font-weight:750}.atlas-note{color:#687057;margin:6px 0 12px;font-size:12px;line-height:1.5}.atlas-alert,.atlas-handoff{background:#f1e2bd;border-radius:10px;margin:8px 0;padding:10px 12px;font-size:12px;line-height:1.5}.atlas-handoff{background:#e5ebdc}.atlas-section-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.atlas-section-heading>span,.atlas-section-heading small{font-size:12px;font-weight:500}.atlas-section-heading select{background:#fff8e7;border:1px solid #b7bea5;border-radius:9px;max-width:140px;min-height:44px;padding:6px;font-size:12px}.atlas-regions{gap:7px;display:grid}.atlas-region{background:#fff9e9;border:1px solid #d5d8be;border-radius:12px;align-items:center;gap:10px;padding:9px 8px 9px 11px;display:flex}.atlas-region>svg{flex-shrink:0}.atlas-region>div{flex:1;min-width:0}.atlas-region h4{margin:0;font-size:14px;font-weight:750}.atlas-region p{color:#657153;margin:2px 0;font-size:12px}.atlas-region small{color:#697252;font-size:11px;line-height:1.4;display:block}.atlas-visit{color:#425d3c;background:#e5ebdc;border-radius:10px;place-items:center;min-width:44px;min-height:44px;display:grid}.atlas-visit:hover{background:#d5e0c4}.atlas-pagination{justify-content:space-between;align-items:center;gap:10px;margin:8px 0;font-size:12px;display:flex}.atlas-pagination button,.atlas-actions>button:not(.primary-action),.atlas-mode-actions button{color:#42583b;background:#f8f2df;border:1px solid #b7bea5;border-radius:10px;min-height:44px;padding:9px 12px;font-size:12px;font-weight:650}.atlas-pagination button:disabled,.atlas-panel button:disabled{opacity:.45;cursor:not-allowed}.atlas-current{background:#e5ebdc;border-radius:10px;align-items:center;gap:9px;margin:12px 0;padding:10px;display:flex}.atlas-current strong{font-size:13px}.atlas-current p{margin:3px 0 0;font-size:12px}.atlas-planning{border-top:1px solid #d7d8bd;margin:12px 0;padding-top:6px}.atlas-planning>summary,.atlas-reserves>summary{cursor:pointer;align-content:center;min-height:44px;padding:10px 0;font-size:13px;font-weight:700;display:list-item}.atlas-planning fieldset{border:0;min-width:0;padding:0}.atlas-services{gap:5px;display:grid}.atlas-services label,.atlas-order{cursor:pointer;background:#f1f0df;border-radius:9px;align-items:center;gap:10px;min-height:48px;padding:7px 9px;font-size:12px;display:flex}.atlas-services label>span{gap:3px;display:grid}.atlas-services strong{font-size:12px;font-weight:650}.atlas-services small{color:#697252;font-size:11px}.atlas-panel input[type=checkbox]{accent-color:#5a754c;flex-shrink:0;width:19px;height:19px}.atlas-order{margin:5px 0}.atlas-reserves p{color:#687057;margin:0 0 9px;font-size:12px;line-height:1.5}.atlas-reserve-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.atlas-reserve-grid label{justify-content:space-between;align-items:center;gap:6px;min-width:0;font-size:12px;display:flex}.atlas-reserve-grid input{color:#294736;font-variant-numeric:tabular-nums;background:#fff8e7;border:1px solid #b7bea5;border-radius:9px;width:58px;min-height:44px;padding:8px 5px}.atlas-actions{flex-wrap:wrap;gap:8px;margin:11px 0;display:flex}.atlas-actions>button{flex:1;min-height:44px}.atlas-actions .primary-action{justify-content:center;gap:8px;font-size:13px;padding:10px 12px!important}.atlas-preview{background:#eef0dc;border-radius:12px;margin:12px 0;padding:10px 13px}.atlas-preview p,.atlas-preview li{font-size:12px;line-height:1.5}.atlas-preview ul{margin:8px 0;padding-left:20px;list-style:outside}.atlas-reserve-summary{gap:5px;margin:10px 0;font-size:12px;display:grid}.atlas-reserve-summary>div{justify-content:space-between;gap:12px;display:flex}.atlas-reserve-summary dd{font-variant-numeric:tabular-nums}.atlas-trial{background:#e5ebdc;border-radius:10px;margin:10px 0;padding:10px 12px}.atlas-trial h3{margin-top:0}.atlas-trial p{margin:5px 0;font-size:12px;line-height:1.5}.atlas-trial-values{flex-wrap:wrap;gap:8px;font-size:12px;font-weight:700;display:flex}.atlas-mode-actions{border-top:1px solid #d7d8bd;flex-wrap:wrap;gap:8px;padding-top:10px;display:flex}.atlas-mode-actions button{flex:1;justify-content:center;align-items:center;gap:6px;display:flex}.atlas-return{flex-shrink:0;justify-content:space-between;min-height:44px;padding:11px 14px!important;font-size:14px!important}:is(.atlas-panel button:focus-visible,.atlas-panel input:focus-visible,.atlas-panel select:focus-visible,.atlas-panel summary:focus-visible){outline-offset:2px;outline:3px solid #957045}@media (max-width:600px){.atlas-launch{font-size:12px;top:198px;right:14px}.atlas-panel{gap:9px!important;padding:15px!important}.atlas-heading{align-items:flex-start;gap:6px}.atlas-heading h2{font-size:22px}.atlas-mode{padding:5px;font-size:10px}.atlas-heading p{max-width:180px}.atlas-scroll{max-height:64dvh}.atlas-reserve-grid{grid-template-columns:1fr}.atlas-region small{font-size:10px}.atlas-actions>button{font-size:12px}}@media (max-height:600px){.atlas-panel{gap:7px!important;padding:12px 16px!important}.atlas-heading h2{font-size:20px}.atlas-scroll{flex:1;max-height:none}.atlas-return{min-height:44px}}@media (prefers-reduced-motion:reduce){.atlas-panel *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.atlas-alert,.atlas-handoff{display:block}.chapter-launch{z-index:12;color:#f3e7c8;border-radius:15px;align-items:center;gap:8px;min-height:44px;padding:9px 13px;font-size:14px;display:flex;position:absolute;top:146px;left:205px}.chapter-panel{max-height:calc(100dvh - 24px);color:#294736!important;gap:12px!important;width:min(570px,100vw - 24px)!important;max-width:570px!important;padding:20px!important}.chapter-panel button,.chapter-panel select,.chapter-panel summary{touch-action:manipulation}.chapter-panel button:focus-visible{outline-offset:3px;outline:3px solid #8e682a}.chapter-panel select:focus-visible{outline-offset:3px;outline:3px solid #8e682a}.chapter-panel summary:focus-visible{outline-offset:3px;outline:3px solid #8e682a}.chapter-panel [role=tabpanel]:focus-visible{outline-offset:3px;outline:3px solid #8e682a}.chapter-heading{flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding-inline-end:24px;display:flex}.chapter-heading h2{margin:0 0 6px;font:600 25px/1.15 Georgia,serif}.chapter-heading p{color:#60705d;align-items:center;gap:5px;margin:0;font-size:12px;display:flex}.chapter-tabs{background:#e5e9dc;border-radius:13px;flex-shrink:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;display:grid}.chapter-tabs button{border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:46px;padding:7px 4px;font-size:13px;font-weight:650;display:flex}.chapter-tabs button[aria-selected=true]{background:#fffdf6;outline:1px solid #b6c4a5;box-shadow:0 1px 4px #233c2720}.chapter-scroll{scrollbar-gutter:stable;min-height:0;max-height:min(58dvh,510px);padding:3px!important}.chapter-intro{color:#5d7059;margin:0 0 12px;font-size:12px;line-height:1.5}.chapter-projects,.chapter-trains{gap:10px;display:grid}.chapter-card{background:#fffdf6;border:1px solid #ccd5bd;border-radius:14px;min-width:0;padding:13px}.chapter-card.is-complete{background:#e8eedf}.chapter-card-heading{align-items:center;gap:10px;display:flex}.chapter-card-heading>svg{flex-shrink:0}.chapter-card-heading>div{flex:1;min-width:0}.chapter-card h3{margin:0 0 4px;font-size:15px;line-height:1.3}.chapter-card-heading p{color:#60705a;margin:0;font-size:12px;line-height:1.4}.chapter-card small{color:#65725b;font-size:11px;line-height:1.45;display:block}.chapter-location{text-transform:uppercase;letter-spacing:.07em;color:#6b765e;margin:0 0 5px;font-size:10px}.chapter-resources{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:6px;margin:10px 0;display:flex}.chapter-resources .resource-chip{font-size:12px}.chapter-material{color:#4b4a35;background:#ede8d8;border-radius:8px;align-items:center;gap:3px;padding:3px 6px;display:inline-flex}.chapter-material strong{font-size:12px}.chapter-material svg{flex-shrink:0}.chapter-actions{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.chapter-actions button,.chapter-pin,.chapter-undo{color:#294c35;background:#e3ebd7;border:1px solid #b7c79f;border-radius:10px;min-height:44px;padding:8px 11px;font-size:12px;font-weight:650}.chapter-actions button:first-child{flex:1}.chapter-actions button:disabled{opacity:.5;cursor:default}.chapter-actions button.quiet,.chapter-undo{background:0 0}.chapter-pin{background:#e9efde;justify-content:center;align-items:center;gap:6px;width:100%;margin:0 0 10px;display:flex}.chapter-pin[aria-pressed=true]{background:#dfe9d2;border-color:#63824e}.chapter-done{color:#3d6643;align-items:center;gap:6px;margin:10px 0 0;font-size:12px;display:flex}.chapter-progress{color:#617158;gap:7px;margin:10px 0;font-size:12px;display:grid}.chapter-panel progress{accent-color:#779359;background:#dce4d0;border:0;border-radius:9px;width:100%;height:7px;overflow:hidden}.chapter-panel progress::-webkit-progress-bar{background:#dce4d0;border-radius:9px}.chapter-panel progress::-webkit-progress-value{background:#779359;border-radius:9px}.chapter-panel progress::-moz-progress-bar{background:#779359;border-radius:9px}.chapter-controls{gap:2px;margin-top:10px;display:grid}.chapter-controls label{justify-content:space-between;align-items:center;gap:12px;min-height:44px;font-size:12px;display:flex}.chapter-controls select{background:#f6f7ec;border:1px solid #bdcaaa;border-radius:8px;max-width:65%;min-height:38px;padding:5px 8px;font-size:12px}.chapter-controls input[type=checkbox]{accent-color:#507049;width:21px;height:21px}.chapter-controls fieldset{border:0;margin:0;padding:0}.chapter-controls legend{padding:5px 0;font-size:12px;font-weight:650}.chapter-preview{text-align:center;background:#e9efde;border:1px solid #bac9a6;border-radius:16px;padding:17px}.chapter-preview>svg{margin-inline:auto}.chapter-preview h3{margin:10px 0;font:600 22px/1.2 Georgia,serif}.chapter-preview p{color:#586d50;font-size:13px;line-height:1.5}.chapter-preview .chapter-resources{justify-content:center}.chapter-preview .primary-action{width:100%;margin:12px 0 7px}.chapter-preview .chapter-undo{width:100%}.chapter-panel details{margin:10px 0}.chapter-panel summary{cursor:pointer;color:#506749;min-height:44px;padding:12px 2px;font-size:12px}.chapter-panel details p{color:#65725b;font-size:12px;line-height:1.5}.chapter-celebration{text-align:center;padding:15px 8px 8px}.chapter-celebration>svg{margin-inline:auto}.chapter-celebration h3{margin:12px 0 8px;font:600 23px/1.2 Georgia,serif}.chapter-celebration p{color:#586d50;font-size:13px;line-height:1.5}.chapter-service-state{color:#647356;justify-content:space-between;align-items:center;gap:8px;margin:10px 0 6px;font-size:12px;display:flex}.chapter-empty{text-align:center;color:#60705d;background:#e9efde;border-radius:12px;padding:15px;font-size:13px;line-height:1.5}.chapter-return{flex-shrink:0}@media (max-width:680px){.chapter-launch{padding:7px 10px;font-size:12px;top:130px;left:178px}.chapter-panel{gap:10px!important;padding:15px!important}.chapter-heading h2{font-size:23px}.chapter-tabs button{gap:4px;font-size:12px}.chapter-tabs button svg{width:21px;height:21px}.chapter-scroll{max-height:57dvh}}@media (max-width:360px){.chapter-launch{left:164px}.chapter-panel{padding:12px!important}.chapter-controls label{gap:7px}}@media (max-height:600px){.chapter-panel{gap:7px!important;padding:12px 16px!important}.chapter-heading h2{font-size:21px}.chapter-scroll{flex:1;max-height:none}.chapter-tabs button{min-height:44px}.chapter-return{min-height:44px;padding:10px 12px!important}}@media (prefers-reduced-motion:reduce){.chapter-panel *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.chapter-queues{color:#4d6847;background:#e8eedf;border-radius:11px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:0 0 10px;padding:9px 11px;font-size:12px;display:flex}.chapter-queues>span{align-items:center;gap:6px;display:flex}.chapter-queues strong{font-variant-numeric:tabular-nums}.chapter-actions button{justify-content:space-between;align-items:center;gap:8px;display:flex}.chapter-actions button.quiet{justify-content:center}.chapter-town-order{margin:0 0 12px}.chapter-town-order .chapter-resources{margin:8px 0}.regions-launch{z-index:12;color:#f3e7c8;border-radius:15px;align-items:center;gap:8px;min-height:44px;padding:10px 15px;font-size:14px;display:flex;position:absolute;top:194px;left:30px}.visual-regions{--region-line:#ccd5bd;--region-ink:#294736;--region-soft:#e9efdf;color:#293c32!important;gap:12px!important;width:min(640px,100vw - 24px)!important;max-width:640px!important;padding:22px!important}.visual-regions button,.visual-regions summary{touch-action:manipulation}.visual-regions button:focus-visible{outline-offset:3px;outline:3px solid #8e682a}.visual-regions summary:focus-visible{outline-offset:3px;outline:3px solid #8e682a}.visual-regions input:focus-visible{outline-offset:3px;outline:3px solid #8e682a}.visual-regions [role=tabpanel]:focus-visible{outline-offset:3px;outline:3px solid #8e682a}.region-heading{flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding-inline-end:28px;display:flex}.region-heading h2{margin:0 0 6px;font:600 25px/1.15 Georgia,serif}.region-heading p{color:#60705d;align-items:center;gap:5px;margin:0;font-size:12px;display:flex}.region-tabs{background:#e5e9dc;border-radius:13px;flex-shrink:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;display:grid}.region-tabs button{overflow-wrap:anywhere;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:48px;padding:7px 5px;font-size:13px;font-weight:650;display:flex;position:relative}.region-tabs button[aria-selected=true]{color:#264930;background:#fffdf6;outline:1px solid #b6c4a5;box-shadow:0 1px 4px #233c2720}.region-count{color:#fffce9;background:#365c43;border-radius:20px;justify-content:center;align-items:center;min-width:17px;min-height:17px;padding:2px;font-size:10px;display:inline-flex}.region-tab-scroll{scrollbar-gutter:stable;max-height:min(61dvh,520px);padding:4px!important}.visual-regions .region-map{grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);align-items:center;gap:4px;margin:0 0 12px;display:grid}.region-place{border:1px solid var(--region-line);background:#fffdf6;border-radius:16px;min-width:0;overflow:hidden}.region-place>button:first-child{text-align:center;border:2px solid #0000;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:100%;min-height:174px;padding:12px 7px;display:flex}.region-place>button.is-selected:first-child{background:#e8efdd;border-color:#4e7451}.region-place strong{overflow-wrap:anywhere;font-size:16px;line-height:1.2}.region-place small{color:#66725d;font-size:11px;line-height:1.4}.region-visit{color:#3c6347;justify-content:center;align-items:center;gap:5px;margin-top:3px;font-size:12px;font-weight:650;display:flex}.region-stock{border-top:1px solid #e3e6d9;flex-wrap:wrap;justify-content:center;gap:5px;min-height:42px;padding:8px 4px;display:flex}.region-link{text-align:center;color:#7b826a;flex-direction:column;align-items:center;gap:5px;display:flex}.region-link small{overflow-wrap:anywhere;font-size:10px;line-height:1.3}.region-link.is-connected{color:#386344}.visual-regions .region-small-action{border-top:1px solid var(--region-line);width:100%;min-height:44px;color:var(--region-ink);justify-content:center;align-items:center;padding:9px;font-size:12px;font-weight:650;display:flex}.region-world-button{background:#e9efde;border:1px solid #bdcbaa;border-radius:13px;align-items:center;gap:12px;width:100%;min-height:52px;padding:10px 14px;font-size:13px;font-weight:650;display:flex}.region-world-button>svg:last-child{margin-inline-start:auto}.region-flow,.region-plan-flow{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin:14px 0 7px;display:flex}.visual-regions .region-caption{text-align:center;color:#67725e;margin:6px 0 9px;font-size:12px;line-height:1.45;display:block}.region-filter{gap:6px;margin-bottom:10px;display:flex}.region-filter button{border:1px solid var(--region-line);border-radius:10px;flex:1;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:7px;font-size:12px;display:flex}.region-filter button[aria-pressed=true]{background:#dfe9d4;border:2px solid #55734d}.region-project-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.region-project-cards article{border:1px solid var(--region-line);background:#fffdf6;border-radius:15px;min-width:0;padding:12px}.region-project-cards article.is-complete{background:#e8eedf}.region-project-heading{align-items:center;gap:9px;display:flex}.region-project-heading>div{min-width:0}.region-project-heading h3{overflow-wrap:anywhere;margin:0 0 5px;font-size:15px;line-height:1.2}.region-project-heading p{color:#60705a;margin:0;font-size:12px;line-height:1.4}.region-project-heading>svg{flex-shrink:0}.region-cost{grid-template-columns:1fr 1fr;gap:9px;margin:14px 0;display:grid}.region-cost>div{background:#eef0e6;border-radius:10px;flex-direction:column;align-items:center;gap:7px;padding:9px 5px;display:flex}.region-cost small{color:#5d6a55;font-size:11px;font-weight:650}.visual-regions .region-card-action{color:#294c35;background:#dde8ce;border:1px solid #b7c79f;border-radius:10px;justify-content:space-between;align-items:center;gap:6px;width:100%;min-height:44px;padding:10px 12px;font-size:12px;font-weight:650;display:flex}.region-status{color:#3b6443;justify-content:center;align-items:center;gap:7px;margin:16px 0;font-size:13px;font-weight:650;display:flex}.region-delivered{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:14px 0;font-size:11px;display:flex}.region-delivered progress{width:100%}.visual-regions progress{accent-color:#779359;background:#dce4d0;border:0;border-radius:9px;height:7px;overflow:hidden}.visual-regions progress::-webkit-progress-bar{background:#dce4d0;border-radius:9px}.visual-regions progress::-webkit-progress-value{background:#779359;border-radius:9px}.visual-regions progress::-moz-progress-bar{background:#779359;border-radius:9px}.visual-regions details summary{color:#506749;cursor:pointer;min-height:44px;padding:13px 2px;font-size:12px}.visual-regions details p{color:#65725b;margin:0 0 7px;font-size:12px;line-height:1.5}.region-plan-review{text-align:center;background:#e9efde;border:1px solid #bac9a6;border-radius:16px;padding:18px}.region-plan-review>svg,.region-plan-review>img{margin-inline:auto}.region-plan-review h3{margin:10px 0 6px;font-size:21px}.region-plan-review>p{color:#586d50;font-size:13px;line-height:1.4}.region-plan-review .region-cost{max-width:310px;margin-inline:auto}.region-plan-review .region-cost>div{background:#fffdf4}.freight-routes{border:0;grid-template-columns:1fr 1fr;gap:9px;min-width:0;margin:0;padding:0;display:grid}.freight-routes legend{margin-bottom:9px;font-size:13px;font-weight:650}.freight-routes label{cursor:pointer;background:#fffdf5;border:2px solid #d3d9c5;border-radius:13px;min-width:0;padding:12px 10px 10px;position:relative}.freight-routes label.is-selected{background:#e8efdb;border-color:#527447}.freight-routes input{accent-color:#4a7049;float:inline-end;width:18px;height:18px;margin:0 0 5px 5px}.route-title{flex-wrap:wrap;align-items:center;gap:5px;font-size:13px;font-weight:650;display:flex}.route-title strong{color:#547047;font-size:12px}.freight-routes small{text-align:center;color:#596b50;font-size:11px;line-height:1.4;display:block}.freight-route-diagram{clear:both;color:#54744b;width:100%;height:66px;display:block}.freight-route-diagram circle{fill:#dfc690;stroke:currentColor;stroke-width:2px}.freight-route-diagram path{fill:none;stroke:currentColor;stroke-width:3px;stroke-linecap:round}.freight-route-diagram .route-arrow{stroke:#9b7138;stroke-width:2px}.freight-route-diagram .route-wait{fill:#ceab66;stroke:#826c42;stroke-width:1px}.freight-toggles{border-block:1px solid var(--region-line);flex-direction:column;margin:12px 0;display:flex}.freight-toggles label{justify-content:space-between;align-items:center;gap:12px;min-height:47px;font-size:12px;display:flex}.freight-toggles input{accent-color:#507049;flex-shrink:0;width:21px;height:21px}.region-issue{background:#f4e7bf;border-radius:9px;align-items:center;gap:8px;margin:8px 0;padding:9px;font-size:12px;display:flex}.visual-regions .manifest-list{grid-template-columns:1fr 1fr;gap:9px;display:grid}.manifest-card{border:1px solid var(--region-line);background:#fffdf5;border-radius:13px;min-width:0;padding:12px}.manifest-heading{align-items:center;gap:8px;font-size:12px;line-height:1.35;display:flex}.manifest-heading strong{overflow-wrap:anywhere;min-width:0}.manifest-path{grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr);align-items:center;gap:3px;margin:12px 0;display:grid}.manifest-path>div:not(.manifest-progress){flex-direction:column;align-items:center;gap:4px;display:flex}.manifest-path small{overflow-wrap:anywhere;text-align:center;font-size:10px}.manifest-progress{flex-direction:column;align-items:center;gap:4px;display:flex}.manifest-progress progress{width:100%}.manifest-status{color:#667456;flex-wrap:wrap;align-items:center;gap:5px;min-height:24px;font-size:11px;display:flex}.manifest-status small{margin-inline-start:auto}.manifest-card .region-small-action{margin-top:7px}.region-empty{text-align:center;flex-direction:column;align-items:center;gap:9px;padding:25px 14px;display:flex}.region-empty h3{font-size:17px}.region-empty .region-card-action{max-width:270px}.region-empty.compact{background:#e9eedf;border-radius:12px;grid-column:1/-1;padding:16px}.region-empty p{font-size:13px}.region-empty small{color:#617158;font-size:12px}.regional-extra>div{grid-template-columns:1fr 1fr;gap:8px;display:grid}.regional-extra button{border:1px solid var(--region-line);border-radius:10px;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;min-height:48px;padding:8px;font-size:12px;display:flex}.region-transition{z-index:35;color:#f7ecd5;text-align:center;background:#122c37b0;flex-direction:column;justify-content:center;align-items:center;gap:15px;padding:30px;display:flex;position:absolute;inset:0}.region-transition button{color:#18352c;background:#eddda9;border-radius:12px;padding:12px 18px}.phase2b-app .event-toast,.phase2b-app .build-celebration{top:252px}@media (max-width:600px){.regions-launch{padding:10px;font-size:12px;top:158px;left:14px}.phase2b-app .event-toast,.phase2b-app .build-celebration{top:212px}.visual-regions{gap:10px!important;padding:15px!important}.region-heading h2{font-size:23px}.region-tabs button{gap:4px;font-size:12px}.region-tabs button>svg{width:20px;height:20px}.region-tab-scroll{max-height:60dvh}.visual-regions .region-map{grid-template-columns:minmax(0,1fr) 35px minmax(0,1fr);gap:2px}.region-place>button:first-child{padding:10px 4px}.region-place strong{font-size:14px}.region-project-cards,.visual-regions .manifest-list{grid-template-columns:1fr}.region-project-heading h3{font-size:16px}.region-cost>div{flex-flow:wrap;justify-content:center}.region-cost{gap:7px}.manifest-path{grid-template-columns:minmax(0,1fr) 80px minmax(0,1fr)}.manifest-path small{font-size:11px}.freight-routes label{padding:10px 7px}.region-tabs button{flex-wrap:wrap}}@media (max-height:600px){.visual-regions{max-height:calc(100dvh - 18px);gap:7px!important;padding:12px 18px!important}.region-heading h2{font-size:21px}.region-tab-scroll{flex:1;max-height:none}.region-tabs button{min-height:44px}.visual-regions .workshop-return{min-height:44px;padding:10px 12px}}@media (max-height:500px) and (min-width:601px){.regions-launch{top:83px;left:175px}.phase2b-app .event-toast{top:16px}.phase2b-app .build-celebration{top:135px}}@media (prefers-reduced-motion:reduce){.visual-regions *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.ownership-launch{color:#294d3f;border-radius:15px;align-items:center;gap:8px;min-height:44px;padding:9px 13px;display:flex;position:absolute;top:82px;left:20px}.ownership-panel{max-width:540px}.ownership-goals,.ownership-links{gap:8px;margin:12px 0;display:flex}.ownership-goals button{border:1px solid #c5ccba;border-radius:12px;flex-direction:column;flex:1;align-items:center;min-height:44px;padding:10px;display:flex}.ownership-goals button[aria-pressed=true]{background:#dbe8cc;border-color:#51764d}.ownership-links button,.ownership-site button,.ownership-catalog button,.ownership-review>button{border:1px solid #a9b89f;border-radius:10px;min-height:44px;padding:7px 10px}.ownership-site{background:#edf0e2;border-radius:14px;gap:10px;padding:14px;display:grid}.ownership-catalog{gap:12px;margin:14px 0;display:grid}.ownership-catalog article{border:1px solid #d2d8c5;border-radius:12px;padding:13px}.ownership-catalog article>div:first-child{align-items:center;gap:10px;display:flex}.ownership-catalog p,.ownership-review p{margin:10px 0;font-size:13px;line-height:1.45}.ownership-review>button{margin:6px 4px 6px 0}.ownership-review small{display:block}.ownership-panel select{max-width:60%}@media (max-width:600px){.ownership-launch{padding:7px 10px;font-size:12px;top:72px;left:12px}.ownership-panel{max-height:86dvh}.ownership-links button{flex:1;font-size:12px}}.visual-ui .ownership-launch{color:#f3e7c8;z-index:12;top:95px;left:205px}@media (max-width:680px){.visual-ui .ownership-launch{top:82px;left:178px}}.town-panel{z-index:16;left:max(18px,env(safe-area-inset-left));bottom:max(18px,env(safe-area-inset-bottom));color:#f6edda;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:auto;background:#132822f7;border:1px solid #ead4a04d;border-radius:20px;flex-direction:column;width:354px;max-width:calc(100vw - 36px);max-height:min(68dvh,590px);font-size:14px;line-height:1.45;display:flex;position:absolute;overflow:hidden;box-shadow:0 12px 36px #09251d50}.town-clarity *{box-sizing:border-box}.town-clarity button,.town-clarity summary{touch-action:manipulation;cursor:pointer;min-width:44px;min-height:44px;font-size:14px;line-height:1.35;position:relative}:is(.town-clarity button:focus-visible,.town-clarity summary:focus-visible){outline-offset:2px;outline:3px solid #ffe1a1}.town-clarity button:disabled{opacity:.45;cursor:default}.town-clarity button:not(:disabled):hover{background-color:#ffffff14}.town-clarity button svg{flex-shrink:0}.town-clarity figure{margin:0}.town-panel-header{border-bottom:1px solid #ede4cb25;flex-shrink:0;align-items:center;gap:8px;padding:6px 10px;display:flex}.town-panel-header>button{border-radius:10px;justify-content:center;align-items:center;padding:4px;display:flex}.town-panel-header>.resource-chip{margin-inline-end:auto}.town-panel-header>.town-home{margin-inline-end:3px}.town-clarity .resource-chip{min-height:30px;color:inherit;justify-content:center;align-items:center;gap:6px;display:inline-flex}.town-clarity .resource-chip strong{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:17px}.town-panel-scroll{overscroll-behavior:contain;scrollbar-width:thin;padding:10px 12px;overflow:auto}.town-context{gap:8px;min-width:0;display:grid}.town-card-title{justify-content:center;align-items:center;gap:12px;min-height:56px;display:flex}.town-card-title h3{margin:0;font:22px/1.2 Georgia,serif}.town-picture{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.town-complete{color:#cce2b2}.town-clarity .town-optional-title,.town-clarity .town-action-label{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.town-show-labels .town-optional-title,.town-show-labels .town-action-label{clip:auto;white-space:normal;width:auto;height:auto;margin:0;position:static;overflow:visible}.town-show-labels .town-action-label{flex-basis:100%;font-size:14px}.town-show-labels .town-primary,.town-show-labels .town-secondary{flex-wrap:wrap}.town-primary,.town-secondary{text-align:center;border-radius:11px;justify-content:center;align-items:center;gap:12px;width:100%;min-width:0;padding:8px 12px;font-weight:600;display:flex}.town-clarity .town-primary{color:#263d31;background:#ead7ae;min-height:54px;box-shadow:inset 0 1px #fff6}.town-clarity .town-primary:not(:disabled):hover{background:#f3e2bd}.town-clarity .town-secondary{color:#f1e9d5;min-height:48px;box-shadow:none;background:#e9dbad08;border:1px solid #ead4a03a;font-weight:400}.town-action-pair,.town-confirm-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.town-confirm-row{grid-template-columns:minmax(0,1fr) 80px}.town-options-grid{gap:8px;display:flex}.town-options-grid>button{flex-wrap:wrap;flex:1;gap:2px;min-width:0;padding:6px}.town-pin{background:#bdcb9918;border-bottom:1px solid #ede4cb25;flex-shrink:0;justify-content:center;align-items:center;gap:14px;width:100%;padding:4px 12px;display:flex}.town-pin>svg{color:#ead4a0}.town-cost{background:#061c163b;border-radius:10px;flex-wrap:wrap;justify-content:center;gap:20px;padding:7px 10px;display:flex}.town-benefit{color:#dfd3ac;justify-content:center;align-items:center;gap:8px;min-height:30px;display:flex}.town-level{color:#ead7ae;font-variant-numeric:tabular-nums;text-align:center;background:#ecdfb314;border-radius:10px;justify-self:center;min-width:44px;padding:4px 10px}.town-choices{grid-template-columns:1fr 1fr;gap:10px;display:grid}.town-project-tile{background:#e9dbad0b;border:1px solid #ead4a044;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:148px;padding:10px 6px;display:flex}.town-tile-status{color:#ead7ae;position:absolute;top:7px;right:7px}.town-owned-mark{color:#cadca6}.town-work{background:#b3c19d0b;border-radius:12px;gap:8px;padding:7px 12px;display:grid}.town-journey,.town-service-status,.town-contribution,.town-purchase-delivery{color:#e1d3ac;justify-content:center;align-items:center;gap:14px;min-height:54px;display:flex}.town-journey-track{background:repeating-linear-gradient(90deg,#0000 0 9px,#dbc9a36b 9px 12px);border-top:2px solid #dbc9a376;border-bottom:2px solid #dbc9a376;flex:1;min-width:25px;max-width:88px;height:10px;display:block;position:relative}.is-running .town-journey-track:after{content:"";background:#e6d3a2;border-radius:3px;width:12px;height:16px;animation:2.8s ease-in-out infinite town-delivery;position:absolute;top:-5px;left:0}.town-progress{align-items:center;gap:12px;display:flex}.town-progress>strong{white-space:nowrap;font-variant-numeric:tabular-nums;justify-content:center;align-items:center;min-width:42px;font-size:18px;font-weight:500;display:flex}.town-progress progress{accent-color:#d4c48c;-webkit-appearance:none;appearance:none;background:#d4e2bd20;border:0;border-radius:5px;flex:1;min-width:0;height:8px;overflow:hidden}.town-progress progress::-webkit-progress-bar{background:#d4e2bd20;border-radius:5px}.town-progress progress::-webkit-progress-value{background:#d4c48c;border-radius:5px}.town-progress progress::-moz-progress-bar{background:#d4c48c;border-radius:5px}.town-store{background:#061c1630;border-radius:11px;justify-content:center;align-items:center;gap:17px;padding:8px;display:flex}.town-store strong{font-variant-numeric:tabular-nums;font-size:23px;font-weight:500}.town-store-stack{border:2px solid #dbc9a388;border-radius:5px;width:38px;height:43px;display:block;position:relative;overflow:hidden}.town-store-stack:after{content:"";height:calc((100% - 6px)*var(--fill));background:repeating-linear-gradient(0deg,#dbc9a3 0 6px,#283e31 6px 9px);position:absolute;bottom:3px;left:3px;right:3px}.town-placement-bar{justify-content:center;align-items:flex-start;gap:10px;display:flex;position:relative}.town-placement-bar>button,.town-fine-placement>summary{background:#e9dbad08;border:1px solid #ead4a040;border-radius:10px;justify-content:center;align-items:center;gap:6px;min-width:54px;display:flex}.town-fine-placement{flex:1;max-width:240px}.town-fine-placement>summary{list-style:none}.town-fine-placement summary::-webkit-details-marker{display:none}.town-placement-controls{border:0;grid-template-columns:repeat(4,1fr);gap:5px;margin:0;padding:6px 0 0;display:grid}.town-placement-controls>button{border:1px solid #ead4a040;border-radius:8px;justify-content:center;align-items:center;padding:4px;display:flex}.town-help{border-top:1px solid #ede4cb25}.town-help>summary{color:#ddd4b7;justify-content:flex-end;align-items:center;list-style:none;display:flex}.town-help>summary::-webkit-details-marker{display:none}.town-help-copy{gap:9px;padding:2px 0 9px;display:grid}.town-help-copy p{color:#dae0cd;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.5}.town-rejection{color:#fff0c2;overflow-wrap:anywhere;background:#87664425;border:1px solid #e7c27c77;border-radius:10px;justify-content:center;align-items:center;gap:10px;padding:9px;font-size:14px;line-height:1.45;display:flex}.town-rejection>svg{flex-shrink:0}.town-panel-scroll>.town-rejection{margin-top:10px}.town-invalid>button{background:#ead4a018;border-radius:8px;justify-content:center;align-items:center;display:flex}.town-purchase-review{color:#f6edda;pointer-events:auto;background:#18352c;border:1px solid #ead4a080;border-radius:22px;width:320px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);margin:0;padding:22px;position:fixed;inset:50% auto auto 50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 22px 90px #071a12a0}.town-purchase-review[open]{justify-items:stretch;gap:18px;display:grid}.town-purchase-review>.town-picture{justify-self:center}.town-purchase-review::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#06191094}.town-purchase-review .town-confirm-row{gap:12px}.town-purchase-delivery{min-height:42px}.visual-guide{z-index:2;pointer-events:none;color:#fff4d4;filter:drop-shadow(0 2px 2px #071c17);justify-content:center;align-items:center;gap:8px;animation:1.8s ease-in-out infinite town-tap;display:flex;position:absolute;bottom:-5px;right:4px}.town-project-tile>.visual-guide{bottom:36px;right:15px}.visual-guide-place{min-width:70px;height:44px;animation:none;position:relative;bottom:auto;right:auto}.visual-guide-place>svg{animation:2.8s ease-in-out infinite town-place;position:absolute}.guide-footprint{background:#d5c49219;border:2px dashed #eed9a3;border-radius:4px;width:35px;height:25px;display:inline-block;transform:skewY(-12deg)}.visual-guide-place .guide-footprint{margin-inline-end:28px}@keyframes town-tap{0%,to{transform:translate(4px,5px)}45%,60%{transform:translate(0)scale(.9)}}@keyframes town-place{0%,to{transform:translate(-16px,5px)}50%,70%{transform:translate(12px,-3px)}}@keyframes town-delivery{0%{opacity:0;left:0}20%{opacity:1}80%{opacity:1}to{opacity:0;left:calc(100% - 12px)}}.town-mode .workshop-launch,.town-mode .ownership-launch,.town-mode .chapter-launch{display:none}.town-mode .bottom-ui{z-index:22}.town-mode .rail-console{background:#132822fa}@media (max-width:680px){.town-panel{left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));border-radius:17px;width:auto;max-width:none;max-height:47dvh}.town-panel-header{gap:7px;padding:5px 8px}.town-panel-scroll{padding:8px 10px}.town-context{gap:6px}.town-project-tile{min-height:139px}.town-project-tile>.town-picture>.game-icon{width:76px;height:76px}.town-planning{max-height:49dvh}}@media (max-height:570px) and (min-width:681px){.town-panel{width:320px;max-height:calc(100dvh - 80px);bottom:10px;left:10px}.town-panel-scroll{padding:6px 10px}.town-context{gap:5px}.town-card-title{min-height:44px}.town-card-title>.town-picture>.game-icon{width:44px;height:44px}}@media (prefers-reduced-motion:reduce){.town-clarity *{scroll-behavior:auto!important;transition:none!important;animation:none!important}.is-running .town-journey-track:after{left:50%}}.town-clarity.town-reduced-motion *{transition:none!important;animation:none!important}.town-purchase-review{justify-items:stretch;gap:18px;display:grid;translate:none}[data-slot=dialog-overlay]:has(+.town-purchase-review){-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#06191094}.town-clarity .town-card-title{gap:8px;min-height:44px}.town-clarity .town-card-title>.town-picture>.game-icon{width:44px;height:44px}.town-clarity .town-project-tile{gap:4px;min-height:76px;padding:6px}.town-clarity .town-project-tile>.town-picture>.game-icon{width:44px;height:44px}.town-clarity .town-work .game-icon,.town-clarity .town-primary>.game-icon,.town-clarity .town-primary>.town-picture>.game-icon{width:40px;height:40px}.town-clarity .town-panel-header .game-icon{width:28px;height:28px}.town-purchase-review{gap:10px;padding:14px}.town-purchase-review[open]{gap:10px}.town-purchase-review .town-primary{min-height:44px}.town-purchase-review .town-cost{gap:14px;padding:6px}.town-panel.town-compact{width:370px;max-width:calc(100vw - 20px);max-height:min(68dvh,590px)}.town-compact .town-panel-header{gap:4px;padding:2px 6px}.town-compact .town-panel-scroll{padding:4px 8px}.town-compact .town-context{gap:4px}.town-compact .town-picture>.game-icon,.town-compact .game-icon{width:28px;height:28px}.town-compact .resource-chip{gap:3px;min-height:24px}.town-compact .resource-chip>.game-icon{width:24px;height:24px}.town-compact .resource-chip strong{font-size:16px}.town-compact .town-card-title{gap:4px;min-height:32px}.town-compact .town-card-title>.town-picture>.game-icon{width:28px;height:28px}.town-compact .town-card-title>.town-complete{width:24px;height:24px}.town-compact .town-primary,.town-compact .town-secondary{border-radius:9px;gap:4px;min-height:44px;padding:4px 6px}.town-compact .town-primary>.game-icon,.town-compact .town-primary>.town-picture>.game-icon{width:28px;height:28px}.town-compact .town-primary>svg:not(.game-icon),.town-compact .town-secondary>svg:not(.game-icon){width:24px;height:24px}.town-compact .town-pin{gap:6px;min-height:44px;padding:0 6px}.town-compact .town-work{gap:4px;padding:4px 6px}.town-compact .town-work .game-icon{width:32px;height:32px}.town-compact .town-journey,.town-compact .town-service-status,.town-compact .town-contribution{gap:8px;min-height:32px}.town-compact .town-progress{gap:8px}.town-compact .town-progress>strong{min-width:36px;font-size:16px}.town-compact .town-options-grid{gap:4px}.town-compact .town-options-grid>button{flex-wrap:nowrap;gap:4px;padding:4px}.town-compact .town-help>summary{min-height:44px;padding:0 8px}.town-compact .town-help-copy{padding:4px 0 6px}.town-compact .town-finished-actions{flex-wrap:wrap;align-items:center;gap:4px;min-width:0;display:flex}.town-compact .town-finished-actions>.town-card-title{flex:none;min-height:44px}.town-compact .town-finished-actions>.town-primary,.town-compact .town-finished-actions>.town-secondary{flex:1 0 auto;width:auto;min-width:44px}.town-compact .town-finished-actions>.town-help{border:0;flex:0 0 44px;width:44px}.town-compact .town-finished-actions>.town-help[open]{border-top:1px solid #ede4cb25;flex-basis:100%;width:100%}.town-compact .town-home-context{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.town-compact .town-home-context>.town-choices{display:contents}.town-compact .town-home-context .town-project-tile{border-radius:9px;flex-flow:row;flex:auto;gap:2px;min-width:0;min-height:44px;padding:3px}.town-compact .town-home-context .town-project-tile>.town-picture>.game-icon{width:28px;height:28px}.town-compact .town-home-context .town-tile-status{flex-shrink:0;align-items:center;display:flex;position:static}.town-compact .town-home-context .town-tile-status>svg{width:24px;height:24px}.town-compact .town-home-context>.town-primary,.town-compact .town-home-context>.town-secondary{flex:none;width:auto}.town-compact .town-home-context>.town-help{border:0;flex:0 0 44px;width:44px}.town-compact .town-home-context>.town-help[open]{border-top:1px solid #ede4cb25;flex-basis:100%;width:100%}.town-compact .town-home-context .town-project-tile>.visual-guide{bottom:0;right:3px}.town-compact .town-service-summary{align-items:center;gap:8px;min-height:32px;display:flex}.town-compact .town-service-summary>.town-card-title{flex:none}.town-compact .town-service-summary>.town-service-status{flex:1;min-width:0}.town-compact .town-context-links{flex-wrap:wrap;align-items:flex-start;gap:4px;min-width:0;display:flex}.town-compact .town-context-links>.town-primary,.town-compact .town-context-links>.town-secondary{flex:1 1 0;width:auto;min-width:44px}.town-compact .town-context-links>.town-help{border:0;flex:0 0 44px;width:44px}.town-compact .town-context-links>.town-help[open]{border-top:1px solid #ede4cb25;flex-basis:100%;width:100%}.town-compact .town-supply-context{grid-template-columns:minmax(0,1fr) 44px}.town-compact .town-supply-context>.town-card-title{z-index:1;grid-area:1/1;justify-content:flex-start;place-self:center start}.town-compact .town-supply-context>.town-store{background:0 0;grid-area:1/1/auto/-1;justify-content:flex-end;gap:8px;min-height:36px;padding:2px 0 2px 38px}.town-compact .town-store strong{white-space:nowrap;font-size:18px}.town-compact .town-store-stack{border-width:1px;width:24px;height:30px}.town-compact .town-supply-context>.town-primary,.town-compact .town-supply-context>.town-secondary,.town-compact .town-supply-context>.town-context-links{grid-column:1/-1}:is(.town-compact .town-supply-context>.town-primary:has(+.town-help),.town-compact .town-supply-context>.town-secondary:has(+.town-help)){grid-column:1}.town-compact .town-supply-context>.town-help{border:0;grid-column:2}.town-compact .town-supply-context>.town-help[open]{border-top:1px solid #ede4cb25;grid-column:1/-1}.town-compact.town-show-labels .town-finished-actions>.town-card-title{flex-basis:100%}.town-compact.town-show-labels .town-options-grid>button,.town-compact.town-show-labels .town-service-summary{flex-wrap:wrap}.town-compact.town-show-labels .town-service-summary>.town-card-title{flex-basis:100%;min-width:0}.town-compact.town-show-labels .town-home-context .town-project-tile{flex-wrap:wrap}.town-compact.town-show-labels .town-home-context>.town-primary,.town-compact.town-show-labels .town-home-context>.town-secondary{flex:1 1 0}.town-compact.town-show-labels .town-supply-context>.town-card-title,.town-compact.town-show-labels .town-supply-context>.town-store{grid-area:auto/1/auto/-1}.town-panel.town-compact{width:354px;max-width:calc(100% - 20px);left:max(10px,env(safe-area-inset-left));right:auto;bottom:max(8px,env(safe-area-inset-bottom));border-radius:13px;max-height:calc(100dvh - 76px)}.town-compact .town-choice-summary{align-items:center;gap:8px;min-width:0;display:flex}.town-compact .town-choice-summary>.town-card-title{flex:none}.town-compact .town-choice-summary>.town-cost{background:0 0;flex:1;gap:10px;min-width:0;padding:2px 4px}.town-compact .town-placement-bar{align-items:flex-start;gap:4px}.town-compact .town-placement-bar>button{min-width:44px}.town-compact .town-placement-bar>.town-secondary{flex:0 0 44px;width:44px}.town-compact .town-fine-placement>summary{min-width:44px}.town-compact .town-benefit{gap:4px;min-height:24px}.town-compact .town-level{min-height:24px;padding:0 4px}.town-compact .town-context:has(>.town-work){grid-template-columns:minmax(0,1fr) 44px;align-items:center}.town-compact:not(.town-show-labels) .town-context:has(>.town-work)>.town-card-title{display:none}.town-compact .town-context>.town-work{grid-column:1;min-width:0;padding:2px 4px}.town-compact .town-context:has(>.town-work)>.town-help{border:0;grid-area:1/2;align-self:end}.town-compact .town-context:has(>.town-work)>button{grid-column:1/-1}.town-compact .town-context:has(>.town-work)>.town-help[open]{border-top:1px solid #ede4cb25;grid-area:auto/1/auto/-1}.town-compact .town-restoration-context:not(:has(>.town-work)){flex-wrap:wrap;align-items:center;gap:4px;display:flex}.town-compact .town-restoration-context>.town-card-title{flex:none}.town-compact .town-restoration-context>.town-primary{flex:1;width:auto;min-width:44px}.town-compact .town-restoration-context>.town-help{border:0;flex:0 0 44px;width:44px}.town-compact .town-restoration-context>.town-help[open]{border-top:1px solid #ede4cb25;flex-basis:100%;width:100%}.town-compact .town-context:has(>.town-choice-summary){grid-template-columns:minmax(0,1fr) 44px;align-items:center}.town-compact .town-context:has(>.town-choice-summary)>:not(.town-help){grid-column:1/-1}.town-compact .town-context:has(>.town-choice-summary)>.town-help{border:0;grid-column:2}.town-compact .town-context:has(>.town-choice-summary)>:has(+.town-help){grid-column:1}.town-compact .town-context:has(>.town-choice-summary)>.town-help[open]{border-top:1px solid #ede4cb25;grid-column:1/-1}.town-compact.town-show-labels .town-choice-summary{flex-wrap:wrap}.town-compact.town-show-labels .town-choice-summary>.town-card-title{flex-basis:100%;justify-content:flex-start}.town-compact.town-show-labels .town-context:has(>.town-work)>.town-card-title{grid-column:1/-1}.town-compact.town-show-labels .town-context:has(>.town-work)>.town-help{grid-row:auto}.town-compact.town-show-labels .town-restoration-context>.town-card-title{flex-basis:100%}.town-compact.town-show-labels .town-placement-bar>.town-secondary{flex:1;width:auto;min-width:44px}.town-purchase-review{border-radius:14px;gap:8px;width:300px;padding:12px}.town-purchase-review>.town-picture>.game-icon{width:40px;height:40px}.town-purchase-review .town-primary,.town-purchase-review .town-secondary{min-height:44px;padding:4px 8px}.town-purchase-review .town-purchase-delivery{min-height:28px}.town-purchase-review .town-purchase-delivery>.game-icon{width:28px;height:28px}@media (max-width:680px){.town-panel.town-compact{width:354px;max-width:calc(100% - 20px)}}.town-compact .town-service-context{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.town-compact .town-service-context>.town-service-summary{flex:1 0 100%;gap:4px}.town-compact .town-service-summary>.town-primary{flex:none;width:auto;min-width:44px}.town-compact .town-service-context>.town-options-grid,.town-compact .town-service-context>.town-context-links{display:contents}.town-compact .town-service-context>.town-options-grid>button,.town-compact .town-service-context>.town-context-links>button{flex:44px;gap:2px;width:auto;min-width:44px;padding:3px}.town-compact .town-service-context>.town-options-grid>button .game-icon,.town-compact .town-service-context>.town-context-links>button .game-icon{width:24px;height:24px}.town-compact .town-service-context>.town-options-grid>button>svg:not(.game-icon),.town-compact .town-service-context>.town-context-links>button>svg:not(.game-icon){width:18px;height:18px}.town-compact .town-service-context>.town-context-links>.town-help{border:0;flex:0 0 44px;width:44px}.town-compact .town-service-context>.town-context-links>.town-help[open]{border-top:1px solid #ede4cb25;flex-basis:100%;width:100%}.town-compact.town-show-labels .town-service-context>.town-options-grid>button,.town-compact.town-show-labels .town-service-context>.town-context-links>button{flex-wrap:wrap;flex-basis:100px}.town-compact .town-fine-placement{min-width:93px}.town-compact .town-placement-controls{grid-template-columns:repeat(2,minmax(44px,1fr))}.town-compact .town-placement-bar>.visual-guide-place{flex:0 0 40px;width:40px;min-width:40px}.town-compact .visual-guide-place .guide-footprint{width:28px;height:20px;margin-inline-end:0}@media (max-height:570px) and (min-width:681px){.town-panel.town-compact{max-height:calc(100dvh - 20px)}.town-compact .town-panel-header{padding:0 6px}.town-compact .town-panel-scroll{padding:3px 8px}.town-compact .town-context,.town-compact .town-home-context,.town-compact .town-finished-actions,.town-compact .town-context-links{gap:2px}}.town-global-controls{z-index:15;top:max(58px,calc(env(safe-area-inset-top) + 50px));left:max(10px,env(safe-area-inset-left));color:#f6edda;pointer-events:auto;align-items:center;gap:4px;display:flex;position:absolute}.town-global-controls>button{background:#17372eee;border:1px solid #ead4a040;border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;padding:4px;display:flex}.town-global-controls>.resource-chip{font-variant-numeric:tabular-nums;background:#17372eee;border-radius:10px;gap:4px;min-height:36px;padding:4px 8px}.town-global-controls>.resource-chip>.game-icon{width:24px;height:24px}.town-panel.town-compact:has(.town-placement-context){width:254px}.town-compact .town-placement-context{flex-wrap:wrap;align-items:flex-start;gap:4px;display:flex}.town-compact .town-placement-context>.town-placement-bar{flex:1;gap:4px;min-width:0}.town-compact .town-placement-bar>.town-primary,.town-compact .town-placement-bar>.town-secondary{flex:0 0 44px;width:44px;min-width:44px;padding:4px}.town-compact .town-placement-context>.town-help{border:0;flex:0 0 44px;width:44px}.town-compact .town-placement-context>.town-help[open],.town-compact .town-placement-context>.town-invalid{flex:1 0 100%;width:100%}.town-compact .town-placement-context .town-fine-placement{flex:0 0 44px;width:44px;min-width:44px}.town-compact .town-placement-context .town-fine-placement>summary>svg:last-child{display:none}:is(.town-panel.town-compact:has(.town-placement-context .town-fine-placement[open]),.town-panel.town-show-labels:has(.town-placement-context)){width:354px}.town-compact .town-placement-context .town-help .visual-guide-place{justify-self:center}.town-compact .town-build-decision{align-items:center;gap:8px;min-width:0;display:flex}.town-compact .town-build-decision>.town-card-title{flex:1;justify-content:flex-start}.town-compact .town-build-decision>.town-primary{flex:0 0 44px;width:44px}.town-compact .town-context:has(>.town-build-decision){flex-wrap:wrap;align-items:center;gap:4px;display:flex}.town-compact .town-context>.town-build-decision{flex:1;min-width:0}.town-compact .town-context:has(>.town-build-decision)>.town-help{border:0;flex:0 0 44px;width:44px}.town-compact .town-context:has(>.town-build-decision)>.town-help[open]{flex:1 0 100%;width:100%}.town-show-labels .town-placement-bar{flex-wrap:wrap}.town-show-labels .town-placement-bar>.town-primary,.town-show-labels .town-placement-bar>.town-secondary{flex:90px;width:auto}.town-purchase-heading{justify-content:center;align-items:center;gap:12px;display:flex}.town-purchase-heading .game-icon{width:32px;height:32px}.town-purchase-review .town-confirm-row{flex-wrap:wrap;align-items:flex-start;gap:6px;display:flex}.town-purchase-review .town-confirm-row>.town-primary{flex:1;width:auto}.town-purchase-review .town-confirm-row>.town-secondary,.town-purchase-review .town-confirm-row>.town-help{border:0;flex:0 0 44px;width:44px}.town-purchase-review .town-confirm-row>.town-help>summary{justify-content:center}.town-purchase-review .town-confirm-row>.town-help[open]{flex:1 0 100%;width:100%}.town-blocked-heading{color:#cabd9d}.town-purchase-review .town-confirm-row>.town-secondary:first-child:not(:last-child){flex:1;width:auto}.town-compact .town-panel-scroll,.town-panel.town-compact{overflow:visible}.town-compact .town-help[open]{border:0!important;flex-basis:44px!important;grid-column:auto!important;width:44px!important}.town-compact .town-help-copy{z-index:30;background:#17372efa;border:1px solid #ead4a060;border-radius:12px;width:min(354px,100vw - 20px);max-height:min(180px,35dvh);padding:12px;position:absolute;bottom:calc(100% + 8px);left:0;overflow:auto;box-shadow:0 6px 24px #0005}.town-compact .town-help-copy .visual-guide-place{display:none}.town-panel.town-compact:has(.town-placement-context .town-fine-placement[open]){width:254px}.town-compact .town-placement-context .town-fine-placement[open]{flex:0 0 44px;min-width:44px}.town-compact .town-placement-controls{background:#17372efa;border:1px solid #ead4a060;border-radius:10px;grid-template-columns:repeat(4,minmax(44px,1fr));gap:4px;width:100%;margin:0 0 8px;padding:4px;display:grid;position:absolute;bottom:100%;left:0}.town-compact .town-invalid{justify-content:space-between;min-height:44px;padding:0 4px}.town-compact .town-building-payoff{font-variant-numeric:tabular-nums;align-items:center;gap:2px;display:flex}.town-compact .town-building-payoff .game-icon{width:22px;height:22px}.town-advanced-options{gap:6px;display:grid}.town-compact .town-help[open]{flex:0 0 44px!important}.town-compact .town-placement-bar>button{flex:0 0 44px;width:44px;padding:4px}.town-upgrade-benefit{white-space:nowrap;font-variant-numeric:tabular-nums;color:#d4e9b7;align-items:center;gap:4px;display:inline-flex}.town-upgrade-benefit>strong{font-size:18px}.town-upgrade-benefit>svg{width:24px;height:24px}.saved-railway-tools>summary{cursor:pointer;align-items:center;min-height:44px;display:flex}.chapter-context-overview{align-items:center;gap:6px;display:flex}.chapter-context-choices{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.chapter-context-choices>button{flex:0 auto;min-width:44px;min-height:44px;padding:6px 10px}.chapter-context-overview>.chapter-context-choices{flex:1}.chapter-train-work summary{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:flex}.chapter-context-choices .town-building-payoff{gap:3px}@media (max-width:600px){.chapter-context-choices>button{padding:5px 7px}.chapter-context-choices .game-icon{width:24px;height:24px}}.town-compact .chapter-object-context{align-items:center;gap:6px;display:flex}.town-compact .chapter-object-context>.town-card-title{flex:1;justify-content:flex-start;min-width:0}.town-compact .chapter-object-context>.town-help{border:0;flex:0 0 44px;width:44px;min-height:44px;margin:0;padding:0}.town-compact .chapter-object-context>.town-primary{flex:0 0 44px;width:44px;min-width:44px;padding:4px}.town-compact.town-show-labels .chapter-object-context{flex-wrap:wrap}.town-compact.town-show-labels .chapter-object-context>.town-primary{flex:1;width:auto}.journey-context,.journey-destination{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.journey-destination{flex-wrap:nowrap}.journey-context .town-progress{flex:100px}.journey-context .town-help{margin-left:auto}.railbloom-app.town-mode .topbar{left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));top:max(8px,env(safe-area-inset-top));gap:12px}.railbloom-app.town-mode .wordmark{gap:6px;font-size:24px}.railbloom-app.town-mode .wordmark>svg:first-child{width:20px;height:20px}.railbloom-app.town-mode .icon-button{border-radius:10px;width:44px;height:44px}.railbloom-app.town-mode .camera-tools{right:max(10px,env(safe-area-inset-right));gap:4px}.railbloom-app.town-mode .camera-button{border-radius:10px;gap:2px;width:44px;min-height:44px}.railbloom-app.town-mode .camera-button .game-icon{width:26px;height:26px}.railbloom-app.town-mode .zoom-tools button{width:44px;min-width:44px;height:44px;min-height:44px}.railbloom-app.town-mode .quick-map{top:max(64px,env(safe-area-inset-top));right:max(60px,env(safe-area-inset-right));border-radius:13px;width:248px;max-width:calc(100% - 72px);max-height:calc(100dvh - 80px);padding:44px 8px 8px}.railbloom-app.town-mode .map-places{height:164px}.railbloom-app.town-mode .map-places>.map-place{gap:0;width:72px;min-width:44px;min-height:56px;padding:3px}.railbloom-app.town-mode .map-riverside{bottom:4px;left:4px}.railbloom-app.town-mode .map-quarry{top:4px;left:4px}.railbloom-app.town-mode .map-foundry{top:4px;right:4px}.railbloom-app.town-mode .map-viaduct{bottom:4px;right:4px}.railbloom-app.town-mode .map-places>.map-connection{z-index:1;top:60px;left:18px}.railbloom-app.town-mode .map-place>.game-icon{width:32px;height:32px}.railbloom-app.town-mode:not(.hide-labels) .map-places{height:196px}.railbloom-app.town-mode:not(.hide-labels) .map-places>.map-connection{top:76px}.railbloom-app.town-mode .map-connection>.game-icon,.railbloom-app.town-mode .map-tools .game-icon{width:26px;height:26px}.railbloom-app.town-mode .map-tools{gap:6px;padding-top:4px}.railbloom-app.town-mode .map-tools>button{min-height:44px;padding:3px}.railbloom-app.town-mode .map-label{overflow-wrap:anywhere;max-width:100%;font-size:12px;line-height:1.2}.railbloom-app.town-mode .settings-panel{left:auto;right:max(10px,env(safe-area-inset-right));top:max(60px,env(safe-area-inset-top));overscroll-behavior:contain;border-radius:13px;width:310px;max-width:calc(100% - 20px);max-height:min(72dvh,600px);padding:8px 12px}.railbloom-app.town-mode .panel-title{z-index:1;background:#17392f;min-height:48px;padding:0 0 4px;position:sticky;top:-8px}.railbloom-app.town-mode .panel-title h2{margin:0;font-size:21px}.railbloom-app.town-mode .setting-row{min-height:44px}.railbloom-app.town-mode .setting-row select{min-height:44px;padding:4px}.railbloom-app.town-mode .restart-setting{margin-top:4px}.railbloom-app.town-mode .modal-backdrop{padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.railbloom-app.town-mode .confirm-card{overscroll-behavior:contain;border-radius:14px;width:340px;min-width:0;max-width:100%;max-height:calc(100dvh - 24px);padding:16px;overflow:auto}.railbloom-app.town-mode .confirm-card h2{margin:8px 0;font-size:23px}.railbloom-app.town-mode .confirm-card p{margin:8px 0 12px;font-size:14px;line-height:1.45}.railbloom-app.town-mode .visual-help .game-icon{width:32px;height:32px}.railbloom-app.town-mode .primary-action{min-height:44px;padding:8px 10px}.railbloom-app.town-mode .performance-panel{border-radius:14px;padding:14px}.railbloom-app.town-mode .performance-panel h2{font-size:23px}.railbloom-app.town-mode .performance-panel p{margin:10px 0;font-size:14px;line-height:1.45}.railbloom-app.town-mode .performance-panel h3{margin:10px 0 6px}.railbloom-app.town-mode .bottom-ui{left:10px;right:10px;bottom:max(8px,env(safe-area-inset-bottom));align-items:flex-end}.railbloom-app.town-mode .rail-console{border-radius:13px;flex-direction:column;width:300px;max-width:100%;max-height:calc(100dvh - 76px);padding:4px 8px;display:flex}.railbloom-app.town-mode .console-heading{cursor:pointer;flex-shrink:0;min-height:44px}.railbloom-app.town-mode .console-header{flex-shrink:0;align-items:center;gap:4px;display:flex}.railbloom-app.town-mode .console-header>.console-heading{flex:1;min-width:0}.railbloom-app.town-mode .console-pause{border-radius:8px;flex:0 0 44px;justify-content:center;align-items:center;min-width:44px;min-height:44px;display:flex}.railbloom-app.town-mode .console-heading>svg:last-child{display:block}.railbloom-app.town-mode .console-body{overscroll-behavior:contain;min-height:0;padding:4px 0;overflow:auto}.railbloom-app.town-mode .route-control+.route-control{margin-top:6px}.railbloom-app.town-mode .train-list{margin-top:6px;display:flex}.railbloom-app.town-mode .train-list button{flex:1;min-width:44px;min-height:44px;padding:4px}.railbloom-app.town-mode .rail-console .game-icon{width:26px;height:26px}.railbloom-app.town-mode.hide-labels .build-celebration{border-radius:12px;width:max-content;max-width:calc(100% - 80px);padding:6px 8px}.railbloom-app.town-mode.hide-labels .celebration-seal{width:auto;min-height:32px;box-shadow:none;gap:4px;padding:2px}.railbloom-app.town-mode.hide-labels .celebration-seal>.game-icon{width:24px;height:24px}.railbloom-app.town-mode.hide-labels .celebration-seal>svg:not(.game-icon){width:18px;height:18px}.railbloom-app.town-mode .loading-scene,.railbloom-app.town-mode .region-transition{overscroll-behavior:contain;gap:10px;padding:16px;overflow:auto}.railbloom-app.town-mode .region-transition button{min-width:44px;min-height:44px;padding:8px 12px}.visual-ui .visual-detail summary{min-width:44px;min-height:44px}.railway-workshop[data-slot=dialog-content]{max-height:min(82dvh,660px);border-radius:16px!important;gap:8px!important;width:min(560px,100vw - 20px)!important;max-width:560px!important;padding:12px!important}.railway-workshop [data-slot=dialog-close]{width:44px;min-width:44px;height:44px;min-height:44px;top:4px;right:4px}.railway-workshop :is(.workshop-heading,.region-heading,.chapter-heading,.atlas-heading){flex-shrink:0;gap:8px;min-height:44px;padding-inline-end:44px}.railway-workshop :is(.region-heading,.chapter-heading,.atlas-heading)>div{min-width:0}.railway-workshop :is(.workshop-heading,.region-heading,.chapter-heading,.atlas-heading) h2{overflow-wrap:anywhere;margin:0 0 4px;font-size:21px;line-height:1.2}.railway-workshop :is(.workshop-heading,.region-heading,.chapter-heading,.atlas-heading) p{margin:0;font-size:12px}.railway-workshop .workshop-scroll{overscroll-behavior:contain;min-height:0;max-height:none;overflow:auto}.railway-workshop :is(button,summary,select){touch-action:manipulation;min-width:44px;min-height:44px}.railway-workshop :is(.workshop-return,.chapter-return,.atlas-return){flex-shrink:0;min-height:44px;padding:8px 10px!important}.railway-workshop :is(.project-cards,.chapter-projects,.chapter-trains,.region-project-cards,.manifest-list,.ownership-catalog){gap:8px}.railway-workshop :is(.project-cards article,.chapter-card,.region-project-cards article,.manifest-card,.ownership-site,.ownership-catalog article){border-radius:11px;padding:9px}.railway-workshop :is(.game-icon,.chapter-card-heading>svg){max-width:36px;max-height:36px}.railway-workshop :is(.plan-review,.region-plan-review,.chapter-preview){border-radius:12px;padding:10px}.railway-workshop :is(.region-plan-review,.chapter-preview,.chapter-celebration)>.game-icon{width:44px;max-width:44px;height:44px;max-height:44px}.railway-workshop :is(.economy-strip,.chapter-resources,.region-cost,.region-status,.region-delivered,.chapter-progress,.chapter-service-state){gap:6px;margin:6px 0;padding-block:4px}.railway-workshop :is(.vw-costs,.plan-cost){flex-wrap:wrap;gap:12px;margin:6px 0}.railway-workshop .vw-costs>span{min-width:0}.railway-workshop :is(.region-tabs,.chapter-tabs){gap:3px;padding:3px}.railway-workshop :is(.region-tabs,.chapter-tabs) button{overflow-wrap:anywhere;gap:4px;min-width:0;min-height:44px;padding:4px}.railway-workshop :is(.operator-policy,.service-route){margin-top:10px;padding-top:8px}.railway-workshop .vw-choice-row button{gap:4px;min-height:44px;padding:4px}.railway-workshop .vw-choice-row .game-icon{width:26px;height:26px}.railway-workshop .vw-actions{flex-flow:wrap;gap:6px}.railway-workshop .route-preview{margin:6px 0;padding:4px}.railway-workshop .route-preview svg,.railway-workshop.visual-workshop .plan-review .route-preview svg{height:110px}.railway-workshop .region-place>button:first-child{gap:3px;min-height:112px;padding:6px 4px}.railway-workshop .region-place>button:first-child>.game-icon{width:40px;max-width:40px;height:40px;max-height:40px}.railway-workshop .region-stock{min-height:30px;padding:3px}.railway-workshop .region-world-button{min-height:44px;padding:6px 8px}.railway-workshop :is(.region-flow,.region-plan-flow){gap:8px;margin:8px 0 4px}.railway-workshop .region-cost>div{gap:4px;padding:4px}.railway-workshop .region-empty{gap:6px;padding:12px}.railway-workshop .region-empty>.game-icon{width:44px;max-width:44px;height:44px;max-height:44px}.railway-workshop .freight-routes label{padding:6px}.railway-workshop .manifest-path{margin:6px 0}.railway-workshop :is(.ownership-goals,.ownership-links){flex-wrap:wrap;gap:6px;margin:6px 0}.railway-workshop .ownership-goals button{overflow-wrap:anywhere;min-width:44px;padding:6px}.railway-workshop .ownership-catalog{margin:8px 0}.railway-workshop :is(.ownership-catalog p,.ownership-review p,.chapter-actions){margin-top:6px;margin-bottom:6px}.railway-workshop .atlas-heading{flex-wrap:wrap}.railway-workshop .atlas-region{gap:6px;padding:6px 8px}.railway-workshop :is(.atlas-current,.atlas-preview,.atlas-trial,.atlas-alert,.atlas-handoff){margin:6px 0;padding:8px}.railway-workshop .atlas-handoff button{border:1px solid #b7bea5;border-radius:8px;padding:6px 10px}.railway-workshop :is(.atlas-note,.atlas-planning,.atlas-actions){margin:6px 0}.railway-workshop .atlas-services label{gap:6px;min-height:44px;padding:5px 7px}@media (max-height:500px){.railway-workshop[data-slot=dialog-content]{max-height:calc(100dvh - 16px);gap:6px!important;padding:8px 12px!important}.railbloom-app.town-mode .camera-tools{top:64px}.railbloom-app.town-mode .loading-scene,.railbloom-app.town-mode .region-transition{justify-content:flex-start}}
