:root {
  --color-bg: #f2f7f8;
  --color-text: #0f2f33;
  --color-accent: #ad4a00;
  --font-sans: Corbel, "Lucida Grande", "Lucida Sans Unicode", "DejaVu Sans", "Bitstream Vera Sans", Verdana, sans-serif;
  --font-display: "Arial Rounded MT Bold", "Hiragino Maru Gothic ProN", "Varela Round", Nunito, ui-rounded, Corbel, "Segoe UI", sans-serif;
  --space-section: 3.4rem;
  --vl-paper: #ffffff;
  --vl-sea: #e4eef0;
  --vl-sea-deep: #d3e3e6;
  --vl-rule: #cfdfe2;
  --vl-rule-strong: #86a2a6;
  --vl-ink-2: #2c4c50;
  --vl-ink-3: #4a6466;
  --vl-grove: #10302f;
  --vl-grove-text: #e9f3f2;
  --vl-grove-soft: #b7cfcd;
  --vl-peel: #f08c1a;
  --vl-peel-light: #ffb866;
  --vl-peel-wash: #fff1e0;
  --vl-peel-rule: #f3cfa3;
  --vl-accent-dark: #853700;
  --vl-amber: #7a4b00;
  --vl-amber-wash: #fbedc4;
  --vl-amber-rule: #e3c777;
  --vl-fail: #8a2f1f;
  --vl-fail-wash: #fbe4de;
  --vl-k-club: #0b5a63;
  --vl-k-cafe: #b8431a;
  --vl-k-tournament: #946200;
  --vl-k-learn: #2f6b3a;
  --vl-k-outdoor: #4b7a1f;
  --vl-k-library: #6a4a8c;
  --vl-k-shop: #55606b;
  --vl-k-group: #9b3d6b;
  --vl-k-hotel: #7b6a55;
  --vl-k-other: #5d7476;
  --vl-r: 14px;
  --vl-r-small: 8px;
  --vl-round: 100vmax;
  --vl-shadow: 0 1px 0 rgba(15, 47, 51, .05), 0 10px 24px -18px rgba(15, 47, 51, .45);
}

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

