/* nav-kit.css: looks for nav-kit.js. Brand-neutral: set --nk-bg, --nk-ink, --nk-accent, --nk-accent-ink on :root.
   No glow, no borders on cards, no hover lift (library/sitemaker/REQUIREMENTS.tsv LOOK rows). */
:root { --nk-bg: #1C1C1C; --nk-ink: #FFFFFF; --nk-accent: #3366FF; --nk-accent-ink: #FFFFFF; --nk-z: 90; }

.nk-top, .nk-back { position: fixed; z-index: var(--nk-z); border: 0; cursor: pointer; font: inherit; color: var(--nk-ink); background: var(--nk-bg); box-shadow: 0 6px 18px rgba(0, 0, 0, .35); }
.nk-top { right: 16px; bottom: calc(16px + var(--nk-lift, 0px)); width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; }
.nk-top svg, .nk-back svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.nk-top:hover, .nk-back:hover { background: var(--nk-accent); color: var(--nk-accent-ink); }
.nk-top[hidden], .nk-back[hidden] { display: none; }
.nk-back { left: 50%; transform: translateX(-50%); top: 84px; min-height: 44px; padding: 0 18px 0 14px; border-radius: 999px; display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: .92rem; }

.nk-progress { position: fixed; left: 0; right: 0; top: 0; height: 3px; z-index: calc(var(--nk-z) + 5); pointer-events: none; }
.nk-progress i { display: block; height: 100%; background: var(--nk-accent); transform: scaleX(0); transform-origin: 0 50%; }

.nk-rail { display: none; }
@media (min-width: 1280px) {
  .nk-rail { display: block; position: fixed; right: 18px; top: 50%; transform: translateY(-50%); z-index: var(--nk-z); }
  .nk-rail ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; justify-items: end; }
  .nk-rail a { display: flex; align-items: center; gap: 10px; min-height: 24px; text-decoration: none; color: var(--nk-ink); }
  .nk-rail a::after { content: ""; width: 10px; height: 10px; border-radius: 50%; background: rgba(140, 140, 140, .55); flex: none; }
  .nk-rail a[aria-current]::after { background: var(--nk-accent); transform: scale(1.3); }
  .nk-rail span { display: none; font-size: .8rem; font-weight: 700; padding: 4px 8px; border-radius: 6px; background: var(--nk-bg); white-space: nowrap; }
  .nk-rail a:hover span, .nk-rail a:focus-visible span { display: inline; }
}

.nk-toast { position: fixed; z-index: calc(var(--nk-z) + 2); left: 16px; right: 16px; bottom: 16px; max-width: 560px; margin: 0 auto; padding: 14px 16px; border-radius: 16px; color: var(--nk-ink); background: var(--nk-bg); box-shadow: 0 14px 40px rgba(0, 0, 0, .45); font-size: .95rem; line-height: 1.45; }
.nk-toast { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.nk-toast p { flex: 1 1 220px; margin: 0; }
.nk-consent p { margin: 0 0 10px; }
.nk-consent div { display: flex; gap: 10px; flex-wrap: wrap; }
.nk-toast button, .nk-consent button { min-height: 44px; padding: 0 16px; border-radius: 999px; border: 0; font: inherit; font-weight: 700; cursor: pointer; }
.nk-go, .nk-yes { background: var(--nk-accent); color: var(--nk-accent-ink); }
.nk-no, .nk-x { background: rgba(255, 255, 255, .1); color: var(--nk-ink); }
.nk-x { width: 44px; padding: 0; font-size: 1.3rem; }
.nk-draft { margin: 0 0 12px; padding: 10px 12px; border-radius: 12px; background: rgba(127, 127, 127, .12); font-size: .9rem; }
.nk-draft button { border: 0; background: none; color: inherit; font: inherit; font-weight: 700; text-decoration: underline; cursor: pointer; min-height: 32px; }
.nk-jump summary { cursor: pointer; list-style: none; font-weight: 700; min-height: 44px; display: inline-flex; align-items: center; gap: 8px; }
.nk-jump summary::-webkit-details-marker { display: none; }
.nk-jump summary::after { content: ""; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); }
.nk-jump[open] summary::after { transform: rotate(-135deg) translateY(-2px); }
.nk-jump-list { list-style: none; margin: 0; padding: 8px; display: grid; gap: 2px; }
.nk-jump-list a { display: flex; align-items: center; min-height: 40px; padding: 0 12px; border-radius: 10px; text-decoration: none; color: inherit; }
.nk-jump-list a:hover { background: rgba(127, 127, 127, .16); }
.nk-jump--float { position: fixed; left: 16px; top: 84px; z-index: var(--nk-z); color: var(--nk-ink); background: var(--nk-bg); border-radius: 14px; padding: 0 14px; box-shadow: 0 6px 18px rgba(0, 0, 0, .35); }
.nk-consent { margin: 14px 0; padding: 12px 14px; border-radius: 14px; background: rgba(127, 127, 127, .14); font-size: .95rem; line-height: 1.45; }
.nk-consent p { margin: 0 0 10px; }
.nk-consent div { display: flex; gap: 10px; flex-wrap: wrap; }
.nk-consent button { min-height: 44px; padding: 0 16px; border-radius: 999px; border: 0; font: inherit; font-weight: 700; cursor: pointer; }
