:root {
  --color-bg: #f5f1e8;
  --color-text: #1b2335;
  --color-accent: #1d4f9a;
  --font-sans: -apple-system, "Segoe UI", "Noto Sans", "Liberation Sans", "Helvetica Neue", Arial, sans-serif;
  --font-display: "Iowan Old Style", "Palatino Linotype", Palatino, "URW Palladio L", "Book Antiqua", Georgia, serif;
  --space-section: 2.75rem;
  --lx-surface: #fffdf8;
  --lx-stone: #ebe4d6;
  --lx-line: #d9d1c1;
  --lx-line-strong: #8a8f99;
  --lx-muted: #575e6c;
  --lx-ink-soft: #3a4254;
  --lx-accent-deep: #163d78;
  --lx-accent-soft: #e3eaf5;
  --lx-tram: #f1b31c;
  --lx-tram-soft: #fbefcc;
  --lx-ok: #2c6b4b;
  --lx-ok-soft: #e3efe6;
  --lx-grey: #707684;
  --lx-grey-soft: #ecebe7;
  --lx-dim: #6a6457;
  --lx-dim-soft: #efebe3;
  --lx-warn: #7d5300;
  --lx-fail: #8a2e1f;
  --lx-fail-soft: #f7e6e1;
  --lx-radius: 3px;
  --lx-measure: 42rem;
}

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

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

h1, h2, h3 { font-family: var(--font-display); font-weight: 600; line-height: 1.2; color: var(--color-text); text-wrap: balance; }
h1 { margin: 0 0 .75rem; font-size: clamp(1.75rem, 1.35rem + 1.8vw, 2.5rem); letter-spacing: -.005em; }
h2 { margin: var(--space-section) 0 .7rem; font-size: 1.4rem; }
h3 { margin: 1.5rem 0 .45rem; font-family: var(--font-sans); font-size: 1.05rem; }
p { margin: 0 0 .9rem; max-width: var(--lx-measure); }
ul, ol { margin: 0 0 1rem; padding-left: 1.25rem; }
li { margin: .2rem 0; }
dl { margin: 0; }
dt { font-weight: 600; }
dd { margin: 0; }
q { font-style: italic; }
time { font-variant-numeric: tabular-nums; }

