.mobile-menu-toggle { display:none; }
@media (pointer:coarse) {
  html,body { overflow-y:auto; overscroll-behavior-y:auto; }
  body { min-height:100dvh; }
  html[data-world-level="world"] #scene { touch-action:pan-y; }
  html[data-world-level="world"][data-map-zoomed="true"] #scene { touch-action:none; }
}
@media (max-width:720px) {
  .leftcol { left:14px;right:14px;bottom:calc(14px + env(safe-area-inset-bottom));flex-direction:column;gap:10px;max-height:calc(100dvh - 110px); }
  .mobile-menu-toggle { display:block;flex:none;width:100%;padding:14px 18px;min-height:48px;text-align:left;font-size:18px;touch-action:manipulation; }
  .leftcol:not(.mobile-open) .rail { display:none; }
  .leftcol .rail { min-height:0;max-height:42dvh;padding:14px 10px;overflow:hidden; }
  .rail .rail-head { padding:0 8px 10px; }
  .rail .rail-title { font-size:24px; }
  .rail .list { min-height:0;overflow-y:auto;overscroll-behavior-y:auto;touch-action:pan-y pinch-zoom; }
  #concept { max-height:40dvh;flex:0 1 auto; }
  #labels .lbl:not(.sel) { display:none; }
  #labels .lbl.sel { max-width:70vw; }
  #labels .lbl.sel .nm { font-size:16px;overflow-wrap:anywhere; }
  #rail #toast { position:static;left:auto;bottom:auto;width:auto;max-width:100%;transform:none;zoom:1;display:none;flex:none;margin:0 8px 10px;padding:10px 12px;font-size:16px;box-shadow:none;border:1px solid var(--dust); }
  #rail #toast.show { display:block;visibility:visible; }
  #rail #toast small { font-size:14px; }
  .card { display:none; }
  .notice { bottom:calc(90px + env(safe-area-inset-bottom));font-size:15px; }
}
