/* Construction manuscripts share the live controls and existing heraldic materials. */
.construction-queue-status{display:flex;align-items:center;gap:9px;margin:10px 0 14px;padding:10px 12px;border:1px solid #96703d70;background:#b8975420;color:#4f381e}
.construction-queue-status>span{flex:none;color:#795b2d}.construction-queue-status>div{min-width:0}
.sheet-content .construction-queue-status p{margin:0;font:13px/1.4 var(--sans)}.construction-queue-status small{display:block;margin-top:4px;font:11px/1.4 var(--sans);color:#6b512e}
.action-sheet[data-view='building']{top:0;bottom:0;left:0;right:0;width:100%;max-height:100%;overflow:visible}
.action-sheet[data-view='building']::before{display:block;content:'';position:absolute;inset:-10px;z-index:5;pointer-events:none;border:14px solid transparent;border-image:url('./art-web/hud-frame-v1-7e9c949098.webp') 18% 6% / 14px / 0 stretch;background:none}
.action-sheet[data-view='building'] .sheet-handle{display:none}
.action-sheet[data-view='building'] .sheet-heading{position:relative;min-height:80px;padding:5px var(--sheet-close-inset) 7px 65px;gap:5px;border-bottom-color:#8e682e80}
.action-sheet[data-view='building'] .sheet-heading>div{min-width:0;display:flex;flex-direction:column-reverse;gap:4px}
.action-sheet[data-view='building'] .sheet-heading h2{font:700 27px/1.02 var(--serif);color:#30210f;text-shadow:0 1px #fff4;overflow-wrap:anywhere}
.action-sheet[data-view='building'] #sheet-kicker{font:600 9px/1.3 var(--sans);letter-spacing:.1em;color:#72532a}
.action-sheet[data-view='building'] .sheet-heading::before{content:'';position:absolute;left:3px;top:0;width:45px;height:69px;background:url('./art-web/hud-banner-v1-e83a61cd7a.webp') center/100% 100% no-repeat;pointer-events:none}
.building-crest{position:absolute;left:11px;top:9px;width:29px;height:42px;display:grid;place-items:center;color:#d4b46a;filter:drop-shadow(0 1px 1px #102017)}
.building-crest .icon{width:23px;height:32px}
.governor-regalia-ready .action-sheet[data-view='building'] .sheet-heading::before{left:-9px;top:-3px;width:84px;height:84px;background-image:url('./art-web/governor-regalia-v1-d5b7eac8bf.webp');background-position:left center;background-size:200% 100%;filter:drop-shadow(1px 2px 1px #25180b77);z-index:2}
.governor-regalia-ready .building-crest{visibility:hidden}
.governor-regalia-ready .action-sheet[data-view='building'] #close-sheet{position:relative;flex:none;width:50px;min-width:50px;height:50px;min-height:50px;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent url('./art-web/governor-regalia-v1-d5b7eac8bf.webp') right center/200% 100% no-repeat;color:#e0be70;filter:drop-shadow(0 2px 1px #31180999)}
.governor-regalia-ready .action-sheet[data-view='building'] #close-sheet .icon{width:25px;height:25px;stroke-width:1.8;filter:drop-shadow(0 1px 1px #30180c)}
.governor-regalia-ready .action-sheet[data-view='building'] #close-sheet:hover{filter:brightness(1.12) drop-shadow(0 2px 1px #31180999)}
.action-sheet[data-view='building'] #close-sheet:focus-visible{outline:2px solid #704817;outline-offset:1px;border-radius:50%}
.action-sheet[data-view='building'] .sheet-content{padding:7px 3px 12px;scroll-padding-block:10px;min-height:0}
.action-sheet[data-view='building'] .castle-context{margin:2px 5px 8px;gap:6px}
.action-sheet[data-view='building'] .castle-context>span{max-width:76px;font-size:10px;line-height:1.3}
.building-panel{min-width:0;color:#392b18}
/* Third atlas row includes roof tips from the following row in its bottom margin. */
.building-panel:is([data-building-kind='mine'],[data-building-kind='barracks'],[data-building-kind='archery'],[data-building-kind='stable']) :is(.building-hero-art,.building-upgrade-art) .building-sprite{clip-path:inset(0 0 10%)}
.building-panel p{margin:0}
.building-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;min-height:142px;margin:-2px -3px 5px;padding:5px 8px 8px;overflow:hidden;border-bottom:1px solid #95703780}
.building-hero::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#e6d1a7 2%,#e6d1a755 60%,#e6d1a722),url('./art-web/kingdom-f2c6e5428d.webp') 48% 48%/cover;opacity:.34;mask-image:linear-gradient(transparent,#000 30%,#000 88%,transparent);pointer-events:none}
.building-hero-copy{position:relative;z-index:1;min-width:0;align-self:center;padding:3px 0}
.sheet-content .building-hero-copy>p{font:600 14px/1.3 var(--serif);color:#4b351c;text-wrap:pretty}
.building-status{display:inline-flex;align-items:center;gap:4px;margin-top:9px;padding:3px 5px;border:1px solid #9d7c424a;background:#efe0bdc9;color:#604822;font:600 10px/1.2 var(--sans)}
.building-status .icon{width:13px;height:13px;flex:none}
.building-hero-art{display:grid;place-items:center;min-width:0;align-self:end}
.building-hero-art .building-sprite{width:155px;height:auto;max-width:100%;aspect-ratio:1;filter:drop-shadow(0 3px 2px #49381c40)}
.building-hero.is-unbuilt .building-sprite{opacity:.72;filter:saturate(.6) drop-shadow(0 2px 2px #49381c40)}
.building-section{position:relative;min-width:0;margin:0 0 12px;padding:0 0 10px;border-bottom:3px double #9e7c4380}
.building-section:last-of-type{margin-bottom:7px}
.building-section::after{content:'◆';position:absolute;bottom:-5px;left:50%;transform:translateX(-50%);font-size:7px;line-height:7px;color:#967039;text-shadow:0 1px #f5e5c0;pointer-events:none}
.building-section-heading{display:flex;flex-wrap:wrap;align-items:center;column-gap:9px;row-gap:3px;margin:0 0 6px;padding:2px 0 4px;border-bottom:1px solid #9f7a3b55}
.sheet-content .building-section-heading h3{position:relative;isolation:isolate;display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%;min-height:35px;margin:0;padding:4px 13px 4px 10px;color:#f6e6b6;font:700 20px/1.05 var(--serif);text-shadow:0 1px 2px #05130d}
.building-section-heading h3::before{content:'';position:absolute;inset:-5px 0;z-index:-1;pointer-events:none;border:14px solid transparent;border-image:var(--ornate-primary) 40% 13% fill / 14px 17px / 0 stretch;filter:drop-shadow(0 1px 1px #50391455)}
.building-section-heading h3 .icon{width:20px;height:20px;flex:none;color:#d9b974;filter:drop-shadow(0 1px 1px #111b10)}
.building-section-heading h3 span{min-width:0;overflow-wrap:anywhere}
.sheet-content .building-section-heading>p{flex:1 1 125px;min-width:0;margin:0;padding:0 3px;font:12px/1.25 var(--serif);color:#70502c}
.building-section-body{padding:2px 5px 4px;min-width:0}
.building-section-body>p{font-size:12px;line-height:1.4}
.building-panel .worker-controls{min-width:0;gap:6px;padding:5px 0 8px}
.building-panel .worker-controls label{min-width:0;font:700 17px/1.15 var(--serif);color:#3b2812}
.building-panel .worker-controls small{font:11px/1.3 var(--sans);color:#6d512c;margin-top:3px}
.building-panel .stepper{flex:none;gap:2px}
.building-panel .stepper input{width:47px;min-width:47px;background:#f4e4c0;border:1px solid #af8a4e;box-shadow:inset 0 0 0 2px #fff3;font:700 20px/1 var(--serif)}
.building-panel .stepper button{background:radial-gradient(circle closest-side,#153f2c 0 73%,#101c0e 75% 79%,#d0b268 81% 88%,#5a4521 90% 94%,transparent 96%) center/33px 33px no-repeat}
.building-panel .metric-line{align-items:center;gap:7px;padding:5px 0;font:11px/1.4 var(--sans);border-bottom-color:#98743e4a}
.building-panel .metric-line strong{font:700 13px/1.35 var(--serif);max-width:64%;text-align:right}
.building-panel .metric-line>span{min-width:0}
.building-panel .cost-row{gap:7px 11px;min-height:23px;margin:8px 0 9px;align-items:center}
:is(.building-panel,.building-cancel-refund) .cost-item{gap:3px;font:700 16px/1.1 var(--serif);color:#51391d}
:is(.building-panel,.building-cancel-refund) .cost-item.short{color:#913c26}
:is(.building-panel,.building-cancel-refund) .cost-item .icon{width:25px;height:25px}
.building-panel .reason{font:12px/1.4 var(--sans);color:#6d4d28;margin:8px 0 2px;overflow-wrap:anywhere}
.building-panel :is(.primary-button,.secondary-button){min-height:44px;line-height:1.15;padding:8px 19px;font-size:17px;--button-overhang:-7px}
.building-panel :is(.primary-button,.secondary-button)::before{border-width:18px;border-image-width:18px 24px}
.building-panel .primary-button[data-action='recruit']{margin-top:2px}
.building-panel button:focus-visible,.building-panel input:focus-visible,.action-sheet[data-view='building'] .castle-switch:focus-visible{outline:2px solid #845b1e;outline-offset:2px}
.building-recruit-box{display:grid;grid-template-columns:90px minmax(0,1fr);gap:0 8px;align-items:center}
.building-recruit-art{grid-column:1;grid-row:1;display:grid;place-items:center;min-width:0;align-self:stretch}
.building-recruit-art .report-portrait{width:100%;max-width:116px;aspect-ratio:1;mask-image:radial-gradient(ellipse at center,#000 55%,transparent 76%)}
.building-recruit-art .report-portrait.villager{mask-image:none}
.building-supplies-art{display:block;width:100%;aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 2px 2px #4f351c22)}
.building-recruit-box>.worker-controls{grid-column:2;display:flex;flex-wrap:wrap;justify-content:flex-start;row-gap:5px;padding:5px 0}
.building-recruit-box>.worker-controls label{flex:1 0 100%}
.building-recruit-box>.worker-controls .stepper{margin-left:auto}
.building-recruit-info{grid-column:1/-1;min-width:0;margin-top:3px}
.building-recruit-box+.building-recruit-box{margin-top:12px;padding-top:10px;border-top:1px solid #9b7b455c}
.building-panel .recruit-unit-level{color:#365735;font-weight:700}
.building-comparison{margin:6px 0 10px;border:1px solid #9d7c424a;background:#a780290b}
.building-comparison-heading,.building-comparison-row{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr) minmax(0,.85fr);align-items:baseline;gap:6px;padding:6px;font:11px/1.35 var(--sans)}
.building-comparison-heading{background:#a780291a;border-bottom:1px solid #9d7c424a;color:#70502c;font-size:10px}
.building-comparison-row+.building-comparison-row{border-top:1px solid #9d7c4233}
.building-comparison :is(span,strong){min-width:0;overflow-wrap:anywhere}
.building-comparison-heading>span:not(:first-child),.building-comparison-row>:not(:first-child){text-align:right}
.building-comparison-row>strong{color:#2f5635;font-size:12px}
.building-comparison-row>strong{background:#35583b0d}
.building-requirements .building-comparison-row{position:relative;align-items:center;min-height:44px;padding-block:0}
.building-prerequisite{position:static;display:block;width:100%;max-width:100%;min-height:44px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:#365735;text-align:left;font:inherit;font-weight:700;text-decoration:underline;overflow-wrap:anywhere;cursor:pointer}
.building-prerequisite::before{display:none}
/* The whole requirement row follows its building link, including the levels. */
.building-prerequisite::after{content:'';position:absolute;inset:0;background:none;border:0;box-shadow:none;transform:none;pointer-events:auto}
.building-prerequisite:focus-visible{outline:2px solid #845b1e;outline-offset:2px}
.era-advance{min-width:0;margin-bottom:calc(var(--space)*2)}
.era-advance>.ornament{margin-top:var(--space)}
.sheet-content .era-advance-target{margin:var(--space) 0;font:700 18px/1.3 var(--serif);color:var(--antique-ink)}
.era-resources .building-comparison-heading,.era-resources .building-comparison-row{grid-template-columns:minmax(0,1.2fr) repeat(3,minmax(0,1fr));gap:4px}
.era-resource-name{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.era-resource-name>.standard-item-art,.era-resource-name>.icon{width:22px;height:22px;flex:none}
.era-resources .era-resource-missing.is-short{color:var(--red);font-weight:700}
.era-advance>.primary-button{margin-top:calc(var(--space)*2);margin-bottom:var(--space)}
.era-advance .metric-line{flex-wrap:wrap;gap:4px var(--space)}
.era-advance .queue-title{align-items:flex-start;flex-wrap:wrap;gap:var(--space)}
.era-advance .queue-title>[data-countdown]{max-width:100%}
.era-advance .queue-item>small{overflow-wrap:anywhere}
@media(min-width:700px){.era-resources .building-comparison-heading,.era-resources .building-comparison-row{font-size:12px;padding:var(--space)}}
.building-upgrade-summary{margin:2px 0 8px}
.building-upgrade-summary h4{font:700 18px/1.2 var(--serif);color:#432e15;margin:0 0 4px}
.sheet-content :is(.building-upgrade-summary p,.building-benefits-intro){font:12px/1.4 var(--sans);color:#604725;margin:0 0 6px}
.building-leadership .secondary-button{margin-top:10px}
.building-shortcut{display:grid;grid-template-columns:67px minmax(0,1fr);gap:7px;align-items:center;min-width:0}
.building-shortcut>div{min-width:0}
.sheet-content .building-shortcut p{font:12px/1.3 var(--serif);margin:0 0 7px;color:#694a25}
.building-shortcut-art{display:grid;place-items:center;width:67px;min-width:0}
.building-shortcut-art .building-sprite{width:76px;height:76px}
.building-shortcut-symbol{display:grid;place-items:center;width:62px;height:67px;color:#806133}
.building-shortcut-symbol .icon{width:46px;height:46px;filter:drop-shadow(0 1px #faedcc)}
.building-defense-stats.stat-grid{margin:3px 0 1px;gap:5px}
.building-defense-stats .stat-cell{min-width:0;position:relative;padding:6px 2px;border:1px solid #a78a52;background:#a1782b0d;box-shadow:inset 0 0 0 3px #efdcab44}
.building-defense-stats .stat-cell>.icon{width:21px;height:21px;margin:0 auto 3px;color:#7a562b}
.building-defense-stats .stat-cell strong{font-size:23px;color:#39250f;overflow-wrap:anywhere}
.building-defense-stats .stat-cell small{display:block;font:11px/1.2 var(--serif);color:#644723;margin-top:3px}
.building-output{display:flex;align-items:center;gap:8px;padding:6px 8px;margin:0 0 10px;border:1px solid #a3844844;background:#a7802912}
.building-output>span:last-child{font:11px/1.3 var(--sans);color:#6a4b25}
.building-output strong{display:block;margin-top:2px;font:700 18px/1.15 var(--serif);color:#334a29}
.building-resource-art{width:35px;aspect-ratio:1;flex:none;display:grid;place-items:center;background-size:200% 200%;background-repeat:no-repeat}
.building-resource-art .icon{width:25px;height:25px;color:#745525}
.report-resources-ready .building-resource-art{background-image:url('./art-web/report-resources-compact-v2-91562db5ea.webp')}
.report-resources-ready .building-resource-art .icon{display:none}
.building-resource-art.food{background-position:0 0}.building-resource-art.wood{background-position:100% 0}.building-resource-art.stone{background-position:0 100%}.building-resource-art.iron{background-position:100% 100%}
.building-upgrade-preview{display:grid;grid-template-columns:75px minmax(0,1fr);gap:8px;align-items:center;margin:1px 0 5px}
.building-upgrade-art{display:grid;place-items:center;min-width:0}
.building-upgrade-art .building-sprite{width:82px;height:82px}
.building-upgrade-preview h4{font:700 18px/1.15 var(--serif);color:#432e15;margin:0 0 3px}
.sheet-content .building-upgrade-preview p{font:11px/1.35 var(--sans);color:#6f512d;margin:0}
.sheet-content .building-builder-note{display:flex;align-items:flex-start;gap:6px;margin:7px 0 2px;font:11px/1.4 var(--sans);color:#70522c}
.building-builder-note .icon{width:17px;height:19px;flex:none;margin-top:1px}
.building-max{display:flex;gap:10px;align-items:center;padding:10px 3px;color:#31513a}
.building-max>.icon{width:35px;height:35px;flex:none;color:#977131}
.building-max strong{font:700 20px/1.1 var(--serif)}
.sheet-content .building-max p{font:12px/1.35 var(--sans);margin:4px 0 0;color:#604725}
.building-panel .queue-item{padding:6px 0 8px}
.building-panel .queue-title{gap:7px;align-items:flex-start}
.building-panel .queue-title strong{font:700 16px/1.2 var(--serif);min-width:0}
.building-panel .queue-title>[data-countdown]{font:11px/1.3 var(--sans);max-width:55%;flex:none}
.building-panel .queue-item>small{font:10px/1.3 var(--sans);display:block;color:#6b502a;margin-top:4px}
.building-panel .queue-item .small-button{font-size:15px;margin-top:3px}
.building-healing .list-row{padding:7px 0 10px}
.building-healing .list-row h3{font:700 18px/1.2 var(--serif);color:#493219}
.sheet-content .building-healing .list-row>p{font:11px/1.35 var(--sans);margin:4px 0 5px;color:#72532a}
.building-footer{padding:4px 5px 5px}
@media(min-width:700px){
 .action-sheet[data-view='building']{left:auto;right:18px;top:18px;bottom:18px;width:480px;max-width:calc(100% - 36px);max-height:calc(100% - 36px)}
 .action-sheet[data-view='building'] .sheet-heading{min-height:86px;padding-left:77px}
 .action-sheet[data-view='building'] .sheet-heading h2{font-size:32px}
 .action-sheet[data-view='building'] #sheet-kicker{font-size:10px}
 .governor-regalia-ready .action-sheet[data-view='building'] .sheet-heading::before{width:96px;height:96px;left:-10px;top:-5px}
 .action-sheet[data-view='building'] .sheet-content{padding:8px 5px 14px}
 .building-hero{min-height:161px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
 .building-hero-art .building-sprite{width:183px}
 .sheet-content .building-hero-copy>p{font-size:17px}
 .building-status{font-size:11px}
 .building-section-heading>p{max-width:172px}
 .sheet-content .building-section-heading h3{font-size:22px}
 .building-recruit-box{grid-template-columns:116px minmax(0,1fr);gap:0 12px}
 .building-recruit-box>.worker-controls{padding:7px 0;gap:8px}
 .building-recruit-box>.worker-controls label{flex-basis:100%;font-size:20px}
 .building-panel .metric-line{font-size:12px}
 .building-panel .metric-line strong{font-size:15px}
 .building-shortcut{grid-template-columns:85px minmax(0,1fr);gap:10px}
 .building-shortcut-art{width:85px}.building-shortcut-art .building-sprite{width:94px;height:94px}
 .building-upgrade-preview{grid-template-columns:92px minmax(0,1fr)}
 .building-upgrade-art .building-sprite{width:100px;height:100px}
 .building-defense-stats .stat-cell strong{font-size:28px}
 .building-defense-stats .stat-cell small{font-size:12px}
}
@media(max-width:340px){
 .action-sheet[data-view='building'] .sheet-heading{padding-left:56px;gap:2px}
 .action-sheet[data-view='building'] .sheet-heading h2{font-size:24px}
 .governor-regalia-ready .action-sheet[data-view='building'] .sheet-heading::before{width:74px;height:74px}
 .governor-regalia-ready .action-sheet[data-view='building'] #close-sheet{width:45px;min-width:45px;height:45px;min-height:45px}
 .building-recruit-box{grid-template-columns:72px minmax(0,1fr);gap:0 5px}
 .building-panel .stepper input{width:42px;min-width:42px}
 .building-panel .worker-controls label{font-size:16px}
 .sheet-content .building-section-heading h3{font-size:19px}
 .building-hero-art .building-sprite{width:136px}
}
.storage-resources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.storage-resource{padding:12px;border:1px solid #a78b5e88;background:#fff9eb44;min-width:0}
.storage-resource h4{display:flex;align-items:center;gap:7px;margin:0 0 8px;font:700 20px var(--serif)}
.storage-resource h4>.icon{width:27px;height:27px;flex:none}
.storage-full{margin-left:auto;font:700 11px var(--sans);color:#854116}
.storage-resource .metric-line,.storage-era{flex-wrap:wrap;gap:4px 10px}
.building-defense-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:600px){.storage-resources{grid-template-columns:1fr}.storage-resource{padding:10px 12px}}
@media(forced-colors:active){
 .action-sheet[data-view='building']::before,.action-sheet[data-view='building'] .sheet-heading::before,.building-section-heading h3::before,.building-hero::before{display:none}
 .building-crest{visibility:visible!important;color:CanvasText}
 .governor-regalia-ready .action-sheet[data-view='building'] #close-sheet{background:ButtonFace;border:1px solid ButtonText;color:ButtonText;filter:none}
 .building-section-heading h3{background:Canvas;border:1px solid CanvasText;color:CanvasText;text-shadow:none}
 .building-panel,.building-panel p,.building-panel strong,.building-panel h3,.building-panel h4,.building-panel .icon{color:CanvasText!important}
 .building-resource-art,.building-supplies-art{background:none!important}
 .building-resource-art .icon,.report-resources-ready :is(.building-panel,.building-cancel-refund) .cost-item>.icon{display:block!important}
 .report-resources-ready :is(.building-panel,.building-cancel-refund) .cost-item::before{display:none!important}
}
/* Reserve room for the painted edges while the real labels remain in bounds. */
.action-sheet{--sheet-navigation-height:calc(44px + var(--space) * 2)}
.sheet-navigation{position:relative;z-index:3;display:flex;flex:none;align-items:center;justify-content:space-between;gap:var(--space);min-width:0;min-height:var(--sheet-navigation-height);padding:var(--space) var(--sheet-close-inset)}
.action-sheet .sheet-navigation>.secondary-button{min-width:0;max-width:100%;min-height:44px;width:auto;padding:8px 22px;font:700 16px/1.2 var(--serif);white-space:normal;--button-overhang:-5px}
.sheet-navigation>.secondary-button>span{min-width:0;overflow-wrap:normal;word-break:normal}
.sheet-navigation #back-sheet{flex:none;min-width:100px;gap:7px}
.sheet-navigation #back-sheet>span{white-space:nowrap}
.sheet-navigation #back-sheet .icon{width:20px;height:20px;flex:none}
/* Standalone fortification art replaces the old shared atlas cell. */
.building-sprite.fortification-preview{background:none;object-fit:contain;filter:none}
.building-sprite.house-sprite{background:none;object-fit:contain}
.building-sprite.library-sprite,.building-sprite.embassy-sprite,.building-sprite.forge-sprite,.building-sprite.command-sprite{background:none;object-fit:contain}
.progression-mode #kingdom-plane .building-marker[data-building='forge']{--city-size:124px}
.progression-mode #kingdom-plane .building-marker.empty .building-label>.city-build-clock{color:var(--gold-light)}
.progression-mode #kingdom-plane .building-label>.city-build-waiting{display:block;font-weight:700}
.progression-mode #kingdom-plane .building-label>.city-build-waiting>.icon{display:inline-block;width:1em;height:1em;margin-right:.25em;vertical-align:-.1em;color:inherit}
#kingdom-plane .building-marker.house-marker{--city-size:48px}
#kingdom-plane .house-marker.built .house-sprite{width:var(--city-size);height:var(--city-size)}
#kingdom-plane .building-marker.house-marker .building-label{min-width:0;padding:2px 4px}
.progression-mode #kingdom-plane .building-marker.house-marker.built .building-label{top:calc(100% + var(--space)/4)}
#kingdom-plane .building-marker.house-marker strong{font-size:10px}
#kingdom-plane .building-marker.house-marker small{display:none}
.progression-mode #kingdom-plane .building-marker.house-marker .building-label>.city-build-clock{display:block}
#kingdom-plane .building-marker.house-marker.empty{min-width:44px;max-width:64px;min-height:44px;padding:3px;flex-direction:column;gap:1px;transform:translate(-50%,-50%) scale(var(--city-label-scale));transform-origin:center}
#kingdom-plane .building-marker.house-marker.empty .icon{width:16px;height:16px}
#kingdom-plane .building-marker.built[data-building='archery'] .building-label{width:90px}
#kingdom-plane .building-marker[data-building='archery'] .building-label strong{white-space:normal}
.housing-summary{margin:0 0 12px;padding:8px 10px;border:1px solid #96703d70;background:#b8975414}
.housing-summary .metric-line{flex-wrap:wrap;gap:4px 10px}
.housing-summary .metric-line>span{display:flex;align-items:center;gap:5px}
.housing-summary .icon{width:18px;height:18px;flex:none}
.housing-summary .muted{margin:7px 0;font:12px/1.4 var(--sans)}
.housing-summary .secondary-button{width:100%;margin-top:9px}
.fortification-controls{position:absolute;inset:0;z-index:100;pointer-events:none}
.fortification-controls>button{pointer-events:auto}
#kingdom-plane .building-marker.fortification-control{width:100px;height:44px;min-height:44px;background:none}
#kingdom-plane .building-marker.fortification-control .building-label{top:0}
/* Phone labels keep their readable size while zooming out. Give the southern
   buildings room inside the wall, and keep camera controls outside the board. */
@media(max-width:699px){
 #kingdom-viewport{bottom:56px}
 .kingdom-scene::after{content:'';position:absolute;left:0;right:0;bottom:0;height:56px;z-index:2;pointer-events:none;border-top:1px solid #a18451;background:#10251d url('./art-web/wood-dark-v3-331b77e862.webp') center/384px auto}
 .kingdom-scene .kingdom-controls,.kingdom-scene:has(~.activity-dock:not(:empty)) .kingdom-controls{right:8px;bottom:6px;flex-direction:row;gap:4px}
 .kingdom-scene:not([hidden])~.activity-dock{left:8px;right:auto;bottom:6px;transform:none;max-width:calc(100% - 164px)}
 .kingdom-scene:not([hidden])~.activity-dock .activity-pill{padding:6px 8px;gap:5px}
}

/* Military buildings keep progression and training in separate manuscripts. */
.building-military-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:2px 0 12px;padding:0 3px}
.building-panel .building-military-tabs>button{min-width:0;min-height:48px;padding:8px 12px;font:700 15px/1.2 var(--serif);white-space:normal;overflow-wrap:anywhere}
.building-military-tabs>button[aria-selected='true']{--button-surface:var(--ornate-primary);color:var(--gold-light)}
.building-tab-panel{min-width:0}
.building-tab-panel[hidden]{display:none}
.building-tab-panel:focus-visible{outline:2px solid var(--antique-gold);outline-offset:2px}
.building-tab-panel>.building-recruitment{border-bottom:0}
.building-tab-panel>.building-recruitment::after{content:none}
.building-recruit-box.without-portrait{grid-template-columns:minmax(0,1fr)}
.building-recruit-box.without-portrait>.worker-controls{grid-column:1/-1}
.building-recruit-promotion{grid-column:1/-1;min-width:0}
@media(forced-colors:active){.building-military-tabs>button[aria-selected='true']{outline:2px solid Highlight;outline-offset:-2px;color:ButtonText}}

/* Compact military training follows the approved cost/quantity row. */
.building-recruit-box.is-compact>.worker-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center}
.building-recruit-cost{min-width:0}
.building-recruit-cost>span{font:700 12px/1.3 var(--serif);color:var(--antique-ink)}
.building-panel .building-recruit-cost .cost-row{margin:2px 0 0;gap:4px 7px}
