/* Touch disclosure on phones; original hover flyouts on desktop. */
nav.side-nav.chessty-navigation { display:flex; flex-direction:column; grid-template-columns:none; height:auto; min-width:0; gap:3px; }
.chessty-navigation .side-link { flex-direction:row; justify-content:flex-start; text-align:left; height:auto; width:100%; min-width:0; }
.chessty-navigation .side-link > span { display:inline; white-space:normal; }
.chessty-navigation .side-link::after { display:none; }
.chessty-navigation .side-link { min-height:48px; cursor:pointer; }
.chessty-navigation summary { list-style:none; }
.chessty-navigation summary::-webkit-details-marker { display:none; }
.chessty-navigation .navigation-caret { width:18px; height:18px; margin-left:auto; flex-shrink:0; transition:transform .15s; }
.chessty-navigation details[open] > summary .navigation-caret { transform:rotate(90deg); }
.navigation-group__links { margin:2px 0 8px 20px; border-left:1px solid var(--border); padding-left:8px; }
.chessty-navigation .side-sublink { min-height:48px; white-space:normal; font-size:.84rem; line-height:1.4; }
.chessty-navigation :is(a,summary):focus-visible { outline:2px solid var(--accent-text, #2d67b5); outline-offset:2px; }
.mobile-drawer__panel .chessty-navigation { padding:12px 10px; min-height:0; overflow-y:auto; }
.mobile-drawer__panel .chessty-navigation .side-link { font-size:1rem; min-height:52px; }
.mobile-drawer__panel .chessty-navigation .icon { width:24px; height:24px; flex-shrink:0; }
.mobile-drawer__panel .chessty-navigation .side-sublink { font-size:.92rem; }
.mobile-drawer__panel .navigation-group__links {
  display:flex; position:static; min-width:0; margin:2px 0 8px 20px;
  padding:0 0 0 8px; border:0; border-left:1px solid var(--border);
  background:transparent; box-shadow:none; opacity:1; visibility:visible;
  transform:none;
}
.mobile-drawer__panel .navigation-caret { display:block; }
body:has(.mobile-drawer[open]) .friends-presence-widget { visibility:hidden; }
@media (min-width:901px) { .puzzle-tactical-modes { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (min-width:901px) and (hover:hover) and (pointer:fine) {
  .sidebar .navigation-group { position:relative; }
  .sidebar nav.chessty-navigation { gap:1px; }
  .sidebar .chessty-navigation .side-link { min-height:44px; }
  .sidebar .navigation-group__links {
    /* Geometry only: .side-submenu supplies the original themed appearance. */
    margin:0 0 0 .45rem; padding:.4rem;
    opacity:1; visibility:visible; transform:none;
  }
  /* Bridge the gap so the flyout stays open while the pointer crosses it. */
  .sidebar .navigation-group__links::before {
    content:""; position:absolute; top:0; bottom:0; right:100%; width:.55rem;
  }
  .sidebar .navigation-group__links .side-sublink {
    min-height:44px; white-space:nowrap; font-size:.92rem; line-height:normal;
  }
  .sidebar .chessty-navigation .navigation-caret { width:16px; height:16px; }
  .sidebar .navigation-group:hover .navigation-caret { opacity:1; }
  .sidebar .navigation-group[open] > summary .navigation-caret { transform:translateX(2px); }
}
@media (prefers-reduced-motion:reduce) { .chessty-navigation * { transition:none; animation:none; } }

/* Supplied app artwork, shared without recoloring or changing navigation. */
.shared-message-icon {
  width:24px; height:24px; flex:0 0 24px; object-fit:contain;
  vertical-align:middle;
}
.friend-event-toast--message .friend-event-toast__icon {
  background:transparent url("../img/menu-icons/user-cropped/mensajes.1a00bfd359bc.png") center / contain no-repeat;
  font-size:0;
}
