:root {
  --ink: #f0ede8;
  --page: #080810;
  --cyan: #38bdf8;
  --red: #e8212a;
  --nav-height: 56px;
}

*, *::before, *::after { box-sizing: border-box; }

html, body {
  min-height: 100%;
  background: var(--page);
  color: var(--ink);
  font-family: 'Inter', sans-serif;
}

.icon {
  width: 1.05rem;
  height: 1.05rem;
  display: block;
  flex: none;
}

.top-nav {
  min-height: var(--nav-height);
  height: auto;
  padding: .6rem clamp(.7rem, 2vw, 1.5rem);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: .75rem;
  background: rgba(5, 5, 18, .93);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  position: relative;
  z-index: 50;
}

.nav-brand {
  grid-column: 2;
  text-align: center;
  white-space: nowrap;
}

.nav-links,
.nav-tools {
  display: flex;
  align-items: center;
  gap: .45rem;
  min-width: 0;
}

.nav-tools { justify-content: flex-end; }

.nav-action {
  min-height: 34px;
  padding: .4rem .75rem;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 999px;
  background: rgba(255, 255, 255, .06);
  color: rgba(240, 237, 232, .74);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .42rem;
  text-decoration: none;
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .09em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
  transition: color .2s, background .2s, border-color .2s, transform .2s;
}

.nav-action:hover,
.nav-action:focus-visible {
  color: #fff;
  background: rgba(56, 189, 248, .12);
  border-color: rgba(56, 189, 248, .45);
  transform: translateY(-1px);
  outline: none;
}

.nav-action.icon-only {
  width: 34px;
  padding: 0;
}

button:focus-visible,
a:focus-visible,
input:focus-visible {
  outline: 2px solid var(--cyan);
  outline-offset: 2px;
}

@media (max-width: 980px) {
  .top-nav { grid-template-columns: 1fr auto; }
  .nav-brand { display: none; }
  .nav-links { grid-column: 1; }
  .nav-tools { grid-column: 2; }
}

@media (max-width: 640px) {
  :root { --nav-height: 52px; }
  .top-nav { gap: .35rem; padding: .48rem .55rem; }
  .nav-action { padding: .35rem .55rem; font-size: .58rem; }
  .nav-action.icon-only { width: 32px; min-height: 32px; }
  .nav-action .optional-label { display: none; }
  .top-nav.eot-nav { grid-template-columns: 1fr; gap: .42rem; }
  .eot-nav .nav-links { grid-column: 1; justify-content: center; }
  .eot-nav .nav-tools { grid-column: 1; justify-content: center; }
}

@media (min-width: 2000px) {
  :root { --nav-height: 64px; }
  .top-nav { padding-inline: 2.25rem; }
  .nav-action { min-height: 40px; padding-inline: 1rem; font-size: .72rem; }
  .nav-action.icon-only { width: 40px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
