/* The island owns the screen. No inspector, cards, scrolling task panels or frame. */
.city-world{position:fixed;inset:0;width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;margin:0;padding:0;border:0;background:#281e3b;color:#fff0cf;overflow:hidden;font:14px/1.4 Arial,sans-serif;isolation:isolate}.city-world *{box-sizing:border-box}.city-world [hidden]{display:none!important}.city-world::backdrop{background:#21162f}.city-world :focus-visible{outline:2px solid #ffe8a3;outline-offset:4px}.city-world ::selection{background:#725125;color:#fff}.city-canvas,.city-labels{position:absolute;inset:0;width:100%;height:100%}.city-canvas{touch-action:none}.city-labels{pointer-events:none;overflow:hidden}.city-button{appearance:none;border:0;border-radius:0;background:none;color:inherit;font:inherit;cursor:pointer;touch-action:manipulation;text-shadow:0 2px 3px #160c20,0 1px 6px #160c20;box-shadow:none}.city-button:disabled{cursor:default;opacity:.55}.city-button:hover:not(:disabled){filter:brightness(1.17)}.city-button img{pointer-events:none}.city-hud{position:absolute;inset:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 26px 46px;background:linear-gradient(#1d142cf2,#22162ab0 55%,transparent);pointer-events:none}.city-hud>*{pointer-events:auto}.city-heading h1{font-family:var(--font-heading,'Cinzel',Georgia,serif);font-size:clamp(20px,2vw,30px);margin:0;font-weight:700;color:#f6de9b}.city-heading small{font-size:11px;color:#ead5b7}.city-wallet{display:flex;gap:22px;align-items:center;padding-top:6px}.city-amount{display:inline-flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap;font-variant-numeric:tabular-nums}.city-amount img{width:30px;height:30px;object-fit:contain;filter:drop-shadow(0 2px 2px #170b24)}.city-amount b{font:bold 19px/1.2 Georgia,serif;color:#ffe5a5;text-shadow:0 2px 4px #170b24}.city-exit{font-size:12px;min-height:44px;text-decoration:underline;text-underline-offset:4px}.city-building-hit{position:absolute;pointer-events:auto;display:block;padding:0;min-width:44px;min-height:44px;background:none!important}.city-building-hit[aria-pressed=true] .city-building-name{filter:brightness(1.3)}.city-building-name{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:165px;height:37px;padding:7px 19px 9px;display:flex;align-items:center;justify-content:center;gap:5px;background:url('/v2/art/guild-reborn/ribbon.webp') center/contain no-repeat;font-size:11px;font-weight:bold;white-space:nowrap}.city-level{font-size:12px;color:#ffdc87}.city-marker{position:absolute;pointer-events:auto;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:68px;min-height:55px;padding:3px;font-weight:bold;background:radial-gradient(ellipse,#23172cc9,transparent 72%);z-index:2}.city-marker img{width:38px;height:38px;object-fit:contain}.city-marker span{font-size:11px;white-space:nowrap;padding:1px 5px;color:#fff1d2;text-shadow:0 2px 3px #160c20,0 0 5px #160c20}.city-marker.is-ready img{width:48px;height:48px;filter:drop-shadow(0 3px 3px #2b1738)}.city-marker.is-ready span{font-size:16px;color:#c8ffd2}.city-plot{position:absolute;transform:translate(-50%,-50%);width:46px;height:46px;padding:0;pointer-events:auto;background:url('/v2/art/profile/founder-frame-round.webp') center/contain no-repeat;font-size:26px;font-family:Georgia,serif;opacity:.8}.city-actions{position:absolute;width:max-content;max-width:calc(100% - 16px);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:4;text-align:center;filter:drop-shadow(0 3px 3px #21102c)}.city-actions::before{content:'';position:absolute;inset:-20px 0;z-index:-1;background:radial-gradient(ellipse,#1d122df5 25%,#21142bcc 52%,transparent 73%);pointer-events:none}.city-cycles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:360px;max-width:calc(100vw - 24px);gap:5px}.city-cycle{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;padding:7px 0;min-width:0;min-height:104px}.city-cycle>small{font-size:10px;color:#e8d3b8}.city-cycle>strong{font-size:16px;color:#ffedc8}.city-cycle .city-amount{flex-direction:column;gap:2px}.city-cycle .city-amount img{width:38px;height:38px}.city-cycle .city-amount b{font-size:16px}.city-cycle .city-best{font-size:9px;color:#b3efc3}.city-cycle:hover{background:radial-gradient(ellipse,#c697332b,transparent 70%)}.city-development{display:flex;gap:20px;align-items:center;justify-content:center;flex-wrap:wrap}.city-upgrade{font-size:12px;display:flex;align-items:center;gap:8px;min-height:44px}.city-cost{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px}.city-cost .city-amount img{width:22px;height:22px}.city-cost .city-amount b{font-size:14px}.city-text-button{font-size:12px;min-height:44px;padding:8px}.city-upgrade:disabled{opacity:.7}.city-upgrade:disabled .city-cost{color:#d8bbba}.city-primary{min-height:52px;width:180px;display:flex;align-items:center;justify-content:center;gap:8px;background:url('/v2/art/council/action-compact.webp') center/contain no-repeat;font-family:Georgia,serif;font-weight:bold;font-size:15px;padding:12px 22px}.city-build-pick{display:flex;align-items:center;justify-content:center;gap:14px;min-height:44px}.city-build-pick strong,.city-action-title{font-family:var(--font-heading,'Cinzel',Georgia,serif);font-size:20px;color:#ffe4ac}.city-small{min-width:44px;min-height:44px;font-size:24px;background:url('/v2/art/profile/founder-frame-round.webp') center/40px 40px no-repeat;padding:0}.city-context{font-size:12px;color:#f2dfc8;max-width:340px}.city-odds{font-size:10px;max-width:340px}.city-camera{position:absolute;bottom:max(10px,env(safe-area-inset-bottom));left:16px;display:flex;align-items:center;gap:5px;padding:0 12px;background:radial-gradient(ellipse,#21152bd9,transparent 75%)}.city-camera .city-text-button{color:#f7e7c5}.city-hint{position:absolute;bottom:20px;right:22px;max-width:430px;text-align:right;font-size:13px;color:#ffe9ba;margin:0;text-shadow:0 2px 4px #170b24;pointer-events:none}.city-notice{position:absolute;top:105px;left:50%;transform:translateX(-50%);z-index:10;max-width:calc(100% - 30px);display:flex;align-items:center;gap:10px;text-align:center;padding:12px 20px;background:radial-gradient(ellipse,#301c36f5 55%,transparent 75%);color:#fff3d1;font-size:13px}.city-notice button{text-decoration:underline;min-height:44px}.city-marker.is-ready img{animation:city-ready 2.4s ease-in-out infinite}@keyframes city-ready{50%{transform:translateY(-4px)}}.city-world:has(.city-camera button[aria-pressed=false]) .city-marker img{animation:none}
@media(max-width:700px){.city-hud{padding:12px 14px 42px;gap:8px;flex-wrap:wrap}.city-heading h1{font-size:18px}.city-heading small{font-size:10px}.city-wallet{order:3;width:100%;justify-content:center;gap:16px;padding:0}.city-wallet .city-amount img{width:23px;height:23px}.city-wallet .city-amount b{font-size:15px}.city-exit{font-size:11px;min-height:40px}.city-building-name{width:140px;height:34px;font-size:10px;padding:7px 16px}.city-building-name .city-level{font-size:10px}.city-camera{left:50%;transform:translateX(-50%);bottom:max(6px,env(safe-area-inset-bottom));padding:0;width:max-content;max-width:100%;gap:2px}.city-camera .city-text-button{font-size:11px}.city-hint{bottom:62px;left:20px;right:20px;max-width:none;font-size:12px;text-align:center}.city-notice{top:113px;width:max-content}.city-cycles{width:336px}.city-actions .city-development{gap:8px}.city-upgrade{font-size:11px;gap:5px}.city-cost{gap:7px}}
@media(max-height:500px){.city-hud{padding:8px 16px 28px;flex-wrap:nowrap;align-items:center}.city-heading h1{font-size:17px}.city-wallet{order:0;width:auto;gap:10px}.city-wallet .city-amount b{font-size:14px}.city-wallet .city-amount img{width:22px;height:22px}.city-heading small{font-size:9px}.city-marker{transform:translate(-50%,-55%)}.city-cycles{width:330px}.city-cycle{min-height:83px;gap:1px;padding:0}.city-cycle .city-amount{flex-direction:row}.city-cycle .city-amount img{width:28px;height:28px}.city-development{gap:8px}.city-actions{gap:2px}.city-hint{bottom:12px;max-width:350px;font-size:11px}.city-context{font-size:10px}.city-camera{bottom:4px}.city-notice{top:70px}}
@media(prefers-reduced-motion:reduce){.city-world *{animation:none!important;scroll-behavior:auto!important}}

/* Persistent roof labels: one collection target, full opacity while working. */
.city-marker{width:168px;min-height:62px;padding:12px 19px;flex-direction:row;gap:7px;background:url('/v2/art/council/action-compact.webp') center/contain no-repeat;transform:translate(-50%,-50%);filter:drop-shadow(0 3px 4px #21152b80)}
.city-marker:disabled{opacity:1}.city-marker img,.city-marker.is-ready img{width:30px;height:30px;flex-shrink:0}
.city-marker .city-marker-copy{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:0;min-width:0}
.city-marker-yield{font:700 16px/1.15 Georgia,serif;color:#ffe6ac}.city-marker-time{font:12px/1.2 Arial,sans-serif;color:#fff1d2}
.city-marker.is-ready .city-marker-time{color:#bff8b0;font-weight:bold}.city-marker.is-ready span{font-size:12px}
.city-actions.is-working::before{display:none}.city-actions.is-working .city-text-button{background:url('/v2/art/council/action-compact.webp') center/contain no-repeat;min-width:126px;min-height:46px;padding:10px 22px}

.city-marker.is-idle{width:48px;min-width:48px;height:48px;min-height:48px;padding:9px;background:url('/v2/art/profile/founder-frame-round.webp') center/contain no-repeat}.city-marker.is-idle .city-marker-copy{display:none}.city-marker.is-idle img{width:28px;height:28px}.city-marker .city-marker-yield{font-size:15px}.city-marker .city-marker-time{font-size:11px}

/* Selected building actions use the existing painted material, no dark halo. */
.city-actions::before{display:none}.city-actions{filter:none;gap:8px;padding:14px 20px;border:12px solid transparent;border-image:url('/v2/art/council/dialog.webp') 150 fill / 12px / 0 stretch}
.city-actions.is-working{border:0;padding:0}.city-actions .city-action-title{font-size:17px}.city-building-hit[aria-pressed=true] .city-building-name{filter:brightness(1.2) drop-shadow(0 0 7px #ffd46b99)}
.city-upgrade{background:url('/v2/art/council/action-compact.webp') center/contain no-repeat;min-height:88px;min-width:230px;padding:18px 28px;flex-direction:column;gap:5px}.city-development{gap:8px}.city-upgrade:disabled{opacity:.65}

.city-actions{border:0;padding:6px 10px;background:none}.city-action-title{display:none}.city-actions>.city-context:not(.city-odds){background:url('/v2/art/guild-reborn/ribbon.webp') center/contain no-repeat;width:310px;max-width:calc(100vw - 32px);min-height:64px;display:flex;align-items:center;justify-content:center;padding:16px 30px;font-size:11px}.city-cycles{filter:drop-shadow(0 2px 3px #251528)}.city-actions.is-working>.city-context{display:none}

/* Build choice is an illustrated palette, all available types visible at once. */
.city-build-heading{font:700 18px Georgia,serif;color:#ffe4ad;text-shadow:0 2px 4px #24162d}.city-build-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:420px;max-width:calc(100vw - 32px)}.city-build-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:110px;padding:4px 6px;border:8px solid transparent;border-image:url('/v2/art/council/dialog.webp') 150 fill / 8px / 0 stretch}.city-build-option>img{width:58px;height:58px;object-fit:contain}.city-build-option>strong{font-size:11px;line-height:1.15}.city-build-option .city-cost{gap:3px}.city-build-option .city-amount{gap:1px}.city-build-option .city-amount img{width:16px;height:16px}.city-build-option .city-amount b{font-size:11px}.city-build-option[aria-pressed=true]{filter:brightness(1.3);outline:2px solid #ffe4a0;outline-offset:1px}.city-build-option.is-unaffordable .city-cost{opacity:.65}.city-build-confirm{width:270px;min-height:64px;font-size:13px;padding:16px 34px}.city-build-hint{font-size:12px;color:#ffe0cc}.city-actions.is-building{gap:9px}.city-build-choices:has(>:only-child){grid-template-columns:1fr;width:150px}
@media(max-height:500px){.city-build-choices{grid-template-columns:repeat(6,minmax(0,1fr));width:670px;gap:5px}.city-build-option{min-height:100px}.city-build-option>img{width:40px;height:40px}.city-build-option .city-cost{flex-wrap:wrap}.city-actions.is-building{gap:4px}.city-build-heading{font-size:15px}.city-build-confirm{min-height:52px}}

.city-upgrade-benefits{font-size:11px;max-width:340px;color:#ffedcf;text-shadow:0 2px 4px #201024}.city-upgrade-benefits summary{cursor:pointer;min-height:32px;padding:8px;text-decoration:underline;text-underline-offset:3px}.city-upgrade-benefits p{margin:4px 0}.city-upgrade-values{display:grid;grid-template-columns:repeat(2,1fr);gap:3px 12px;font-variant-numeric:tabular-nums}.city-demolish{color:#ffcab7}.city-actions.is-demolishing{max-width:320px;border:12px solid transparent;border-image:url('/v2/art/council/dialog.webp') 150 fill / 12px / 0 stretch;padding:12px}.city-demolish-copy{font-size:13px;margin:4px 0;max-width:260px}.city-actions.is-demolishing .city-primary{width:260px;max-width:100%;min-height:64px;font-size:12px}
@media(max-height:500px){.city-upgrade{min-height:68px;min-width:210px;padding:12px 24px;gap:2px}.city-upgrade-benefits summary{min-height:24px;padding:4px}.city-upgrade-benefits p{margin:2px 0}.city-actions{gap:3px}.city-upgrade-values{gap:1px 10px}}

/* Readable action surfaces over detailed terrain. */
.city-cycle{border:6px solid transparent;border-image:url('/v2/art/council/dialog.webp') 150 fill / 6px / 0 stretch;padding:7px 3px;min-height:118px;gap:3px}.city-cycle:hover{background:none}.city-cycle>small{color:#f6e3c7}.city-cycle .city-best{color:#c7f8cb}.city-cycles{gap:7px;width:380px;max-width:calc(100vw - 32px)}
.city-development{display:grid;grid-template-columns:230px 126px 126px;gap:7px;align-items:center;max-width:100%}.city-development>.city-text-button,.city-actions.is-working .city-development>.city-text-button{background:url('/v2/art/council/action-compact.webp') center/contain no-repeat;min-width:126px;min-height:48px;padding:12px 20px;font-size:12px;font-weight:bold;color:#fff0ce}.city-development>.city-demolish{color:#ffcfb9}.city-development:not(:has(.city-upgrade)){grid-template-columns:repeat(2,126px)}
.city-upgrade:disabled,.city-development>.city-text-button:disabled{opacity:1;filter:grayscale(.7) brightness(.8);color:#dacdb8}.city-upgrade:disabled .city-cost{opacity:1}.city-upgrade-benefits{border:6px solid transparent;border-image:url('/v2/art/council/dialog.webp') 150 fill / 6px / 0 stretch;padding:0 8px;width:340px;max-width:calc(100vw - 32px)}
@media(max-width:700px) and (min-height:501px){.city-development{grid-template-columns:repeat(2,126px)}.city-development>.city-upgrade{grid-column:1/-1;width:230px;justify-self:center}.city-cycles{width:340px}.city-cycle>strong{font-size:15px}.city-cycle .city-amount img{width:30px;height:30px}}
@media(max-height:500px){.city-development{grid-template-columns:210px 126px 126px}.city-cycles{width:360px}.city-cycle{min-height:83px;padding:2px;gap:1px}.city-cycle>strong{font-size:14px}.city-upgrade-benefits summary{min-height:20px;padding:2px}.city-upgrade-benefits{font-size:10px}.city-upgrade-values{gap:0 8px}}
html.gv-v2 [data-city-home] .gv-frontier-name{width:210px!important;min-width:210px!important;max-width:none!important;height:51px!important;padding:12px 25px!important;font-size:12px!important;white-space:nowrap}html.gv-v2 [data-city-nav] .tab-label{white-space:normal;max-width:100px;line-height:1.05;font-size:10px;text-align:center}html.gv-v2 [data-city-depths] .astral-entry-lock,html.gv-v2 [data-city-depths] .astral-map-status{display:none}

/* Painted excavation, 10 identical concealed rocks. */
.city-mining{position:absolute;inset:0;z-index:30;display:grid;place-items:center;background:rgba(15,11,24,.96);padding:24px;overflow:auto}.city-mining-content{width:min(860px,100%);text-align:center;color:#f5e1ac}.city-mining h2{font-size:clamp(22px,3vw,36px);margin:0 0 8px}.city-mining-status{font-size:22px;margin:8px}.city-mining-help{color:#d4c9d8;margin:8px 0 18px}.city-mining-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;margin:20px 0}.city-rock{position:relative;aspect-ratio:1;border:0!important;background:none!important;padding:0;min-width:0;opacity:1!important;isolation:isolate}.city-rock>img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 6px #0008)}.city-rock.is-open>img{opacity:.25;transform:scale(.85)}.city-rock-number{position:absolute;bottom:8%;left:40%;color:#fff;text-shadow:0 2px 4px #000;font-size:18px}.city-rock-prize{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:3px;font-size:clamp(14px,2.5vw,26px);color:#ffde7c;text-shadow:0 2px 4px #000}.city-rock-prize img{width:30%;height:auto}.city-rock>img.city-pickaxe{position:absolute;width:90%;height:90%;inset:-12% 0 auto auto;opacity:1;transform-origin:75% 85%;z-index:3}.city-mining .city-primary{min-width:230px;min-height:56px}.city-world .city-notice{z-index:40}.city-rock:focus-visible{outline:2px solid #f3d582;outline-offset:4px;border-radius:20px}@media(hover:hover) and (pointer:fine){.city-rock:not(:disabled):hover>img{filter:brightness(1.15) drop-shadow(0 8px 6px #0008)}}@media(max-width:600px){.city-mining{padding:16px}.city-mining-grid{gap:7px}.city-mining-help{font-size:14px}.city-rock-number{font-size:14px}}@media(max-height:500px){.city-mining{padding:10px}.city-mining-content{max-width:610px}.city-mining-grid{gap:6px;margin:4px 0}.city-mining h2{font-size:20px}.city-mining-status{font-size:17px}.city-mining-help{margin:3px}.city-mining .city-primary{min-height:42px}}

@media(max-height:500px){.city-mining-content{max-width:470px}.city-mining-grid{margin:2px 0}.city-mining-status{margin:3px}.city-mining-help{font-size:12px}.city-mining h2{margin:0}}

.city-harvest-rewards{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:8px auto;max-width:580px}.city-harvest-gem{display:flex;align-items:center;gap:3px;color:#f5dda3}.city-harvest-gem img{width:28px;height:32px;object-fit:contain}.city-harvest-gem b{font-size:13px}.city-mining-help{max-width:620px;margin-left:auto;margin-right:auto}.city-mining .city-primary{font-size:15px}@media(max-height:500px){.city-harvest-rewards{margin:2px auto;gap:3px}.city-harvest-gem img{width:20px;height:20px}.city-mining-grid{max-width:410px;margin:2px auto}.city-mining-help{max-width:450px}}

/* Immediate tool feedback, independent of network and board replacement. */
.city-strike{position:absolute;pointer-events:none;z-index:45;isolation:isolate}.city-strike img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.city-strike .city-strike-tool{inset:-35% auto auto 10%;width:125%;height:125%;transform-origin:20% 86%;z-index:3;filter:drop-shadow(0 3px 2px #0009)}.city-strike-piece{z-index:2}.city-strike-body{z-index:1}.city-rock:not(:disabled):active{transform:none}
@media(hover:hover) and (pointer:fine){.city-mining[data-resource=wood] .city-rock:not(:disabled){cursor:url('/v2/art/city/harvest-axe-cursor.png') 28 8,pointer}.city-mining[data-resource=stone] .city-rock:not(:disabled),.city-mining[data-resource=gold] .city-rock:not(:disabled),.city-mining[data-resource=gem] .city-rock:not(:disabled){cursor:url('/v2/art/city/mining-pickaxe-cursor.png') 14 3,pointer}.city-rock:not(:disabled)>*{cursor:inherit}.city-rock:disabled{cursor:default}}
@media(prefers-reduced-motion:reduce){.city-strike{display:none}}

.city-attempts{display:flex;flex-direction:column;align-items:center;gap:2px;margin:8px 0}.city-attempts>small{text-transform:uppercase;letter-spacing:.1em;font-size:13px;color:#e7d5ac}.city-attempts>strong{font-size:clamp(32px,4vw,52px);line-height:1.05;color:#ffe18c;text-shadow:0 2px 8px #000;font-variant-numeric:tabular-nums}.city-attempts>span{font-size:15px;color:#d8c7dd}.city-attempts.is-result>strong{color:#ffdf7c}.city-rock.is-missed>img{opacity:.15;transform:scale(.85)}.city-rock.is-missed .city-rock-prize{opacity:.65;color:#c8bfd2}.city-rock.is-open .city-rock-prize{color:#ffe083}.city-mining:has(.is-result) .city-mining-help{font-size:12px;color:#c5b9cd}.city-mining h2{margin-bottom:4px}.city-mining-grid{margin-top:12px;margin-bottom:12px}@media(max-height:500px){.city-attempts{margin:2px 0;gap:0}.city-attempts>strong{font-size:28px}.city-attempts>small{font-size:10px}.city-attempts>span{font-size:11px}.city-mining-grid{max-width:350px;margin:2px auto}.city-mining h2{font-size:18px}.city-mining-help{font-size:11px;margin:2px}.city-mining .city-primary{min-height:36px}}

.city-premium-plot>img{width:30px;height:30px;object-fit:contain}.city-premium-plot>small{position:absolute;top:100%;left:50%;transform:translateX(-50%);color:#ffe09a;font:bold 11px Arial;text-shadow:0 2px 3px #000}.city-premium-lock{position:absolute;width:38px;height:38px;object-fit:contain;left:calc(50% - 19px);top:45%;filter:drop-shadow(0 2px 4px #000)}.city-premium-tag{position:absolute;top:100%;font:bold 9px Arial;color:#ffde85;text-shadow:0 2px 3px #000}.city-premium-building .city-building-name{overflow:visible}

.city-guide{width:min(820px,calc(100vw - 24px));height:min(660px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);padding:20px;border:12px solid transparent;border-image:url('/v2/art/council/dialog.webp') 150 fill / 12px / 0 stretch;background:#241a2d;color:#efdfbf;box-sizing:border-box;overflow:hidden;font:16px/1.55 Arial,sans-serif}.city-guide[open]{display:flex;flex-direction:column}.city-guide::backdrop{background:#0d0815c9}.city-guide *{box-sizing:border-box}.city-guide-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.city-guide h2{font:700 23px Georgia,serif;margin:0;color:#ffe2a0}.city-guide-close{font-size:28px;min-width:44px;min-height:44px}.city-guide-nav{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}.city-guide-tab{flex:1;padding:9px 12px;border-bottom:2px solid transparent;min-height:44px;font-size:14px}.city-guide-tab[aria-pressed=true]{color:#ffe08d;border-color:#dcaf52;background:#5b3f563d}.city-guide-body{overflow:auto;min-height:0;overscroll-behavior:contain;padding:0 8px 12px 0}.city-guide-body>img{width:140px;height:140px;object-fit:contain;float:right;margin:0 0 12px 18px}.city-guide h3{font:700 24px Georgia,serif;color:#f5d79a;margin:8px 0 18px}.city-guide p{margin:12px 0}.city-guide-buildings{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.city-guide-building{padding:5px;min-width:0;font-size:12px;border-bottom:2px solid transparent}.city-guide-building img{width:100%;height:75px;object-fit:contain;display:block}.city-guide-building[aria-pressed=true]{border-color:#e5bb5e;background:#68476140}.city-guide-detail h4{font-size:19px;color:#ffe09d;margin:16px 0 4px}.city-guide :focus-visible{outline:2px solid #ffe089;outline-offset:2px}@media(max-width:600px){.city-guide{padding:10px;font-size:14px}.city-guide h2{font-size:19px}.city-guide h3{font-size:21px}.city-guide-tab{padding:6px;font-size:12px;flex-basis:25%}.city-guide-body>img{width:90px;height:90px}.city-guide-building img{height:56px}.city-guide-buildings{gap:4px}.city-guide-building{font-size:10px}.city-guide-nav{margin:8px 0}.city-camera .city-text-button{white-space:nowrap}}@media(max-height:500px){.city-guide{padding:8px}.city-guide-nav{margin:3px 0}.city-guide h3{font-size:19px;margin:4px 0}.city-guide-body>img{width:80px;height:80px}.city-guide-buildings{grid-template-columns:repeat(7,minmax(0,1fr))}.city-guide-building img{height:45px}}

/* Painted return control, with the original artwork proportions preserved. */
.city-exit{flex:0 0 auto;width:176px;height:64px;min-height:48px;padding:12px 22px;background:url('/v2/art/council/action-compact.webp') center/contain no-repeat;color:#fff0c9;text-decoration:none;font:700 15px/1.2 Georgia,serif;text-shadow:0 2px 3px #24120d;filter:drop-shadow(0 3px 4px #160c2070)}.city-exit:active{filter:brightness(.88)}
@media(max-width:700px){.city-exit{width:132px;height:48px;padding:10px 15px;font-size:12px}.city-heading{max-width:calc(100% - 140px)}}
@media(max-height:500px) and (min-width:701px){.city-exit{width:143px;height:52px;font-size:12px}}

/* Localized names may wrap inside the ribbon instead of crossing its ends. */
.city-building-name>span{min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.05;text-align:center}.city-building-name>.city-level{flex:none}.city-guide-building{overflow-wrap:anywhere}.city-guide-detail{overflow-wrap:break-word}

.city-mining .city-primary{width:180px;min-width:180px;height:66px;min-height:66px;padding:12px 24px;font-size:14px;line-height:1.15;margin-inline:auto;overflow-wrap:break-word}@media(max-height:500px){.city-mining .city-primary{width:148px;min-width:148px;height:54px;min-height:54px;padding:10px 18px;font-size:12px}}

@media(max-height:500px){.city-mining-grid{max-width:290px}.city-harvest-gem b{font-size:11px}.city-harvest-gem img{width:18px;height:18px}.city-harvest-rewards{gap:3px}}

.city-rock.is-empty .city-rock-prize{font-size:clamp(11px,1.3vw,18px);padding:2px;overflow-wrap:anywhere}.city-rock.is-empty .city-rock-prize b{min-width:0;max-width:100%}

/* Visible empty plots over both grass and quarry terrain. */
.city-world .city-plot{width:68px;height:68px;opacity:1;color:#fff0cf;font-size:38px;font-weight:700;line-height:1;background-image:url('/v2/art/profile/founder-frame-round.webp'),radial-gradient(circle,#21142b 0 48%,#21142be6 53%,transparent 65%);background-position:center;background-size:contain;background-repeat:no-repeat;filter:drop-shadow(0 4px 5px #160c20b3);text-shadow:0 2px 3px #160c20}
.city-world .city-plot:hover:not(:disabled),.city-world .city-plot:focus-visible{filter:brightness(1.2) drop-shadow(0 4px 5px #160c20b3)}
.city-world .city-plot:disabled{opacity:.65}
@media(max-width:600px){.city-world .city-plot{width:60px;height:60px;font-size:34px}}