a { color: var(--color-accent); text-decoration-thickness: 1px; text-underline-offset: .18em; }
a:hover { color: var(--lx-accent-deep); text-decoration-thickness: 2px; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, .lx-table-wrap:focus-visible {
  outline: 3px solid var(--color-accent);
  outline-offset: 2px;
}
a:focus-visible { background: var(--lx-tram-soft); }

.lx-skip {
  position: absolute;
  top: .5rem;
  left: 1rem;
  z-index: 10;
  padding: .5rem .9rem;
  background: var(--color-text);
  color: #fff;
  font-weight: 600;
  text-decoration: none;
  border-radius: var(--lx-radius);
  transform: translateY(-250%);
}
.lx-skip:focus { transform: none; outline: 3px solid var(--lx-tram); outline-offset: 2px; color: #fff; background: var(--color-text); }

.lx-wrap, .lx-btn, .lx-input, .lx-textarea, input, select, textarea, button { box-sizing: border-box; }
.lx-wrap { width: 100%; max-width: 64rem; margin-inline: auto; padding-inline: 1rem; }

.lx-header { background: var(--lx-surface); border-bottom: 1px solid var(--lx-line); }
.lx-header::after {
  content: "";
  display: block;
  height: .5rem;
  background: repeating-conic-gradient(var(--color-accent) 0 25%, var(--lx-surface) 0 50%) 0 0 / .5rem .5rem;
}
.lx-header .lx-wrap { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.25rem; padding-block: .8rem .7rem; }
.lx-brand {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  margin-right: auto;
  font-family: var(--font-display);
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--color-text);
  text-decoration: none;
}
.lx-brand::before {
  content: "";
  width: .8em;
  height: .8em;
  background: var(--color-accent);
  box-shadow: inset 0 0 0 2px var(--lx-surface), 0 0 0 1px var(--color-accent);
  transform: rotate(45deg);
}
.lx-brand:hover { color: var(--color-accent); }

.lx-nav { order: 3; flex-basis: 100%; display: flex; flex-wrap: wrap; gap: .1rem 1.1rem; }
.lx-nav ul { display: flex; flex-wrap: wrap; gap: .1rem 1.1rem; margin: 0; padding: 0; list-style: none; }
.lx-nav li { margin: 0; }
.lx-nav a { display: inline-block; padding: .3rem 0 .15rem; color: var(--color-text); text-decoration: none; border-bottom: 3px solid transparent; }
.lx-nav a:hover { color: var(--color-accent); border-bottom-color: var(--lx-line); }
.lx-nav [aria-current] { font-weight: 600; border-bottom-color: var(--lx-tram); }

.lx-langs { order: 2; display: flex; gap: .35rem; margin: 0; padding: 0; list-style: none; font-size: .875rem; }
.lx-langs li { margin: 0; }
.lx-langs a { display: inline-block; padding: .15rem .5rem; color: var(--lx-ink-soft); text-decoration: none; border: 1px solid var(--lx-line); border-radius: var(--lx-radius); }
.lx-langs a:hover { border-color: var(--color-accent); color: var(--color-accent); }
.lx-langs [aria-current], .lx-langs [aria-current] a { background: var(--color-accent); border-color: var(--color-accent); color: #fff; }

.lx-main { padding-block: 1.5rem var(--space-section); }
#main { scroll-margin-top: 1rem; }
#main:focus { outline: none; }

.lx-crumbs { margin: 0 0 1.1rem; font-size: .875rem; color: var(--lx-muted); }
.lx-crumbs ol { display: flex; flex-wrap: wrap; gap: .2rem .35rem; margin: 0; padding: 0; list-style: none; }
.lx-crumbs li { margin: 0; }
.lx-crumbs li + li::before { content: "/"; margin-right: .35rem; color: var(--lx-line-strong); }
.lx-crumbs a { color: var(--lx-ink-soft); }
.lx-crumbs [aria-current] { color: var(--lx-muted); }

.lx-intro { font-size: 1.075rem; }
.lx-note { font-size: .9rem; line-height: 1.5; color: var(--lx-muted); }
.lx-asof { font-size: .9rem; color: var(--lx-muted); }
.lx-asof time { color: var(--color-text); font-weight: 600; }

.lx-btn {
  display: inline-block;
  padding: .65rem 1.15rem;
  background: var(--color-accent);
  color: #fff;
  font: inherit;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  border: 0;
  border-radius: var(--lx-radius);
  cursor: pointer;
}
.lx-btn:hover { background: var(--lx-accent-deep); color: #fff; }

.lx-table-wrap { overflow-x: auto; margin: 1rem 0; background: var(--lx-surface); border: 1px solid var(--lx-line); border-radius: var(--lx-radius); }
table { width: 100%; border-collapse: collapse; font-size: .95rem; }
th, td { padding: .55rem .75rem; text-align: left; vertical-align: top; border-bottom: 1px solid var(--lx-line); }
thead th { background: var(--lx-stone); font-size: .85rem; font-weight: 600; white-space: nowrap; border-bottom: 2px solid var(--color-accent); }
tbody tr:nth-child(even) { background: #faf7f0; }
tbody tr:last-child th, tbody tr:last-child td { border-bottom: 0; }
.lx-sessions { min-width: 32rem; }
.lx-log { min-width: 26rem; }
.lx-log time { white-space: nowrap; }
.lx-log-type { white-space: nowrap; font-size: .875rem; font-weight: 600; }
.lx-log-type::before { content: ""; display: inline-block; width: .6em; height: .6em; margin-right: .45em; background: var(--lx-type, var(--lx-grey)); }
.lx-type-launch { --lx-type: var(--color-accent); }
.lx-type-data { --lx-type: var(--lx-ok); }
.lx-type-fix { --lx-type: #b07c00; }
.lx-type-copy { --lx-type: var(--lx-grey); }
.lx-type-method { --lx-type: var(--lx-ink-soft); }

.lx-hero { padding-bottom: 1.25rem; border-bottom: 1px solid var(--lx-line); }
.lx-hero .lx-intro { font-size: 1.125rem; }

.lx-howcheck { margin-top: var(--space-section); padding: 1rem 1.25rem .25rem; background: var(--lx-surface); border: 1px solid var(--lx-line); border-top: 4px solid var(--color-accent); }
.lx-howcheck > h2 { margin-top: 0; }

.lx-block { margin-top: var(--space-section); }
.lx-block > h2 { margin-top: 0; padding-bottom: .35rem; border-bottom: 2px solid var(--color-accent); }
#gone { scroll-margin-top: 1rem; }
#gone > h2 { border-bottom-color: var(--lx-line-strong); }

.lx-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: .75rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.lx-teaser {
  display: flex;
  flex-direction: column;
  gap: .2rem;
  margin: 0;
  padding: .8rem .95rem .75rem;
  background: var(--lx-surface);
  border: 1px solid var(--lx-line);
  border-radius: var(--lx-radius);
  box-shadow: inset 0 3px 0 var(--color-accent);
}
#gone .lx-teaser { box-shadow: inset 0 3px 0 var(--lx-line-strong); }
.lx-teaser-name { font-weight: 600; font-size: 1.05rem; line-height: 1.3; }
.lx-teaser-meta { font-size: .875rem; color: var(--lx-muted); }
.lx-teaser-chess { margin-top: auto; padding-top: .3rem; font-size: .875rem; color: var(--lx-ink-soft); }
.lx-see-all { display: inline-block; margin-top: .8rem; font-weight: 600; }
.lx-see-all::after { content: " \2192"; }

.lx-c960 { margin-top: var(--space-section); padding: 0 1.25rem .5rem; background: var(--lx-surface); border: 1px solid var(--lx-line); }
.lx-c960::before {
  content: "";
  display: block;
  height: .75rem;
  margin: 0 -1.25rem 1rem;
  background: repeating-conic-gradient(var(--color-text) 0 25%, var(--lx-surface) 0 50%) 0 0 / .75rem .75rem;
}
.lx-c960 > h2 { margin-top: 0; }

.lx-cta { margin-top: var(--space-section); padding: 1.1rem 1.25rem; background: var(--lx-accent-soft); border-left: 4px solid var(--color-accent); }
.lx-cta > h2 { margin-top: 0; }
.lx-cta .lx-btn { margin: .3rem .5rem .3rem 0; }
.lx-cta .lx-btn + .lx-btn { background: var(--lx-surface); color: var(--color-accent); box-shadow: inset 0 0 0 2px var(--color-accent); }
.lx-cta .lx-btn + .lx-btn:hover { color: var(--lx-accent-deep); background: #fff; }

.lx-card h2 { margin-top: calc(var(--space-section) * .8); font-size: 1.25rem; }
.lx-name-local { margin: -.4rem 0 .3rem; font-family: var(--font-display); font-size: 1.15rem; font-style: italic; color: var(--lx-ink-soft); }
.lx-kind-line { margin: .2rem 0 0; color: var(--lx-ink-soft); }

.lx-status { display: grid; gap: .4rem; margin: 1.25rem 0 0; max-width: var(--lx-measure); }
.lx-status-line {
  margin: 0;
  padding: .45rem .75rem .45rem .85rem;
  background: var(--lx-tint, var(--lx-grey-soft));
  border-left: 4px solid var(--lx-bar, var(--lx-grey));
  border-radius: 0 var(--lx-radius) var(--lx-radius) 0;
}
.lx-status-label { display: inline-block; min-width: 4.5rem; margin-right: .5rem; font-weight: 600; color: var(--color-text); }
.lx-st-open, .lx-ch-confirmed { --lx-bar: var(--lx-ok); --lx-tint: var(--lx-ok-soft); }
.lx-ch-confirmed_undated { --lx-bar: var(--lx-ok); --lx-tint: var(--lx-surface); border-left-style: dashed; }
.lx-ch-scheduled { --lx-bar: var(--color-accent); --lx-tint: var(--lx-accent-soft); }
.lx-st-unknown, .lx-st-not_a_venue, .lx-st-operating, .lx-ch-not_confirmed { --lx-bar: var(--lx-grey); --lx-tint: var(--lx-grey-soft); }
.lx-ch-not_confirmed_nodate { --lx-bar: var(--lx-grey); --lx-tint: var(--lx-grey-soft); border-left-style: dashed; }
.lx-st-closed, .lx-ch-ended, .lx-ch-moved, .lx-ch-moved_unknown { --lx-bar: var(--lx-line); --lx-tint: var(--lx-dim-soft); color: var(--lx-dim); }
.lx-stale { display: inline-block; margin-left: .35rem; padding: 0 .4rem; font-size: .85rem; color: #5c4300; background: var(--lx-tram-soft); border-radius: var(--lx-radius); }

.lx-facts { margin: .75rem 0 0; border-top: 1px solid var(--lx-line); }
.lx-fact { padding: .6rem 0; border-bottom: 1px solid var(--lx-line); }
.lx-fact dt { font-size: .875rem; color: var(--lx-ink-soft); }
.lx-fact dd { margin-top: .15rem; }
.lx-unknown { font-style: italic; color: var(--lx-muted); }

.lx-chip {
  display: inline-block;
  margin-left: .35rem;
  padding: 0 .45rem;
  font-size: .78rem;
  line-height: 1.55;
  white-space: nowrap;
  vertical-align: .08em;
  color: var(--lx-muted);
  background: #fff;
  border: 1px solid var(--lx-line);
  border-radius: var(--lx-radius);
}
.lx-chip a { font-weight: 600; text-decoration: none; }
.lx-chip a:hover { text-decoration: underline; }
.lx-flag { font-weight: 600; }
.lx-flag::before {
  content: "";
  display: inline-block;
  box-sizing: border-box;
  width: .55em;
  height: .55em;
  margin-right: .3em;
  vertical-align: .05em;
  border: 1px solid currentColor;
  background: currentColor;
}
.lx-flag-official { color: var(--lx-ok); }
.lx-flag-secondary { color: var(--color-accent); }
.lx-flag-secondary::before { background: linear-gradient(135deg, currentColor 50%, transparent 50%); }
.lx-flag-unverified { color: var(--lx-warn); }
.lx-flag-unverified::before { background: transparent; }

.lx-training, .lx-location, .lx-contacts, .lx-evidence { margin-top: calc(var(--space-section) * .8); }
.lx-coaches { margin: .5rem 0 0; padding: 0; list-style: none; }
.lx-coach { margin: 0; padding: .55rem 0; border-bottom: 1px dashed var(--lx-line); }
.lx-coach:last-child { border-bottom: 0; }
.lx-evidence p { padding-left: .9rem; border-left: 3px solid var(--lx-accent-soft); }
.lx-evidence .lx-note { padding-left: 0; border-left: 0; }

.lx-corrections { margin-top: calc(var(--space-section) * .8); padding: .9rem 1.1rem .2rem; background: var(--lx-tram-soft); border-left: 4px solid var(--lx-tram); }
.lx-card .lx-corrections h2 { margin-top: 0; }
.lx-boundary { margin: 2rem 0 0; padding: .8rem 1rem; font-size: .92rem; background: var(--lx-grey-soft); border-radius: var(--lx-radius); max-width: none; }
.lx-report { margin-top: 1.25rem; padding: .9rem 1.1rem .2rem; border: 1px dashed var(--color-accent); border-radius: var(--lx-radius); }
.lx-card .lx-report h2 { margin-top: 0; font-size: 1.1rem; }

.lx-sources { margin: .75rem 0 0; padding-left: 1.4rem; font-size: .93rem; }
.lx-src-group { margin: 0 0 1rem; padding-left: .2rem; }
.lx-src-group::marker { color: var(--lx-muted); }
.lx-src-group ol, .lx-src-group ul { margin: .35rem 0 0; padding: 0; list-style: none; }
.lx-src-link { font-weight: 600; overflow-wrap: anywhere; }
.lx-src-item { margin: .3rem 0; padding: .35rem .6rem; border-left: 2px solid var(--lx-line); scroll-margin-top: 1rem; }
.lx-src-item:target { background: var(--lx-tram-soft); border-left-color: var(--lx-tram); }
.lx-src-time { white-space: nowrap; color: var(--lx-muted); }
.lx-src-quote { color: var(--lx-ink-soft); }
.lx-not-opened { display: inline-block; padding: 0 .35rem; font-size: .78rem; color: var(--lx-muted); border: 1px solid var(--lx-line-strong); border-radius: var(--lx-radius); }

.lx-slice-data { padding: .8rem 1rem; font-size: .95rem; background: var(--lx-surface); border-left: 4px solid var(--color-accent); }
.lx-slice-list { margin: .75rem 0 0; padding: 0; list-style: none; border-top: 1px solid var(--lx-line); }
.lx-slice-list li { margin: 0; padding: .65rem 0; border-bottom: 1px solid var(--lx-line); }
.lx-slice-list a { font-weight: 600; }
.lx-slice-fact { display: block; font-size: .9rem; color: var(--lx-muted); }
.lx-other-slices { margin-top: 1rem; }
.lx-other-slices ul, ul.lx-other-slices { display: flex; flex-wrap: wrap; gap: .5rem; padding: 0; list-style: none; }
.lx-other-slices li { margin: 0; }
.lx-other-slices a { display: inline-block; padding: .3rem .65rem; background: var(--lx-surface); border: 1px solid var(--lx-line); border-radius: var(--lx-radius); text-decoration: none; }
.lx-other-slices a:hover { border-color: var(--color-accent); }

.lx-doc-section { margin-top: var(--space-section); }
.lx-doc-section > h2 { margin-top: 0; }
#not-measured, #right-to-reply { padding: 1rem 1.25rem .2rem; background: var(--lx-surface); border: 1px solid var(--lx-line); border-left: 4px solid var(--color-accent); }
#right-to-reply { border-left-color: var(--lx-tram); }
#not-measured ul { padding-left: 1.1rem; }

.lx-form { max-width: 40rem; margin-top: 1.25rem; }
#form { scroll-margin-top: 1rem; }
.lx-fieldset { min-width: 0; margin: 0 0 1.25rem; padding: .9rem 1.1rem .3rem; background: var(--lx-surface); border: 1px solid var(--lx-line); border-radius: var(--lx-radius); }
legend { padding: 0 .35rem; font-family: var(--font-display); font-size: 1.1rem; font-weight: 600; }
.lx-modes { display: flex; flex-wrap: wrap; gap: .4rem 1.5rem; padding-bottom: .9rem; }
.lx-modes .lx-field { margin: 0; }
.lx-modes .lx-label { display: inline-flex; align-items: center; gap: .45rem; margin: 0; font-weight: 500; }
.lx-modes .lx-input { width: auto; margin: 0; }
.lx-field { margin: 0 0 1rem; }
.lx-label { display: block; margin-bottom: .3rem; font-weight: 600; }
.lx-hint { display: block; margin-top: .25rem; font-size: .85rem; color: var(--lx-muted); }
.lx-input, .lx-textarea {
  display: block;
  width: 100%;
  padding: .55rem .65rem;
  font: inherit;
  color: var(--color-text);
  background: #fff;
  border: 1px solid var(--lx-line-strong);
  border-radius: var(--lx-radius);
  accent-color: var(--color-accent);
}
.lx-input:focus-visible, .lx-textarea:focus-visible { border-color: var(--color-accent); outline-offset: 1px; }
.lx-textarea { min-height: 8rem; resize: vertical; }
.lx-hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.lx-submit { margin-top: .25rem; }
.lx-submit:disabled { opacity: .65; cursor: progress; }
.lx-notice { margin: 1rem 0 0; padding: .75rem 1rem; background: var(--lx-grey-soft); border-left: 4px solid var(--lx-grey); }
.lx-notice:empty { display: none; }
.lx-notice-ok { background: var(--lx-ok-soft); border-left-color: var(--lx-ok); }
.lx-notice-fail { color: var(--lx-fail); background: var(--lx-fail-soft); border-left-color: var(--lx-fail); }
.lx-notice-sending { border-left-style: dashed; }
.lx-noscript { padding: .75rem 1rem; background: var(--lx-tram-soft); border-left: 4px solid var(--lx-tram); }

.lx-notfound { padding: var(--space-section) 0 var(--space-section) 1.25rem; border-left: 6px solid var(--lx-tram); }
.lx-notfound h1 { font-size: clamp(2rem, 1.5rem + 3vw, 3rem); }

.lx-footer { padding-block: 1.75rem 2.25rem; font-size: .92rem; background: var(--lx-stone); border-top: 1px solid var(--lx-line); }
.lx-footer p { margin: .45rem 0; }
.lx-footer .lx-asof { color: var(--lx-muted); }

@media (min-width: 36rem) {
  .lx-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lx-fact { display: grid; grid-template-columns: minmax(8rem, 12rem) minmax(0, 1fr); gap: 1rem; }
  .lx-fact dd { margin-top: 0; }
}

@media (min-width: 52rem) {
  body { font-size: 1.075rem; }
  .lx-wrap { padding-inline: 1.5rem; }
  .lx-nav { order: 2; flex-basis: auto; }
  .lx-langs { order: 3; }
  .lx-brand { margin-right: 1rem; }
  .lx-header .lx-wrap { justify-content: space-between; }
  h2 { font-size: 1.5rem; }
}

@media (min-width: 60rem) {
  .lx-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
  a, .lx-btn, .lx-input, .lx-textarea { transition: color .15s ease, background-color .15s ease, border-color .15s ease; }
}

@media print {
  body { background: #fff; color: #000; font-size: 11pt; line-height: 1.45; }
  .lx-skip, .lx-nav, .lx-langs, .lx-cta, .lx-report, .lx-form, .lx-see-all, .lx-other-slices, .lx-btn { display: none; }
  .lx-header, .lx-footer { background: none; border: 0; }
  .lx-header::after, .lx-c960::before { display: none; }
  .lx-wrap { max-width: none; padding-inline: 0; }
  a { color: #000; }
  .lx-src-link::after { content: " \2014 " attr(href); font-weight: 400; font-size: .85em; }
  .lx-table-wrap { overflow: visible; border: 0; }
  .lx-sessions, .lx-log { min-width: 0; }
  .lx-teaser, .lx-status-line, .lx-howcheck, .lx-c960, .lx-slice-data, .lx-corrections, .lx-boundary, #not-measured, #right-to-reply { background: none; box-shadow: none; }
  .lx-teaser, .lx-status, .lx-fact, .lx-src-item, tr { break-inside: avoid; }
  h2, h3 { break-after: avoid; }
}
