.city{cursor:pointer;border-radius:12px;padding:6px 8px;margin:-6px -8px;transition:background .15s,color .15s}
.city:hover{background:var(--blue-soft);color:var(--blue)}
.cty[hidden]{display:none}
.cty{position:fixed;inset:0;z-index:85}
.cty-back{position:absolute;inset:0;background:rgba(11,18,32,.28)}
.cty-box{position:absolute;top:72px;right:max(20px,calc((100vw - 1200px) / 2 + 28px));width:340px;background:#fff;border-radius:22px;box-shadow:0 30px 70px rgba(11,18,32,.28);padding:18px;display:flex;flex-direction:column;gap:12px;animation:ctyPop .22s cubic-bezier(.2,.9,.3,1.05) both}
@keyframes ctyPop{from{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:none}}
.cty-head{display:flex;align-items:center;justify-content:space-between;font-size:17px;color:var(--ink)}
.cty-x{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--ink)}
.cty-x:hover{background:var(--blue-soft)}
.cty-cur{display:flex;align-items:center;gap:12px;background:var(--blue-soft);border-radius:16px;padding:12px 14px}
.cty-pin{width:36px;height:36px;border-radius:12px;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;flex:none}
.cty-cur b{display:block;font-size:15.5px;color:var(--ink)}
.cty-cur small{display:block;font-size:13px;color:var(--muted);margin-top:1px}
.cty-geo{width:100%}
.cty-geo[disabled]{opacity:.6;pointer-events:none}
.cty-msg{font-size:14px;line-height:1.45;border-radius:12px;padding:10px 12px;background:#f1f5fb;color:var(--text)}
.cty-msg.ok{background:#eafaf0;color:#14803c}
.cty-msg.warn{background:#fff7e6;color:#8a5a00}
.cty-note{font-size:13px;line-height:1.5;color:var(--muted)}
@media (max-width:700px){
  .cty-box{top:auto;bottom:0;left:0;right:0;width:100%;border-radius:24px 24px 0 0;padding:18px 16px 22px;animation:ctyUp .28s cubic-bezier(.2,.9,.3,1.02) both}
  @keyframes ctyUp{from{transform:translateY(30px);opacity:0}to{transform:none;opacity:1}}
}
