/* LexenTrust public navigation and seamless transitions — version 20261110-smooth1 */
/* A single, clearly visible login link in both desktop and mobile navigation. */
.public-nav nav .nav-account {
  display:inline-flex;
  align-items:center;
  color:#fff;
  font-weight:700;
  white-space:nowrap;
  border:1px solid rgba(198,161,91,.85);
  padding:10px 14px;
  border-radius:4px;
}
.public-nav nav .nav-account:hover, .public-nav nav .nav-account:focus-visible {
  background:rgba(198,161,91,.18);
}
/* Three high contrast strokes stay visible regardless of the inherited text color. */
.public-nav .mobile-menu, .repository-nav .repository-menu {
  color:#fff !important;
  background:#102c46 !important;
  border:1px solid #d6b56a !important;
  border-radius:6px;
  align-items:center;
  justify-content:center;
  padding:9px;
  width:46px;
  height:46px;
}
.public-nav .mobile-menu svg, .repository-nav .repository-menu svg {
  display:block !important;
  width:24px !important;
  height:24px !important;
  flex:none;
  color:#fff !important;
  stroke:#fff !important;
  opacity:1 !important;
  visibility:visible !important;
}
.public-nav .mobile-menu:focus-visible, .repository-nav .repository-menu:focus-visible {
  outline:3px solid #e7c57a;
  outline-offset:2px;
}
/* Old styles used separate mobile and desktop login links. The new markup has only one. */
@media (min-width:721px) {
  .public-nav .mobile-menu, .repository-nav .repository-menu {display:none !important;}
  .public-nav nav {align-items:center;}
}
@media (max-width:720px) {
  .public-nav .mobile-menu, .repository-nav .repository-menu {display:inline-flex !important;}
  .public-nav nav {z-index:35;}
  .public-nav nav .nav-account {
    order:-1;
    display:flex;
    justify-content:center;
    margin:0 0 10px;
    min-height:44px;
    font-size:13px;
  }
  .public-nav nav a, .repository-nav nav a {min-height:42px;display:flex;align-items:center;}
  .repository-nav nav {z-index:35;}
}
/* Subtle transition while main content changes; no page-wide white flashes. */
html.seamless-loading::before {
  content:"";
  position:fixed;
  left:0;
  top:0;
  height:3px;
  width:100%;
  z-index:9999;
  background:linear-gradient(90deg,#c6a15b 0%,#f8dda1 50%,#c6a15b 100%);
  background-size:200% 100%;
  animation:lexentrust-progress 1s linear infinite;
  pointer-events:none;
}
@keyframes lexentrust-progress {to {background-position:-200% 0;}}
body.seamless-enter main {animation:lexentrust-enter .17s ease-out both;}
@keyframes lexentrust-enter {from {opacity:.8;transform:translateY(5px);} to {opacity:1;transform:translateY(0);}}
@media (prefers-reduced-motion: reduce) {
  html.seamless-loading::before, body.seamless-enter main {animation:none !important;}
}
/* Do not make the first screen wait for staged 0.5–1.2 second entrance effects. */
.public-page .hero-copy .eyebrow,
.public-page .new-hero h1,
.public-page .hero-copy>p:not(.eyebrow),
.public-page .hero-buttons,
.public-page .hero-trust,
.public-page .hero-visual {
  animation-duration:.22s !important;
  animation-delay:0s !important;
}
/* Continuous decorative motion is not necessary on mobile and consumes battery. */
@media(max-width:720px) {
  .public-page .legal-orbit,
  .public-page .justice-scale,
  .public-page .scale-beam,
  .public-page .scale-pillar,
  .public-page .scale-halo,
  .public-page .orbit-dot {animation:none !important;}
}
