.city-page .site-btn{display:inline-block;background:var(--primary);color:#fff;text-decoration:none;border-radius:12px;padding:8px 12px}.city-page{max-width:1120px;margin:0 auto;padding:8px 16px 72px}.city-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.city-toggle{display:flex;gap:8px}.city-toggle button.active{background:var(--primary);color:#fff}.city-map{width:100%;overflow-x:auto;overflow-y:hidden;border-radius:20px;border:1px solid var(--stroke);background:#cfe3d4;-webkit-overflow-scrolling:touch}.city-map-scene{position:relative;width:100%;min-width:640px;aspect-ratio:16/10}.city-map img.city-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.city-pin{position:absolute;width:calc(min(22%, 160px) * var(--pin-scale, 1));transform:translate(-50%,-80%);transform-origin:50% 80%;background:transparent;border:0;padding:0;cursor:pointer;text-align:center;color:inherit}.city-pin img{display:block;width:100%;height:auto}.city-pin span{display:block;margin-top:4px;font-size:13px;font-weight:600;text-shadow:0 1px 0 #fff}.city-pin.is-soon{opacity:.7}.city-pin.is-on span{color:var(--primary)}.city-card{margin-top:16px;padding:16px;border-radius:16px;border:1px solid var(--stroke);background:var(--surface)}.city-seo{margin-top:28px}.city-board-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.city-board{width:100%;min-width:420px;border-collapse:collapse;background:#0b1a14;color:#d7f5e4;border-radius:16px}.city-board td,.city-board th{text-align:left;padding:12px 14px;border-bottom:1px solid #1d3a2d}.city-board button{background:#1f7a56;color:#fff;border:0;border-radius:10px;padding:6px 10px;cursor:pointer}.city-board button:disabled{opacity:.45;cursor:default}.city-plane{position:fixed;left:-10%;top:30%;font-size:48px;pointer-events:none;z-index:40;animation:city-fly 1.2s ease-in forwards}@media (prefers-reduced-motion:reduce){.city-plane{animation:none;display:none}}@keyframes city-fly{0%{transform:translate(0)}to{transform:translate(120vw,-20vh)}}@media (max-width:720px){.city-pin span{font-size:12px}}