.city-modal-backdrop{position:fixed;inset:0;z-index:130;display:grid;place-items:center;padding:18px;background:rgba(0,0,0,.74)}
.city-modal-backdrop[hidden]{display:none}
.city-modal{position:relative;width:min(500px,100%);max-height:calc(100dvh - 36px);overflow:auto;overscroll-behavior:contain;padding:26px;border:1px solid #41494c;border-radius:20px;background:#171a1c;color:#eef1ef;box-shadow:0 20px 70px rgba(0,0,0,.5)}
.city-modal h2{margin:9px 36px 10px 0;font-size:25px}.city-modal p{margin:10px 0;color:#a5afad;font-size:13px;line-height:1.5}
.city-close{position:absolute;right:14px;top:14px;width:36px;height:36px;border:1px solid #41494c;border-radius:10px;background:#202527;color:#eef1ef;font-size:24px;cursor:pointer}
.city-search-label{display:grid;gap:8px;margin:20px 0 14px;font-size:12px;color:#bdc5c2}.city-search-label input,.task-city-picker{width:100%;box-sizing:border-box;padding:13px;border:1px solid #41494c;border-radius:11px;background:#101314;color:#eef1ef;font:inherit;min-height:46px}
.city-search-label input:focus,.task-city-picker:focus-visible,.city-option:focus-visible,.map-city-picker:focus-visible{outline:2px solid #f3c847;outline-offset:2px}
.city-search-label input{font-size:16px}
.city-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:42dvh;overflow:auto;overscroll-behavior:contain;padding:3px}
.city-option{padding:12px 10px;border:1px solid #343d40;border-radius:10px;background:#202527;color:#eef1ef;text-align:left;font:inherit;font-size:14px;cursor:pointer;min-height:46px}
.city-option:hover,.city-option[aria-pressed=true]{border-color:#f3c847;background:#302b1b;color:#f3c847}
.city-option strong{display:block;font-size:14px;font-weight:700;overflow-wrap:anywhere}.city-option small{display:block;margin-top:5px;color:#9da9a5;font-size:11px;line-height:1.35;overflow-wrap:anywhere}
.city-options-title{margin:18px 0 10px;color:#e5e9e6;font-size:13px;font-weight:700}.city-modal .city-results-status{min-height:0;margin:10px 0;font-size:12px;color:#e3cd72}.city-results-status:empty{display:none}
.map-search .map-city-picker{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;width:100%;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.map-city-picker [data-current-city]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.task-city-picker{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;text-align:left}.task-city-picker strong{display:block;font-size:15px;font-weight:700}.task-city-picker small{display:block;margin-top:5px;color:#98a5a1;font-size:12px}.task-city-picker strong,.task-city-picker small{overflow-wrap:anywhere}
#queueCityPicker{max-width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere;text-align:left}
.city-region-note{font-size:11px!important}.profile-city-button{border:1px solid #66551f;border-radius:10px;background:#292519;color:#f3c847;padding:9px 11px;font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}
.task-city-field{margin:16px 0}.task-city-field label{display:block;margin-bottom:8px;color:#bdc5c2;font-size:12px}
.profile-nav{flex-wrap:wrap}.profile-nav .profile-city-button{margin-left:auto}.drawer-city-button{margin:12px 0;width:100%;text-align:left;white-space:normal}
@media(max-width:700px){.city-modal{padding:22px 18px}.profile-nav .profile-city-button{margin-left:0;order:10;flex:0 0 100%;text-align:left}.city-modal h2{font-size:22px}.profile-city-button{min-height:40px}}
@media(max-width:360px){.city-options{grid-template-columns:1fr}}

.city-locate-button{display:block;width:100%;min-height:44px;margin:16px 0 0;padding:11px 13px;border:1px solid #66551f;border-radius:11px;background:#292519;color:#f3d46b;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.city-locate-button[hidden]{display:none}.city-locate-button:disabled{opacity:.6;cursor:wait}
.welcome-backdrop{position:fixed;inset:0;z-index:140;display:grid;place-items:center;padding:20px;background:rgba(6,9,9,.86);backdrop-filter:blur(7px)}
.welcome-backdrop[hidden]{display:none}
.welcome-card{display:flex;flex-direction:column;width:min(520px,100%);max-height:calc(100dvh - 40px);box-sizing:border-box;padding:26px;border:1px solid #4a4733;border-radius:24px;background:radial-gradient(ellipse at 10% 0%,#302c1b 0%,#191d1d 45%,#161a1b 100%);box-shadow:0 24px 90px rgba(0,0,0,.55);color:#f1f3f0}
.welcome-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#65592f transparent;padding:0 5px 4px 0}
.welcome-brand{margin-bottom:17px}.welcome-brand img{display:block;width:clamp(170px,55vw,230px);max-width:100%;height:auto}
.welcome-card .eyebrow{font-size:10px;letter-spacing:.14em;color:#f3c847;font-weight:800;text-transform:uppercase}
.welcome-card h2{margin:10px 0 12px;font-size:32px;line-height:1.12;letter-spacing:-.035em}
.welcome-description{margin:0;color:#b7c0bb;font-size:14px;line-height:1.5}
.welcome-steps{display:grid;gap:15px;margin:22px 0}
.welcome-steps article{display:flex;align-items:flex-start;gap:12px}.welcome-step-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border:1px solid #655523;border-radius:10px;background:#302b1a;color:#f3c847;font-size:22px;line-height:1}
.welcome-steps h3{margin:0 0 5px;font-size:14px;line-height:1.35}.welcome-steps p{margin:0;color:#abb5af;font-size:13px;line-height:1.5}
.welcome-recommendations{display:grid;gap:14px;padding:15px;border:1px solid #3c443d;border-radius:14px;background:rgba(10,16,14,.35)}
.welcome-recommendations strong{display:block;color:#e0e6df;font-size:13px;line-height:1.4}.welcome-recommendations p{margin:5px 0 0;color:#9ea9a2;font-size:12px;line-height:1.5}
.welcome-install{margin-top:11px;min-height:44px;padding:10px 15px;border:1px solid #88712b;border-radius:10px;background:#292719;color:#f5d567;font:inherit;font-size:13px;font-weight:750;cursor:pointer}.welcome-install:disabled{opacity:.7;cursor:default}
.welcome-recommendations .welcome-install-hint{display:none;margin-top:10px;color:#e8d078}.welcome-recommendations .welcome-install-hint.open{display:block}
.welcome-footer{flex:0 0 auto;padding-top:17px;background:linear-gradient(180deg,transparent,#161a1b 35%)}
.welcome-continue{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:52px;padding:13px 18px;border:1px solid #f3c847;border-radius:12px;background:#f3c847;color:#171919;font:inherit;font-size:16px;font-weight:850;cursor:pointer}.welcome-continue:hover{background:#ffdb67}.welcome-continue span{font-size:22px;line-height:1}
.welcome-footnote{margin:9px 0 0;text-align:center;color:#8c9890;font-size:11px;line-height:1.4}
.welcome-continue:focus-visible,.welcome-install:focus-visible,.city-locate-button:focus-visible{outline:2px solid #fff0b3;outline-offset:3px}
@media(max-width:700px){.welcome-backdrop{padding:calc(12px + env(safe-area-inset-top)) 12px calc(12px + env(safe-area-inset-bottom))}.welcome-card{max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:20px 18px;border-radius:20px}.welcome-card h2{font-size:clamp(25px,7.4vw,31px)}.welcome-brand{margin-bottom:14px}.welcome-steps{gap:13px;margin:18px 0}.welcome-recommendations{padding:13px}.welcome-footer{padding-top:14px}.welcome-install{width:100%}}
