:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#293d32;background:#f4f4ec;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--cream-50: #fffef8;--cream-100: #f4f4ec;--cream-200: #eceee3;--sage-200: #dce2d5;--sage-300: #c2cdbb;--sage-600: #5f6e5c;--forest-700: #356044;--forest-900: #293d32;--orange-100: #f4e8d5;--orange-600: #b54b25;--orange-700: #953c1c;--red-700: #a1362d;--color-page: var(--cream-100);--color-surface: var(--cream-50);--color-subtle: var(--cream-200);--color-border: var(--sage-200);--color-text: var(--forest-900);--color-muted: var(--sage-600);--color-accent: var(--orange-600);--color-accent-hover: var(--orange-700);--color-success: var(--forest-700);--color-danger: var(--red-700);--color-focus: #1a62b5;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 20px;--text-xl: 24px;--text-2xl: 28px}*{box-sizing:border-box}body{margin:0;min-width:280px}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.55}button,input,select{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,.file-control:focus-within{outline:3px solid var(--color-focus);outline-offset:3px}a{color:inherit;text-underline-offset:3px}svg{flex-shrink:0;vertical-align:middle}h1,h2,h3,p{margin:0}h1{font-size:var(--text-xl);line-height:1.25;font-weight:700;letter-spacing:-.035em}h2{font-size:var(--text-md);line-height:1.4;font-weight:700}h3{font-size:var(--text-sm);line-height:1.4;font-weight:700}p{font-size:var(--text-sm);line-height:1.6}small{font-size:var(--text-xs)}strong{font-weight:600}.subtle,.hint{color:var(--color-muted);font-size:var(--text-xs);line-height:1.5}.subtle svg{margin-inline-end:3px}.hint{margin-top:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;inset-block-start:-60px;inset-inline-start:16px;background:var(--color-surface);padding:12px;z-index:30}.skip-link:focus{inset-block-start:12px}.app-shell{max-width:1800px;margin:0 auto}.header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 28px;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand-mark{display:grid;place-items:center;width:48px;height:48px;background:#e5a260;border-radius:10px}.brand-name{display:flex;flex-direction:column;font-family:Courier New,monospace;font-size:var(--text-xl);line-height:1;font-weight:700;letter-spacing:-.03em}.brand-name>span{font-size:var(--text-xs);line-height:1.5;letter-spacing:.03em}.genesis-label{font-size:var(--text-xs);color:var(--color-muted);border-inline-start:1px solid var(--color-border);padding-inline-start:20px;margin-inline-start:8px}.header-tools{display:flex;align-items:center;gap:8px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:40px;min-width:40px;height:40px;border:0;background:transparent;border-radius:6px;padding:8px}.icon-button:hover{background:var(--color-subtle)}.small-icon{width:28px;min-width:28px;height:28px;padding:4px}.save-status{display:inline-flex;align-items:center;gap:7px;font-size:var(--text-xs);color:var(--color-muted);margin-inline-end:16px}.status-dot{display:inline-block;width:6px;height:6px;min-width:6px;border-radius:50%;background:#3e7350}.status-dot.warning{background:#99672c}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;min-height:40px;padding:9px 14px;border-radius:6px;font-size:var(--text-sm);line-height:1.4;font-weight:600;text-decoration:none}.primary{background:var(--color-accent);color:var(--color-surface)}.primary:hover:not(:disabled){background:var(--color-accent-hover)}.secondary{background:var(--color-surface);border-color:var(--sage-300);color:var(--color-text)}.secondary:hover:not(:disabled),.quiet:hover:not(:disabled){background:var(--color-subtle)}.quiet{border-color:var(--color-border);background:transparent}.small{min-height:34px;font-size:var(--text-xs);padding:7px 10px}.danger{background:transparent;border-color:var(--color-danger);color:var(--color-danger)}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:4px 0;border:0;background:transparent;font-size:var(--text-xs);font-weight:600;text-decoration:underline;text-underline-offset:3px}.resource-bar{display:grid;grid-template-columns:1.4fr repeat(5,1fr) 1.2fr;gap:12px;align-items:center;padding:16px 28px;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.resource{display:flex;gap:10px;align-items:center;min-width:0}.resource>span{display:flex;flex-direction:column}.resource small{color:var(--color-muted);line-height:1.3}.resource strong{font-size:var(--text-lg);line-height:1.3;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.credit-resource{border-inline-end:1px solid var(--color-border)}.credit-resource strong{color:var(--color-text)}.capacity-meter{display:flex;gap:6px;align-items:center;justify-content:flex-end;font-size:var(--text-sm);flex-wrap:wrap}.capacity-meter>.subtle{flex-basis:100%;text-align:end}.save-warning{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;background:#f5e5d8;color:var(--color-danger);font-size:var(--text-sm);padding:12px 24px}.game-layout{display:grid;grid-template-columns:204px minmax(0,1fr) 300px}.sidebar{padding:28px 20px 24px;border-inline-end:1px solid var(--color-border);display:flex;flex-direction:column;align-self:stretch}.outpost-level{display:flex;gap:10px;align-items:center;margin-bottom:12px}.outpost-level>div{display:flex;flex-direction:column;gap:4px}.outpost-level strong{font-size:var(--text-xs)}.level-medal{width:32px;height:36px;display:grid;place-items:center;font-size:var(--text-md);font-weight:700;background:#e1e6d7;clip-path:polygon(0 0,100% 0,100% 80%,50% 100%,0 80%)}.progress{height:5px;background:#e4e8dc;overflow:hidden;border-radius:3px}.progress>span{display:block;height:100%;background:#6c8d59;border-radius:inherit}.game-nav{display:flex;flex-direction:column;gap:6px;margin:26px -8px 32px}.game-nav>button{display:flex;align-items:center;gap:10px;min-height:44px;background:transparent;border:0;padding:10px 12px;border-radius:6px;font-size:var(--text-sm);font-weight:600;text-align:start}.game-nav>button:hover{background:var(--color-subtle)}.game-nav>button.active{background:#dfe7d8;color:#294d33}.game-nav>button .status-dot,.game-nav>button .nav-count{margin-inline-start:auto}.game-nav>button:nth-child(3){display:none}.nav-count{min-width:20px;min-height:20px;border-radius:4px;background:var(--color-surface);font-size:var(--text-xs);display:grid;place-items:center}.sidebar-regions h2{font-size:var(--text-xs);color:var(--color-muted);margin-bottom:20px;font-weight:600}.region{display:flex;align-items:center;gap:9px;margin-bottom:20px}.region-number{color:var(--color-muted);font-size:var(--text-xs);width:20px}.region>div{display:flex;flex:1;flex-direction:column;gap:4px}.region strong{font-size:var(--text-xs);font-weight:400}.region.open strong{font-weight:600}.region small{font-size:var(--text-xs);color:var(--color-muted)}.chain-mini{border:1px solid var(--color-border);background:transparent;border-radius:6px;padding:12px 10px;display:flex;align-items:center;gap:8px;margin-top:20px;text-align:start}.chain-mini>span{display:flex;flex-direction:column;gap:5px;flex:1}.chain-mini strong,.chain-mini small{font-size:var(--text-xs)}.chain-mini small{color:var(--color-muted)}.chain-mini>svg:last-child{display:none}.sidebar-note{display:flex;gap:10px;color:var(--color-muted);padding-top:40px;margin-top:auto;align-items:flex-start}.sidebar-note p{font-size:var(--text-xs);line-height:1.6}.main-game{min-width:0;padding:28px 24px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.page-heading p{color:var(--color-muted);font-size:var(--text-xs);margin-top:7px}.page-heading>div{min-width:0}.reputation{display:flex;gap:5px;align-items:center;font-size:var(--text-sm);flex-wrap:wrap;justify-content:center}.reputation{max-width:120px;flex-shrink:0}.reputation strong{overflow-wrap:anywhere;max-width:80px;min-width:0}.reputation>span{flex-basis:100%;font-size:var(--text-xs);color:var(--color-muted)}.tutorial-banner{display:flex;align-items:center;gap:12px;padding:14px;background:var(--orange-100);border-radius:6px;margin-bottom:16px}.tutorial-portrait{width:38px;min-width:38px;height:38px;display:grid;place-items:center}.tutorial-banner>div{flex:1}.tutorial-banner strong{font-size:var(--text-sm)}.tutorial-banner p{font-size:var(--text-xs);color:#655b46;margin-top:4px;line-height:1.5}.tutorial-step{font-size:var(--text-xs);color:#655b46}.gather-toolbar{padding:0 0 16px}.crew-label{display:flex;gap:6px;align-items:center;margin-bottom:9px;font-size:var(--text-xs);color:var(--color-muted)}.gather-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.gather-button{display:flex;gap:9px;align-items:center;justify-content:center;min-height:52px;padding:8px 10px;border:1px solid var(--sage-300);border-radius:6px;background:var(--color-surface);font-size:var(--text-xs)}.gather-button>span{text-align:start;font-weight:600}.gather-button small{display:block;font-weight:400;margin-top:3px;color:var(--color-muted)}.gather-button.primary{background:var(--color-accent);color:var(--color-surface);border-color:var(--color-accent)}.gather-button.primary small{color:var(--color-surface)}.gather-button:hover:not(:disabled){background:var(--color-subtle)}.gather-button.primary:hover:not(:disabled){background:var(--color-accent-hover)}.world{position:relative;width:100%;aspect-ratio:500/310;border-radius:7px;isolation:isolate;background:#dce4d4}.world canvas{width:100%;height:100%;display:block;image-rendering:pixelated;border-radius:7px}.world-location{display:flex;align-items:center;gap:7px;position:absolute;inset-block-start:16px;inset-inline-start:16px;font-size:var(--text-xs);font-weight:600;color:#294735}.map-coordinate{font-size:var(--text-xs);color:#52664c;font-weight:400;margin-inline-start:6px}.plot-button{position:absolute;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:6px;z-index:1;padding:5px 8px 5px 5px;border:1px solid #8a9b7c;background:#fbf9eade;border-radius:5px;font-size:var(--text-xs);min-height:30px;font-weight:600}.plot-button>span:first-child{display:grid;place-items:center;background:#dce4d2;color:#45603e;width:18px;height:18px;border-radius:2px;font-size:var(--text-xs)}.plot-button.vacant{border-style:dashed}.plot-button.selected{border:1px solid #2a5637;background:#2d5139;color:var(--color-surface);z-index:2}.plot-button.selected>span:first-child{background:#63845a;color:var(--color-surface)}.plot-button:hover{background:#fffef8;color:var(--color-text)}.world-footer{position:absolute;inset-block-end:12px;inset-inline:16px;display:flex;justify-content:space-between;gap:12px;font-size:var(--text-xs);color:#475e44}.world-footer>span:first-child{display:flex;align-items:center;gap:6px}.pixel-square{width:6px;height:6px;background:#658252;display:inline-block}.workbench{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px;align-items:start}.building-panel,.production-panel,.chain-panel,.shipments-panel,.route-guide{padding:20px;background:var(--color-surface);border-radius:6px;min-width:0}.building-panel .section-top{gap:8px;flex-wrap:wrap}.section-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.building-title{display:flex;align-items:center;gap:10px}.building-title .subtle{display:block;margin-top:2px}.building-glyph{display:grid;place-items:center;width:38px;height:38px;min-width:38px;background:#e8eddf;border-radius:6px;color:#55714a}.building-glyph.warehouse{background:#f3e5d2;color:#91623b}.building-glyph.depot{background:#e1ece7;color:#45716b}.building-panel>p{font-size:var(--text-xs);color:var(--color-muted);line-height:1.6;margin:14px 0}.badge{display:inline-flex;align-items:center;gap:5px;font-size:var(--text-xs);border-radius:4px;padding:4px 7px;line-height:1.4}.badge.neutral{background:var(--color-subtle);color:var(--color-muted)}.badge.success{background:#e5eee0;color:#356044}.build-action{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-top:12px;border-top:1px solid var(--color-border)}.build-action>div{display:flex;flex-direction:column;gap:7px}.cost-line{display:inline-flex;gap:8px;flex-wrap:wrap;font-size:var(--text-xs);align-items:center}.cost-line>span{display:inline-flex;align-items:center;gap:3px}.cost-short{color:var(--color-danger)}.lock-message{display:flex;align-items:flex-start;gap:6px;padding-top:12px;border-top:1px solid var(--color-border);color:var(--color-muted);font-size:var(--text-xs);line-height:1.6}.lock-message>svg{margin-top:3px}.construction>div:first-child{display:flex;align-items:center;gap:6px;font-size:var(--text-xs);margin-bottom:10px}.construction strong{margin-inline-start:auto}.success-line{display:flex;gap:6px;align-items:center;color:var(--color-success);font-size:var(--text-xs);padding:8px 0}.storage-detail{display:flex;flex-direction:column;gap:8px;margin-top:18px}.storage-detail>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:var(--text-xs)}.inventory-trade{margin-top:6px;border-top:1px solid var(--color-border)}.inventory-trade summary{font-weight:600}.inventory-trade p{margin-bottom:12px}.inventory-row{display:flex;align-items:center;gap:7px;padding:9px 0}.inventory-row>span{display:flex;gap:8px;flex:1;font-size:var(--text-xs)}.inventory-row strong{font-variant-numeric:tabular-nums}.inventory-row .button{min-height:36px}.count{display:inline-grid;place-items:center;font-weight:600;font-size:var(--text-xs);background:var(--color-subtle);border-radius:4px;min-width:20px;height:20px;margin-inline-start:5px}.empty{display:flex;align-items:center;flex-direction:column;text-align:center;padding:36px 16px;gap:12px}.empty p{color:var(--color-muted);max-width:36ch}.empty-icon{color:#698061;display:grid;place-items:center;width:64px;height:64px;background:#eff1e7;border-radius:50%}.compact-empty{padding:24px 8px 12px;gap:9px}.compact-empty p,.compact-empty h3{font-size:var(--text-xs)}.compact-empty .empty-icon{width:44px;height:44px;background:transparent}.job-list{padding:0;margin:12px 0 0;list-style:none}.job-list li{padding:12px 0;border-top:1px solid var(--color-border)}.job-heading{display:flex;gap:8px;align-items:center;font-size:var(--text-xs);margin-bottom:8px}.job-heading>span:first-child{display:flex;gap:6px;align-items:center;flex:1}.job-meta{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-xs);color:var(--color-muted);margin-top:7px}.recipes{margin-top:16px}.recipe{border-top:1px solid var(--color-border);padding-top:14px;margin-top:14px;display:grid;grid-template-columns:1fr auto;gap:9px}.recipe-heading{display:flex;justify-content:space-between;gap:8px;grid-column:1/-1}.recipe-trade{display:flex;align-items:center;gap:7px}.recipe .cost-line{gap:5px}.depot-fleet{margin-top:14px}.depot-fleet>div{display:flex;align-items:center;gap:9px;font-size:var(--text-xs);padding:10px 0;border-top:1px solid var(--color-border)}.depot-fleet>div>span:nth-child(2){flex:1}.depot-fleet small{display:block;margin-top:3px;color:var(--color-muted)}.depot-fleet>div>.subtle{max-width:84px;text-align:end}.right-sidebar{min-width:0;padding:28px 20px 24px;background:var(--color-surface);border-inline-start:1px solid var(--color-border)}.board-intro{margin-top:5px}.contract{padding:22px 0;border-bottom:1px solid var(--color-border)}.contract-meta{display:flex;justify-content:space-between;gap:8px;font-size:var(--text-xs);color:var(--color-muted);margin-bottom:9px}.ready-text{color:var(--color-success)}.contract h3{font-size:var(--text-sm)}.client{font-size:var(--text-xs);color:var(--color-muted);margin-top:4px}.contract-cargo{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;margin-bottom:9px}.contract-cargo>span:first-child{display:flex;gap:8px;align-items:center;font-size:var(--text-sm)}.contract-reward{display:flex;gap:14px;align-items:center;margin-top:12px;font-size:var(--text-xs);color:var(--color-muted)}.contract-reward>span:first-child{display:flex;gap:4px;align-items:center;color:var(--color-text)}.contract-button{width:100%;margin-top:14px;font-size:var(--text-xs);min-height:36px;justify-content:space-between}.board-note{display:flex;align-items:center;gap:6px;font-size:var(--text-xs);color:var(--color-muted);margin-top:14px}.goals{margin-top:30px}.trade-bonus{margin-top:24px;padding-top:20px;border-top:1px solid var(--color-border)}.trade-bonus h2{font-size:var(--text-sm)}.trade-bonus p{font-size:var(--text-xs);color:var(--color-muted)}.trade-mix{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.trade-mix>span{display:flex;align-items:center;gap:4px;min-height:32px;padding:4px;font-size:var(--text-xs);color:var(--color-muted)}.trade-mix>span>span{display:none}.trade-mix>.checked{background:#e1e9d9;border-radius:4px;color:var(--color-success)}.main-game .trade-mix>span>span{display:inline}.goals h2{font-size:var(--text-sm)}.goals ul{list-style:none;margin:14px 0 0;padding:0}.goals li{display:flex;align-items:center;gap:9px;font-size:var(--text-xs);padding:9px 0}.goals li>span:nth-child(2){flex:1}.goal-check{width:15px;height:15px;border:1px solid #adbba3;border-radius:3px;display:grid;place-items:center}.complete .goal-check{background:#5a7d4b;border-color:#5a7d4b;color:#fff}.complete>span:nth-child(2){color:var(--color-muted);text-decoration:line-through}.shipment-shortcut{width:100%;display:flex;align-items:center;gap:12px;background:#e5ecdd;border:0;border-radius:6px;margin-top:22px;padding:14px;text-align:start}.shipment-shortcut>span{flex:1;display:flex;flex-direction:column;gap:5px;font-size:var(--text-xs)}.shipment-shortcut small{color:var(--color-muted)}.feedback{min-height:44px;margin-top:16px;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 0;font-size:var(--text-xs);color:var(--color-muted);line-height:1.5}.feedback>span{display:flex;align-items:center;gap:8px}.feedback.error{color:var(--color-danger)}.activity{padding:16px 0 0;border-top:1px solid var(--color-border)}.activity h2{font-size:var(--text-sm)}.activity ul{list-style:none;margin:12px 0 0;padding:0}.activity li{display:flex;gap:8px;align-items:baseline;font-size:var(--text-xs);line-height:1.5;margin:12px 0}.activity li>span:nth-child(2){flex:1}.activity time{color:var(--color-muted);font-size:var(--text-xs)}.activity-dot{width:5px;height:5px;background:#879e71;flex-shrink:0}.building-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:20px}.building-grid .build-action{flex-wrap:wrap}.building-grid .building-title .subtle{max-width:20ch}.shipments-panel>p{margin-top:10px}.shipment-list{margin-top:20px}.shipment{padding:20px 0;border-top:1px solid var(--color-border)}.shipment-heading{display:flex;align-items:center;gap:12px}.shipment-heading>div{flex:1}.shipment-heading .subtle{display:block;margin-top:4px}.truck-stamp{display:grid;place-items:center;width:44px;height:44px;background:#e5ecdd;border-radius:6px;color:#4d714c}.route-line{display:flex;align-items:center;gap:8px;font-size:var(--text-xs);margin:20px 0 12px}.route-dots{flex:1;border-top:2px dotted #b5c1a8}.shipment-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px}.shipment-bottom>span{display:flex;gap:5px;align-items:center;font-size:var(--text-sm)}.shipment-bottom>span{flex-wrap:wrap;overflow-wrap:anywhere;min-width:0}.route-guide{margin-top:20px}.route-option{display:flex;align-items:center;gap:12px;padding:18px 0;border-top:1px solid var(--color-border);margin-top:10px}.route-option>div{flex:1}.route-option p{font-size:var(--text-xs);color:var(--color-muted);margin-top:4px}.route-option>span:nth-child(3){display:flex;flex-direction:column;gap:5px;font-size:var(--text-xs);text-align:end}.route-option>span:last-child{width:72px;text-align:end}.route-option.locked .route-symbol{color:var(--color-muted)}.genesis-content>section+section{margin-top:24px}.chain-panel>p{margin-top:12px}.core-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0;padding-bottom:22px;border-bottom:1px solid var(--color-border)}.core-stats>div{display:flex;flex-direction:column;gap:10px}.core-stats span{font-size:var(--text-xs);color:var(--color-muted)}.core-stats strong{font-size:var(--text-xl);overflow-wrap:anywhere}.chain-details{display:flex;flex-direction:column;gap:14px;margin-top:20px}.chain-details>div{display:flex;justify-content:space-between;gap:12px;font-size:var(--text-xs);line-height:1.5}.chain-details>div>span:first-child{color:var(--color-muted)}.chain-details>div>:last-child{text-align:end}.chain-details>div>:last-child{overflow-wrap:anywhere;min-width:0}.unknown-state{display:flex;align-items:flex-start;gap:12px;padding:20px 0;border-bottom:1px solid var(--color-border);margin-top:12px}.unknown-state svg{color:var(--color-muted)}.unknown-state p{font-size:var(--text-xs);color:var(--color-muted);margin-top:7px}details summary{cursor:pointer;font-size:var(--text-xs);min-height:32px;padding:7px 0}details p{font-size:var(--text-xs);color:var(--color-muted);margin:10px 0}.verification-details{border-top:1px solid var(--color-border);margin:22px 0 16px;padding-top:8px}.verification-details summary{font-weight:600}.address{overflow-wrap:anywhere}.source-links{display:flex;flex-wrap:wrap;gap:16px;font-size:var(--text-xs);padding:8px 0}.milestone{display:flex;gap:14px;padding:24px 0;border-bottom:1px solid var(--color-border)}.milestone-icon{display:grid;place-items:center;min-width:40px;width:40px;height:40px;border:1px dashed #b3bea8;color:var(--color-muted);border-radius:50%}.milestone.earned .milestone-icon{background:#dfe9d7;color:var(--color-success);border:0}.milestone>div{flex:1}.milestone h3{display:flex;justify-content:space-between;gap:12px}.milestone h3>span{font-size:var(--text-xs);color:var(--color-muted);font-weight:400}.milestone p{font-size:var(--text-xs);color:var(--color-muted);margin:7px 0}.footer{border-top:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:20px 28px;font-size:var(--text-xs);color:var(--color-muted)}.footer>span:first-child{font-weight:600}.footer-version{font-weight:400;margin-inline-start:5px}.footer>p{font-size:var(--text-xs);flex-basis:100%;line-height:1.5}.modal{width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 48px);margin:auto;padding:24px;color:var(--color-text);background:var(--color-surface);border:0;border-radius:10px;overflow-y:auto;overscroll-behavior:contain}.modal.wide{width:min(620px,calc(100% - 32px))}.modal::backdrop{background:#1e322bb3}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.modal-head h2{font-size:var(--text-lg)}.modal>p{color:var(--color-muted);font-size:var(--text-sm)}.modal-head .icon-button{margin-inline-end:-8px;margin-block:-8px}.guide-intro{display:flex;gap:16px;align-items:center}.guide-intro h3{font-size:var(--text-md)}.guide-intro p{margin-top:6px;font-size:var(--text-sm);color:var(--color-muted)}.guide-steps{padding-inline-start:24px;margin:24px 0}.guide-steps li{padding-inline-start:7px;margin-bottom:20px;font-size:var(--text-sm)}.guide-steps p{font-size:var(--text-sm);color:var(--color-muted);margin-top:6px}.guide-note{display:flex;align-items:flex-start;gap:12px;background:var(--color-subtle);padding:16px;border-radius:6px;margin-bottom:20px}.guide-note p{font-size:var(--text-xs)}.save-summary{display:flex;gap:12px;align-items:center;padding:18px 0;margin-top:12px}.save-summary>div{display:flex;flex-direction:column;gap:6px;flex:1}.save-summary strong{font-size:var(--text-sm)}.save-summary>div>span{font-size:var(--text-xs);color:var(--color-muted)}.save-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}.file-control{position:relative;cursor:pointer}.file-control input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0;cursor:pointer}.import-confirm{padding:16px;background:var(--orange-100);border-radius:6px;margin-top:20px}.import-confirm p{font-size:var(--text-xs);margin:8px 0 14px}.button-row{display:flex;gap:12px;flex-wrap:wrap}.reset-section{margin-top:28px;padding-top:24px;border-top:1px solid var(--color-border);display:flex;flex-direction:column;align-items:flex-start;gap:10px}.reset-section p{font-size:var(--text-xs);color:var(--color-muted)}.reset-section label{font-size:var(--text-xs);margin-top:6px}.reset-section input{font-size:var(--text-md);width:100%;min-height:42px;border:1px solid var(--sage-300);padding:8px 12px;border-radius:6px;color:var(--color-text);background:var(--color-surface)}.reset-section .danger{margin-top:4px}.inline-error{color:var(--color-danger)!important;font-size:var(--text-xs)!important;line-height:1.6;margin:12px 0}.dispatch-order{display:flex;align-items:center;gap:14px;padding-bottom:20px}.dispatch-crate{display:grid;place-items:center;width:64px;height:64px;border-radius:8px;background:var(--orange-100)}.dispatch-order p{font-size:var(--text-xs);color:var(--color-muted);margin-top:5px}.form-field{display:flex;flex-direction:column;gap:8px;margin-top:16px}.form-field label{font-size:var(--text-sm);font-weight:600}.form-field select{min-width:0;width:100%;min-height:44px;border:1px solid var(--sage-300);border-radius:6px;background:var(--color-surface);padding:10px;color:var(--color-text);font-size:var(--text-md)}.form-field .hint{margin-top:0}.dispatch-quote{background:var(--color-subtle);padding:16px;border-radius:6px;display:flex;flex-direction:column;gap:14px;margin-top:24px}.dispatch-quote>div{display:flex;justify-content:space-between;gap:12px;font-size:var(--text-sm)}.dispatch-quote>div>span{color:var(--color-muted)}.dispatch-quote .quote-total{border-top:1px solid #cbd3c1;padding-top:14px}.quote-total strong{color:var(--color-success)}.full-width{width:100%;margin-top:16px}.back-button{display:flex;margin:12px auto 0}.view-contracts .main-game .feedback,.view-contracts .main-game .activity{display:none}@media(min-width:1600px){.game-layout{grid-template-columns:220px minmax(0,1fr) 320px}.main-game,.header,.resource-bar{padding-inline:32px}}@media(max-width:1240px){.game-layout{grid-template-columns:minmax(0,1fr) 292px}.sidebar{grid-column:1/-1;padding:0 24px;border:0;border-bottom:1px solid var(--color-border);flex-direction:row}.sidebar>:not(.game-nav){display:none}.game-nav{margin:0;flex-direction:row;gap:16px}.game-nav>button{min-height:56px;border-radius:0}.game-nav>button.active{background:transparent;border-bottom:2px solid #42613c}.save-status{display:none}.workbench{grid-template-columns:1fr}.resource-bar{grid-template-columns:1.3fr repeat(5,1fr) 1.2fr}}@media(max-width:900px){.game-layout{display:flex;flex-direction:column}.sidebar{padding:0 16px}.game-nav{width:100%;justify-content:space-between;gap:0}.game-nav>button:nth-child(3){display:flex}.game-nav>button{padding:10px 8px;gap:7px}.right-sidebar{display:none}.view-contracts .right-sidebar{display:block;border-inline:0;padding:0 24px 24px;background:transparent}.view-contracts .contract-board{padding:24px;border-radius:6px;background:var(--color-surface)}.view-contracts .main-game{padding-bottom:0}.view-contracts .goals{background:var(--color-surface);border-radius:6px;padding:20px}.view-contracts .contract-button{min-height:44px}.workbench{grid-template-columns:1fr 1fr}.header{padding:14px 24px}.genesis-label{display:none}.resource-bar{grid-template-columns:repeat(6,1fr);padding:14px 24px;gap:8px}.resource{gap:7px}.resource strong{font-size:var(--text-md)}.capacity-meter{display:none}.header-tools{gap:4px}.contract{padding-block:24px}}@media(max-width:600px){.header{padding:12px 16px;gap:10px}.brand{gap:8px}.brand-mark{width:38px;height:38px;border-radius:7px}.brand-mark svg{width:32px;height:32px}.brand-name{font-size:var(--text-lg)}.brand-name>span{font-size:var(--text-xs)}.header-tools{gap:0}.header-tools .icon-button{min-width:34px;width:34px;height:40px}.motion-control{display:none}.save-button{border:0;background:transparent;padding:8px;min-width:34px;width:34px}.save-button>span{display:none}.resource-bar{grid-template-columns:repeat(3,minmax(0,1fr));padding:12px 16px;gap:12px 10px}.resource strong{font-size:var(--text-md)}.resource small{font-size:var(--text-xs)}.resource>.pixel-icon{width:24px;height:24px}.credit-resource{border:0}.sidebar{padding:0 8px}.game-nav>button{flex-direction:column;justify-content:center;gap:4px;font-size:var(--text-xs);flex:1;min-width:0;padding:8px 3px;min-height:58px;position:relative}.game-nav>button .status-dot{position:absolute;inset-block-start:10px;inset-inline-end:calc(50% - 18px)}.game-nav>button .nav-count{position:absolute;inset-block-start:4px;inset-inline-end:calc(50% - 28px);font-size:var(--text-xs)}.main-game{padding:22px 16px 16px}.page-heading{align-items:flex-start;gap:12px;margin-bottom:18px}h1{font-size:var(--text-lg);line-height:1.3;max-width:21ch;letter-spacing:-.03em}.page-heading p{font-size:var(--text-xs);margin-top:5px}.reputation{font-size:var(--text-xs);min-width:54px;padding-top:2px}.reputation>span{font-size:var(--text-xs)}.tutorial-banner{padding:10px;gap:8px;margin-bottom:14px;align-items:flex-start}.tutorial-portrait{width:28px;min-width:28px;height:32px}.tutorial-banner .tutorial-step{display:none}.tutorial-banner p,.tutorial-banner strong{font-size:var(--text-xs)}.tutorial-banner .small-icon{width:24px;min-width:24px;height:24px}.gather-toolbar{padding-bottom:14px}.gather-actions{gap:6px}.gather-button{padding:8px 4px;gap:5px;min-height:56px;font-size:var(--text-xs)}.gather-button>svg:last-child{display:none}.gather-button>.pixel-icon{width:20px;height:20px}.gather-button small{font-size:var(--text-xs)}.world{aspect-ratio:500/340}.world-location{inset-inline-start:10px;inset-block-start:10px}.world canvas{object-fit:fill}.map-coordinate{display:none}.plot-button{min-height:30px;height:30px;min-width:30px;padding:5px;border-radius:4px}.plot-name{display:none}.plot-button.selected{padding-inline-end:8px}.plot-button.selected .plot-name{display:inline}.world-footer{inset-inline:10px;inset-block-end:10px;font-size:var(--text-xs)}.world-footer>span:last-child{display:none}.workbench,.building-grid{grid-template-columns:1fr;gap:14px;margin-top:16px}.building-panel,.production-panel,.chain-panel,.shipments-panel,.route-guide{padding:16px}.building-panel .section-top{flex-wrap:nowrap}.building-panel .section-top>.badge{max-width:88px;text-align:center}.building-title{gap:8px}.building-title .subtle{font-size:var(--text-xs)}.building-glyph{width:34px;height:34px;min-width:34px}.recipe-trade{gap:5px}.feedback{margin-top:12px}.activity .section-top{align-items:baseline}.activity .section-top>.subtle{text-align:end}.activity time{font-size:var(--text-xs)}.activity li{flex-wrap:wrap}.activity li>span:nth-child(2){min-width:180px}.activity li time{margin-inline-start:13px}.view-contracts .right-sidebar{padding-inline:16px}.view-contracts .contract-board,.view-contracts .goals{padding:16px}.shipment-heading{gap:8px;align-items:flex-start}.truck-stamp{min-width:32px;width:32px;height:36px}.route-line{flex-wrap:wrap}.route-dots{min-width:10px}.shipment-bottom{flex-wrap:wrap}.shipment-bottom .button{width:100%}.route-guide>.section-top{flex-wrap:wrap;gap:4px}.route-option{flex-wrap:wrap;gap:10px}.route-option>div{min-width:140px}.route-option>span:last-child{width:auto;margin-inline-start:29px}.chain-panel>.section-top{flex-wrap:wrap}.core-stats{grid-template-columns:1fr;gap:14px}.core-stats>div{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.core-stats strong{font-size:var(--text-lg)}.chain-details>div{flex-direction:column;gap:4px}.chain-details>div>:last-child{text-align:start}.milestone h3{flex-wrap:wrap;gap:4px}.milestone h3>span{flex-basis:100%}.milestone-icon{width:32px;min-width:32px;height:32px}.footer{padding:20px 16px;gap:10px}.footer>span{font-size:var(--text-xs)}.footer>span:nth-child(2){flex-basis:100%}.modal{padding:20px;width:calc(100% - 24px);max-height:calc(100dvh - 24px)}.modal.wide{width:calc(100% - 24px)}.dispatch-quote{padding:14px}.dispatch-order{gap:10px}.dispatch-crate{min-width:50px;width:50px;height:50px}}@media(max-width:350px){.header{padding-inline:12px}.header-tools .icon-button{min-width:30px;width:30px}.brand-name{font-size:var(--text-lg)}.brand-mark{width:32px;height:34px}.main-game,.resource-bar{padding-inline:12px}.tutorial-portrait{display:none}.gather-button{flex-direction:column;padding:7px 2px}.gather-button>span{text-align:center}.gather-button>.pixel-icon{display:none}.page-heading h1{max-width:16ch}.build-action{flex-wrap:wrap}.build-action .button{margin-inline-start:auto}.building-panel .section-top{flex-wrap:wrap}}@media(prefers-reduced-motion:no-preference){.button,.icon-button,.gather-button{transition:background-color .12s ease-out,transform .12s cubic-bezier(.2,0,0,1)}.button:active:not(:disabled),.icon-button:active,.gather-button:active:not(:disabled){transform:scale(.96)}.progress>span{transition:width .2s linear}}@media(forced-colors:active){button,.button{border:1px solid ButtonText}.progress{border:1px solid CanvasText}.progress>span{background:Highlight}}
