/* Fixed terrain with twelve independently changing building layers. */
.independent-village-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px}.village-growth-status{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:10px}.village-growth-status .icon{width:15px;height:15px;color:var(--copper)}.summary-divider{color:var(--subtle);margin:0 6px}.independent-village-toolbar .text-button{font-size:10px}.settlement-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px;align-items:start}.settlement-world{background:#172a28;border-color:#506359;overflow:hidden}.settlement-scroller{overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cda37070 #172a28}.settlement-panorama{position:relative;aspect-ratio:1.5;isolation:isolate;overflow:hidden;min-height:540px}.settlement-environment{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:-3}.settlement-panorama:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0e1a2640,transparent 20%,transparent 80%,#0e1a2660);z-index:-2;pointer-events:none}.settlement-caption{position:absolute;top:22px;left:22px;padding:10px 16px;border-left:2px solid var(--copper);background:linear-gradient(90deg,#17252ada,#17252a70);border-radius:0 6px 6px 0;pointer-events:none;z-index:4}.settlement-caption>.eyebrow{font-size:8px;color:#e3d4ba;letter-spacing:1.5px}.settlement-caption h2{font-family:var(--display);font-size:31px;line-height:1.1;font-weight:600;margin:3px 0 5px}.settlement-caption>span:last-child{font-size:8px;color:#d3d8cc}.building-art{display:block;width:100%;aspect-ratio:1;background-size:400% 300%;background-repeat:no-repeat;transform:scale(var(--building-scale,1));transform-origin:center 80%;pointer-events:none}.village-building{position:absolute;transform:translate(-50%,-65%);padding:0;aspect-ratio:1;background:none;isolation:isolate;z-index:2;transition:filter .18s;cursor:pointer}.village-building>.building-art{filter:drop-shadow(0 5px 3px #24251555)}.building-ground{position:absolute;width:70%;height:14%;left:15%;bottom:15%;border-radius:50%;background:#423a1e18;z-index:-1;box-shadow:0 5px 10px #251e2528;transition:background .2s,box-shadow .2s}.village-building:hover,.village-building.selected{z-index:10}.village-building.selected .building-ground{box-shadow:0 0 0 1px #f3d397a0,0 0 20px #e8c18a70;background:#ddb67222}.village-building.selected>.building-art,.village-building:hover>.building-art{filter:drop-shadow(0 0 1px #f1d5a9) drop-shadow(0 5px 4px #24251560)}.building-label{position:absolute;bottom:5%;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:6px;padding:5px 7px;border:1px solid #e8d2ad70;border-radius:5px;background:#14262ded;color:#f2eadb;white-space:nowrap;font-size:10px;box-shadow:0 3px 9px #0005;pointer-events:none}.building-label>.icon{width:12px;height:12px;color:var(--copper-light)}.building-label-name{display:none;font-size:9px;font-weight:600}.village-building.selected .building-label-name,.village-building:hover .building-label-name,.village-building:focus-visible .building-label-name{display:inline}.building-label>b{font-size:10px;color:var(--copper-light)}.building-label.labels-hidden{visibility:hidden}.construction-dot{width:5px;height:5px;border-radius:50%;background:var(--copper)}.building-construction{position:absolute;top:96%;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:4px;white-space:nowrap;font-size:7px;color:#ffdd9d;background:#1a292de8;padding:4px 6px;border-radius:3px;pointer-events:none}.building-construction>.icon{width:10px;height:10px}.individual-scene-hint{position:absolute;left:22px;bottom:18px;display:flex;align-items:center;gap:7px;font-size:9px;color:#e5e5d9;padding:8px 10px;background:#17252ad0;border-radius:5px;pointer-events:none}.individual-scene-hint .icon{width:14px;height:14px;color:var(--copper)}.settlement-world-footer{border-top:1px solid #53665a;background:#1a2a2b;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 20px;font-size:9px;color:var(--muted)}.settlement-world-footer>span{display:flex;align-items:center;gap:7px}.settlement-world-footer .icon{width:15px;height:15px;color:var(--copper)}.settlement-world-footer b{color:var(--text)}.settlement-world-footer .mobile-scene-note{display:none}.individual-inspector{background:#1d2a2e;overflow:hidden}.individual-inspector-top{padding:22px 22px 17px}.individual-inspector-top>.eyebrow{font-size:7px;color:var(--subtle);margin-bottom:6px}.individual-inspector-top h2{font-family:var(--display);font-size:30px;font-weight:600;line-height:1.1}.individual-inspector-top>p:last-child{font-size:10px;line-height:1.8;color:var(--muted)}.individual-building-preview{height:145px;display:flex;justify-content:center;align-items:center;position:relative;margin:8px 0 12px;background:radial-gradient(ellipse at center,#cda37015,transparent 65%)}.individual-building-preview>.building-art{width:150px;flex:none}.individual-level{position:absolute;right:0;bottom:10px;display:flex;flex-direction:column;font-family:var(--display);font-size:32px;color:var(--copper-light);line-height:1}.individual-level>small{font-family:var(--font);font-size:8px;color:var(--subtle);margin-top:5px}.individual-level-summary{display:flex;align-items:center;justify-content:space-between;padding:13px 22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#131e2450;font-size:10px;color:var(--muted)}.individual-level-summary>span{display:flex;align-items:center;gap:6px}.individual-level-summary .icon{width:14px;height:14px;color:var(--copper)}.individual-level-summary>b{color:var(--copper-light);font-size:14px}.individual-construction,.individual-upgrade{padding:20px 22px}.individual-construction>.chip{font-size:7px}.individual-construction>.chip>.icon{width:12px;height:12px}.individual-construction>h3{font-family:var(--display);font-size:25px;margin:10px 0}.individual-construction>.progress-track{height:4px;background:#cda37020;border-radius:3px;margin-bottom:12px}.individual-construction>.progress-track>i{display:block;height:100%;background:var(--copper);border-radius:3px}.individual-construction>p{font-size:9px;color:var(--muted);line-height:1.8;margin-bottom:13px}.individual-construction>.btn,.individual-upgrade>.btn{width:100%;padding:10px 8px;font-size:10px}.individual-construction>small{display:block;text-align:center;font-size:8px;color:var(--subtle);line-height:1.7;margin-top:10px}.district-upgrade-meta{display:flex;justify-content:space-between;gap:8px;font-size:9px;color:var(--subtle);margin-bottom:12px}.district-upgrade-meta b{color:var(--copper-light)}.individual-upgrade>.costs{justify-content:space-between;margin-bottom:15px}.individual-upgrade>p{font-size:8px;color:var(--subtle);text-align:center;margin-top:10px}.individual-level-preview{border-top:1px solid var(--line);padding:17px 22px 20px;background:#15212650}.individual-level-preview>label{display:flex;justify-content:space-between;font-size:9px;color:var(--muted)}.individual-level-preview>label>b{color:var(--copper)}.individual-level-preview>input{width:100%;height:18px;padding:0;margin:11px 0 3px;accent-color:var(--copper);cursor:pointer;background:none;border:0}.individual-level-preview>div{display:flex;justify-content:space-between;font-size:8px;color:var(--subtle)}.individual-level-preview>p{font-size:8px;line-height:1.8;color:var(--subtle);margin-top:10px}.individual-building-catalog{margin-top:22px}.individual-building-catalog>.card-header>.muted{font-size:9px}.individual-catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:12px 16px 18px;gap:8px}.individual-catalog-card{display:flex;align-items:center;gap:8px;background:#121d2350;border:1px solid transparent;border-radius:7px;padding:8px 10px;text-align:left;color:var(--text);min-width:0}.individual-catalog-card:hover{background:#cda37008;border-color:#cda37050}.individual-catalog-card.selected{border-color:var(--copper);background:#cda3700a}.catalog-art{display:block;width:65px;flex-shrink:0}.catalog-copy>b{display:block;font-size:10px;font-weight:600}.catalog-copy>small{font-size:8px;color:var(--subtle);display:block;margin-top:5px}.village-completion-note{display:flex;gap:8px;align-items:center;color:var(--green);font-size:10px;padding:12px 16px;background:#9abb9e08;border:1px solid #9abb9e30;border-radius:7px;margin-top:16px}.village-completion-note>.icon{width:16px;height:16px}.growth-upgrade-heading{display:flex;align-items:center;gap:18px;margin-bottom:20px}.upgrade-sprite{display:block;width:110px;flex-shrink:0}.growth-upgrade-heading .eyebrow{font-size:8px}.growth-upgrade-heading h3{font-family:var(--display);font-size:27px}.individual-upgrade>.btn:disabled{opacity:.5;cursor:default}
@media(min-width:1800px){.settlement-layout{grid-template-columns:minmax(0,1fr) 300px}.settlement-panorama{min-height:650px;aspect-ratio:1.65}.village-building .building-label{padding:6px 9px}.building-label-name{font-size:11px}.building-label>b{font-size:12px}.individual-building-preview{height:165px}.individual-building-preview>.building-art{width:175px}}
@media(max-width:1280px){.settlement-layout{grid-template-columns:minmax(0,1fr) 250px;gap:16px}.individual-inspector-top{padding:20px}.individual-inspector-top h2{font-size:27px}.individual-construction,.individual-upgrade,.individual-level-preview{padding-left:20px;padding-right:20px}.settlement-panorama{min-height:485px}.catalog-art{width:52px}.individual-catalog-card{gap:6px;padding:7px}.individual-catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1100px){.settlement-layout{grid-template-columns:1fr}.settlement-panorama{min-height:520px}.individual-inspector{display:grid;grid-template-columns:1fr 1fr}.individual-inspector-top{grid-row:1/4;border-right:1px solid var(--line)}.individual-building-preview{height:170px}.individual-building-preview>.building-art{width:180px}.individual-level-summary{border-top:0}.individual-level-preview{grid-column:2}.individual-catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-art{width:65px}}
@media(max-width:760px){.independent-village-toolbar{align-items:flex-start;gap:12px;flex-direction:column;margin-bottom:15px}.village-growth-status{font-size:9px}.independent-village-toolbar>.text-button{font-size:9px}.settlement-scroller{height:450px;max-width:100%;width:100%}.settlement-panorama{min-width:760px;height:450px;min-height:0;aspect-ratio:auto}.settlement-caption{top:16px;left:18px;padding:9px 13px}.settlement-caption h2{font-size:28px}.settlement-caption>.eyebrow{font-size:7px}.settlement-caption>span:last-child{font-size:7px}.individual-scene-hint{left:18px;bottom:15px;font-size:8px}.settlement-world-footer{padding:13px 16px;font-size:9px}.settlement-world-footer>.desktop-scene-note{display:none}.settlement-world-footer>.mobile-scene-note{display:flex;font-size:7px;gap:4px}.settlement-world-footer>.mobile-scene-note>.icon{width:12px;height:12px}.individual-inspector{display:block}.individual-inspector-top{border-right:0;padding:20px}.individual-building-preview{height:155px;margin:3px 0 8px}.individual-building-preview>.building-art{width:165px}.individual-level{font-size:36px;right:16px}.individual-level-summary{border-top:1px solid var(--line);padding:13px 20px}.individual-construction,.individual-upgrade{padding:20px}.individual-construction>.btn,.individual-upgrade>.btn{font-size:11px}.individual-level-preview{padding:17px 20px}.individual-building-catalog{margin-top:16px}.individual-building-catalog>.card-header{align-items:flex-start;gap:5px;flex-direction:column}.individual-building-catalog>.card-header>.muted{font-size:8px}.individual-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px;gap:7px}.individual-catalog-card{display:flex;flex-direction:column;text-align:center;gap:3px;padding:10px 6px}.catalog-art{width:80px}.catalog-copy>b{font-size:10px}.catalog-copy>small{font-size:8px}.growth-upgrade-heading{gap:12px}.growth-upgrade-heading h3{font-size:22px}.growth-upgrade-heading .eyebrow{font-size:6px}.upgrade-sprite{width:90px}.village-completion-note{font-size:9px;line-height:1.8}}
@media(prefers-reduced-motion:reduce){.village-building,.building-ground{transition:none}}

