/* National cities: terrain and evolving buildings share fixed ground anchors. */
.game-capital-view .national-capital-wrap{background:#203021;touch-action:pan-x;display:flex;align-items:center}
.game-capital-view .village-scene.national-capital{aspect-ratio:16/9;background-image:var(--city-background);background-size:100% 100%;background-repeat:no-repeat;isolation:isolate;container-type:inline-size;overflow:hidden}
.national-capital:before{background:linear-gradient(0deg,#19261545,transparent 12%,transparent 83%,#0a191d4a)!important;z-index:0}
.national-capital .capital-site{z-index:var(--site-order);height:auto;min-height:0;aspect-ratio:1;transform:translate(-50%,-84%);display:block;color:#f8edce;background:none;border:0;padding:0;isolation:isolate;-webkit-tap-highlight-color:transparent;cursor:pointer}
.national-capital .capital-site:before,.national-capital .capital-site.planned:before{display:none}
.national-capital .capital-site{pointer-events:none}
.national-capital .capital-site:after{content:'';position:absolute;inset:17% 9% 13%;border-radius:45% 45% 22% 22%;pointer-events:auto;z-index:1}
.capital-building-art{clip-path:inset(1% 1% 9% 1%)}
.capital-building-art{display:block;position:absolute;inset:0;background-image:var(--building-atlas);background-size:400% 400%;background-position:var(--sprite-x) var(--sprite-y);background-repeat:no-repeat;transform:scale(var(--building-scale,1));transform-origin:50% 80%;filter:drop-shadow(2px 5px 3px #1c261653);transition:filter .2s ease,transform .25s ease;pointer-events:none}
.capital-building-ground{position:absolute;left:8%;right:8%;bottom:15%;height:25%;border-radius:50%;border:1px solid transparent;background:radial-gradient(ellipse,#5e4b2938,#7b683519 45%,transparent 72%);transform:rotate(-5deg);pointer-events:none;transition:box-shadow .2s ease}
.capital-site.planned .capital-building-art{opacity:.35;filter:grayscale(.8) sepia(.35) drop-shadow(0 3px 3px #1a201750)}
.capital-site.planned .capital-building-ground{border:1px dashed #e4cf9bb5;background:#a0884c2b}
.capital-site:hover,.capital-site:focus-visible{z-index:120;outline:none!important}
.capital-site:hover .capital-building-art,.capital-site:focus-visible .capital-building-art{filter:drop-shadow(0 0 3px #ffe3a0) drop-shadow(0 6px 4px #162416a0);transform:translateY(-3px) scale(calc(var(--building-scale,1) + .025))}
.capital-site:hover .capital-building-ground,.capital-site:focus-visible .capital-building-ground{box-shadow:0 0 18px #e5be65a0;border-color:#f7d283}
.capital-site .site-tip{top:88%;font-size:11px;width:225px;max-width:none;text-align:left;z-index:200}
.capital-site.tip-above .site-tip{top:auto;bottom:85%}
.capital-monument-foundation{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.capital-empty-plinth{position:absolute;inset:39% 22% 20%;transform:rotate(-12deg) skew(18deg);border:2px dashed #ddc895;background:linear-gradient(145deg,#ada180aa,#6d785b88);box-shadow:3px 6px 0 #62675088,0 10px 15px #19291444}
.capital-site-plus{position:absolute;top:32%;color:#ffedc9;font:300 clamp(28px,3cqw,50px) Georgia,serif;text-shadow:0 3px 8px #263626}
.capital-construction-mark{position:absolute;right:15%;top:23%;width:25px;height:25px;display:grid;place-items:center;border:1px solid #e0c17c;border-radius:50%;background:#213422;color:#ffe7ab;box-shadow:0 2px 8px #162316}
.capital-site.upgrading .capital-building-ground{border:2px dashed #f4d081;animation:capital-building-pulse 2s ease-in-out infinite}
.capital-pan-hint{display:none}
.capital-life{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
.capital-resting-citizen{display:none}
.national-capital .capital-wall-site{height:23%;aspect-ratio:auto;transform:translate(-50%,-85%);z-index:100}
.national-capital .capital-wall-site:after{inset:36% 0 10%;border-radius:0}
.capital-wall-art{position:absolute;inset:0;background:var(--wall-atlas,url('/assets/bulgarian-city-walls.webp')) 50% var(--wall-stage)/100% 300% no-repeat;transform:translateY(calc(-1 * var(--wall-lift,0%)));pointer-events:none;filter:drop-shadow(0 4px 2px #302a254d);transition:filter .2s ease,transform .25s ease}
.capital-wall-site.planned .capital-wall-art{opacity:.35;filter:grayscale(.6)}
.capital-wall-site:hover .capital-wall-art,.capital-wall-site:focus-visible .capital-wall-art{filter:drop-shadow(0 0 3px #ffe3a0) drop-shadow(0 4px 3px #222a1e88);transform:translateY(calc(-1 * var(--wall-lift,0%) - 3px))}
.capital-wall-site.tip-above .site-tip{bottom:72%}
.capital-wall-site .capital-construction-mark{right:48%;top:10%}
.capital-portrait{position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 70%,#6f795255,#11251dd9 68%),var(--city-background,url('/assets/city-bulgarians-terrain.webp')) center/cover!important}
.capital-portrait:before,.capital-portrait:after{display:none!important}
.capital-portrait>.capital-building-art,.capital-portrait>.capital-monument-foundation{width:min(100%,370px);height:auto;aspect-ratio:1;inset:50% auto auto 50%;transform:translate(-50%,-50%) scale(var(--building-scale,1))}
.building-quick-image.capital-portrait{min-height:180px}
.construction-image .capital-portrait{width:100%;height:67px}
.construction-image .capital-portrait>.capital-building-art{width:85px}
.construction-image .capital-portrait{background:none!important}
@keyframes capital-building-pulse{50%{box-shadow:0 0 16px #f2cc7990}}
@media(min-width:901px){
  .game-capital-view .national-capital-wrap{overflow:hidden;cursor:default;touch-action:auto}
  .game-capital-view .village-scene.national-capital{width:100%;height:100%;min-height:0;min-width:0;flex:none;margin:0;aspect-ratio:auto}
  .game-capital-view .game-layout:has(.national-capital)>.capital-construction{top:auto;bottom:16px;right:20px;width:min(360px,28vw);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;overflow:visible}
  .game-capital-view .game-layout:has(.national-capital)>.capital-construction .construction-heading{grid-column:1/-1}
  .game-capital-view .game-layout:has(.national-capital)>.capital-construction .construction-image{height:45px}
  .game-capital-view .game-layout:has(.national-capital)>.capital-construction .construction-image .capital-portrait{height:45px}
  .game-capital-view .game-layout:has(.national-capital)>.capital-construction .capital-building-art{width:64px}
}
@media(max-width:900px){
  .game-capital-view .national-capital-wrap{align-items:flex-start;justify-content:flex-start;overflow:auto;touch-action:pan-x pan-y;padding-top:var(--town-top-space,172px);padding-bottom:calc(24px + env(safe-area-inset-bottom))}
  .game-capital-view .village-scene.national-capital{width:177.777778svh;height:100svh;min-height:0;min-width:100%;flex:none;margin:0}
  .capital-pan-hint{display:block;position:fixed;z-index:140;left:50%;top:auto;bottom:calc(12px + env(safe-area-inset-bottom));transform:translateX(-50%);padding:5px 9px;border:1px solid #bba47166;background:#17281de8;color:#ead5a6;font:10px Arial,sans-serif;white-space:nowrap;pointer-events:none}
}
@media(prefers-reduced-motion:reduce){.capital-site.upgrading .capital-building-ground{animation:none}.capital-building-art,.capital-wall-art{transition:none}.capital-moving-citizen{display:none}.capital-resting-citizen{display:block}}
.reserved-monument .capital-site-plus{display:none}
.reserved-monument .capital-empty-plinth{background:#9a8c6650;border-color:#dfcfa899;box-shadow:2px 4px 0 #72684e55}
.capital-moving-citizen .citizen-step{transform-box:fill-box;transform-origin:50% 0;animation:citizen-step .65s ease-in-out infinite alternate}
@keyframes citizen-step{to{transform:rotate(12deg)}}
@media(prefers-reduced-motion:reduce){.capital-moving-citizen .citizen-step{animation:none}}

/* Replacement national artwork uses original image proportions and RGBA anchors. */
.game-capital-view .settlement-v2-wrap{justify-content:center;background:#17261d}
.game-capital-view .village-scene.national-capital.settlement-v2{width:min(100%,calc(100svh * var(--city-ratio)));height:auto;min-width:0;aspect-ratio:var(--city-ratio);flex:none;background-size:100% 100%}
.national-capital.settlement-v2:before{display:none!important}
.capital-monument-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;user-select:none;z-index:0}
.national-capital.settlement-v2 .capital-site{aspect-ratio:var(--site-aspect,1);transform:translate(calc(-1 * var(--site-anchor-x,50%)),calc(-1 * var(--site-anchor-y,80.078125%)))}
.national-capital.settlement-v2 .capital-site:has(.settlement-building-art):after{inset:0;clip-path:var(--site-hit-shape,ellipse(40% 35% at 50% 55%));border-radius:0}
.bulgarian-capital.settlement-v2 .capital-site:after{inset:0;clip-path:var(--site-hit-shape,ellipse(40% 35% at 50% 55%));border-radius:0}
.national-capital.settlement-v2 .capital-monument:after{inset:0;clip-path:var(--site-hit-shape,ellipse(40% 35% at 50% 55%));border-radius:0}
.settlement-building-art,.capital-site:hover .settlement-building-art,.capital-site:focus-visible .settlement-building-art{clip-path:none;transform:none;filter:none;transition:none;background:none}
.settlement-building-art img{display:block;width:100%;height:100%;object-fit:var(--site-image-fit,contain);pointer-events:none;user-select:none}
.settlement-v2 .capital-building-ground{display:none}
.settlement-v2 .capital-site.planned .settlement-building-art{opacity:.35;filter:none}
.settlement-v2 .capital-site.planned:hover .settlement-building-art,.settlement-v2 .capital-site.planned:focus-visible .settlement-building-art{opacity:.5}
.settlement-v2 .capital-site:hover .settlement-building-art img,.settlement-v2 .capital-site:focus-visible .settlement-building-art img{filter:brightness(1.08)}
.settlement-v2 .capital-empty-plinth{background:none;box-shadow:none;opacity:0}
.settlement-v2 .capital-site:hover .capital-empty-plinth,.settlement-v2 .capital-site:focus-visible .capital-empty-plinth{opacity:1}
.settlement-v2 .capital-site-plus{display:none}
.capital-portrait>.settlement-building-art{transform:translate(-50%,-50%)}
@media(max-width:900px){
  .game-capital-view .settlement-v2-wrap{justify-content:flex-start;align-items:flex-start}
  .game-capital-view .village-scene.national-capital.settlement-v2{width:calc(100svh * var(--city-ratio));min-width:100%;height:auto;aspect-ratio:var(--city-ratio)}
}
