/* Veftr Rail SVG v1
   The icon artwork and this stylesheet use inherited theme colors.
   Covers primary desktop rail, dynamically created server defaults, and
   corresponding mobile navigation shortcuts; no PNG/emoji dependencies. */
#nav-sidebar .tm-rail-icon-host {
  width: 29px;
  height: 29px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  pointer-events: none;
  flex-shrink: 0;
}
#nav-sidebar .tm-rail-icon-host .cc-icon-svg,
#nav-sidebar #dynamic-servers .cc-icon-svg {
  width: 27px;
  height: 27px;
  display: block;
  overflow: visible;
  stroke: currentColor;
  vector-effect: non-scaling-stroke;
}
#nav-sidebar .nav-icon {
  /* Accessible keyboard focus should be visible for all rail destinations. */
  outline-offset: 3px;
}
#nav-sidebar .nav-icon:focus-visible {
  outline: 2px solid var(--accent) !important;
}
#nav-sidebar .nav-icon:focus-visible:not(:hover):not(.active) {
  border-color: var(--accent) !important;
}
/* Joined servers retain the initials badge, without obscuring the 27px icon. */
#nav-sidebar #dynamic-servers .nav-server-initial {
  pointer-events: none;
}
/* The mobile shortcuts use the same registry (not mismatched Unicode glyphs). */
#mobile-bottom-nav .tm-mobile-rail-icon {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 23px;
  height: 23px;
  pointer-events: none;
}
#mobile-bottom-nav .tm-mobile-rail-icon .cc-icon-svg {
  width: 21px;
  height: 21px;
  display: block;
  overflow: visible;
}
@media (prefers-reduced-motion: reduce) {
  #nav-sidebar .nav-icon { transition: none; }
}
