*{box-sizing:border-box}
:root{--bg:#f5f9ff;--ink:#132238;--muted:#63748a;--line:#dfe8f2;--primary:#1677d2;--soft:#eef6ff;--dark:#132f4c}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}
button,select,input{font:inherit}.topbar{height:72px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 6%;border-bottom:1px solid #e6edf7;position:sticky;top:0;z-index:20}.brand{font-weight:800;font-size:20px;display:flex;gap:10px;align-items:center}.globe{font-size:30px}.tools{display:flex;gap:10px}.tools select{border:1px solid #d8e2ef;border-radius:12px;padding:9px;background:#fff}
.hero{max-width:1200px;margin:38px auto 24px;padding:45px;display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:center;background:linear-gradient(135deg,#eaf5ff,#fff);border:1px solid #dcecff;border-radius:30px}.eyebrow{color:var(--primary);font-weight:800;margin:0 0 8px}.hero h1{font-size:clamp(38px,5vw,64px);margin:0 0 12px;line-height:1.05}.hero p:not(.eyebrow){font-size:19px;color:#5a6b80;max-width:650px}.search{display:flex;gap:10px;margin-top:25px}.search input{flex:1;border:1px solid #d5e0ec;border-radius:14px;padding:15px 18px;background:#fff}.search button,.convert-btn{border:0;border-radius:14px;padding:0 25px;background:var(--primary);color:#fff;font-weight:700;cursor:pointer}.search-results{position:relative;margin-top:8px;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 12px 30px #1232;z-index:5}.search-result{width:100%;border:0;border-bottom:1px solid #edf1f5;background:#fff;text-align:start;padding:12px 16px;cursor:pointer;display:flex;justify-content:space-between;gap:12px}.search-result:hover{background:var(--soft)}.search-result span,.empty-result{color:var(--muted);padding:12px 16px}
.globe-card{min-height:280px;display:grid;place-items:center;position:relative}.big-globe{font-size:180px;filter:drop-shadow(0 15px 20px #8ab6dd66);animation:float 4s ease-in-out infinite}.orbit{position:absolute;background:#fff;border:1px solid #d8e8f8;border-radius:50%;width:48px;height:48px;display:grid;place-items:center;box-shadow:0 8px 20px #1234}.o1{top:20px;right:25%}.o2{bottom:35px;left:18%}.o3{top:45%;right:5%}@keyframes float{50%{transform:translateY(-8px) scale(1.02)}}
.dashboard{max-width:1200px;margin:auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:22px}.panel{background:#fff;border:1px solid #e2eaf3;border-radius:22px;padding:24px}.panel-title{font-weight:800;font-size:18px;display:flex;gap:9px;margin-bottom:18px}.location-panel select{width:100%;padding:13px;border:1px solid #d9e4ef;border-radius:12px;background:#fff}.location-btn{margin-top:10px;border:1px solid #cfe0ef;background:var(--soft);color:#125f9f;border-radius:12px;padding:10px 14px;cursor:pointer}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.stats div{background:#f5f9fd;border-radius:14px;padding:13px}.stats small{display:block;color:#6c7b8d;margin-bottom:6px}.stats strong{font-size:16px}.place-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.place{border:1px solid #e2eaf3;border-radius:16px;overflow:hidden;background:#fff;transition:.2s}.place:hover,.place:focus{transform:translateY(-3px);box-shadow:0 10px 25px #1232;outline:none}.place .photo{height:100px;display:grid;place-items:center;font-size:45px;background:#eef6ff}.place .body{padding:12px}.place h3{font-size:16px;margin:0 0 4px}.place p{font-size:12px;color:#718096;margin:0}
.converter{max-width:1200px;margin:22px auto 0}.converter-grid{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:12px;align-items:end}.converter label{display:grid;gap:7px;color:var(--muted);font-size:13px;font-weight:700}.converter input,.converter select{border:1px solid #d9e4ef;border-radius:12px;padding:12px;background:#fff}.convert-btn{height:46px}.conversion-output{margin-top:16px;padding:14px 16px;background:var(--soft);border-radius:14px;display:flex;justify-content:space-between}.conversion-output strong{color:var(--primary)}
.traveler{max-width:1200px;margin:22px auto 40px;padding:28px;border-radius:22px;background:var(--dark);color:#fff;display:flex;justify-content:space-between;gap:30px;align-items:center}.traveler h2{margin:0;font-size:30px}.traveler .eyebrow{color:#8fc9ff}.feature-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;min-width:48%}.feature-list div{background:#ffffff12;border:1px solid #ffffff20;border-radius:12px;padding:12px}footer{text-align:center;padding:30px;color:#718096}
@media(max-width:850px){.hero,.dashboard{grid-template-columns:1fr}.hero{padding:28px}.globe-card{min-height:220px}.big-globe{font-size:140px}.traveler{margin:20px;padding:22px;display:block}.feature-list{margin-top:20px}.place-grid{grid-template-columns:1fr 1fr}.converter{margin:20px}.converter-grid{grid-template-columns:1fr 1fr}.convert-btn{height:48px}}
@media(max-width:520px){.topbar{padding:10px 4%;height:auto;min-height:68px;gap:8px;flex-wrap:wrap}.brand{font-size:16px}.tools{width:100%}.tools select{flex:1}.search{flex-direction:column}.search button{padding:13px}.stats{grid-template-columns:1fr}.place-grid{grid-template-columns:1fr}.hero h1{font-size:40px}.converter-grid{grid-template-columns:1fr}.converter{margin:20px 4%}.dashboard,.hero{margin-left:4%;margin-right:4%}}

.quick-actions{max-width:1200px;margin:22px auto 0}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.quick-action{border:1px solid #dfe8f2;background:#fff;border-radius:15px;padding:16px;cursor:pointer;font-weight:800;transition:.2s}.quick-action:hover{transform:translateY(-2px);box-shadow:0 8px 20px #1232;background:#eef6ff}.details-btn{margin-top:9px;border:0;background:#eef6ff;color:#1264a5;border-radius:9px;padding:7px 10px;cursor:pointer;font-size:12px;font-weight:800}.place .photo{position:relative}.place-badge{position:absolute;top:8px;right:8px;background:#fff;border-radius:20px;padding:3px 6px;font-size:12px}.modal{position:fixed;inset:0;background:#13223899;display:grid;place-items:center;padding:20px;z-index:100}.modal-card{position:relative;width:min(520px,100%);background:#fff;border-radius:26px;padding:30px;box-shadow:0 25px 70px #0005}.modal-close{position:absolute;top:12px;right:14px;width:38px;height:38px;border:0;border-radius:50%;background:#f0f4f8;font-size:27px;cursor:pointer}.modal-icon{width:90px;height:90px;display:grid;place-items:center;background:#eef6ff;border-radius:22px;font-size:48px;margin-bottom:18px}.modal-card h2{margin:0 0 10px;font-size:32px}.modal-card p:not(.eyebrow){color:#65768a;line-height:1.8}.modal-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.modal-meta span{background:#f5f9fd;border-radius:12px;padding:10px 12px;color:#526579;font-weight:700}.modal-open{overflow:hidden}
@media(max-width:700px){.quick-actions{margin-left:4%;margin-right:4%}.quick-grid{grid-template-columns:1fr 1fr}.modal-card{padding:24px}.modal-card h2{font-size:26px}}
@media(max-width:430px){.quick-grid{grid-template-columns:1fr}}


/* V15.2 — smart map, filters, destination drawer */
.map-panel{margin:24px 0;padding:24px;border:1px solid rgba(30,70,110,.12);border-radius:24px;background:rgba(255,255,255,.82);box-shadow:0 18px 45px rgba(18,52,86,.08)}
.map-panel-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px}
.section-kicker{font-size:.72rem;font-weight:800;letter-spacing:.14em;opacity:.6}
.map-panel h2,.places-toolbar h2{margin:4px 0;font-size:1.5rem}
.map-panel p{margin:4px 0 0;opacity:.7}
.ghost-btn{border:1px solid rgba(30,70,110,.14);background:#fff;border-radius:12px;padding:10px 14px;font-weight:700;cursor:pointer}
.map-stage{height:390px;position:relative;overflow:hidden;border-radius:20px;background:linear-gradient(135deg,#dff3ff,#eef8ef 48%,#dcecff);border:1px solid rgba(30,70,110,.1)}
.map-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(50,100,140,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(50,100,140,.09) 1px,transparent 1px);background-size:38px 38px;transform:perspective(600px) rotateX(45deg) scale(1.4);transform-origin:center}
.map-land{position:absolute;border-radius:50% 42% 48% 36%;filter:blur(.2px);background:rgba(113,170,112,.28)}
.map-land-a{width:340px;height:190px;left:8%;top:20%;transform:rotate(-18deg)}
.map-land-b{width:280px;height:160px;right:7%;bottom:10%;transform:rotate(25deg)}
.map-pin{position:absolute;border:0;background:transparent;font-size:29px;cursor:pointer;filter:drop-shadow(0 5px 5px rgba(0,0,0,.2));transition:.2s}
.map-pin:hover,.map-pin.selected{transform:translateY(-7px) scale(1.18)}
.pin-a{left:18%;top:34%}.pin-b{left:39%;top:23%}.pin-c{left:55%;top:48%}.pin-d{right:20%;top:29%}.pin-e{right:31%;bottom:18%}
.map-overlay-card{position:absolute;left:18px;bottom:18px;display:flex;gap:10px;align-items:center;padding:12px 15px;border-radius:15px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);box-shadow:0 12px 30px rgba(20,50,80,.15)}
.map-overlay-card span{font-size:1.4rem}.map-overlay-card strong,.map-overlay-card small{display:block}.map-overlay-card small{opacity:.65;margin-top:2px}.map-coordinates{position:absolute;right:18px;bottom:18px;padding:7px 10px;border-radius:10px;background:rgba(255,255,255,.75);font-size:.75rem;font-family:monospace}
.places-toolbar{display:flex;justify-content:space-between;align-items:end;gap:15px;margin:24px 0 14px}.place-filters{display:flex;gap:8px;flex-wrap:wrap}.filter-btn{border:1px solid rgba(30,70,110,.14);background:#fff;border-radius:999px;padding:8px 13px;cursor:pointer;font-weight:700}.filter-btn.active{background:#173f63;color:#fff;border-color:#173f63}
.landmark-card[hidden]{display:none!important}
.destination-drawer{position:fixed;z-index:1000;top:0;right:-440px;width:min(440px,92vw);height:100vh;background:#fff;box-shadow:-20px 0 60px rgba(0,0,0,.18);padding:28px 24px;overflow:auto;transition:right .3s ease}.destination-drawer.open{right:0}
.drawer-backdrop{position:fixed;z-index:999;inset:0;background:rgba(10,25,40,.35);opacity:0;pointer-events:none;transition:.25s}.drawer-backdrop.show{opacity:1;pointer-events:auto}.drawer-close{position:absolute;right:18px;top:15px;width:38px;height:38px;border:0;border-radius:50%;background:#f1f5f8;font-size:25px;cursor:pointer}.drawer-hero{display:flex;align-items:center;gap:15px;padding:35px 8px 22px;border-bottom:1px solid #edf1f4}.drawer-hero>span{font-size:3rem}.drawer-hero h2{margin:2px 0;font-size:1.8rem}.drawer-hero p{margin:0;opacity:.65}.drawer-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:18px 0}.drawer-stats div{padding:13px 8px;text-align:center;border-radius:15px;background:#f6f9fb}.drawer-stats span,.drawer-stats strong,.drawer-stats small{display:block}.drawer-stats strong{margin:4px 0;font-size:.9rem}.drawer-stats small{opacity:.6}.drawer-section h3{margin:8px 0 12px}.drawer-place-list{display:grid;gap:9px}.drawer-place{display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;text-align:right;gap:2px 10px;border:1px solid #e9eef2;background:#fff;border-radius:15px;padding:12px;cursor:pointer}.drawer-place>span{grid-row:1/3;font-size:1.7rem;align-self:center}.drawer-place b{font-size:.95rem}.drawer-place small{opacity:.62;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:700px){.map-panel{padding:16px;border-radius:18px}.map-panel-head{align-items:flex-start;flex-direction:column}.map-stage{height:310px}.places-toolbar{align-items:flex-start;flex-direction:column}.map-coordinates{font-size:.65rem}.drawer-stats{grid-template-columns:1fr 1fr 1fr}.ghost-btn{width:100%}}

/* V15.3 — real Leaflet map */
#realMap{position:absolute;inset:0;width:100%;height:100%;z-index:1}
.map-stage .map-overlay-card{z-index:500}
.map-stage .map-coordinates{z-index:500}
.leaflet-container{font-family:inherit}
.leaflet-popup-content-wrapper{border-radius:12px}

/* V15.4 */
.map-control-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.primary-map-btn{border:0;background:#173f63;color:#fff;border-radius:12px;padding:11px 14px;font-weight:800;cursor:pointer}
.drawer-actions{display:flex;gap:8px;flex-wrap:wrap;padding:8px 0 16px}
.drawer-actions>*{flex:1;min-width:140px}
@media(max-width:700px){.map-control-row{width:100%;justify-content:stretch}.map-control-row>*{flex:1}.drawer-actions>*{min-width:100%}}

/* V15.5 */
.place-meta-row{display:flex;gap:8px;flex-wrap:wrap;padding:12px 0;color:#4b5e6e;font-size:.82rem}
.place-meta-row span{background:#f4f7f9;border:1px solid #e7edf1;border-radius:999px;padding:7px 10px}
.favorite-btn,.share-btn{border:1px solid rgba(30,70,110,.14);background:#fff;border-radius:12px;padding:11px 14px;font-weight:800;cursor:pointer}
.favorite-btn.saved{background:#fff0f2;border-color:#ffc6cf}
.favorites-panel{margin:28px 0;padding:24px;border-radius:24px;background:#fff;border:1px solid rgba(30,70,110,.1);box-shadow:0 16px 40px rgba(20,50,80,.07)}
.favorites-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}
.favorites-head h2{margin:4px 0}.favorites-count{min-width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#173f63;color:#fff;font-weight:800}
.favorites-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}
.favorite-card{display:grid;grid-template-columns:46px 1fr 30px;gap:10px;align-items:center;padding:14px;border:1px solid #e8edf1;border-radius:16px;background:#fbfcfd}
.fav-icon{font-size:2rem}.fav-main{cursor:pointer}.fav-main strong,.fav-main small{display:block}.fav-main small{opacity:.65;margin-top:3px}.fav-main p{margin:6px 0 0;font-size:.82rem;opacity:.7}
.favorite-card>button{border:0;background:transparent;color:#c62845;font-size:1.25rem;cursor:pointer}.empty-favorites{padding:24px;text-align:center;opacity:.6}
@media(max-width:700px){.favorites-panel{padding:16px;border-radius:18px}.favorite-card{grid-template-columns:42px 1fr 28px}}

/* V15.6 */
.place-gallery{margin:-8px -24px 8px;height:260px;position:relative;overflow:hidden;background:#e9f0f4}
.gallery-main{height:100%;background-size:cover;background-position:center;display:grid;place-items:center;position:relative}
.gallery-main:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.4),transparent 55%)}
.gallery-fallback{position:relative;z-index:1;font-size:3.4rem;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}
.gallery-thumbs{position:absolute;bottom:12px;right:14px;display:flex;gap:7px;z-index:3}
.gallery-thumb{width:48px;height:42px;border:2px solid rgba(255,255,255,.75);border-radius:9px;background-size:cover;background-position:center;cursor:pointer;opacity:.75}.gallery-thumb.active{opacity:1;border-color:#fff;transform:translateY(-2px)}
.category-chips{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 14px}
.category-chip{border:1px solid #dfe7ec;background:#fff;border-radius:999px;padding:8px 12px;font-weight:700;cursor:pointer}.category-chip.active{background:#173f63;color:#fff;border-color:#173f63}
.smart-search-results{position:absolute;z-index:2000;left:0;right:0;top:100%;margin-top:7px;background:#fff;border:1px solid #e3eaf0;border-radius:15px;box-shadow:0 16px 40px rgba(20,50,80,.16);display:none;overflow:hidden}
.smart-search-results.show{display:block}.search-result{width:100%;display:flex;align-items:center;gap:10px;padding:12px 14px;border:0;background:#fff;text-align:right;cursor:pointer}.search-result:hover{background:#f4f8fa}.search-result>span{font-size:1.5rem}.search-result strong,.search-result small{display:block}.search-result small{opacity:.62;margin-top:2px}.search-empty{padding:18px;text-align:center;opacity:.6}
@media(max-width:700px){.place-gallery{height:220px;margin:-8px -16px 8px}}


/* V15.7 */
.v157-explorer{max-width:1200px;margin:28px auto;padding:24px;border-radius:24px;background:rgba(255,255,255,.86);border:1px solid rgba(30,70,110,.1);box-shadow:0 18px 45px rgba(18,52,86,.07)}
.v157-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:14px}.v157-head h2{margin:4px 0}.v157-head p{margin:4px 0;opacity:.68}.v157-actions{display:flex;gap:8px;flex-wrap:wrap}.v157-actions select{border:1px solid #dfe7ec;background:#fff;border-radius:12px;padding:10px 12px;font-weight:700}
.v157-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:16px}.v157-grid .map-panel{margin:0}.nearby-panel{border:1px solid rgba(30,70,110,.1);border-radius:20px;background:#fff;padding:18px;min-height:390px}.nearby-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.nearby-head h2{margin:4px 0}.nearby-count{min-width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#173f63;color:#fff;font-weight:800}.nearby-list{display:grid;gap:8px;max-height:390px;overflow:auto;padding-right:2px}.nearby-card{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;text-align:right;border:1px solid #e8edf1;background:#fbfcfd;border-radius:14px;padding:10px;cursor:pointer}.nearby-card:hover{background:#f1f7fb;transform:translateY(-1px)}.nearby-icon{font-size:1.6rem}.nearby-main strong,.nearby-main small{display:block}.nearby-main small{opacity:.62;margin-top:3px;font-size:.76rem}.nearby-distance{font-weight:800;font-size:.78rem;white-space:nowrap}.nearby-empty{padding:30px 14px;text-align:center;opacity:.58;line-height:1.8}.photo{background-size:cover;background-position:center}.photo-icon{display:grid;place-items:center;height:100%;min-height:140px;font-size:3rem;text-shadow:0 3px 10px #0005}
@media(max-width:850px){.v157-explorer{margin-left:4%;margin-right:4%;padding:16px}.v157-head{align-items:flex-start;flex-direction:column}.v157-actions{width:100%}.v157-actions>*{flex:1}.v157-grid{grid-template-columns:1fr}.nearby-list{max-height:340px}}
@media(max-width:520px){.nearby-panel{padding:14px}.nearby-card{grid-template-columns:38px 1fr}.nearby-distance{grid-column:2;text-align:right}.v157-actions{flex-direction:column}.v157-actions>*{width:100%}}

/* V15.8 — database growth indicators */
.v158-stats{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.v158-stats span{padding:9px 11px;border-radius:12px;background:#f4f8fb;border:1px solid #e3ebf1;font-size:.78rem;color:#5c6f80}.v158-stats b{color:#173f63;font-size:1rem;margin-inline-end:3px}@media(max-width:850px){.v158-stats{width:100%}}
/* V15.9 */
.v159-filters{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.v159-filters select{border:1px solid #d9e4ef;background:#fff;border-radius:12px;padding:10px 12px;min-width:145px}.v159-load-more{width:100%;margin-top:10px;padding:11px;cursor:pointer}.v159-card{width:100%;text-align:inherit;cursor:pointer}.v159-card em{font-style:normal;font-size:11px;color:#1677d2;display:block;margin-top:3px}@media(max-width:600px){.v159-filters{width:100%}.v159-filters select{flex:1;min-width:120px}}

/* V16.0 destination intelligence */
.v160-intelligence{max-width:1200px;margin:22px auto 0;padding:26px;border:1px solid #dfe8f2;border-radius:24px;background:linear-gradient(135deg,#fff,#f4f9ff)}
.v160-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.v160-head h2{margin:4px 0 6px;font-size:28px}.v160-head p{margin:0;color:#65768a}.v160-live{background:#eaf8ef;color:#19733d;border:1px solid #ccebd8;padding:9px 12px;border-radius:999px;font-size:12px;font-weight:800}.v160-live span:first-child{font-size:10px}.v160-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:14px;margin-top:18px}.v160-summary{display:grid;grid-template-columns:auto 1fr auto auto;gap:14px;align-items:center;background:#fff;border:1px solid #e3ebf4;border-radius:18px;padding:18px}.v160-city-icon{width:58px;height:58px;border-radius:16px;background:#eef6ff;display:grid;place-items:center;font-size:30px}.v160-summary h3{margin:0;font-size:21px}.v160-summary p{margin:3px 0 0;color:#718096}.v160-stat{padding:8px 12px;background:#f5f9fd;border-radius:12px;text-align:center}.v160-stat strong,.v160-stat span{display:block}.v160-stat span{font-size:11px;color:#718096;margin-top:3px}.v160-cats{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.v160-cat{background:#fff;border:1px solid #e3ebf4;border-radius:14px;padding:12px}.v160-cat strong{display:flex;justify-content:space-between}.v160-cat small{color:#718096}.v160-bar{height:6px;background:#edf2f7;border-radius:99px;overflow:hidden;margin-top:8px}.v160-bar i{display:block;height:100%;background:#1677d2;border-radius:99px}.v160-tips{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.v160-tips>div{background:#132f4c;color:#fff;border-radius:15px;padding:14px}.v160-tips span{font-size:20px;margin-inline-end:6px}.v160-tips strong{font-size:14px}.v160-tips small{display:block;color:#c9d6e4;margin-top:6px;line-height:1.5}.v159-filters select{min-width:140px}.v159-load-more{width:100%;margin-top:10px;padding:11px;border:1px solid #d9e4ef;background:#fff;border-radius:12px;cursor:pointer;font-weight:800}
@media(max-width:850px){.v160-head,.v160-grid{grid-template-columns:1fr;display:grid}.v160-live{justify-self:start}.v160-summary{grid-template-columns:auto 1fr}.v160-stat{grid-column:auto}.v160-tips{grid-template-columns:1fr}}
@media(max-width:520px){.v160-intelligence{margin:16px 4%;padding:18px}.v160-summary{grid-template-columns:auto 1fr}.v160-stat{grid-column:span 1}.v160-cats{grid-template-columns:1fr}}

/* V16.1 — professional place details */
.v161-place-modal{position:fixed;inset:0;z-index:9000;display:grid;place-items:center;padding:20px}.v161-place-modal[hidden]{display:none}.v161-backdrop{position:absolute;inset:0;background:rgba(5,20,35,.72);backdrop-filter:blur(7px)}.v161-dialog{position:relative;width:min(920px,100%);max-height:min(92vh,900px);overflow:auto;background:#fff;border-radius:28px;box-shadow:0 30px 90px rgba(0,0,0,.28);z-index:1}.v161-close{position:absolute;top:14px;inset-inline-end:14px;z-index:4;width:42px;height:42px;border:0;border-radius:50%;background:rgba(0,0,0,.45);color:#fff;font-size:27px;cursor:pointer}.v161-hero{height:310px;position:relative;background:#eaf0f4}.v161-image{width:100%;height:100%;background-size:cover;background-position:center;display:grid;place-items:center}.v161-image span{font-size:4.2rem;filter:drop-shadow(0 5px 12px rgba(0,0,0,.35))}.v161-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.58))}.v161-hero-overlay{position:absolute;bottom:18px;inset-inline-start:20px;z-index:2;display:flex;gap:8px;flex-wrap:wrap}.v161-badge{padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.93);font-weight:800;font-size:.82rem}.v161-content{padding:26px}.v161-title-row{display:flex;justify-content:space-between;gap:20px}.v161-title-row h2{margin:5px 0;font-size:32px}.v161-title-row p{margin:0;color:#617286;line-height:1.8;max-width:720px}.v161-favorite{width:48px;height:48px;border-radius:15px;border:1px solid #dbe5ee;background:#fff;font-size:25px;cursor:pointer}.v161-favorite.saved{background:#fff0f3;color:#c62845;border-color:#ffc8d1}.v161-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0}.v161-info-grid>div{padding:15px;border:1px solid #e3ebf3;border-radius:16px;background:#f8fbfd}.v161-info-grid span{font-size:20px}.v161-info-grid strong,.v161-info-grid small{display:block}.v161-info-grid strong{margin-top:5px}.v161-info-grid small{margin-top:4px;color:#718096}.v161-section{margin-top:20px}.v161-section h3{margin:0 0 10px}.v161-tags{display:flex;gap:8px;flex-wrap:wrap}.v161-tag{padding:8px 11px;border-radius:999px;background:#eef6ff;border:1px solid #d9eaff;color:#24577e;font-size:.82rem;font-weight:700}.v161-map-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px;border:1px solid #dce7f0;border-radius:18px;background:linear-gradient(135deg,#f8fbff,#eef7ff)}.v161-map-card p{margin:4px 0 0;color:#6d7d8d}.v161-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}.v161-actions>*{flex:1;min-width:180px}.modal-open .v161-place-modal{display:grid}
@media(max-width:650px){.v161-place-modal{padding:0}.v161-dialog{height:100%;max-height:100vh;border-radius:0}.v161-hero{height:250px}.v161-content{padding:20px}.v161-title-row h2{font-size:26px}.v161-info-grid{grid-template-columns:1fr}.v161-map-card{align-items:stretch;flex-direction:column}.v161-actions>*{min-width:100%}}

/* V16.2 — global smart search */
#searchResults.v162-results{position:absolute;z-index:3000;left:0;right:0;top:calc(100% + 8px);padding:6px;background:rgba(255,255,255,.98);border:1px solid #dfe8f0;border-radius:18px;box-shadow:0 20px 55px rgba(20,50,80,.18);max-height:min(520px,65vh);overflow:auto}
.search{position:relative}
.v162-result{width:100%;display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center;padding:11px 10px;border:0;border-radius:13px;background:transparent;text-align:inherit;cursor:pointer;color:inherit}.v162-result:hover,.v162-result:focus-visible{background:#f2f7fb;outline:none}.v162-result-icon{font-size:1.55rem;text-align:center}.v162-result-main{min-width:0}.v162-result-main strong,.v162-result-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v162-result-main small{margin-top:3px;color:#718096;font-size:.76rem}.v162-result-type{font-size:.68rem;font-weight:800;color:#3674a2;background:#eef6ff;padding:5px 7px;border-radius:999px}.v162-empty{padding:24px 14px;text-align:center}.v162-empty strong,.v162-empty small{display:block}.v162-empty small{margin-top:6px;color:#718096}@media(max-width:600px){#searchResults.v162-results{max-height:55vh}.v162-result{grid-template-columns:34px 1fr auto;padding:10px 8px}.v162-result-type{font-size:.6rem}}


/* V17.0 — core polish */
.app-ready{opacity:1!important}
.v17-toast{position:fixed;inset:auto 18px 18px auto;z-index:9999;max-width:min(420px,calc(100vw - 36px));padding:12px 16px;border-radius:14px;background:#102a43;color:#fff;box-shadow:0 12px 30px rgba(0,0,0,.18);font-size:.92rem;display:none}
.v17-toast.show{display:block;animation:v17in .2s ease-out}
@keyframes v17in{from{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}
.v17-install{display:none;position:fixed;left:18px;bottom:18px;z-index:9998;border:0;border-radius:14px;padding:11px 15px;cursor:pointer;font-weight:700;box-shadow:0 10px 25px rgba(0,0,0,.16)}
.v17-install.show{display:block}
@media(max-width:640px){.v17-toast{inset:auto 12px 12px 12px;max-width:none}.v17-install{left:12px;bottom:64px}}


/* V17.1 — app shell + network status */
.v17-network{position:fixed;top:12px;inset-inline-start:12px;z-index:9997;display:flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.94);border:1px solid #dce7ef;box-shadow:0 6px 18px rgba(20,50,80,.08);font-size:11px;font-weight:800;color:#35627d;backdrop-filter:blur(8px)}
.v17-network-dot{width:8px;height:8px;border-radius:50%;background:#20a05a;box-shadow:0 0 0 3px rgba(32,160,90,.12)}
.v17-network.offline .v17-network-dot{background:#d97706;box-shadow:0 0 0 3px rgba(217,119,6,.12)}
.v17-network.offline{color:#8a5a16}
@media(max-width:600px){.v17-network{top:8px;inset-inline-start:8px;font-size:10px;padding:6px 8px}.v17-install{font-size:12px}}


/* Final product polish */
.skip-link{position:fixed;top:-60px;inset-inline-start:12px;z-index:10000;background:#132f4c;color:#fff;padding:10px 14px;border-radius:10px;font-weight:800;text-decoration:none;transition:top .2s}.skip-link:focus{top:12px}.top-status{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:800;color:#2f6b50;background:#eef9f1;border:1px solid #d3efdc;padding:7px 10px;border-radius:999px}.top-status-dot{width:7px;height:7px;border-radius:50%;background:#2aa567;box-shadow:0 0 0 3px #d9f3e3}.topbar{gap:14px}.tools{margin-inline-start:auto}footer{max-width:1200px;margin:40px auto 0;border-top:1px solid #e1eaf2;display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}.footer-brand{color:#173f63}footer small{width:100%;opacity:.55;font-size:11px}.place,.quick-action,.panel,.v160-cat,.favorites-panel,.map-panel,.nearby-panel{will-change:transform}.place:focus-within,.quick-action:focus-visible,.ghost-btn:focus-visible,.primary-map-btn:focus-visible,.favorite-btn:focus-visible,.share-btn:focus-visible,.v161-close:focus-visible{outline:3px solid #7cc4ff;outline-offset:2px}.search input:focus,.tools select:focus,.location-panel select:focus,.converter input:focus,.converter select:focus,.v159-filters select:focus{outline:3px solid #c9e9ff;outline-offset:1px;border-color:#5aaeea}@media(max-width:700px){.top-status{order:3;width:100%;justify-content:center}.tools{width:100%}footer{margin-inline:4%;text-align:center}}
