.mobile-menu{display:none}
.map-tools,.map-scroll{display:none}
@media(max-width:820px){
 html{overflow-x:clip}
 body{width:100%;max-width:100vw}
 #scene,.vignette,.loader{width:100vw;max-width:100vw}
 .hd,.topbar{left:50vw;width:calc(100vw - 2*var(--pad))}
 .map-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 8px 12px;flex-wrap:wrap}
 .map-tools p{font:400 12px/1.5 var(--body);color:var(--mute);margin:0;flex:1;min-width:150px}
 .map-controls{display:flex;gap:6px;align-items:center}
 .map-controls button{min-width:44px;height:44px;padding:0 12px;border:1px solid var(--line);border-radius:50%;background:var(--glass);font:400 20px var(--body);color:#fff;cursor:pointer}
 .map-controls button:last-child{font-size:12px;border-radius:99px}
 .map-controls button:disabled{opacity:.35;cursor:default}
 .map-scroll{display:block;position:relative;isolation:isolate;overflow:auto;width:100%;max-width:100%;height:clamp(420px,67svh,660px);border:1px solid var(--line);border-radius:24px;background:#050505;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#555 #111;contain:inline-size;touch-action:pan-x pan-y pinch-zoom}
 .map-scroll:focus-visible{outline:2px solid #fff;outline-offset:3px}
 .map-stage{position:relative;width:calc(var(--map-size,760px) + 120px);height:calc(var(--map-size,760px) + 120px);padding:60px}
 .map-stage .mafia-map{width:var(--map-size,760px)!important;height:var(--map-size,760px)!important;max-width:none;margin:0;aspect-ratio:1}
 .map-stage .node{max-width:150px;gap:6px}
 .map-stage .node .av{width:clamp(60px,calc(var(--map-size,760px) / 11),84px);height:clamp(60px,calc(var(--map-size,760px) / 11),84px)}
 .map-stage .node.inner .av{width:clamp(40px,calc(var(--map-size,760px) / 17),56px);height:clamp(40px,calc(var(--map-size,760px) / 17),56px)}
 .map-stage .node b{display:block;max-width:150px}
 .map-stage .node.inner b{display:block;max-width:110px}
 .map-stage .zone{letter-spacing:.12em}
 .hd,.topbar{min-width:0;gap:10px}
 .mobile-menu{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;margin-left:auto;flex:0 0 44px;width:44px;height:44px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(255,255,255,.055);color:#fff;cursor:pointer}
 .mobile-menu span{display:block;width:17px;height:1px;background:currentColor;transition:transform .35s var(--ease)}
 .mobile-menu[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}
 .mobile-menu[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
 .hd .nav,.topbar .nav{display:none;position:absolute;left:0;right:0;top:calc(100% + 10px);padding:10px;border-radius:24px;background:rgba(14,14,14,.97);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 20px 50px #0009}
 .hd.menu-open .nav,.topbar.menu-open .nav{display:flex;flex-direction:column;align-items:stretch;gap:4px;animation:mobilemenu .35s var(--ease) both}
 .hd.menu-open .nav a,.topbar.menu-open .nav a{display:flex!important;align-items:center;min-height:46px;padding:12px 16px;margin:0;border-radius:16px;font-size:11px;letter-spacing:.12em}
 .hd .brand,.topbar .brand{flex-shrink:1;min-width:0}
 .account{width:44px!important;height:44px!important;flex:0 0 44px!important}
 .bio{max-height:calc(100dvh - 90px);overscroll-behavior:contain}
 .bio-x{width:44px;height:44px;top:10px;right:10px}
 .bio-links a,.links a{min-height:44px}
 .feat-list div{grid-template-columns:minmax(80px,100px) minmax(0,1fr)}
 .feat-list dd{min-width:0;overflow-wrap:anywhere}
 .ft{gap:18px 22px}.ft a{display:inline-flex;align-items:center;min-height:44px}
 .field input,.field textarea{font-size:16px}
 .modal{overscroll-behavior:contain;scroll-padding-bottom:24px}
 .modal-head .x{flex:0 0 44px;width:44px;height:44px}
 .poll-option{min-height:46px;gap:12px}.poll-option span:first-of-type{flex:1;min-width:0;overflow-wrap:anywhere}.poll-option span:last-child{flex:none}
 .reaction{min-width:44px;min-height:44px;justify-content:center}.add-reaction{width:44px;height:44px}
 .picker{position:fixed;left:50%;bottom:max(20px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(320px,calc(100vw - 32px));z-index:60;box-shadow:0 0 0 100vmax #0007}
 .picker .pick{min-width:44px;min-height:44px}
 .post-meta{flex-wrap:wrap;row-gap:8px}.post-meta .date{margin-left:auto}
 .filters{flex-wrap:wrap;overflow:visible}.filter{min-height:44px}
 .editor-layout{grid-template-columns:minmax(0,1fr)}.editor-preview{min-width:0}.cabinet-tools button{min-height:44px}
}
@media(max-width:360px){.hd .brand,.topbar .brand{font-size:10px;gap:8px}.hd .brand svg,.topbar .brand svg{width:30px}.composer{align-items:flex-start}.compose-start{min-width:0}.compose-btn{max-width:150px}.hero h1{max-width:100%}.bio-in{grid-template-columns:80px minmax(0,1fr)}.bio-name{overflow-wrap:anywhere}}
@keyframes mobilemenu{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.mobile-menu span,.menu-open .nav{animation:none!important;transition:none!important}}