html { font-size: 100%; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

body {
  margin: 0;
  color: var(--color-text);
  background: var(--color-bg);
  font-family: var(--font-sans);
  font-size: 1.0625rem;
  line-height: 1.62;
  overflow-wrap: break-word;
}

h1, h2, h3 { margin: 0; font-family: var(--font-display); font-weight: 700; line-height: 1.18; color: var(--color-text); text-wrap: balance; }
h1 { font-size: clamp(1.75rem, 1.25rem + 2.2vw, 2.7rem); letter-spacing: -.015em; }
h2 { margin-top: var(--space-section); margin-bottom: .75rem; font-size: 1.4rem; }
h3 { margin: 1.4rem 0 .5rem; font-size: 1.1rem; }
p { margin: 0 0 1rem; }
ul, ol { margin: 0 0 1rem; padding-left: 1.3rem; }
li { margin: .3rem 0; }
dl, dd { margin: 0; }
dt { font-weight: 700; }
q { font-style: italic; }
time { font-variant-numeric: tabular-nums; }

a { color: var(--color-accent); text-decoration: underline; text-decoration-thickness: .08em; text-underline-offset: .2em; }
a:hover { color: var(--vl-accent-dark); text-decoration-thickness: .14em; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible, .vl-table-wrap:focus-visible {
  outline: 3px solid var(--vl-peel);
  outline-offset: 2px;
  border-radius: 4px;
}

.vl-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.vl-icon {
  display: inline-block;
  flex: none;
  width: 1.15em;
  height: 1.15em;
  margin-right: .45em;
  vertical-align: -.18em;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
  overflow: visible;
}

.vl-skip {
  position: absolute;
  top: .6rem;
  left: .6rem;
  z-index: 20;
  padding: .55rem 1rem;
  color: var(--vl-grove-text);
  background: var(--vl-grove);
  font-weight: 700;
  text-decoration: none;
  border-radius: var(--vl-round);
  transform: translateY(-300%);
}
.vl-skip:focus { color: var(--vl-grove-text); transform: none; }

.vl-wrap { width: 100%; max-width: 70rem; margin-inline: auto; padding-inline: 1.1rem; }

.vl-header { position: relative; z-index: 8; background: var(--vl-paper); border-bottom: 1px solid var(--vl-rule); box-shadow: inset 0 4px 0 var(--vl-peel); }
.vl-header .vl-wrap { display: flex; flex-wrap: wrap; align-items: center; gap: 0 1.2rem; padding-top: 4px; }
.vl-brand {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  min-height: 3rem;
  margin-right: auto;
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -.01em;
  white-space: nowrap;
  color: var(--color-text);
  text-decoration: none;
}
.vl-brand::before {
  content: "";
  flex: none;
  width: 1.15em;
  height: 1.15em;
  border: 2px solid var(--vl-peel);
  border-radius: 50%;
  background:
    radial-gradient(circle, var(--vl-paper) 0 16%, transparent 17%),
    repeating-conic-gradient(from 0deg, var(--vl-peel) 0 38deg, var(--vl-paper) 38deg 45deg);
  box-shadow: inset 0 0 0 2px var(--vl-paper);
}
.vl-brand:hover { color: var(--color-accent); }

.vl-langs { display: flex; gap: .15rem; margin: 0; padding: 0; list-style: none; font-size: .85rem; }
.vl-langs li { margin: 0; }
.vl-langs a { display: inline-flex; align-items: center; min-height: 2.1rem; padding: 0 .7rem; color: var(--vl-ink-3); text-decoration: none; border-radius: var(--vl-round); }
.vl-langs a:hover { color: var(--color-accent); background: var(--vl-peel-wash); }
.vl-langs [aria-current] { color: var(--color-text); font-weight: 700; background: var(--vl-sea); }

.vl-nav { flex: 1 1 100%; order: 3; border-top: 1px solid var(--vl-sea); }
.vl-nav ul { margin: 0; padding: 0; list-style: none; }
.vl-nav li { margin: 0; }
.vl-nav > ul { display: flex; flex-wrap: wrap; gap: 0 1.15rem; }
.vl-nav > ul > li > a {
  display: inline-flex;
  align-items: baseline;
  gap: .35rem;
  padding: .7rem 0 .6rem;
  font-size: .95rem;
  font-weight: 700;
  line-height: 1.3;
  white-space: nowrap;
  color: var(--vl-ink-2);
  text-decoration: none;
  border-bottom: 3px solid transparent;
}
.vl-nav > ul > li > a:hover { color: var(--color-accent); border-bottom-color: var(--vl-peel-rule); }
.vl-nav > ul > li > a[aria-current="page"] { color: var(--color-text); border-bottom-color: var(--vl-peel); }
.vl-nav .vl-count { padding: 0; min-width: 0; font-size: .72rem; font-weight: 400; color: var(--vl-ink-3); background: none; }

.vl-sub { display: none; }
.vl-sub a {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  padding: .5rem .8rem;
  font-size: .92rem;
  line-height: 1.3;
  white-space: nowrap;
  color: var(--vl-ink-2);
  text-decoration: none;
  border-radius: var(--vl-r-small);
}
.vl-sub a:hover { color: var(--vl-accent-dark); background: var(--vl-peel-wash); }
.vl-sub a[aria-current] { color: var(--color-text); font-weight: 700; background: var(--vl-sea); }

.vl-main { padding-block: 1.6rem calc(var(--space-section) * 1.15); }
#main { scroll-margin-top: 1rem; }
#main:focus { outline: none; }

.vl-crumbs { margin: 0 0 1.1rem; font-size: .85rem; color: var(--vl-ink-3); }
.vl-crumbs ol { display: flex; flex-wrap: wrap; gap: .15rem .5rem; margin: 0; padding: 0; list-style: none; }
.vl-crumbs li { margin: 0; }
.vl-crumbs li + li::before { content: "\203A"; margin-right: .5rem; color: var(--vl-rule-strong); }
.vl-crumbs a { color: var(--vl-ink-2); }
.vl-crumbs a:hover { color: var(--color-accent); }

.vl-intro { font-size: 1.1rem; color: var(--vl-ink-2); }
h1 + .vl-intro { margin-top: .9rem; }
.vl-lead { margin: .9rem 0 0; font-size: 1.16rem; line-height: 1.6; color: var(--vl-ink-2); }
.vl-note { font-size: .88rem; line-height: 1.5; color: var(--vl-ink-3); }
.vl-asof { font-size: .9rem; color: var(--vl-ink-3); }
.vl-asof time { font-weight: 700; color: var(--vl-ink-2); }
.vl-unknown { color: var(--vl-ink-3); font-style: italic; }

.vl-btn {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  padding: .5rem 1.25rem;
  font: inherit;
  font-weight: 700;
  line-height: 1.25;
  color: #fff;
  text-decoration: none;
  background: var(--color-accent);
  border: 2px solid var(--color-accent);
  border-radius: var(--vl-round);
  cursor: pointer;
}
.vl-btn:hover, .vl-btn:focus-visible { color: #fff; background: var(--vl-accent-dark); border-color: var(--vl-accent-dark); }

.vl-count {
  display: inline-block;
  min-width: 1.7em;
  padding: 0 .5em;
  font-family: var(--font-sans);
  font-size: .78rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0;
  text-align: center;
  font-variant-numeric: tabular-nums;
  color: var(--vl-ink-2);
  background: var(--vl-sea);
  border-radius: var(--vl-round);
}
h1 > .vl-count { margin-left: .5rem; font-size: .9rem; vertical-align: .45em; color: var(--vl-accent-dark); background: var(--vl-peel-wash); }
h2 > .vl-count { margin-left: .45rem; vertical-align: .22em; }

.vl-badge {
  display: inline-block;
  padding: .05rem .55rem;
  font-family: var(--font-sans);
  font-size: .78rem;
  font-weight: 700;
  font-style: normal;
  line-height: 1.5;
  white-space: nowrap;
  color: var(--vl-kind, var(--vl-ink-2));
  background: var(--vl-paper);
  border: 1px solid currentColor;
  border-radius: var(--vl-r-small);
}

.vl-kind-club { --vl-kind: var(--vl-k-club); }
.vl-kind-cafe_bar { --vl-kind: var(--vl-k-cafe); }
.vl-kind-tournament { --vl-kind: var(--vl-k-tournament); }
.vl-kind-academy, .vl-kind-coach { --vl-kind: var(--vl-k-learn); }
.vl-kind-outdoor_tables, .vl-kind-giant_chess { --vl-kind: var(--vl-k-outdoor); }
.vl-kind-library_community { --vl-kind: var(--vl-k-library); }
.vl-kind-shop { --vl-kind: var(--vl-k-shop); }
.vl-kind-group { --vl-kind: var(--vl-k-group); }
.vl-kind-hotel_mall { --vl-kind: var(--vl-k-hotel); }
.vl-kind-other { --vl-kind: var(--vl-k-other); }

.vl-st-open, .vl-ch-confirmed { --vl-mark: var(--vl-k-learn); --vl-mark-fill: var(--vl-k-learn); }
.vl-ch-scheduled { --vl-mark: var(--vl-k-club); --vl-mark-fill: var(--vl-paper); }
.vl-ch-confirmed_undated { --vl-mark: var(--vl-k-learn); --vl-mark-fill: var(--vl-paper); }
.vl-st-operating, .vl-st-unknown, .vl-st-not_a_venue { --vl-mark: var(--vl-rule-strong); --vl-mark-fill: var(--vl-rule-strong); }
.vl-ch-not_confirmed { --vl-mark: var(--vl-amber); --vl-mark-fill: var(--vl-amber-rule); --vl-mark-text: var(--vl-amber); }
.vl-ch-not_confirmed_nodate { --vl-mark: var(--vl-amber); --vl-mark-fill: var(--vl-paper); --vl-mark-text: var(--vl-amber); }
.vl-st-closed, .vl-ch-ended, .vl-ch-moved, .vl-ch-moved_unknown { --vl-mark: var(--vl-ink-3); --vl-mark-fill: var(--vl-paper); --vl-mark-text: var(--vl-ink-3); }

.vl-table-wrap { margin: 1rem 0; overflow-x: auto; background: var(--vl-paper); border: 1px solid var(--vl-rule); border-radius: var(--vl-r); }
table { width: 100%; border-collapse: collapse; font-size: .95rem; }
th, td { padding: .7rem .9rem; text-align: left; vertical-align: top; border-bottom: 1px solid var(--vl-sea); }
thead th { font-size: .82rem; font-weight: 700; white-space: nowrap; color: var(--vl-ink-2); background: var(--vl-sea); border-bottom: 0; }
tbody tr:last-child > * { border-bottom: 0; }
.vl-sessions { min-width: 34rem; }
.vl-sessions td:first-child, .vl-sessions td:nth-child(2) { white-space: nowrap; }
.vl-sessions td:nth-child(4) { min-width: 16rem; }
.vl-sessions .vl-badge { color: var(--vl-ink-2); background: var(--vl-sea); border-color: var(--vl-sea); }
.vl-log { min-width: 27rem; }
.vl-log time { white-space: nowrap; }
.vl-log-type { font-size: .88rem; font-weight: 700; white-space: nowrap; color: var(--vl-type, var(--vl-ink-2)); }
.vl-type-launch { --vl-type: var(--color-accent); }
.vl-type-data { --vl-type: var(--vl-k-club); }
.vl-type-fix { --vl-type: var(--vl-amber); }
.vl-type-copy { --vl-type: var(--vl-ink-3); }
.vl-type-method { --vl-type: var(--vl-k-library); }

.vl-hero { padding: .8rem 0 .4rem; }

.vl-block { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; margin-top: var(--space-section); }
.vl-block > h2 { flex: 1 1 auto; margin: 0; font-size: 1.5rem; }
.vl-block > h2 > .vl-icon { width: 1.3em; height: 1.3em; padding: .15em; color: var(--color-accent); background: var(--vl-peel-wash); border-radius: 50%; }
.vl-block > p { flex: 0 0 auto; margin: 0; }
.vl-block > .vl-grid, .vl-block > .vl-intro { flex: 1 1 100%; }
#gone { scroll-margin-top: 1rem; }
#gone .vl-teaser { background: transparent; }

.vl-see-all {
  display: inline-flex;
  align-items: center;
  min-height: 2.4rem;
  padding: 0 1rem;
  font-size: .92rem;
  font-weight: 700;
  white-space: nowrap;
  color: var(--color-accent);
  text-decoration: none;
  background: var(--vl-paper);
  border: 1px solid var(--vl-peel-rule);
  border-radius: var(--vl-round);
}
.vl-see-all:hover { color: var(--vl-accent-dark); background: var(--vl-peel-wash); border-color: var(--vl-peel); }

.vl-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: .9rem; margin: .4rem 0 0; padding: 0; list-style: none; }
.vl-teaser {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: .45rem;
  margin: 0;
  padding: 1.05rem 1.1rem .85rem;
  background: var(--vl-paper);
  border-radius: var(--vl-r);
  box-shadow: inset 0 5px 0 var(--vl-kind, var(--vl-k-other)), 0 0 0 1px var(--vl-rule);
}
.vl-teaser:hover, .vl-teaser:focus-within { box-shadow: inset 0 5px 0 var(--vl-kind, var(--vl-k-other)), 0 0 0 1px var(--vl-rule-strong), var(--vl-shadow); }
.vl-teaser-name { font-family: var(--font-display); font-size: 1.08rem; font-weight: 700; line-height: 1.3; color: var(--color-text); text-decoration: none; }
.vl-teaser-name::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.vl-teaser-name:hover, .vl-teaser:hover .vl-teaser-name { color: var(--color-accent); text-decoration: underline; text-decoration-thickness: .08em; }
.vl-teaser-name > .vl-icon { color: var(--vl-kind, var(--vl-k-other)); }
.vl-teaser a:not(.vl-teaser-name) { position: relative; z-index: 1; }
.vl-teaser-meta { font-size: .9rem; line-height: 1.5; color: var(--vl-ink-3); }
.vl-teaser-meta .vl-badge { font-size: .74rem; }
.vl-teaser-when { font-size: .98rem; font-weight: 700; line-height: 1.4; color: var(--vl-ink-2); }
.vl-teaser-cues { display: flex; flex-wrap: wrap; gap: .3rem; }
.vl-cue {
  display: inline-block;
  margin: 0;
  padding: .1rem .6rem;
  font-size: .78rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--vl-cue-ink, var(--vl-ink-2));
  background: var(--vl-cue-wash, var(--vl-sea));
  border-radius: var(--vl-round);
}
.vl-cue-access { --vl-cue-ink: #0b5560; --vl-cue-wash: #d9eef0; }
.vl-cue-free { --vl-cue-ink: #245c2e; --vl-cue-wash: #dff0dc; }
.vl-cue-kids { --vl-cue-ink: #7a3a00; --vl-cue-wash: #ffe9cf; }
.vl-cue-beginners { --vl-cue-ink: #5a4a7a; --vl-cue-wash: #ece6f5; }
.vl-cue-format { --vl-cue-ink: var(--vl-ink-2); --vl-cue-wash: var(--vl-sea); }
.vl-cue-closed { --vl-cue-ink: #3d5a5c; --vl-cue-wash: #e6eff0; }
.vl-cue-register { --vl-cue-ink: #6b4a00; --vl-cue-wash: var(--vl-amber-wash); }
.vl-teaser-chess { margin-top: auto; padding-top: .5rem; font-size: .8rem; line-height: 1.4; color: var(--vl-mark-text, var(--vl-ink-3)); }
.vl-teaser-chess::before, .vl-status-line::before {
  content: "";
  display: inline-block;
  width: .62em;
  height: .62em;
  margin-right: .5em;
  border: 2px solid var(--vl-mark, var(--vl-rule-strong));
  border-radius: 2px;
  background: var(--vl-mark-fill, var(--vl-paper));
  transform: rotate(45deg);
}
.vl-teaser-chess.vl-ch-confirmed::before { content: none; }

.vl-group { margin-top: calc(var(--space-section) * .8); }
.vl-group-h2 { display: flex; align-items: center; gap: .6rem; margin: 0 0 .9rem; font-size: 1.25rem; }
.vl-group-h2::after { content: ""; flex: 1 1 auto; height: 2px; background: repeating-linear-gradient(90deg, var(--vl-rule) 0 8px, transparent 8px 14px); }
.vl-group-h2 > .vl-count { margin: 0; }
.vl-group > .vl-grid { margin-top: 0; }

.vl-facets { display: flex; flex-wrap: wrap; gap: .45rem; margin: 1rem 0 1.4rem; padding: 0; list-style: none; font-size: .92rem; }
.vl-facets li { margin: 0; }
.vl-facets a:not(.vl-facet) { display: inline-flex; align-items: center; min-height: 2.4rem; padding-right: .3rem; font-weight: 700; color: var(--vl-ink-2); }
.vl-facet {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-height: 2.4rem;
  padding: 0 .45rem 0 .95rem;
  font-weight: 700;
  color: var(--vl-ink-2);
  text-decoration: none;
  background: var(--vl-paper);
  border: 1px solid var(--vl-rule);
  border-radius: var(--vl-round);
}
.vl-facet:hover { color: var(--vl-accent-dark); background: var(--vl-peel-wash); border-color: var(--vl-peel); }
.vl-facet[aria-current] { color: var(--vl-grove-text); background: var(--vl-grove); border-color: var(--vl-grove); }
.vl-facet[aria-current] .vl-count { color: var(--vl-grove); background: var(--vl-peel-light); }

.vl-about { margin-top: var(--space-section); padding: .2rem 1.2rem; background: var(--vl-sea); border-radius: var(--vl-r); }
.vl-about > summary { display: flex; align-items: center; gap: .6rem; min-height: 3rem; font-family: var(--font-display); font-weight: 700; color: var(--color-text); cursor: pointer; list-style: none; }
.vl-about > summary::-webkit-details-marker { display: none; }
.vl-about > summary::before { content: "+"; flex: none; width: 1.5rem; height: 1.5rem; font-family: var(--font-sans); line-height: 1.4rem; text-align: center; color: #fff; background: var(--color-accent); border-radius: 50%; }
.vl-about[open] > summary::before { content: "\2212"; }
.vl-slice-about { padding: .2rem 0 .4rem; color: var(--vl-ink-2); }

.vl-c960 { margin-top: var(--space-section); padding: 1.6rem 1.4rem 1rem; color: var(--vl-grove-text); background: var(--vl-grove); border-radius: var(--vl-r); box-shadow: inset 0 -6px 0 var(--vl-peel); }
.vl-c960 > h2 { margin-top: 0; color: #fff; }
.vl-c960 a { color: var(--vl-peel-light); }
.vl-c960 a:hover { color: #fff; }
.vl-c960 time { color: var(--vl-grove-soft); }
.vl-c960 li::marker { color: var(--vl-peel); }

.vl-about-list { margin-top: var(--space-section); color: var(--vl-ink-2); }
.vl-about-list > h2 { margin-top: 0; font-size: 1.25rem; }

.vl-cta { margin-top: var(--space-section); padding: 1.5rem 1.4rem 1.1rem; background: var(--vl-peel-wash); border: 1px solid var(--vl-peel-rule); border-radius: var(--vl-r); }
.vl-cta > h2 { margin-top: 0; }
.vl-cta .vl-btn { margin: 0 .5rem .5rem 0; }
.vl-cta .vl-btn + .vl-btn { color: var(--color-accent); background: var(--vl-paper); }
.vl-cta .vl-btn + .vl-btn:hover { color: #fff; background: var(--vl-accent-dark); }

.vl-card { display: block; }
.vl-card-head { padding: 1.4rem 1.3rem 1.3rem; background: var(--vl-paper); border-radius: var(--vl-r); box-shadow: inset 0 7px 0 var(--vl-kind, var(--vl-k-other)), 0 0 0 1px var(--vl-rule); }
.vl-card-head > h1 { font-size: clamp(1.6rem, 1.2rem + 1.8vw, 2.35rem); }
.vl-card-head > h1 > .vl-icon { color: var(--vl-kind, var(--vl-k-other)); }
.vl-name-local { margin: .35rem 0 0; font-size: 1.1rem; color: var(--vl-ink-2); }
.vl-kind-line { margin: .7rem 0 0; color: var(--vl-ink-2); }
.vl-cues { display: flex; flex-wrap: wrap; gap: .4rem; margin: .9rem 0 0; padding: 0; list-style: none; }
.vl-cues .vl-cue { padding: .2rem .8rem; font-size: .86rem; }
.vl-status { margin-top: 1.1rem; padding-top: .9rem; border-top: 2px dotted var(--vl-rule); }
.vl-status-line { margin: 0 0 .25rem; font-size: .98rem; color: var(--vl-mark-text, var(--color-text)); }
.vl-status-label { margin-right: .3rem; font-weight: 700; color: var(--color-text); }
.vl-status .vl-note { margin: .5rem 0 0; }
.vl-stale { display: inline-block; margin-left: .4rem; padding: 0 .6rem; font-size: .82rem; color: var(--vl-amber); background: var(--vl-amber-wash); border-radius: var(--vl-round); }

.vl-card-body { display: flex; flex-direction: column; gap: 1.6rem; margin-top: 1.6rem; }
.vl-card-main { display: contents; }
.vl-card-main > section { order: 1; min-width: 0; }
.vl-card-main > .vl-evidence, .vl-card-main > .vl-evidence ~ section { order: 3; }
.vl-card-main h2 { margin: 0 0 .8rem; font-size: 1.3rem; }
.vl-card-main h2 > .vl-icon, .vl-card-side h2 > .vl-icon { color: var(--color-accent); }
.vl-when > .vl-table-wrap { margin: 0; }
.vl-when > p, .vl-evidence > p { margin: 0; }
.vl-training ul { margin: 0; }
.vl-training li::marker { color: var(--vl-peel); }
.vl-coaches { padding: 0; list-style: none; }
.vl-coach { padding: .55rem 0; border-top: 1px solid var(--vl-sea); }

.vl-facts { background: var(--vl-paper); border: 1px solid var(--vl-rule); border-radius: var(--vl-r); }
.vl-fact { padding: .7rem 1rem; border-bottom: 1px solid var(--vl-sea); }
.vl-fact:last-child { border-bottom: 0; }
.vl-fact dt { font-size: .86rem; color: var(--vl-ink-3); }

.vl-facts-sec > .vl-facts { margin: 0; }
.vl-contacts > p { margin: 0; }

.vl-flag { font-weight: 700; }
.vl-flag-official { color: var(--vl-k-club); }
.vl-flag-secondary { color: var(--vl-ink-2); }
.vl-flag-unverified { color: var(--vl-amber); }

.vl-src-ref {
  display: inline-block;
  min-width: 1.55em;
  margin-left: .2em;
  padding: 0 .3em;
  font-size: .7rem;
  font-weight: 700;
  font-style: normal;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  vertical-align: .5em;
  font-variant-numeric: tabular-nums;
  border: 1px solid var(--vl-k-club);
  border-radius: 5px;
}
.vl-src-ref.vl-flag-official { color: #fff; background: var(--vl-k-club); }
.vl-src-ref.vl-flag-secondary { color: var(--vl-ink-2); background: var(--vl-paper); border-color: var(--vl-rule-strong); }
.vl-src-ref.vl-flag-unverified { color: var(--vl-amber); background: var(--vl-amber-wash); border: 1px dashed var(--vl-amber); }
.vl-src-ref:hover, .vl-src-ref:focus-visible { color: #fff; background: var(--color-accent); border-color: var(--color-accent); border-style: solid; }

.vl-evidence-q { margin: 0; padding: 1rem 1.2rem; color: var(--vl-ink-2); background: var(--vl-sea); border-radius: var(--vl-r); }
.vl-evidence-q > p { margin: 0 0 .6rem; }
.vl-evidence-q footer { font-size: .86rem; color: var(--vl-ink-3); }
.vl-evidence-q footer .vl-src-ref { vertical-align: .1em; }

.vl-corrections { padding: 1rem 1.2rem .3rem; background: var(--vl-amber-wash); border-radius: var(--vl-r); }

ol.vl-sources { margin: 0; padding-left: 1.7rem; font-size: .92rem; }
.vl-src-group { margin: 0 0 .85rem; }
.vl-src-group::marker { font-weight: 700; color: var(--vl-ink-3); }
.vl-src-group ul { margin: .3rem 0 0; padding: 0; list-style: none; }
.vl-src-link { font-weight: 700; overflow-wrap: anywhere; }
.vl-src-item { margin: .15rem 0; padding: .25rem .6rem; line-height: 1.5; border-radius: var(--vl-r-small); scroll-margin-top: 1rem; }
.vl-src-item:target { background: var(--vl-peel-wash); box-shadow: inset 3px 0 0 var(--vl-peel); }
.vl-src-time { white-space: nowrap; color: var(--vl-ink-3); }
.vl-src-quote { color: var(--vl-ink-2); }
.vl-not-opened { padding: 0 .4rem; font-size: .8rem; color: var(--vl-ink-3); border: 1px solid var(--vl-rule); border-radius: 4px; }

.vl-card-side { order: 2; min-width: 0; padding: 1.2rem 1.2rem 1.3rem; background: var(--vl-paper); border-radius: var(--vl-r); box-shadow: 0 0 0 1px var(--vl-rule); }
.vl-card-side > * + * { margin-top: 1.2rem; padding-top: 1.1rem; border-top: 2px dotted var(--vl-rule); }
.vl-card-side h2 { margin: 0 0 .6rem; font-size: 1.12rem; }
.vl-card-side .vl-facts { background: none; border: 0; border-radius: 0; }
.vl-card-side .vl-fact { padding: .35rem 0; border: 0; }
.vl-card-side .vl-note { margin: .6rem 0 0; }
.vl-card-side p { margin: .7rem 0 0; }
.vl-contact-list { display: grid; gap: .55rem; margin: 0; padding: 0; list-style: none; }
.vl-contact-list > li { display: flex; align-items: center; min-width: 0; margin: 0; overflow-wrap: anywhere; }
.vl-contact-list > li > .vl-icon { color: var(--color-accent); }
.vl-contact-list > li > .vl-src-ref { flex: none; margin-left: .5em; vertical-align: baseline; }
.vl-card-side .vl-btn { flex: 1 1 auto; min-width: 0; padding: .45rem 1rem; font-size: .96rem; overflow-wrap: anywhere; color: var(--color-accent); background: var(--vl-paper); border-width: 1px; border-color: var(--vl-peel-rule); }
.vl-card-side .vl-btn:hover, .vl-card-side .vl-btn:focus-visible { color: var(--vl-accent-dark); background: var(--vl-peel-wash); border-color: var(--vl-peel); }
.vl-location .vl-btn { color: #fff; background: var(--color-accent); border-color: var(--color-accent); }
.vl-location .vl-btn:hover, .vl-location .vl-btn:focus-visible { color: #fff; background: var(--vl-accent-dark); border-color: var(--vl-accent-dark); }
.vl-card-side > .vl-report { display: flex; margin-bottom: 0; }
.vl-report .vl-btn { color: var(--vl-ink-2); border-style: dashed; border-color: var(--vl-rule-strong); }

.vl-doc-section { margin-top: calc(var(--space-section) * .8); }
.vl-doc-section > h2 { margin-top: 0; }
#not-measured, #right-to-reply { padding: 1.2rem 1.3rem .4rem; background: var(--vl-paper); border-radius: var(--vl-r); box-shadow: 0 0 0 1px var(--vl-rule); }
#not-measured li::marker { color: var(--vl-peel); }

.vl-form { max-width: 44rem; margin-top: 1.4rem; }
#form { scroll-margin-top: 1rem; }
.vl-fieldset { min-width: 0; margin: 0 0 1.1rem; padding: 1rem 1.2rem .3rem; background: var(--vl-paper); border: 1px solid var(--vl-rule); border-radius: var(--vl-r); }
legend { padding: 0 .4rem; font-family: var(--font-display); font-size: 1.1rem; font-weight: 700; }
.vl-modes { display: flex; flex-wrap: wrap; gap: .3rem 1.6rem; padding-bottom: .9rem; }
.vl-modes .vl-field { margin: 0; }
.vl-modes .vl-label { display: inline-flex; align-items: center; gap: .5rem; margin: 0; }
.vl-modes .vl-input { width: auto; margin: 0; padding: 0; }
.vl-field { margin: 0 0 1rem; }
.vl-label { display: block; margin-bottom: .3rem; font-weight: 700; }
.vl-hint { display: block; margin-top: .3rem; font-size: .88rem; color: var(--vl-ink-3); }
.vl-input, .vl-textarea {
  display: block;
  width: 100%;
  padding: .6rem .75rem;
  font: inherit;
  color: var(--color-text);
  background: #fff;
  border: 1px solid var(--vl-rule-strong);
  border-radius: var(--vl-r-small);
  accent-color: var(--color-accent);
}
.vl-textarea { min-height: 7.5rem; resize: vertical; }
.vl-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.vl-submit { margin-top: .3rem; }
.vl-submit:disabled { opacity: .6; cursor: progress; }
.vl-notice { margin: 1rem 0 0; padding: .8rem 1.1rem; background: var(--vl-sea); border-radius: var(--vl-r-small); }
.vl-notice:empty { display: none; }
.vl-notice-ok { color: #1d4d27; background: #dff0dc; }
.vl-notice-fail { color: var(--vl-fail); background: var(--vl-fail-wash); }
.vl-notice-sending { color: var(--vl-ink-2); }
.vl-noscript { padding: .8rem 1.1rem; color: var(--vl-amber); background: var(--vl-amber-wash); border-radius: var(--vl-r-small); }

.vl-notfound { margin-top: 1rem; padding: 2rem 1.4rem 1.2rem; background: var(--vl-paper); border-radius: var(--vl-r); box-shadow: inset 0 7px 0 var(--vl-peel), 0 0 0 1px var(--vl-rule); }
.vl-notfound h1 { margin-bottom: .8rem; }

.vl-footer { font-size: .92rem; color: var(--vl-ink-2); background: var(--vl-sea); border-top: 1px solid var(--vl-sea-deep); }
.vl-footer .vl-wrap { padding-block: 1.6rem 2.2rem; }
.vl-footer p { margin: .4rem 0; }
.vl-footer a { color: var(--vl-ink-2); }
.vl-footer a:hover { color: var(--vl-accent-dark); }
.vl-footer-nav { display: flex; flex-wrap: wrap; gap: .3rem 1.4rem; margin: 0 0 1rem; padding: 0; list-style: none; font-weight: 700; }
.vl-footer-nav li { margin: 0; }
.vl-footer-nav [aria-current] { color: var(--color-text); text-decoration-color: var(--vl-peel); text-decoration-thickness: .16em; }

@media (min-width: 38rem) {
  .vl-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vl-fact { display: grid; grid-template-columns: 11rem minmax(0, 1fr); gap: 1rem; align-items: baseline; }
  .vl-card-side .vl-fact { display: block; }
}

@media (min-width: 50rem) {
  .vl-wrap { padding-inline: 1.75rem; }
  .vl-card-head { padding: 1.8rem 1.8rem 1.5rem; }
}

@media (min-width: 62rem) {
  .vl-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
  .vl-card-body { display: grid; grid-template-columns: minmax(0, 1fr) 21rem; gap: 2rem; align-items: start; }
  .vl-card-main { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; min-width: 0; }
  .vl-card-main > section, .vl-card-main > .vl-evidence, .vl-card-main > .vl-evidence ~ section, .vl-card-side { order: 0; }
}

@media (min-width: 66rem) {
  .vl-header .vl-wrap { flex-wrap: nowrap; }
  .vl-brand { margin-right: 0; }
  .vl-nav { flex: 1 1 auto; order: 0; border-top: 0; }
  .vl-nav > ul { flex-wrap: nowrap; justify-content: flex-end; }
  .vl-nav > ul > li > a { padding: 1.1rem 0 .95rem; }
}

@media (min-width: 66rem) and (hover: hover) and (pointer: fine) {
  .vl-has-sub { position: relative; }
  .vl-has-sub:hover > .vl-sub, .vl-has-sub:focus-within > .vl-sub {
    position: absolute;
    top: 100%;
    left: -.8rem;
    z-index: 9;
    display: block;
    min-width: 13rem;
    padding: .4rem;
    background: var(--vl-paper);
    border: 1px solid var(--vl-rule);
    border-radius: 0 0 var(--vl-r) var(--vl-r);
    box-shadow: var(--vl-shadow);
  }
}

@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
  a, .vl-btn, .vl-facet, .vl-teaser { transition: color .12s ease-out, background-color .12s ease-out, border-color .12s ease-out, box-shadow .12s ease-out; }
}

@media print {
  body { font-size: 11pt; color: #000; background: #fff; }
  .vl-skip, .vl-nav, .vl-langs, .vl-facets, .vl-footer-nav, .vl-cta, .vl-report, .vl-form, .vl-see-all, .vl-btn, .vl-sprite { display: none; }
  .vl-wrap { max-width: none; padding-inline: 0; }
  .vl-header, .vl-footer, .vl-c960, .vl-about, .vl-evidence-q { color: #000; background: none; box-shadow: none; }
  .vl-c960 > h2, .vl-c960 a, a { color: #000; }
  .vl-teaser, .vl-card-head, .vl-card-side, .vl-facts { box-shadow: none; border: 1px solid #999; }
  .vl-table-wrap { overflow: visible; }
  .vl-sessions, .vl-log { min-width: 0; }
  .vl-teaser, .vl-fact, .vl-src-item, tr { break-inside: avoid; }
  h2, h3 { break-after: avoid; }
}
