/* City discovery inherits the NADVIR glass material and weather icon system. */
.citySearchPage{max-width:560px;margin:auto;min-height:100svh;isolation:isolate;color:#f5faff;background:#142637;font-family:Arial,'Segoe UI',sans-serif}
.citySearchPage .weatherWorld{position:fixed;inset:0;z-index:-3;background:#142637;overflow:hidden;pointer-events:none}
.citySearchPage .weatherWorld img{width:100%;height:100%;object-fit:cover;object-position:52% 30%;filter:blur(8px)!important;transform:scale(1.06)!important;animation:none!important}
.citySearchPage .weatherWorld:before{display:none}.citySearchPage .weatherWorld:after{content:'';position:absolute;inset:0;background:linear-gradient(#0921390d,#07152130)}
.citySearchContent{padding:max(12px,env(safe-area-inset-top)) clamp(12px,3.1vw,22px) max(22px,env(safe-area-inset-bottom));animation:cityReveal .3s ease-out}
.citySearchPage .topbar{display:flex;align-items:center;justify-content:space-between;height:49px;padding:0 10px;margin:0}
.citySearchPage .brand{font-size:22px;letter-spacing:6px;font-weight:500;color:#f5faff;text-decoration:none}
.citySearchPage .topTools{display:flex;gap:4px}.citySearchPage .iconButton{width:44px;height:44px;padding:10px;border:0;background:none;color:inherit}.citySearchPage .icon{width:24px;height:24px;flex:none}
.citySearchHeading{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:8px;margin:10px 4px 14px}.citySearchHeading h1{font-size:22px;text-align:center;margin:0;line-height:1.2;font-weight:600}
.citySearchBack{display:grid;place-items:center;height:44px;width:44px;border-radius:50%;font-size:35px;font-weight:300;text-decoration:none;color:inherit}
.citySearchPage .glass{border:1px solid #eef7ff80;background:linear-gradient(115deg,#b5d9ec28,#142d3e55 45%,#b8956638);box-shadow:inset 1px 1px 2px #ffffff86,inset -1px -1px 2px #ffe2b54d,0 5px 16px #020d2030;backdrop-filter:blur(13px) saturate(120%);-webkit-backdrop-filter:blur(13px) saturate(120%)}
.citySearchField{display:flex;align-items:center;gap:12px;border-radius:30px;min-height:55px;padding:0 15px;margin:0 0 14px;transition:box-shadow .2s,background .2s}
.citySearchField:focus-within{box-shadow:inset 0 1px 3px #dcf8ff,0 0 14px #59d7ff66;border-color:#b8edff;background:linear-gradient(120deg,#bfebff38,#26465b66,#c3a67444)}
.citySearchField input{min-width:0;width:100%;border:0;outline:0;background:none!important;box-shadow:none!important;color:#f5faff;font:inherit;font-size:18px;padding:13px 0;margin:0;appearance:none}.citySearchField input::placeholder{color:#d2e1ead9}.citySearchField input::-webkit-search-cancel-button{display:none}
.citySearchField button{width:44px;min-width:44px;height:44px;border:0;background:none;color:#f5faff;padding:10px;margin-right:-10px}
.citySearchTabs{display:grid;grid-template-columns:1fr 1fr;position:relative;gap:5px;margin:0 0 14px;isolation:isolate}
.citySearchTabs:before{content:'';position:absolute;z-index:-1;top:0;bottom:0;left:0;width:calc(50% - 2.5px);border-radius:19px;background:linear-gradient(120deg,#0879b7cc,#43baf2a3);border:1px solid #a9f0ff;box-shadow:inset 0 2px 5px #f0ffff99,inset 0 -1px 3px #69d9ff,0 0 13px #21bfff8c;transition:transform .28s cubic-bezier(.2,.7,.2,1)}
.citySearchTabs[data-mode=regions]:before{transform:translateX(calc(100% + 5px))}
.citySearchTabs button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:49px;padding:6px 8px;border-radius:19px;font:inherit;font-size:15px;color:inherit;border:1px solid #e4f6ff66;background:#283f4c38;cursor:pointer}
.citySearchTabs button[aria-selected=true]{background:transparent;border-color:transparent}.citySearchTabs svg{width:25px;height:25px}
.citySection{margin:0 0 16px}.citySectionHead{display:flex;align-items:center;justify-content:space-between;gap:4px;min-height:32px;padding:0 3px;margin-bottom:5px}.citySectionHead h2{font-size:19px;line-height:1.2;margin:0;font-weight:600}.citySectionHead>button{display:flex;align-items:center;gap:3px;color:#7ae4ff;background:none;border:0;font:inherit;font-size:13px;min-height:36px;padding:0;white-space:nowrap}.citySectionHead .icon{width:16px;height:20px}
.cityGroup{border-radius:20px;overflow:hidden}.cityRow{position:relative;display:flex;align-items:stretch;min-height:64px;border-radius:0;transition:transform .18s,box-shadow .2s;isolation:isolate}.cityRow+.cityRow:before{content:'';position:absolute;left:65px;right:9px;top:0;height:1px;background:#d7ebf54d}.cityRow:after{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at var(--touch-x,50%) var(--touch-y,50%),#69dfff66,transparent 50%);opacity:0;pointer-events:none}.cityRow.touched:after{animation:cityTouch .4s ease-out}.cityRow.touched .weatherIcon{animation:iconTouch .4s ease-out}
.cityRow.selected{border-radius:18px;background:linear-gradient(115deg,#0789c5a6,#1578aaa3,#67c8ef66);box-shadow:inset 0 1px 3px #f3ffffc9,inset 0 0 0 1px #83e3ff,0 0 12px #24c6ff66;z-index:1}.cityRow.selected:before{display:none}
.cityLink{display:grid;grid-template-columns:52px minmax(0,1fr) 76px;align-items:center;gap:10px;min-width:0;flex:1;color:inherit;text-decoration:none;padding:5px 0 5px 5px}
.cityThumbnail{width:52px;height:52px;object-fit:cover;border-radius:10px;border:1px solid #f1faffbb;box-shadow:inset 0 1px 2px #fff6;filter:saturate(1.12);background:#284454}.cityFallback{display:grid;place-items:center;font-weight:600;font-size:18px;background:radial-gradient(at 75% 20%,#ffd77b99,transparent 50%),linear-gradient(145deg,hsl(var(--hue) 40% 35%),#132b42);color:#f4faff}
.cityName{display:block;font-size:17px;line-height:1.18;font-weight:400;overflow-wrap:anywhere}.cityName small{display:block;margin-top:5px;font-size:12px;line-height:1.2;color:#d2e1ea}
.cityWeather{display:flex;align-items:center;justify-content:flex-end;gap:6px}.cityWeather b{font-size:24px;line-height:1;font-weight:600;white-space:nowrap}.cityWeather .weatherIcon{width:36px;height:40px;flex:none;filter:drop-shadow(0 2px 5px #72cfff44)}
.favoriteStar{display:grid;place-items:center;width:44px;min-width:44px;border:0;background:none;color:#eef7fc;padding:9px;cursor:pointer}.favoriteStar svg{width:25px;height:25px;transition:fill .2s,filter .2s,transform .2s}.favoriteStar[aria-pressed=true]{color:#ffd36c}.favoriteStar[aria-pressed=true] svg{fill:#ffd36c;filter:drop-shadow(0 0 6px #ffbe4670)}.favoriteStar:active svg{transform:scale(.88)}
.citySearchPage a:focus-visible,.citySearchPage button:focus-visible{outline:2px solid #9beaff;outline-offset:-3px}.citySearchPage button,.cityLink{touch-action:manipulation}.cityLink:active{transform:scale(.985)}
.regionList{padding:6px;border-radius:20px}.regionList button{display:flex;justify-content:space-between;align-items:center;text-align:left;width:100%;min-height:48px;border:0;border-bottom:1px solid #ffffff22;background:none;color:inherit;font:inherit;font-size:15px;padding:10px}.regionList button[aria-pressed=true]{color:#8ce6ff;background:#218eb344;border-radius:12px}
.cityEmpty{padding:24px 18px;border-radius:20px;font-size:15px;line-height:1.5}.cityLoadMore{display:block;margin:10px auto;padding:10px 20px;min-height:44px;border-radius:20px;color:inherit;font:inherit}.cityMessage{font-size:13px;line-height:1.4;margin:8px 5px;color:#e1f5ff}.cityMessage:empty{display:none}
.cityMenu{border-radius:20px;padding:12px;margin:0 0 12px}.cityMenu a{display:block;color:inherit;min-height:44px;padding:12px;text-decoration:none}.cityMenu p{font-size:12px;color:#d2e1ea}.cityCreditLink{display:block;text-align:center;font-size:11px;color:#e1edf3a3;padding:8px;text-decoration:none}
@keyframes cityReveal{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes cityTouch{0%{opacity:.7}100%{opacity:0}}
@media(min-width:480px){.cityLink{grid-template-columns:62px minmax(0,1fr) 100px;gap:12px;padding:6px}.cityThumbnail{width:62px;height:58px}.cityWeather .weatherIcon{width:48px;height:48px}.cityWeather b{font-size:28px}.cityName{font-size:20px}.cityName small{font-size:14px}.cityRow{min-height:74px}.citySectionHead h2{font-size:22px}}
@media(max-width:359px){.cityLink{grid-template-columns:44px minmax(0,1fr) 61px;gap:6px}.cityThumbnail{width:44px;height:48px}.cityWeather .weatherIcon{width:28px}.cityWeather b{font-size:20px}.cityName{font-size:15px}.cityName small{font-size:11px}.citySectionHead h2{font-size:17px}.citySearchTabs button{font-size:14px}}
@media(prefers-reduced-motion:reduce){.citySearchPage *,.citySearchPage *:before,.citySearchPage *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@supports not (backdrop-filter:blur(1px)){.citySearchPage .glass{background:#233b4be6}}
[hidden]{display:none!important}
/* Thin optical glass: one edge, without the inherited doubled bevel. */
.citySearchPage .glass{
 border:1px solid rgba(237,247,255,.46);
 border-top-color:rgba(250,253,255,.66);
 border-bottom-color:rgba(232,240,245,.32);
 background:linear-gradient(115deg,rgba(196,219,234,.055),rgba(13,31,45,.13) 52%,rgba(255,202,130,.035));
 box-shadow:0 3px 12px rgba(4,16,27,.12);
 -webkit-backdrop-filter:blur(4px) saturate(106%);
 backdrop-filter:blur(4px) saturate(106%);
}
.citySearchPage .glass::before{
 inset:0;border:0;box-shadow:none;
 background:linear-gradient(125deg,rgba(240,251,255,.065),transparent 23%,transparent 76%,rgba(255,219,166,.045));
}
.citySearchPage .glass::after{display:none;content:none;border:0;box-shadow:none}
.citySearchPage .citySearchField{
 border-color:rgba(255,245,223,.72);
 background:linear-gradient(112deg,rgba(216,232,243,.10),rgba(30,43,52,.16) 55%,rgba(255,214,153,.085));
 box-shadow:0 2px 10px rgba(9,22,32,.12);
}
.citySearchPage .citySearchField:focus-within{border-color:#b9edff;box-shadow:0 0 10px #7adaff35}
.citySearchPage .citySearchBack{background:linear-gradient(125deg,#91c7e514,#173b562b);border-color:#d3ebff8c;box-shadow:0 2px 8px #061a2e20}
.citySearchPage .citySearchTabs button{background:linear-gradient(120deg,#c9e4f10a,#0e293827);border-color:#d6ebf34f;box-shadow:none}
.citySearchPage .citySearchTabs button[aria-selected=true]{background:transparent;border-color:transparent}
.citySearchPage .citySearchTabs::before{background:linear-gradient(112deg,#0383cda8,#1997d487 58%,#6acbfa8a);border-color:#a3edff;box-shadow:inset 0 1px 2px #e8ffff66,0 0 10px #23bdff6b}
.citySearchPage .cityRow.selected{background:linear-gradient(115deg,#0078b67a,#167caa65,#6bc9f044);box-shadow:inset 0 0 0 1px #93e8ffcc,0 0 10px #29bfff55}
.citySearchPage .cityThumbnail{border:1px solid #fff;outline:0;box-shadow:0 0 0 .35px rgba(255,255,255,.65);filter:none}
.citySearchPage .cityRow+.cityRow::before{background:rgba(233,244,250,.28)}
@supports not (backdrop-filter:blur(1px)){.citySearchPage .glass{background:rgba(22,42,56,.55)}}

@media screen and (max-width:767px){.citySearchPage.nvOfficialSearching .cityMessage{display:none!important}.nvOfficialSearch .cityGroup{background:rgba(16,33,47,.37);border:1px solid rgba(210,235,247,.5)}.nvOfficialSearch .nvOfficialRow{min-height:74px}.nvOfficialSearch .nvOfficialRow .cityLink{display:grid;grid-template-columns:52px minmax(0,1fr) 24px;align-items:center;gap:12px;padding:9px 12px;min-height:74px}.nvOfficialSearch .nvOfficialRow .cityName{font-size:20px;line-height:1.2;font-weight:650;letter-spacing:-.25px;color:#fff;text-shadow:0 1px 5px rgba(0,0,0,.45)}.nvOfficialSearch .nvOfficialRow .cityName small{font-size:12px;line-height:1.32;font-weight:400;letter-spacing:0;color:#e1eff7;margin-top:5px;text-shadow:none}.nvOfficialSearch .nvOfficialRow+.nvOfficialRow:before{left:75px}.nvOfficialSearch .nvOfficialArrow{font-size:27px;color:#9de6ff;text-align:right}.nvOfficialSearch .nvOfficialNote{padding:22px 18px;font-size:15px;line-height:1.5;color:#fff;margin:0}.nvOfficialSearch .citySectionHead h2{font-size:21px;font-weight:700}.nvOfficialSearch .nvOfficialLoadMore{display:block;margin:12px auto;min-height:44px;padding:9px 20px;border:1px solid #a6e4ff8c;border-radius:18px;background:#07588088;color:white;font-size:14px;font-weight:600}@media(max-width:350px){.nvOfficialSearch .nvOfficialRow .cityName{font-size:18px}}}
