/* KŌMØ World · simplified map experience v3 */
:root{--world-panel-w:360px}
.hero-copy{
  top:112px;left:22px;max-width:310px;padding:12px 14px;border-radius:18px;
  background:rgba(247,244,237,.93)
}
.hero-copy h1{font-size:24px;line-height:1.02;margin:5px 0}
.hero-copy p{font-size:9px;line-height:1.45}
.world-summary{display:flex;gap:5px;margin-top:9px}
.world-summary span{display:flex;align-items:baseline;gap:4px;padding:6px 8px;border-radius:10px;background:rgba(255,255,255,.58);font-size:7px;color:#736d64}
.world-summary b{font-size:12px;color:#302f2c}
body.map-engaged .hero-copy{max-width:255px;padding:10px 12px}
body.map-engaged .hero-copy h1{font-size:17px;margin:3px 0}
body.map-engaged .hero-copy p{display:none}
body.map-engaged .world-summary{margin-top:5px}
body.map-engaged .world-summary span{padding:4px 6px}
body.map-engaged .world-summary b{font-size:10px}

.world-modebar{
  position:absolute;z-index:31;top:108px;left:50%;transform:translateX(-50%);
  display:flex;gap:4px;padding:5px;border:1px solid rgba(255,255,255,.72);
  border-radius:18px;background:rgba(248,245,238,.94);backdrop-filter:blur(24px);box-shadow:var(--soft)
}
.world-modebar button{
  height:37px;padding:0 15px;border:0;border-radius:13px;background:transparent;
  font-size:8px;font-weight:850;letter-spacing:.08em;color:#6c665e
}
.world-modebar button.active{background:#302f2c;color:#fff}

.world-destinations{
  position:absolute;z-index:30;top:158px;left:50%;transform:translateX(-50%);
  display:flex;gap:3px;padding:4px;border:1px solid rgba(255,255,255,.64);
  border-radius:14px;background:rgba(248,245,238,.86);backdrop-filter:blur(20px);box-shadow:var(--soft)
}
.world-destinations button{
  height:29px;padding:0 10px;border:0;border-radius:10px;background:transparent;
  font-size:7px;font-weight:800;letter-spacing:.07em;color:#756f66
}
.world-destinations button.active{background:#ded5c7;color:#302f2c}

.intent-bar{
  top:198px;left:22px;right:auto;max-width:calc(100vw - var(--world-panel-w) - 76px);
  padding:0;gap:5px
}
.intent{height:32px;padding:0 10px;font-size:7px;box-shadow:none;background:rgba(249,247,242,.9)}
.intent.near{margin-left:0}
body[data-world-mode="events"] .intent-bar,
body[data-world-mode="experiences"] .intent-bar{display:none}

.side-panel{
  top:198px;right:18px;bottom:auto;width:var(--world-panel-w);height:auto;max-height:calc(100vh - 284px);
  min-height:245px;border-radius:23px;transition:transform .24s ease,opacity .24s ease
}
.side-head{padding:15px 16px 11px}
.side-head h2{font-size:21px}
.side-head p{font-size:9px}
.side-tabs{display:none}
.side-body{padding:10px 11px 13px;max-height:calc(100vh - 390px);overflow:auto}
body.panel-collapsed .side-panel{transform:translateX(calc(100% + 30px));opacity:0;pointer-events:none}

.world-list-toggle{
  position:absolute;z-index:31;right:20px;top:151px;height:34px;padding:0 12px;border:1px solid rgba(255,255,255,.72);
  border-radius:12px;background:rgba(248,245,238,.94);backdrop-filter:blur(18px);box-shadow:var(--soft);
  font-size:7px;font-weight:850;letter-spacing:.08em;color:#5f5951
}
.world-list-toggle::before{content:"☰";margin-right:6px}
body.panel-collapsed .world-list-toggle::before{content:"＋"}

.map-badge{display:none}
.map-tools{left:22px;bottom:22px}
.ask-btn{right:22px;bottom:22px}
.ecosystem-dock{bottom:18px}

.poi{transform-origin:center;transition:transform .16s ease,box-shadow .16s ease}
.poi:hover{transform:scale(1.08)}
.poi-label{opacity:0;top:40px}
.poi-wrap:hover .poi-label,.poi-wrap:focus-within .poi-label{opacity:1}

.place-card{grid-template-columns:46px 1fr auto;padding:9px;border-radius:15px}
.place-card:hover{transform:translateY(-1px);box-shadow:0 9px 24px rgba(46,40,31,.08)}
.event-card{border-radius:15px;padding:11px}
.event-card b{font-size:12px}
.event-card p{font-size:9px}

.mode-empty{
  padding:20px;border:1px solid var(--line);border-radius:17px;background:#fff
}
.mode-empty b{display:block;font-size:12px}.mode-empty p{margin:5px 0 0;font-size:9px;color:#746d64;line-height:1.45}

@media(max-width:1100px){
  :root{--world-panel-w:325px}
  .world-modebar{left:44%;top:108px}
  .world-destinations{left:44%}
}
@media(max-width:820px){
  .hero-copy{display:none}
  .world-modebar{
    top:calc(max(9px,env(safe-area-inset-top)) + 69px);left:9px;right:9px;transform:none;
    display:grid;grid-template-columns:repeat(3,1fr);padding:4px;border-radius:16px
  }
  .world-modebar button{height:37px;padding:0 4px;font-size:7px}
  .world-destinations{
    top:calc(max(9px,env(safe-area-inset-top)) + 116px);left:9px;right:9px;transform:none;
    overflow-x:auto;justify-content:flex-start;scrollbar-width:none
  }
  .world-destinations::-webkit-scrollbar{display:none}
  .world-destinations button{flex:0 0 auto;height:29px}
  .intent-bar{
    top:calc(max(9px,env(safe-area-inset-top)) + 157px);left:9px;right:9px;max-width:none;
    overflow-x:auto
  }
  .intent{height:32px}
  .world-list-toggle{display:none}
  .side-panel{
    left:8px;right:8px;top:auto;bottom:calc(74px + env(safe-area-inset-bottom));
    width:auto;height:218px;min-height:0;max-height:none;border-radius:25px
  }
  .side-head{padding:5px 13px 7px}
  .side-head .ey{font-size:6.5px}.side-head h2{font-size:16px;margin:3px 0}.side-head p{display:none}
  .side-body{max-height:166px;padding:6px 9px 9px}
  .map-tools{bottom:calc(302px + env(safe-area-inset-bottom));left:auto;right:11px}
  .ask-btn{bottom:calc(350px + env(safe-area-inset-bottom));right:11px}
  .ecosystem-dock{display:none}
  .poi{min-width:34px;height:32px;padding:0 7px}
  .poi-label{display:none}
}


/* KŌMØ-first map hierarchy */
.poi-wrap.komo-wrap{z-index:8}
.poi-wrap.komo-wrap .poi{
  min-width:40px;width:40px;height:40px;
  background:#403b35;color:#fff;border-color:rgba(255,255,255,.96);
  box-shadow:0 0 0 5px rgba(64,59,53,.10),0 12px 28px rgba(42,35,28,.24);
  font-size:10px;letter-spacing:.05em
}
.poi-wrap.komo-wrap .poi-label{
  display:block;opacity:1;top:45px;
  padding:6px 8px;border-radius:10px;
  background:rgba(250,248,243,.96);
  border:1px solid rgba(70,62,53,.13);
  box-shadow:0 8px 24px rgba(48,40,31,.12);
  font-size:7.5px;line-height:1.15
}
.poi-wrap.komo-wrap .poi-label b{display:block;color:#2f2d29;font-size:8px;letter-spacing:.01em}
.poi-wrap.komo-wrap .poi-label small{display:block;margin-top:2px;color:#887f74;font-size:6px;letter-spacing:.09em}
.event-poi-wrap.komo-wrap .poi,
.experience-poi-wrap.komo-wrap .poi{background:#403b35}
body[data-world-mode="events"] .event-poi-wrap .poi-label,
body[data-world-mode="experiences"] .experience-poi-wrap .poi-label{opacity:1}

@media(max-width:820px){
  .poi-wrap.komo-wrap .poi{min-width:38px;width:38px;height:38px}
  .poi-wrap.komo-wrap .poi-label{
    display:block;opacity:1;top:42px;
    max-width:132px;overflow:hidden;text-overflow:ellipsis;
    font-size:7px;padding:5px 7px
  }
  body[data-world-mode="events"] .event-poi-wrap .poi-label,
  body[data-world-mode="experiences"] .experience-poi-wrap .poi-label{
    display:block;opacity:1;max-width:145px
  }
}

/* Map readability + Around Me */
.maplibregl-marker{z-index:18!important}
.poi-wrap{z-index:2}
.poi{
  min-width:42px!important;height:40px!important;padding:0 9px!important;border-radius:14px!important;
  border:2px solid rgba(255,255,255,.96)!important;
  box-shadow:0 9px 22px rgba(38,32,25,.22),0 0 0 1px rgba(48,44,38,.08)!important;
  background:#f8f5ee!important;color:#282824!important
}
.poi span{font-size:7px!important;font-weight:900;letter-spacing:.055em}
.poi.komo{background:#7f735f!important;color:#fff!important}
.poi.event-poi{background:#2f302d!important;color:#fff!important;border-radius:50%!important;min-width:40px!important;width:40px!important;padding:0!important}
.poi.experience-poi{background:#796f82!important;color:#fff!important}
.poi.nearby{box-shadow:0 0 0 5px rgba(181,157,120,.20),0 10px 24px rgba(38,32,25,.23)!important}
.poi-label{
  opacity:0;top:44px!important;padding:7px 9px!important;border-radius:11px!important;
  background:rgba(250,248,243,.97)!important;box-shadow:0 8px 24px rgba(41,35,28,.16)!important
}
.poi-label b{font-size:8px!important;letter-spacing:0!important}
.poi-label small{font-size:6.5px!important;margin-top:2px}
body.map-zoom-detail .poi-label,.poi-wrap:hover .poi-label,.poi-wrap:focus-within .poi-label{opacity:1!important}
body.map-zoom-detail .poi-wrap{z-index:4}

.komo-user-location{
  position:relative;width:54px;height:54px;display:grid;place-items:center;pointer-events:none
}
.komo-user-location::before,.komo-user-location::after{
  content:"";position:absolute;border-radius:50%;inset:4px;background:rgba(50,50,47,.10);
  animation:komo-location-pulse 2.2s ease-out infinite
}
.komo-user-location::after{inset:11px;animation-delay:.65s;background:rgba(50,50,47,.16)}
.komo-user-location span{
  position:relative;z-index:2;width:18px;height:18px;border-radius:50%;background:#2f302d;
  border:4px solid #fff;box-shadow:0 3px 12px rgba(0,0,0,.28)
}
.komo-user-location b{
  position:absolute;z-index:3;top:43px;padding:4px 7px;border-radius:8px;background:#2f302d;color:#fff;
  font-size:6px;letter-spacing:.12em;box-shadow:0 5px 15px rgba(0,0,0,.16)
}
@keyframes komo-location-pulse{0%{transform:scale(.55);opacity:.7}75%,100%{transform:scale(1.35);opacity:0}}

.intent.near{background:#2f302d;color:#fff;border-color:#2f302d}
.intent.near.active{background:#8a7659;color:#fff;box-shadow:0 0 0 4px rgba(181,157,120,.18)}
.near-summary{
  left:22px!important;top:240px!important;max-width:320px!important;padding:11px 13px!important;
  border-radius:15px!important;background:rgba(248,245,238,.96)!important;box-shadow:0 12px 30px rgba(45,38,29,.12)!important;
  font-size:8px!important;line-height:1.5!important
}
.near-summary b{font-size:9px!important}

@media(max-width:820px){
  .poi{min-width:38px!important;height:36px!important;padding:0 7px!important}
  body.map-zoom-detail .poi-label{display:none!important}
  .near-summary{left:9px!important;right:9px!important;top:calc(max(9px,env(safe-area-inset-top)) + 202px)!important;max-width:none!important}
}


/* KŌMØ SPOT readability */
.poi-wrap.spot-wrap{z-index:5}
.poi.spot{
  min-width:50px!important;width:auto!important;height:38px!important;padding:0 10px!important;
  border-radius:14px!important;background:#f8f5ee!important;color:#302d29!important;
  border:1px solid rgba(54,49,43,.16)!important;
  box-shadow:0 8px 22px rgba(42,35,28,.16),0 0 0 3px rgba(255,255,255,.72)!important
}
.poi.spot span{font-size:7px!important;font-weight:950!important;letter-spacing:.10em!important}
.poi-wrap.spot-wrap .poi-label{
  min-width:124px;max-width:190px;white-space:normal;text-align:left;
  padding:7px 9px!important;border-radius:11px!important
}
.poi-wrap.spot-wrap .poi-label b{
  display:block;font-size:9px!important;line-height:1.1!important;color:#2e2b27
}
.poi-wrap.spot-wrap .poi-label small{
  display:block;margin-top:3px;font-size:6.5px!important;line-height:1.25!important;
  letter-spacing:.055em;color:#766f66
}
body.map-zoom-detail .spot-wrap .poi-label{display:block!important;opacity:1!important}
.place-card{grid-template-columns:52px 1fr auto!important;padding:11px!important;min-height:67px}
.place-symbol{width:52px!important;height:46px!important;border-radius:13px!important}
.place-symbol.spot-symbol{
  background:#f0ece3!important;color:#4b443c!important;border:1px solid rgba(61,55,48,.11);
  font-size:7px!important;font-weight:950!important;letter-spacing:.10em!important
}
.place-symbol.komo-symbol{background:#7f735f!important;color:#fff!important}
.place-copy b{font-size:12px!important;line-height:1.2}
.place-copy p{font-size:8px!important;line-height:1.35!important;white-space:normal!important}
.place-copy p strong{font-size:7px;letter-spacing:.07em;color:#534a40}
.section-row b{font-size:10px!important;letter-spacing:.09em}
@media(max-width:820px){
  .poi.spot{min-width:48px!important;height:36px!important;padding:0 9px!important}
  body.map-zoom-detail .spot-wrap .poi-label,
  body.map-zoom-detail .komo-wrap .poi-label{
    display:block!important;opacity:1!important;max-width:132px!important
  }
  .poi-wrap.spot-wrap .poi-label b{font-size:8px!important}
  .poi-wrap.spot-wrap .poi-label small{font-size:6px!important}
  .place-card{grid-template-columns:48px 1fr auto!important;padding:9px!important;min-height:61px}
  .place-symbol{width:48px!important;height:42px!important}
  .place-copy b{font-size:11px!important}
}

/* KŌMØ SPOT legend */
.map-badge{display:block!important;font-size:7px!important;letter-spacing:.06em!important;padding:8px 10px!important}
@media(max-width:820px){.map-badge{display:none!important}}


/* KŌMØ SPOT clarity pass v2 */
@media(min-width:1101px){
  .side-panel{width:380px}
}
.section-row.section-spots{margin-top:16px;padding-top:12px;border-top:1px solid rgba(57,51,44,.10)}
.section-row.section-komo b,.section-row.section-spots b{font-size:10px!important;letter-spacing:.12em}
.section-row.section-komo span,.section-row.section-spots span{font-size:7.5px!important}
.place-list{gap:9px!important}
.place-card{
  grid-template-columns:54px minmax(0,1fr) 18px!important;
  gap:12px!important;padding:11px 12px!important;min-height:70px!important;
  border-radius:17px!important;border-color:rgba(55,49,43,.10)!important
}
.place-card.komo-card{background:linear-gradient(135deg,rgba(250,248,243,.98),rgba(239,233,222,.98))}
.place-card.spot-card{background:rgba(255,255,255,.97)}
.place-symbol{width:54px!important;height:46px!important}
.place-symbol.spot-symbol{
  background:#f5f1e8!important;color:#3c3731!important;
  box-shadow:inset 0 0 0 1px rgba(55,49,43,.08)
}
.place-copy b{
  font-size:13px!important;line-height:1.18!important;
  color:#2c2a27!important;white-space:normal!important;overflow:visible!important
}
.place-copy p{
  margin-top:5px!important;font-size:8.5px!important;line-height:1.38!important;
  color:#746d63!important;white-space:normal!important;overflow:visible!important
}
.place-copy p strong{font-size:7px!important;letter-spacing:.10em!important;color:#4a433b!important}
.place-card .arrow{font-size:20px!important;color:#9d958a!important}

.poi-wrap.spot-wrap .poi-label{
  min-width:138px!important;max-width:205px!important;
  padding:8px 10px!important;border-radius:12px!important;
  background:rgba(252,250,246,.98)!important;
  border:1px solid rgba(56,50,43,.12)!important
}
.poi-wrap.spot-wrap .poi-label b{
  font-size:10px!important;line-height:1.15!important;font-weight:850!important
}
.poi-wrap.spot-wrap .poi-label small{
  margin-top:4px!important;font-size:6.5px!important;line-height:1.3!important;letter-spacing:.065em!important
}
body[data-world-mode="places"].map-spot-sparse .poi-wrap.spot-wrap .poi-label{
  display:block!important;opacity:1!important
}
body[data-world-mode="places"].map-spot-dense:not(.map-zoom-detail) .poi-wrap.spot-wrap .poi-label{
  opacity:0!important
}
body[data-world-mode="places"].map-spot-dense.map-zoom-detail .poi-wrap.spot-wrap .poi-label{
  display:block!important;opacity:1!important
}
.poi-wrap.komo-wrap .poi-label{
  min-width:126px!important;padding:8px 10px!important
}
.poi-wrap.komo-wrap .poi-label b{font-size:10px!important}
.poi-wrap.komo-wrap .poi-label small{font-size:6.5px!important}
.map-badge{
  left:80px!important;bottom:22px!important;
  padding:9px 12px!important;border-radius:13px!important;
  font-size:8px!important;letter-spacing:.065em!important;
  background:rgba(251,249,244,.96)!important;
  border:1px solid rgba(58,52,45,.09)!important;
  box-shadow:0 8px 24px rgba(44,37,29,.10)!important
}
.map-badge b{font-size:8.5px!important;color:#312d28!important}

@media(max-width:820px){
  .side-panel{height:238px!important}
  .side-body{max-height:184px!important;padding:7px 9px 10px!important}
  .place-card{
    grid-template-columns:48px minmax(0,1fr) 15px!important;
    gap:9px!important;padding:9px 10px!important;min-height:62px!important
  }
  .place-symbol{width:48px!important;height:42px!important}
  .place-copy b{font-size:11.5px!important}
  .place-copy p{font-size:7.5px!important;margin-top:4px!important}
  body[data-world-mode="places"].map-spot-sparse .poi-wrap.spot-wrap .poi-label{
    display:block!important;opacity:1!important;min-width:108px!important;max-width:132px!important;
    padding:6px 7px!important
  }
  body[data-world-mode="places"].map-spot-dense .poi-wrap.spot-wrap .poi-label{
    display:none!important
  }
  .poi-wrap.komo-wrap .poi-label{
    display:block!important;opacity:1!important;max-width:128px!important;padding:6px 7px!important
  }
}


/* KŌMØ SPOT category system v3 */
.category-eat{--spot-accent:#7a5148}
.category-stay{--spot-accent:#777052}
.category-move{--spot-accent:#526b67}
.category-recover{--spot-accent:#6d6480}
.category-meet{--spot-accent:#7a6552}
.category-experience{--spot-accent:#77637c}
.category-other{--spot-accent:#69645d}

.poi.spot{
  min-width:62px!important;height:40px!important;padding:0 9px 0 7px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;
  border-left:3px solid var(--spot-accent,#69645d)!important
}
.poi.spot .spot-icon{
  width:17px;height:17px;display:grid;place-items:center;color:var(--spot-accent,#69645d)
}
.poi.spot .spot-icon svg{width:17px;height:17px;display:block}
.poi.spot .spot-word{
  font-size:6.5px!important;font-weight:950!important;letter-spacing:.12em!important;color:#3c3731
}
.poi.komo .komo-glyph{
  font-size:9px!important;font-weight:950!important;letter-spacing:.06em!important
}
.place-symbol.spot-symbol{
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;
  color:var(--spot-accent,#69645d)!important;border-top:2px solid var(--spot-accent,#69645d)!important
}
.place-symbol.spot-symbol .spot-card-icon{
  width:18px;height:18px;display:grid;place-items:center;color:var(--spot-accent,#69645d)
}
.place-symbol.spot-symbol .spot-card-icon svg{width:18px;height:18px;display:block}
.place-symbol.spot-symbol small{
  font-size:5.5px;line-height:1;font-weight:950;letter-spacing:.13em;color:#524b43
}
.place-symbol.komo-symbol .komo-card-glyph{
  font-size:12px;font-weight:950;letter-spacing:.04em
}
.place-card.spot-card:hover{
  border-color:color-mix(in srgb,var(--spot-accent,#69645d) 28%,transparent)!important
}
.place-card.spot-card .place-copy b::after{
  content:"";display:inline-block;width:5px;height:5px;margin:0 0 2px 7px;border-radius:50%;
  background:var(--spot-accent,#69645d);opacity:.55
}
.world-summary{display:flex!important;flex-wrap:wrap!important;gap:6px!important}
.world-summary span{
  border:1px solid rgba(55,49,43,.08)!important;background:rgba(251,249,245,.70)!important;
  border-radius:999px!important;padding:5px 8px!important
}
.world-summary b{font-size:9px!important}
@media(max-width:820px){
  .poi.spot{
    min-width:56px!important;height:36px!important;padding:0 8px 0 6px!important;gap:4px!important
  }
  .poi.spot .spot-icon,.poi.spot .spot-icon svg{width:15px;height:15px}
  .poi.spot .spot-word{font-size:6px!important}
  .place-symbol.spot-symbol .spot-card-icon,.place-symbol.spot-symbol .spot-card-icon svg{width:17px;height:17px}
  .place-symbol.spot-symbol small{font-size:5px}
}


/* ===== iPad / tablet interaction pass v10 ===== */
@media (min-width:821px) and (max-width:1180px){
  html,body,#app{width:100%;height:100%;height:100dvh}
  body{overflow:hidden;overscroll-behavior:none}
  button,.brand{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
  .topbar{
    top:max(10px,env(safe-area-inset-top));left:12px;right:12px;height:64px;
    padding:7px 8px;gap:8px;border-radius:20px
  }
  .brand{min-width:0;padding-right:0;flex:0 0 auto}
  .brand-mark{width:46px;height:46px;border-radius:14px}
  .brand-copy span{display:none}
  .brand-copy b{font-size:9px;letter-spacing:.12em}
  .search{min-width:0;flex:1 1 220px}
  .search input{min-width:0;height:46px;padding:0 38px 0 12px;font-size:11px}
  .search svg{right:12px;top:13px}
  .top-actions{gap:6px}
  .top-actions [data-life-link],.top-actions #pulseBtn{display:none}
  .top-btn{height:44px;padding:0 10px;font-size:8px}
  .member-pill{height:44px;padding:0 9px}
  .member-pill span{font-size:7.5px}

  .world-modebar{
    top:calc(max(10px,env(safe-area-inset-top)) + 74px);
    width:min(420px,calc(100vw - 28px));
    left:50%;transform:translateX(-50%);
    display:grid;grid-template-columns:repeat(3,1fr)
  }
  .world-modebar button{height:38px;padding:0 7px;font-size:7.5px}
  .world-destinations{
    top:calc(max(10px,env(safe-area-inset-top)) + 122px);
    left:50%;transform:translateX(-50%);
    max-width:calc(100vw - 28px);justify-content:center
  }
  .world-destinations button{height:32px;padding:0 10px;font-size:7px}
  .intent-bar{
    top:calc(max(10px,env(safe-area-inset-top)) + 164px);
    left:14px;right:14px;max-width:none;gap:6px;overflow-x:auto;
    -webkit-overflow-scrolling:touch
  }
  .intent{height:36px;padding:0 12px;font-size:7.5px}
  .near-summary{top:calc(max(10px,env(safe-area-inset-top)) + 207px)!important}
  .ecosystem-dock button{touch-action:manipulation}
}

@media (min-width:821px) and (max-width:1180px) and (orientation:portrait){
  .brand-copy{display:none}
  .hero-copy{display:none}
  .world-modebar{
    left:12px;right:12px;width:auto;transform:none
  }
  .world-destinations{
    left:12px;right:12px;max-width:none;transform:none;justify-content:flex-start;
    overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch
  }
  .world-destinations::-webkit-scrollbar{display:none}
  .world-list-toggle{display:none}
  .side-panel{
    left:12px;right:12px;top:auto;
    bottom:calc(82px + env(safe-area-inset-bottom));
    width:auto;height:244px;min-height:0;max-height:none;border-radius:25px
  }
  .mobile-sheet-handle{
    display:block;width:44px;height:5px;border-radius:99px;background:#c8c2b8;margin:8px auto 0
  }
  .side-head{padding:5px 14px 7px}
  .side-head .ey{font-size:6.5px}
  .side-head h2{font-size:17px;margin:3px 0}
  .side-head p,.side-tabs{display:none}
  .side-body{max-height:190px;padding:7px 10px 10px;overflow:auto}
  .place-list,.event-list,.moment-list,.passport-list{
    display:flex;gap:9px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch
  }
  .place-list::-webkit-scrollbar,.event-list::-webkit-scrollbar,.moment-list::-webkit-scrollbar,.passport-list::-webkit-scrollbar{display:none}
  .place-card{min-width:270px;max-width:320px}
  .event-card,.moment-card,.passport-card{min-width:270px;max-width:320px}
  .map-tools{
    left:auto;right:14px;bottom:calc(342px + env(safe-area-inset-bottom))
  }
  .ask-btn{
    right:14px;bottom:calc(392px + env(safe-area-inset-bottom))
  }
  .map-badge{display:none!important}
  .ecosystem-dock{
    left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));
    translate:0 0;width:auto;grid-template-columns:repeat(6,minmax(0,1fr));
    gap:4px;padding:5px;border-radius:20px
  }
  .ecosystem-dock button{
    min-width:0;height:56px;padding:0 3px;border-radius:15px;
    flex-direction:column;gap:3px
  }
  .ecosystem-dock button span{width:17px;height:17px}
  .ecosystem-dock button b{font-size:6.2px;letter-spacing:.035em}
  .detail-card{
    left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));
    width:auto;max-height:82dvh
  }
}

@media (min-width:821px) and (max-width:1180px) and (orientation:landscape){
  .world-modebar,.world-destinations{
    left:calc((100vw - 332px)/2)
  }
  .intent-bar{right:346px}
  .side-panel{right:12px;width:312px}
  .world-list-toggle{right:14px}
  .ask-btn{right:338px}
  .ecosystem-dock{max-width:calc(100vw - 360px)}
}
