.gameShell .frontierObjective{border:1px solid #6c7460;border-radius:12px;background:linear-gradient(135deg,#29312b,var(--ui-panel) 65%);padding:20px;margin:0 0 24px}.gameShell .frontierTitle{display:flex;align-items:center;gap:12px;margin-bottom:20px}.gameShell .frontierTitle>span{display:grid;place-items:center;width:42px;height:46px;border:1px solid #9d906b;border-radius:5px;color:var(--ui-accent);font-size:25px;background:#343a2b}.gameShell .frontierTitle h3{font-size:16px;margin:0 0 4px;font-weight:600}.gameShell .frontierTitle small{font-size:13px;color:var(--ui-muted)}.gameShell .frontierObjective h4{font-size:22px;line-height:1.3;margin:0 0 8px;overflow-wrap:anywhere}.gameShell .frontierObjective p{font-size:14px;line-height:1.6;margin:12px 0}.gameShell .frontierObjective progress{display:block;width:100%;height:6px;border:0;border-radius:8px;accent-color:#b8c99c;background:#3a423a}.gameShell .frontierStatus{font-size:13px!important;color:#c7d6b6!important}.gameShell .frontierReward{border-top:1px solid var(--ui-border);padding-top:16px;color:var(--ui-accent)!important}.gameShell .frontierReward small{font-size:12px;line-height:1.5;color:var(--ui-muted)}.gameShell .frontierActions{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.gameShell .frontierActions button{flex:1 1 160px;min-height:46px}.gameShell .frontierObjective details{border:0;border-top:1px solid var(--ui-border);background:transparent;padding:12px 0 0;margin-top:16px;border-radius:0;box-shadow:none}.gameShell .frontierObjective summary{font-size:14px;min-height:44px;align-content:center}.gameShell .frontierObjective details button{display:block;margin-top:8px;width:100%}.gameShell .frontierContributors{list-style:none;padding:0;margin:12px 0;font-size:13px}.gameShell .frontierContributors li{display:flex;flex-wrap:wrap;gap:4px 12px;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--ui-border)}.gameShell .frontierContributors span{color:var(--ui-muted)}.gameShell .frontierWinner{color:#c7d6b6!important;font-weight:600}.gameShell .territoryPrize{border-left:3px solid #aaba8d;padding:0 0 0 12px;margin:16px 0}.gameShell .territoryPrize>span{font-size:12px;color:var(--ui-muted);display:block;margin-bottom:4px}.gameShell .territoryPrize b{font-size:16px}.gameShell .territoryPrize p,.gameShell .territoryPrize small{font-size:13px;line-height:1.5;margin:6px 0;color:var(--ui-muted)}.gameShell .supplyExplanation{margin:12px 0;border-top:1px solid var(--ui-border);padding:12px 0}.gameShell .supplyExplanation summary{font-size:14px;min-height:44px;align-content:center}.gameShell .supplyExplanation button{display:block;width:100%;margin-top:8px}.gameShell .supplyCarrier{padding:16px 0;margin:16px 0;border:0;border-top:1px solid var(--ui-border);border-radius:0;background:transparent}.gameShell .supplyCarrier summary{min-height:48px;display:flex;flex-direction:column;gap:6px;align-items:flex-start;justify-content:center}.gameShell .supplyCarrier summary small{font-size:12px;color:var(--ui-muted);overflow-wrap:anywhere}.gameShell .supplyDestination{display:grid;gap:8px;padding:16px 0;border-top:1px solid var(--ui-border)}.gameShell .supplyDestination>b{font-size:15px;overflow-wrap:anywhere}.gameShell .supplyDestination>small{color:var(--ui-muted);font-size:13px}.gameShell .supplyMapLegend{position:fixed;z-index:65;bottom:calc(110px + env(safe-area-inset-bottom));left:16px;right:16px;max-width:510px;margin:auto;display:flex;align-items:flex-start;gap:12px;background:#182521f5;border:1px solid #677867;border-radius:12px;box-shadow:0 6px 24px #0004;padding:16px;color:var(--ui-text)}.gameShell .supplyMapLegend>div{display:grid;gap:8px;min-width:0}.gameShell .supplyMapLegend small,.gameShell .supplyMapLegend span{font-size:12px;line-height:1.5;color:var(--ui-muted)}.gameShell .supplyMapLegend i,.gameShell .supplyMapLegend em{display:inline-block;width:8px;height:8px;border-radius:50%;background:#a4d3b3;margin-right:4px}.gameShell .supplyMapLegend em{background:#e8bb7d;margin-left:8px}.gameShell .supplyMapLegend button{flex:none;width:44px;height:44px;background:#303d35;color:var(--ui-text);border:1px solid #667262;border-radius:8px;font-size:22px}.gameShell .rivalryStatus{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--ui-border)}.gameShell .rivalryStatus h3{font-size:18px}.gameShell .rivalryStatus button{display:block;width:100%;margin-top:8px}.gameShell .hostilityReview{max-width:440px}.gameShell .hostilityReview button[value=attack]{background:#d8bc91;color:#272820}.gameShell .hostilityReview header{padding-right:50px;position:relative}.gameShell .hostilityReview header button{position:absolute;right:0;top:0;width:44px}.gameShell .hostilityReview h2{font-size:22px;line-height:1.3}
@media(max-width:360px){.gameShell .frontierObjective{padding:16px}.gameShell .frontierObjective h4{font-size:20px}.gameShell .supplyMapLegend{left:10px;right:10px;padding:12px}.gameShell .frontierActions button{flex-basis:100%}}
.gameShell .strategicFilter{display:grid;gap:8px;font-size:14px;margin:20px 0 12px}.gameShell .strategicCount{font-size:12px!important}.gameShell .strategicLocation{border-top:1px solid var(--ui-border);padding:20px 0}.gameShell .strategicLocationHeading{display:flex;gap:12px;align-items:center}.gameShell .strategicLocationHeading>span{display:grid;place-items:center;width:40px;height:44px;flex-shrink:0;font-size:24px;color:var(--ui-accent);background:#30392e;border-radius:6px}.gameShell .strategicLocation h3{font-size:17px;line-height:1.4;margin:0 0 4px;overflow-wrap:anywhere}.gameShell .strategicLocation small{font-size:12px;color:var(--ui-muted);line-height:1.5}.gameShell .strategicLocation .strategicBenefit{font-size:14px;color:#ccd7b8;margin:14px 0 8px}.gameShell .strategicLocation details{border:0;background:transparent;padding:0;margin:12px 0;border-radius:0;box-shadow:none}.gameShell .strategicLocation summary{font-size:13px;min-height:44px;align-content:center}.gameShell .strategicLocation>button{width:100%}
.gameShell .allianceFrontier{border:1px solid var(--ui-border);border-radius:10px;margin:16px 0 24px;padding:0;background:transparent}.gameShell .allianceFrontier>summary{display:grid;gap:6px;padding:16px;min-height:64px;font-size:16px;font-weight:550;cursor:pointer}.gameShell .allianceFrontier>summary small{font-size:12px;font-weight:400;color:var(--ui-muted);overflow-wrap:anywhere}.gameShell .allianceFrontier .frontierObjective{border:0;border-top:1px solid var(--ui-border);border-radius:0;margin:0;background:transparent}
