.menu-toggle {
  min-height:42px;
  display:inline-flex;
  justify-self:start;
  align-items:center;
  gap:7px;
  padding:0 11px;
  border:1px solid #d8dfdb;
  border-radius:11px;
  background:#fff;
  color:#26352f;
  font:inherit;
  font-size:11px;
  font-weight:850;
  cursor:pointer;
}
.menu-toggle:hover { background:#f0f6f3; border-color:#abcbbf; }
.menu-toggle span { font-size:18px; line-height:1; }
.sidebar-scrim { display:none; }

@media (min-width:961px) {
  .app-shell,.social-sidebar,.social-nav a,.sidebar-brand,.sidebar-compose { transition:grid-template-columns .2s ease,width .2s ease,padding .2s ease,gap .2s ease; }
  .app-shell.sidebar-collapsed { grid-template-columns:78px minmax(0,1fr); }
  .sidebar-collapsed .social-sidebar { padding-inline:10px; }
  .sidebar-collapsed .sidebar-brand { justify-content:center; padding-inline:0; }
  .sidebar-collapsed .sidebar-brand>span:last-child,
  .sidebar-collapsed .social-nav a span,
  .sidebar-collapsed .sidebar-compose,
  .sidebar-collapsed .sidebar-foot { display:none; }
  .sidebar-collapsed .social-nav a { grid-template-columns:1fr; justify-items:center; padding:0; }
  .sidebar-collapsed .social-nav a.is-current { box-shadow:inset 0 -3px #176b5a; }
}

@media (max-width:960px) {
  body.sidebar-open { overflow:hidden; }
  .social-sidebar {
    position:fixed;
    inset:0 auto 0 0;
    z-index:100;
    width:min(310px,86vw);
    display:flex;
    transform:translateX(-105%);
    box-shadow:18px 0 48px rgba(18,36,29,.18);
    transition:transform .22s ease;
  }
  body.sidebar-open .social-sidebar { transform:translateX(0); }
  .sidebar-scrim {
    position:fixed;
    inset:0;
    z-index:90;
    display:block;
    border:0;
    background:rgba(15,28,23,.42);
    opacity:0;
    pointer-events:none;
    transition:opacity .22s ease;
  }
  body.sidebar-open .sidebar-scrim { opacity:1; pointer-events:auto; }
  .app-header { gap:9px; }
}

@media (max-width:620px) {
  .menu-toggle { width:42px; padding:0; justify-content:center; }
  .menu-toggle b { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
}

@media (prefers-reduced-motion:reduce) {
  .app-shell,.social-sidebar,.social-nav a,.sidebar-brand,.sidebar-compose,.sidebar-scrim { transition:none; }
}
