#mFull{display:none}
/* Responsive layer for /world (phones/tablets). Loaded after world.html's own styles; does not touch 3D logic. */
#view canvas{touch-action:none}
#mtog{display:none}
@media (max-width:760px){
 html,body{height:100dvh}
 #app{grid-template-columns:1fr!important;grid-template-rows:auto 1fr!important;padding-top:env(safe-area-inset-top)}
 #top{grid-column:1!important;flex-wrap:wrap;gap:6px 10px;padding:6px max(10px,env(safe-area-inset-left)) 6px max(10px,env(safe-area-inset-right));font-size:12px;min-height:44px}
 #top>label,#top #rstat,#top #pause{display:none}
 #top.more>label,#top.more #pause{display:inline-flex}
 #top button,#top a,#mtog button{min-height:34px}
 #view{grid-column:1;grid-row:2}
 #left{position:fixed;left:0;top:0;bottom:0;width:min(78vw,300px);transform:translateX(-105%);transition:transform .25s;z-index:20;padding-top:calc(10px + env(safe-area-inset-top));padding-left:max(8px,env(safe-area-inset-left));box-shadow:4px 0 24px #0008}
 body.m-left #left{transform:none}
 #right{position:fixed;left:0;right:0;bottom:0;height:46dvh;z-index:20;border-left:0;border-top:1px solid var(--line);border-radius:16px 16px 0 0;transform:translateY(calc(100% - 44px - env(safe-area-inset-bottom)));transition:transform .25s;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -6px 24px #0008}
 body.m-right #right{transform:none}
 body.m-full #right{height:calc(100dvh - 44px - env(safe-area-inset-top))}
 #right.drag,#right[style*="height"]{will-change:height}
 /* bug_005: the sheet is opaque and map overlays that live outside #app never sit on top of it */
 #right{background:#101522;transition:transform .25s,height .25s}
 body.m-right #mtog{display:none!important}
 body.m-right #dircap,body.m-right #dirbtn{display:none!important}
 #dircap{bottom:calc(98px + env(safe-area-inset-bottom))!important}
 #tabs{padding-right:40px;touch-action:none}
 #mFull{display:block;position:absolute;right:4px;top:50%;transform:translateY(-50%);flex:none!important;width:34px;min-height:34px;padding:0!important;border:1px solid var(--line)!important;border-radius:8px!important;font-size:16px!important;color:var(--fg)!important;background:#1d2538!important;box-shadow:none!important}
 #tabs button{padding:12px 4px;font-size:12.5px}
 /* bug_008: nameplates are tap targets on phones */
 .tag.ag{padding:3px 10px;min-height:22px}
 /* bug_007: keyboard up -> sheet fills the visible area, no handle chrome */
 body.m-kb #tabs::before{display:none}
 #tabs{min-height:44px}#tabs button{padding:12px 6px;font-size:13px}
 #tabs::before{content:"";position:absolute;left:50%;top:5px;width:36px;height:4px;margin-left:-18px;border-radius:2px;background:#ffffff40}
 #right{position:fixed}#tabs{position:relative}
 #keyhint{display:none}
 #mtog{display:flex;position:fixed;left:max(10px,env(safe-area-inset-left));bottom:calc(54px + env(safe-area-inset-bottom));z-index:15;gap:8px}
 #mtog button{background:#101522e6;border-radius:999px;padding:6px 14px;font-size:13px}
 .bub{max-width:170px;font-size:11px!important;padding:6px 9px}
 .bub.thought{padding:12px 14px}
 .tag{font-size:11px}
 #tip{max-width:70vw}
 #mscrim{position:fixed;inset:0;background:#0006;z-index:19;display:none}
 body.m-left #mscrim{display:block}
}
body.m-right #mtog{display:none}
