@media(max-width:1120px){
  html{-webkit-text-size-adjust:100%}
  input,select,textarea{font-size:16px!important}
  .mobile-action-dock{transform:translate3d(0,0,0)!important;backface-visibility:hidden;will-change:transform;contain:layout paint;touch-action:manipulation}
  .mobile-action-dock.is-auth{grid-template-columns:repeat(5,minmax(0,1fr))!important}
  .mobile-action-dock.is-guest{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .mobile-action-dock>a,.mobile-action-dock>button,.mobile-menu-sheet button,.mobile-menu-sheet a{-webkit-tap-highlight-color:transparent;touch-action:manipulation;appearance:none}
  .mobile-action-dock>a:active,.mobile-action-dock>button:active{opacity:1;background:color-mix(in srgb,var(--card),var(--accent) 7%)}
  .mobile-action-dock .mobile-create{width:calc(100% - 8px)!important;height:52px!important;min-width:0!important;margin:3px 4px 0!important;border-radius:12px!important;box-shadow:none!important;align-self:start;justify-self:stretch}
  .mobile-action-dock .mobile-create:active{background:var(--accent2)}
  .site-header{position:sticky;z-index:9990;top:0;transform:translate3d(0,0,0);backface-visibility:hidden}
  .mobile-menu-sheet>section{height:min(82dvh,720px);display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden;transform:translate3d(0,0,0);backface-visibility:hidden}
  .mobile-menu-links{overflow:auto}
  .mobile-logout{position:static;z-index:2;padding-bottom:calc(14px + env(safe-area-inset-bottom));background:var(--card);border-top:1px solid var(--line)}
  .mobile-logout button{min-height:46px;font-size:14px}
}
.post-user-link{display:block;font-weight:800;text-align:center}.post-user-link:hover{color:var(--accent)}
@media(max-width:560px){
  .forum-hero{display:grid;grid-template-columns:56px minmax(0,1fr);align-items:start}
  .forum-hero>.button{display:inline-flex!important;grid-column:1/-1;width:100%;min-height:44px;margin:6px 0 0!important}
  .post-user-link{text-align:left}
}

/* iOS-safe dock and predictable touch/focus states */
@media(max-width:1120px){
  :root{--mobile-dock-space:calc(67px + env(safe-area-inset-bottom))}
  html{overflow-x:clip;overscroll-behavior-y:auto}
  body{overscroll-behavior-y:auto;padding-bottom:0!important}
  .site-footer{padding-bottom:calc(35px + var(--mobile-dock-space))!important}
  .mobile-action-dock{
    position:fixed!important;
    inset:auto 0 -1px 0!important;
    width:100%!important;
    max-width:100vw!important;
    height:calc(67px + env(safe-area-inset-bottom))!important;
    min-height:67px!important;
    margin:0!important;
    padding:3px 6px max(3px,env(safe-area-inset-bottom))!important;
    transform:none!important;
    backface-visibility:visible!important;
    will-change:auto!important;
    contain:none!important;
    isolation:isolate;
    background:var(--card)!important;
  }
  .mobile-action-dock>a,
  .mobile-action-dock>button,
  .mobile-action-dock>a:visited{
    color:var(--muted)!important;
    background:transparent!important;
    opacity:1!important;
    transform:none!important;
  }
  .mobile-action-dock>a:hover,
  .mobile-action-dock>a:focus,
  .mobile-action-dock>a:active,
  .mobile-action-dock>button:hover,
  .mobile-action-dock>button:focus,
  .mobile-action-dock>button:active{
    color:var(--muted)!important;
    background:color-mix(in srgb,var(--card),var(--accent) 7%)!important;
    opacity:1!important;
  }
  .mobile-action-dock>a:focus-visible,
  .mobile-action-dock>button:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
  .mobile-action-dock>a>i,
  .mobile-action-dock>a>span,
  .mobile-action-dock>button>i,
  .mobile-action-dock>button>span{color:inherit!important}
  .mobile-action-dock .mobile-create,
  .mobile-action-dock .mobile-create:visited,
  .mobile-action-dock .mobile-create:hover,
  .mobile-action-dock .mobile-create:focus,
  .mobile-action-dock .mobile-create:active{
    color:#fff!important;
    background:var(--accent)!important;
  }
  .mobile-action-dock .mobile-create:active{background:var(--accent2)!important}

  .mobile-menu-sheet>section{
    bottom:0!important;
    max-height:calc(100dvh - 12px)!important;
    overscroll-behavior:contain;
  }
  .mobile-menu-links{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
  .mobile-menu-links>a,
  .mobile-menu-links>button,
  .mobile-menu-links>a:visited{
    color:var(--text)!important;
    background:transparent!important;
    opacity:1!important;
  }
  .mobile-menu-links>a:hover,
  .mobile-menu-links>a:focus,
  .mobile-menu-links>a:active,
  .mobile-menu-links>button:hover,
  .mobile-menu-links>button:focus,
  .mobile-menu-links>button:active{
    color:var(--text)!important;
    background:color-mix(in srgb,var(--card),var(--accent) 6%)!important;
    opacity:1!important;
  }
  .mobile-menu-links>a:focus-visible,
  .mobile-menu-links>button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
  .mobile-menu-links>a b,
  .mobile-menu-links>button b{color:var(--text)!important}
  .mobile-menu-links>a small,
  .mobile-menu-links>button small{color:var(--muted)!important}
  .mobile-menu-links>a>i:last-child,
  .mobile-menu-links>button>i:last-child{color:var(--muted)!important}
  .mobile-menu-open .mobile-action-dock{pointer-events:none}
}