.building-art{clip-path:inset(0 0 var(--sprite-cut,0%) 0)}.building-visual>.building-art{width:155px;max-width:75%;margin:auto}

.intro-building-sprite{display:block;width:100px;flex-shrink:0}.queue-building-sprite{display:block;width:57px;flex-shrink:0}@media(max-width:760px){.intro-building-sprite{width:75px}}
.building-art.additional-art{background-size:300% 200%}.building-art.wall-art{background-size:contain;clip-path:none}.village-building.perimeter-wall{aspect-ratio:3;transform:translate(-50%,-50%);z-index:6}.perimeter-wall>.wall-art{aspect-ratio:3;background-size:100% 100%;transform:none;filter:drop-shadow(0 2px 2px #24251530)}.perimeter-wall>.building-ground{display:none}.perimeter-wall>.building-label{left:74%;bottom:30%}.perimeter-wall.selected{z-index:7}.perimeter-wall .building-construction{top:75%;left:74%}.units-strip.hidden{display:none}
/* Village-first composition: one fixed projection and ground-anchored buildings. */
.village-route #tartalom{max-width:1920px;padding-top:22px}.village-route .page-heading{align-items:center;margin-bottom:16px}.village-route .page-heading h1{font-size:32px}.village-route .page-heading .eyebrow{margin-bottom:6px}.village-route .page-heading p:last-child{margin-top:4px}.village-view-tools{display:flex;gap:20px;align-items:center}.village-view-tools .text-button{font-size:10px}.village-route .settlement-layout{display:flex;flex-direction:column;gap:18px}.village-route .settlement-world{width:100%;border-radius:14px;box-shadow:0 20px 65px #07100d45}.village-route .settlement-panorama{width:100%;height:auto;min-height:0;min-width:0;aspect-ratio:1672/941}.village-route .settlement-environment{object-fit:contain}.village-route .settlement-scroller{height:auto}.village-route .settlement-caption{top:auto;bottom:28px;left:26px;padding:14px 20px;background:linear-gradient(90deg,#12272ddb,#12272d50);z-index:110}.village-route .settlement-caption h2{font-size:36px}.village-route .settlement-caption>span:last-child{font-size:9px}.village-route .individual-scene-hint{left:auto;right:24px;bottom:22px;z-index:110;font-size:9px}.village-route .village-building{transform:translate(-50%,-90%);z-index:var(--building-depth,2)}.village-route .village-building.selected,.village-route .village-building:hover{z-index:var(--building-depth,2)}.village-route .village-building>.building-art{filter:drop-shadow(1px 3px 2px #24251550)}.village-route .village-building.selected>.building-art,.village-route .village-building:hover>.building-art{filter:drop-shadow(0 0 1px #f1d5a9) drop-shadow(1px 3px 3px #24251570)}.village-route .additional-art{filter:saturate(.8) brightness(.95)}.village-route .village-building>.additional-art{filter:saturate(.8) brightness(.95) drop-shadow(1px 3px 2px #24251550)}.village-route .building-label{bottom:0;padding:4px 6px;gap:5px;border-color:#dfceac65;background:#14262de8;font-size:9px}.village-route .building-label>b{font-size:10px}.village-route .building-label>.icon{width:11px;height:11px}.village-route .building-label-name{font-size:9px}.village-route .building-construction{top:103%;font-size:7px}.village-route .building-ground{bottom:7%;height:10%;width:65%;left:17.5%;background:#34291718;box-shadow:1px 3px 7px #34291728}.village-route .perimeter-wall{transform:translate(-50%,-50%) rotate(-5deg);z-index:95}.village-route .perimeter-wall.selected,.village-route .perimeter-wall:hover{z-index:95}.village-route .perimeter-wall .building-label{bottom:25%;left:72%;transform:translateX(-50%) rotate(5deg)}.village-route .perimeter-wall .building-construction{top:79%;left:72%;transform:translateX(-50%) rotate(5deg)}
.village-route .individual-inspector{width:100%;display:grid;grid-template-columns:minmax(230px,1.1fr) minmax(145px,.65fr) minmax(250px,1.2fr) minmax(185px,.8fr);grid-template-rows:auto auto;border-radius:12px}.village-route .individual-inspector-top{grid-column:1;grid-row:1/3;padding:20px;border-right:1px solid var(--line);display:grid;grid-template-columns:100px 1fr;align-content:center;column-gap:14px}.village-route .individual-inspector-top>.eyebrow{grid-column:2;font-size:6px;align-self:end;margin-bottom:4px}.village-route .individual-inspector-top>h2{grid-column:2;font-size:25px;line-height:1.1}.village-route .individual-building-preview{grid-column:1;grid-row:1/4;width:100px;height:120px;margin:0;align-self:center}.village-route .individual-building-preview>.building-art{width:100px}.village-route .individual-level{font-size:22px;bottom:0;right:0}.village-route .individual-level>small{font-size:7px}.village-route .individual-inspector-top>p:last-child{grid-column:2;font-size:9px;line-height:1.8;margin-top:7px}.village-route .individual-level-summary{grid-column:2;grid-row:1;border:0;background:none;padding:22px 15px 4px;align-self:end;gap:9px;font-size:9px}.village-route .building-function-actions{grid-column:2;grid-row:2;padding:8px 15px 22px;align-self:start}.village-route .building-function-actions>.btn{font-size:8px;padding:8px 6px}.village-route .individual-construction,.village-route .individual-upgrade{grid-column:3;grid-row:1/3;border-left:1px solid var(--line);padding:20px}.village-route .individual-construction>h3{font-size:23px;margin:6px 0}.village-route .individual-construction>p{display:none}.village-route .individual-construction>small{font-size:7px;margin-top:6px}.village-route .individual-level-preview{grid-column:4;grid-row:1/3;border-top:0;border-left:1px solid var(--line);padding:22px 18px;display:flex;flex-direction:column;justify-content:center}.village-route .individual-level-preview>input{margin-top:17px}.village-route .individual-building-catalog{margin-top:22px}.village-route .individual-catalog-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;padding:14px}.village-route .individual-catalog-card{flex-direction:column;text-align:center;padding:10px 6px;gap:4px}.village-route .catalog-art{width:70px}.village-route .catalog-copy>b{font-size:10px}.village-route .catalog-copy>small{font-size:8px;margin-top:3px}.village-focus .sidebar{display:none}.village-focus .app-shell{margin-left:0}.village-focus #tartalom{max-width:2000px}.village-focus .topbar{padding-left:32px;padding-right:32px}.village-focus .toast{left:50%}
@media(min-width:1800px){.village-route .settlement-panorama{aspect-ratio:1672/941;min-height:0}.village-route .individual-inspector-top{grid-template-columns:125px 1fr}.village-route .individual-building-preview{width:125px;height:135px}.village-route .individual-building-preview>.building-art{width:125px}.village-route .individual-inspector-top>h2{font-size:30px}.village-route .individual-inspector-top>p:last-child{font-size:10px}.village-route .catalog-art{width:80px}}
@media(max-width:1200px){.village-route .individual-inspector{grid-template-columns:minmax(250px,1.1fr) minmax(180px,.8fr) minmax(210px,1fr);grid-template-rows:auto auto}.village-route .individual-inspector-top{grid-column:1;grid-row:1/3}.village-route .individual-level-summary{grid-column:2;grid-row:1;padding-top:18px}.village-route .building-function-actions{grid-column:2;grid-row:2;padding-bottom:18px}.village-route .individual-upgrade,.village-route .individual-construction{grid-column:3;grid-row:1/3}.village-route .individual-level-preview{grid-column:1/-1;grid-row:3;display:grid;grid-template-columns:130px minmax(100px,1fr) 100px;align-items:center;gap:0 18px;border-left:0;border-top:1px solid var(--line);padding:14px 20px}.village-route .individual-level-preview>input{margin:0}.village-route .individual-level-preview>p{grid-column:2/4;margin:4px 0 0}.village-route .individual-catalog-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1000px){.village-route .individual-inspector{grid-template-columns:1fr 1fr}.village-route .individual-inspector-top{grid-column:1;grid-row:1/3}.village-route .individual-level-summary{grid-column:2;grid-row:1}.village-route .building-function-actions{grid-column:2;grid-row:2}.village-route .individual-construction,.village-route .individual-upgrade{grid-column:1;grid-row:3;border-top:1px solid var(--line);border-left:0}.village-route .individual-level-preview{grid-column:2;grid-row:3;display:flex;border-left:1px solid var(--line);padding:20px}.village-route .individual-level-preview>input{margin:15px 0 4px}.village-route .individual-level-preview>p{margin-top:10px}.village-route .individual-catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.village-route #tartalom{padding-top:20px}.village-route .page-heading h1{font-size:30px}.village-route .independent-village-toolbar{gap:10px}.village-view-tools{justify-content:space-between;width:100%;gap:15px}.village-view-tools>.text-button{font-size:9px}.village-route .settlement-scroller{height:auto;max-height:none}.village-route .settlement-panorama{width:960px;min-width:960px;height:auto;aspect-ratio:1672/941}.village-route .settlement-caption{bottom:20px;left:20px;padding:11px 15px}.village-route .settlement-caption h2{font-size:30px}.village-route .settlement-caption>span:last-child{font-size:8px}.village-route .individual-scene-hint{right:20px;bottom:20px;font-size:8px}.village-route .settlement-layout{gap:14px}.village-route .individual-inspector{grid-template-columns:1fr 1fr}.village-route .individual-inspector-top{grid-column:1/-1;grid-row:1;border-right:0;grid-template-columns:110px 1fr;padding:18px;min-height:140px}.village-route .individual-building-preview{width:110px;height:110px}.village-route .individual-building-preview>.building-art{width:110px}.village-route .individual-inspector-top>.eyebrow{font-size:7px}.village-route .individual-inspector-top>h2{font-size:28px}.village-route .individual-inspector-top>p:last-child{font-size:10px}.village-route .individual-level-summary{grid-column:1;grid-row:2;padding:12px 18px;align-self:stretch;border-top:1px solid var(--line);font-size:9px}.village-route .building-function-actions{grid-column:2;grid-row:2;padding:10px 16px 10px 0;border-top:1px solid var(--line)}.village-route .individual-construction,.village-route .individual-upgrade{grid-column:1/-1;grid-row:3;padding:18px;border-top:1px solid var(--line)}.village-route .individual-level-preview{grid-column:1/-1;grid-row:4;border-left:0;border-top:1px solid var(--line);padding:17px 18px}.village-route .individual-catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:9px}.village-route .catalog-art{width:65px}.village-route .catalog-copy>b{font-size:9px}.village-route .catalog-copy>small{font-size:7px}.village-focus .topbar{padding-left:18px;padding-right:18px}.village-focus .settlement-panorama{width:1250px;min-width:1250px}.village-focus .settlement-scroller{max-height:72vh;overflow:auto}}
/* Full enclosure: rear wall behind buildings, foreground wall in front. */
.building-art.wall-art{aspect-ratio:1672/941;background-size:contain}
.village-route .village-building.perimeter-wall,.village-route .perimeter-wall.selected,.village-route .perimeter-wall:hover{aspect-ratio:1672/941;transform:translate(-50%,-50%);z-index:auto;isolation:auto;pointer-events:none}
.village-route .perimeter-wall>.wall-art{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;transform:none;background-size:100% 100%;filter:none}
.village-route .perimeter-wall>.ring-back{z-index:1;clip-path:polygon(0 0,100% 0,100% 52%,0 52%)}
.village-route .perimeter-wall>.ring-front{z-index:96;clip-path:polygon(0 52%,100% 52%,100% 100%,0 100%)}
.village-route .perimeter-wall .building-label{left:33%;bottom:10%;transform:translateX(-50%);z-index:110;pointer-events:auto;cursor:pointer}
.village-route .perimeter-wall .building-construction{left:33%;top:92%;transform:translateX(-50%);z-index:110}
.village-route .settlement-caption{bottom:16px;left:18px;padding:8px 13px}
.village-route .settlement-caption h2{font-size:28px}
.village-route .settlement-caption>span:last-child{display:none}
.village-route .individual-scene-hint{bottom:18px;right:18px}
/* Ashford: quiet markers, generous village canvas, grounded architecture. */
.village-route .settlement-world{border-color:#776d526b;border-radius:16px;background:#302d21}
.village-route .settlement-panorama:before{background:linear-gradient(180deg,#19231d0d,transparent 25%,transparent 85%,#101a1d26)}
.village-route .building-label{min-width:25px;min-height:25px;justify-content:center;border-radius:50%;padding:3px 5px;gap:4px;background:#202b2ae8;border:1px solid #cfb384a6;box-shadow:0 2px 5px #161a1760}
.village-route .building-label>.icon{display:none}
.village-route .building-label>b{font-size:10px;font-weight:600;color:#f4deb5}
.village-route .village-building.selected .building-label,.village-route .village-building:hover .building-label,.village-route .village-building:focus-visible .building-label{border-radius:6px;padding:5px 8px;background:#172523f0;border-color:#e1c496}
.village-route .village-building.selected .building-label>.icon,.village-route .village-building:hover .building-label>.icon{display:block}
.village-route .building-construction{background:#2b3025db;border:1px solid #d4b58150}
.village-route .perimeter-wall .building-label{left:55%;bottom:9%}
.village-route .perimeter-wall .building-construction{left:55%;top:93%}
.village-route .settlement-caption{left:22px;bottom:20px;background:linear-gradient(90deg,#14231fca,#14231f38);border-left-color:#d4b581}
.village-route .settlement-caption h2{font-size:31px}
.village-route .settlement-world-footer{background:#1b2929;border-top-color:#a38b6040}
.village-route .additional-art,.village-route .village-building>.additional-art{filter:none}
.building-art.additional-art{background-size:500% 300%}
/* Wider outskirts retain native projection and the wall's own 16:9 frame. */
.village-route .settlement-panorama{aspect-ratio:1870/841;min-height:0}
.village-route .settlement-environment{object-fit:contain}
@media(max-width:760px){.village-route .settlement-panorama{width:1200px;min-width:1200px;aspect-ratio:1870/841}.village-focus .settlement-panorama{width:1560px;min-width:1560px}}
/* Wall geometry shares the terrain's full canvas, including the dry bank. */
.building-art.wall-art,.village-route .village-building.perimeter-wall,.village-route .perimeter-wall.selected,.village-route .perimeter-wall:hover{aspect-ratio:1870/841}
.village-route .perimeter-wall .building-label{left:53%;bottom:7.5%}
.village-route .perimeter-wall .building-construction{left:53%;top:94%}
.building-art.wall-art{position:relative}
.wall-projection{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;pointer-events:none}
/* Keep the future watermark corner free of the settlement title. */
.village-route .settlement-caption{top:16px;bottom:auto;left:18px}
/* Every village layer shares the terrain's native coordinate frame. */
.village-route .settlement-panorama{aspect-ratio:1870/841;height:auto;min-height:0}
.village-route .settlement-environment{inset:0;width:100%;height:100%;object-fit:fill}
.village-route .village-building.perimeter-wall,.village-route .perimeter-wall.selected,.village-route .perimeter-wall:hover{inset:0!important;left:0!important;top:0!important;width:100%;height:100%;aspect-ratio:auto;transform:none}
