/* Contextual settlement controls. World remains the main navigation surface. */
.sh-founder { display:grid; gap:10px; padding:14px; }
.sh-founder p { margin:0; }
.sh-founder-story { line-height:1.5; font-size:13px; }
.sh-founder-story strong { font-size:12px; color:#ddc391; letter-spacing:.03em; }
.sh-build-rank { display:flex; align-items:center; gap:10px; padding:12px; border:1px solid #ffffff24; border-radius:8px; }
.sh-founder small { font-size:12px; color:#d0d9c4; line-height:1.45; }
.sh-founder > b { display:flex; align-items:center; gap:8px; }
.sh-site-choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
.sh-site-choices .mx-btn { min-width:0; min-height:44px; padding:8px; font-size:12px; }
#shell .sh-village-world .sh-site-marker { width:auto!important; min-width:82px; min-height:44px; padding:8px 10px; background:#1d352a; color:#f4e4bf; font-size:12px; border:1px solid #c5ad77; }
#shell .sh-site-marker::before, #shell .sh-site-marker::after { display:none; }
.sh-place-target { border:2px solid #e4c88b; background:#2c4c36; color:#fff1ce; font-weight:700; }
.sh-plot-details { margin-top:16px; padding-top:12px; border-top:1px solid #ffffff24; }
.sh-plot-details summary { cursor:pointer; padding:10px 0; min-height:44px; }
.sh-plot-details[open] { display:grid; gap:10px; }
.sh-plot-details .mx-btn { max-width:100%; white-space:normal; }
.sh-plot-details small { display:block; line-height:1.45; color:#c2c9b6; }
.sh-village[data-preview="true"] .sh-v-layer { display:none; pointer-events:none; }
.sh-village[data-settlement-stage="wagon"] + #sh-village-info .sh-v-details { display:none; }

/* Keep the world exposed while every contextual action remains scrollable. */
#shell .sh-village-toolbar { top:var(--ui-head); left:var(--ui-left); right:var(--ui-right); gap:8px; }
#shell .sh-village-toolbar .mx-seg button { min-height:44px; padding:8px 10px; }
#shell .sh-village-toolbar > .mx-btn { min-height:48px; padding:8px 12px; }
#shell .sh-village-world #sh-village-info { left:var(--ui-left); right:var(--ui-right); bottom:calc(var(--ui-foot) + 8px); max-height:min(38dvh,320px); scroll-padding:10px; border-radius:14px; }
#shell .sh-village-world #sh-village-info:has(.sh-founder) { max-height:min(44dvh,300px); }
#shell .sh-founder { border:1px solid var(--world-line); background:#1c332bec; border-radius:16px; backdrop-filter:blur(10px); }
#shell .sh-founder > b { font-size:15px; font-weight:650; color:#f1e6cf; }
#shell .sh-founder-story { color:#dce1ce; font-size:13px; line-height:1.5; }
#shell .sh-v-onboarding { gap:10px; padding:12px; }
#shell .sh-v-onboarding .sh-vinfo-tx b { font-size:15px; }
#shell .sh-vinfo-tx small { font-size:13px; line-height:1.45; color:#d0dbc4; }
#shell .sh-v-onboarding-actions { display:grid; grid-template-columns:1fr; gap:8px; }
#shell .sh-v-onboarding-actions:has(> :nth-child(2)) { grid-template-columns:1fr 1fr; }
#shell .sh-v-onboarding-actions .mx-btn { min-height:46px; font-size:14px; padding:10px; }
#shell .sh-v-details { padding:0 12px 12px; }
#shell .sh-v-details:not([open]) { padding-bottom:0; }
#shell .sh-v-details summary { min-height:44px; font-size:13px; color:#e2ddc5; }
#shell .sh-v-details > .mx-btn { min-height:44px; margin-right:4px; margin-bottom:4px; font-size:13px; text-decoration:none; }
#shell .sh-v-details .sh-vinfo { flex-wrap:wrap; padding:10px; }
#shell .sh-v-details .sh-vinfo-tx b { font-size:14px; }
#shell .sh-v-details .mx-need { font-size:13px; line-height:1.5; text-align:left; }
#shell .sh-village-world .sh-collect-all { top:calc(var(--ui-head) + 58px); right:var(--ui-right); min-height:44px; }
#shell .sh-plot-details summary { color:#dfd3b5; }
#shell .sh-plot-details .mx-btn { min-height:44px; }

@media(min-width:721px) {
 #shell .sh-village-world #sh-village-info { left:max(24px,env(safe-area-inset-left)); right:auto; width:340px; max-height:48dvh; bottom:calc(var(--ui-foot) + 24px); }
 #shell .sh-village-world #sh-village-info:has(.sh-founder) { max-height:48dvh; }
}
@media(max-width:359px) {
 #shell .sh-founder { padding:12px; gap:8px; }
 #shell .sh-founder-story { font-size:12px; }
 #shell .sh-village-toolbar .mx-seg button { padding-inline:8px; }
 #shell .sh-village-toolbar > .mx-btn { padding-inline:9px; }
 #shell .sh-v-onboarding-actions .mx-btn { font-size:13px; }
}
@media (orientation:landscape) and (max-height:540px) {
 #shell .sh-village-toolbar { top:var(--ui-head); }
 #shell .sh-village-world #sh-village-info { width:280px; left:auto; right:var(--ui-right); top:calc(var(--ui-head) + 62px); bottom:calc(var(--ui-foot) + 8px); max-height:none; }
 #shell .sh-village[data-settlement-stage="wagon"] + #sh-village-info { top:calc(var(--ui-head) + 8px); max-height:none; }
 #shell .sh-founder { padding:12px; gap:8px; }
 #shell .sh-founder small { display:block; }
 #shell .sh-village-world .sh-collect-all { right:calc(300px + var(--ui-right)); }
}
