:root {
  --paper: #f4efe6;
  --card: #fbf8f2;
  --sand: #e3d9c6;
  --ink: #1b1a17;
  --mute: #5f594e;
  --red: #b3261e;
  --red-ink: #ffffff;
  --teal: #1f5f5b;
  --rule: #cfc3ab;
  --bar: #1b1a17;
  --bar-ink: #f4efe6;
  color-scheme: light dark;
}
@media (prefers-color-scheme: dark) {
  :root {
    --paper: #15140f;
    --card: #1d1b15;
    --sand: #2b281f;
    --ink: #ece6d8;
    --mute: #aaa28f;
    --red: #d4483e;
    --teal: #5fb0a9;
    --rule: #3a3629;
    --bar: #0d0c09;
    --bar-ink: #ece6d8;
  }
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font: 1.0625rem/1.65 system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  counter-reset: sec;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--teal); text-underline-offset: 0.18em; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--red); outline-offset: 3px; }

.vkt-skip {
  position: absolute;
  left: -999px;
  top: 0;
  background: var(--ink);
  color: var(--paper);
  padding: 0.6rem 1rem;
  z-index: 9;
}
.vkt-skip:focus { left: 0; }

.vkt-bar {
  background: var(--bar);
  color: var(--bar-ink);
  padding: 0.9rem 1rem 1.1rem;
  display: grid;
  gap: 0.8rem 1.5rem;
  grid-template-columns: 1fr;
  max-width: 100%;
}
.vkt-id { margin: 0; font-size: 1.15rem; }
.vkt-id a, .vkt-id b { color: var(--bar-ink); font-weight: 700; text-decoration: none; }
.vkt-id small { display: block; color: #bdb5a1; font-size: 0.85rem; line-height: 1.35; margin-top: 0.15rem; }
.vkt-nav { display: flex; flex-wrap: wrap; gap: 0.35rem 1.1rem; }
.vkt-nav a { color: var(--bar-ink); text-decoration: none; padding: 0.2rem 0; border-bottom: 2px solid transparent; }
.vkt-nav a[aria-current] { border-bottom-color: var(--red); }
.vkt-nav a:hover { border-bottom-color: var(--bar-ink); }

.vkt-go {
  display: block;
  width: 100%;
  background: var(--red);
  color: var(--red-ink);
  text-decoration: none;
  border-radius: 12px;
  padding: 1rem 1.25rem;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.14);
}
.vkt-go b { display: block; font-size: 1.45rem; line-height: 1.2; }
.vkt-go span { display: block; margin-top: 0.3rem; font-size: 0.95rem; line-height: 1.4; opacity: 0.95; }
.vkt-go:hover { filter: brightness(1.08); }

@media (min-width: 60rem) {
  .vkt-bar { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); align-items: center; padding: 1.1rem max(1.5rem, calc((100vw - 70rem) / 2)); }
  .vkt-nav { grid-column: 1; }
  .vkt-go { grid-column: 2; grid-row: 1 / span 2; }
}

.vkt-main { max-width: 46rem; margin: 0 auto; padding: 1.4rem 1rem 3rem; }
.vkt-trail { font-size: 0.9rem; color: var(--mute); }
.vkt-trail a { color: var(--mute); }
h1 { font-size: 2rem; line-height: 1.18; margin: 0.8rem 0 1rem; letter-spacing: -0.01em; }
.vkt-lede { font-size: 1.14rem; color: var(--ink); }
.vkt-lede + .vkt-lede { color: var(--mute); }

.vkt-fig { margin: 1.6rem 0; }
.vkt-fig img { border-radius: 10px; border: 1px solid var(--rule); width: 100%; }
.vkt-fig figcaption { color: var(--mute); font-size: 0.9rem; margin-top: 0.45rem; }

.vkt-sec { margin: 2.4rem 0; }
.vkt-sec h2 {
  font-size: 1.45rem;
  line-height: 1.25;
  margin: 0 0 0.8rem;
  padding-left: 0.9rem;
  border-left: 6px solid var(--red);
}
.vkt-sec h2::before { counter-increment: sec; content: counter(sec) ". "; color: var(--red); }
.vkt-sec h3 { font-size: 1.1rem; margin: 1.3rem 0 0.2rem; }
.vkt-sec p { margin: 0.7rem 0; }

.vkt-said {
  border-left: 4px solid var(--teal);
  background: var(--sand);
  padding: 0.8rem 1rem;
  border-radius: 0 8px 8px 0;
  font-size: 1rem;
}
.vkt-said b { color: var(--ink); }
.vkt-said i { color: var(--mute); font-style: normal; }
.vkt-said q { quotes: "\201C" "\201D"; display: inline; }

.vkt-card, .vkt-note {
  background: var(--card);
  border: 1px solid var(--rule);
  border-radius: 12px;
  padding: 1rem 1.1rem;
  margin: 1rem 0;
}
.vkt-card img { width: 100%; max-width: 15rem; border-radius: 8px; }
.vkt-card h3, .vkt-note h3 { margin-top: 0.7rem; }
.vkt-note h3 { margin-top: 0; }
.vkt-card p { margin: 0.4rem 0; }
.vkt-card__go { display: flex; flex-wrap: wrap; gap: 0.6rem 1.4rem; font-weight: 600; }

.vkt-foot { background: var(--bar); color: var(--bar-ink); padding: 2rem 1rem 2.5rem; font-size: 0.95rem; }
.vkt-foot > * { max-width: 46rem; margin-left: auto; margin-right: auto; }
.vkt-foot a { color: #9fd3cd; }
.vkt-foot nav { display: flex; flex-wrap: wrap; gap: 0.5rem 1.2rem; margin-bottom: 1rem; }
.vkt-care { border: 1px solid #5b5545; border-radius: 10px; padding: 0.2rem 1rem; margin-top: 1rem; margin-bottom: 1rem; }
.vkt-care:focus { outline: 3px solid var(--red); }

.vkt-ask {
  border: 0;
  border-radius: 14px;
  padding: 1.4rem 1.4rem 1.2rem;
  max-width: min(30rem, calc(100vw - 2rem));
  background: var(--paper);
  color: var(--ink);
}
.vkt-ask::backdrop { background: rgba(10, 9, 6, 0.72); }
.vkt-ask__q { font-size: 1.35rem; font-weight: 700; line-height: 1.25; margin: 0 0 0.6rem; }
.vkt-ask button {
  display: block;
  width: 100%;
  font: inherit;
  font-weight: 700;
  padding: 0.85rem 1rem;
  margin-top: 0.6rem;
  border-radius: 10px;
  border: 2px solid var(--ink);
  cursor: pointer;
}
.vkt-ask__no { background: transparent; color: var(--ink); }
.vkt-ask__yes { background: var(--red); border-color: var(--red); color: #fff; }
.vkt-ask__fine { font-size: 0.85rem; color: var(--mute); margin-bottom: 0; }
