.city-page,.armory-page{max-width:1200px}.city-heading{align-items:center;gap:18px}.city-heading h1{font-size:46px;margin-bottom:10px}.city-heading p{margin:0;font-size:13px}.city-hero-chip{display:flex;align-items:center;gap:12px;color:var(--text);text-decoration:none;flex-shrink:0}.city-hero-chip>.hero-portrait{width:48px;height:64px;border-radius:8px;overflow:hidden}.city-hero-chip b,.city-hero-chip small{display:block}.city-hero-chip b{font-size:14px}.city-hero-chip small{font-size:9px;margin-top:7px;color:var(--gold)}
.city-map{position:relative;isolation:isolate;height:560px;overflow:hidden;border:1px solid #b4935b80;border-radius:18px;background:#15211e;box-shadow:0 16px 48px #0004}.city-map-art{position:absolute;inset:0;z-index:-2;background:linear-gradient(110deg,#101b22a0,#122a21a0),url('/assets/slavic/city.png') center 56%/cover;filter:saturate(.72)}.city-map:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:-1;box-shadow:inset 0 0 110px #071511e0}.city-roads{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.city-roads path{fill:none;stroke:#e2c58a66;stroke-width:.3;stroke-dasharray:1 1.3}.city-map-label{position:absolute;left:50%;top:7%;transform:translateX(-50%);font:24px Georgia,serif;color:#f3ddae;letter-spacing:5px;text-align:center;text-shadow:0 2px 8px #000;white-space:nowrap}.city-map-label small{display:block;font:8px Arial,sans-serif;letter-spacing:2px;margin-top:9px}
.city-place{position:absolute;left:var(--place-x);top:var(--place-y);transform:translate(-50%,-50%);width:210px;padding:16px;text-align:center;color:#f4e6c5;text-decoration:none;background:linear-gradient(135deg,#253a30f0,#101b1af0);border:1px solid #bd9e6480;border-radius:12px;box-shadow:0 10px 24px #0007;transition:background .2s,border-color .2s,box-shadow .2s}.city-place:hover,.city-place:focus-visible{background:#3a4531;border-color:#f1cf87;box-shadow:0 0 0 3px #f1cf8733,0 12px 24px #0008;outline:none}.city-place.is-current{border-color:#eac981}.city-place-glyph{font-size:25px;color:#e9c783;display:block;margin-bottom:6px}.city-place strong{font:23px Georgia,serif;display:block}.city-place small{display:block;margin-top:7px;font-size:10px;color:#b8c8b7}.city-place em{display:block;font-size:9px;color:#f1ca85;margin-top:8px;font-style:normal}.city-traveller{position:absolute;left:var(--city-x);top:var(--city-y);width:66px;height:66px;transform:translate(-50%,-50%);z-index:2;pointer-events:none;transition:left .38s ease,top .38s ease,margin .38s ease;filter:drop-shadow(0 5px 8px #0009)}
.city-marker-portrait{position:relative;width:100%;height:100%;padding:4px;box-sizing:border-box;border:1px solid #f6e1b1;border-radius:50%;background:linear-gradient(135deg,#f8e2ad 0%,#a77a39 40%,#efcf89 65%,#806033 100%);box-shadow:0 0 0 3px #17251ed9,0 0 22px #e3c17d40,inset 0 0 0 1px #5f4524}
.city-marker-face{position:relative;width:100%;height:100%;overflow:hidden;border:1px solid #705630;border-radius:50%;background:#26382d;box-sizing:border-box}
.city-marker-face>img{position:absolute;left:-45%;top:-8%;width:190%;height:190%;max-width:none;object-fit:cover;display:block}
.city-marker-label{position:absolute;left:50%;bottom:-10px;transform:translateX(-50%);padding:3px 10px;border:1px solid #d0ad69;border-radius:20px;background:linear-gradient(#25372d,#101e18);color:#f7e2ac;font:600 12px/1.2 Georgia,serif;white-space:nowrap;box-shadow:0 2px 5px #0007}
.city-map:not(.is-travelling) .city-traveller.is-at-place{margin-left:85px;margin-top:-54px}
.city-travel-status{position:absolute;bottom:17px;left:15px;right:15px;text-align:center;font-size:11px;color:#eddbb5;text-shadow:0 2px 6px #000;margin:0}.city-bottom{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.city-progress{padding:20px}.city-progress>strong{display:block;font:26px Georgia;margin-top:15px}.city-progress p{font-size:11px}.city-progress .team-progress{margin:15px 0}.armory-page h1{font-size:44px}.armory-next{display:flex;gap:14px;margin:22px 0}.armory-choices{border:0;padding:0;margin:0;min-width:0}.armory-locked{margin-bottom:20px}.armory-locked p{font-size:12px}
@media(max-width:650px){.city-heading{display:block}.city-heading h1,.armory-page h1{font-size:32px}.city-hero-chip{margin-top:17px}.city-map{height:630px}.city-map-label{top:5%;font-size:18px;letter-spacing:3px}.city-map-label small{font-size:7px}.city-place{width:43%;padding:14px 8px}.city-place strong{font-size:18px}.city-place small{font-size:9px;line-height:1.4}.city-place-glyph{font-size:22px}.city-place-armory{--place-x:25%!important;--place-y:28%!important}.city-place-arena{--place-x:75%!important;--place-y:28%!important}.city-place-dungeon{--place-x:75%!important;--place-y:74%!important}.city-place-profile{--place-x:25%!important;--place-y:74%!important}.city-bottom{grid-template-columns:1fr}.city-traveller{width:54px;height:54px}.city-map:not(.is-travelling) .city-traveller.is-at-place{margin-left:47px;margin-top:-48px}.city-marker-label{font-size:11px;bottom:-9px;padding:3px 9px}.armory-next{flex-direction:column}}
@media(prefers-reduced-motion:reduce){.city-traveller,.city-place{transition:none}}
