:root {
  --color-bg: #eef1f2;
  --color-text: #1a2a3c;
  --color-accent: #0d5f73;
  --font-sans: Optima, Candara, "Noto Sans", "Source Sans 3", "Fira Sans", Ubuntu, "DejaVu Sans", sans-serif;
  --font-display: Rockwell, "Rockwell Nova", "Roboto Slab", "Sitka Text", "DejaVu Serif", Georgia, serif;
  --space-section: 2.6rem;
  --po-panel: #ffffff;
  --po-granite: #e1e6e8;
  --po-slate: #172534;
  --po-slate-2: #2b3f55;
  --po-on-slate: #e9eef1;
  --po-on-slate-dim: #b4c2cc;
  --po-ink-2: #34465a;
  --po-muted: #566575;
  --po-rule: #c9d2d7;
  --po-rule-soft: #dbe2e5;
  --po-rule-firm: #8794a0;
  --po-accent-deep: #094556;
  --po-accent-wash: #dcebee;
  --po-accent-wash-2: #c8e0e5;
  --po-accent-rule: #9cc2cb;
  --po-tile-yellow: #d9a520;
  --po-warn: #74480a;
  --po-warn-wash: #f6ead2;
  --po-warn-rule: #d9bf87;
  --po-quiet: #5f6a73;
  --po-quiet-wash: #e4e8ea;
  --po-fail: #8c2a22;
  --po-fail-wash: #f6e3e0;
  --po-k-club: #0d5f73;
  --po-k-tournament: #a8730f;
  --po-k-learn: #5b4a9a;
  --po-k-library: #7a5a3a;
  --po-k-group: #b0512e;
  --po-k-cafe: #9a3d4b;
  --po-k-outdoor: #3f7a3d;
  --po-k-shop: #55657a;
  --po-k-hotel: #7d6f63;
  --po-k-other: #7f8890;
  --po-corner: 2px;
  --po-shadow: 0 1px 0 rgba(23, 37, 52, .06), 0 10px 22px -16px rgba(23, 37, 52, .45);
}

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

html { font-size: 106.25%; -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: 1rem;
  line-height: 1.58;
  font-variant-numeric: lining-nums;
  overflow-wrap: break-word;
}

h1, h2, h3 { font-family: var(--font-display); font-weight: 700; line-height: 1.18; color: var(--po-slate); text-wrap: balance; }
h1 { margin: 0 0 .8rem; font-size: clamp(1.75rem, 1.25rem + 2.1vw, 2.55rem); letter-spacing: -.012em; }
h2 { margin: var(--space-section) 0 .75rem; font-size: 1.4rem; }
h3 { margin: 1.4rem 0 .45rem; font-size: 1.08rem; }
p { margin: 0 0 .95rem; }
ul, ol { margin: 0 0 .95rem; padding-left: 1.3rem; }
li { margin: .22rem 0; }
dl, dd { margin: 0; }
dt { font-weight: 700; }
q { font-style: italic; }
time { font-variant-numeric: lining-nums tabular-nums; }
blockquote { margin: 0; }

a { color: var(--color-accent); text-decoration-thickness: .06em; text-underline-offset: .2em; }
a:hover { color: var(--po-accent-deep); text-decoration-thickness: .12em; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible, .po-table-wrap:focus-visible {
  outline: 3px solid var(--po-tile-yellow);
  outline-offset: 2px;
}

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

.po-skip {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 20;
  padding: .6rem 1rem;
  background: var(--po-tile-yellow);
  color: var(--po-slate);
  font-weight: 700;
  text-decoration: none;
  clip-path: inset(50%);
}
.po-skip:focus { clip-path: none; color: var(--po-slate); }

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

.po-header { position: relative; z-index: 5; background: var(--po-slate); color: var(--po-on-slate); border-bottom: 4px solid var(--color-accent); }
.po-header .po-wrap { display: flex; flex-wrap: wrap; align-items: center; column-gap: 1.2rem; max-width: 78rem; }
.po-brand {
  order: 1;
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  min-height: 3rem;
  margin-right: auto;
  font-family: var(--font-display);
  font-size: 1.22rem;
  font-weight: 700;
  line-height: 1.1;
  white-space: nowrap;
  color: #fff;
  text-decoration: none;
}
.po-brand::before {
  content: "";
  flex: none;
  width: 1.15rem;
  height: 1.15rem;
  background: conic-gradient(from 45deg, #fff 0 25%, var(--po-accent-rule) 0 50%, #fff 0 75%, var(--po-accent-rule) 0);
  border: 2px solid #fff;
  outline: 1px solid var(--po-accent-rule);
}
.po-brand:hover { color: var(--po-accent-wash-2); }

.po-langs { order: 2; display: flex; align-items: center; gap: .15rem; margin: 0; padding: 0; list-style: none; font-size: .8rem; }
.po-langs li { margin: 0; }
.po-langs a { display: inline-flex; align-items: center; min-height: 2rem; padding: 0 .55rem; color: var(--po-on-slate-dim); text-decoration: none; border: 1px solid transparent; }
.po-langs a:hover { color: #fff; border-color: var(--po-on-slate-dim); }
.po-langs a[aria-current] { color: var(--po-slate); background: var(--po-on-slate); font-weight: 700; }
.po-langs a[aria-current]:hover { color: var(--po-slate); }

.po-nav { order: 3; flex: 1 1 100%; border-top: 1px solid var(--po-slate-2); }
.po-nav ul { margin: 0; padding: 0; list-style: none; }
.po-nav li { margin: 0; }
.po-nav > ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1rem; padding-block: .25rem .4rem; }
.po-nav > ul > li { position: relative; }
.po-nav > ul > li > a {
  display: block;
  padding: .5rem 0;
  font-size: .9rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: .01em;
  color: var(--po-on-slate);
  text-decoration: none;
  border-bottom: 3px solid transparent;
}
.po-nav > ul > li > a:hover, .po-nav > ul > li.po-has-sub:hover > a { color: #fff; border-bottom-color: var(--po-accent-rule); }
.po-nav > ul > li > a[aria-current="page"] { color: #fff; border-bottom-color: var(--po-tile-yellow); }
.po-nav .po-count {
  min-width: 0;
  margin-left: .2rem;
  padding: 0;
  font-size: .68rem;
  font-weight: 400;
  color: var(--po-on-slate-dim);
  background: none;
  border: 0;
  vertical-align: .35em;
}

.po-sub { display: none; }
.po-sub a {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1.25rem;
  padding: .5rem .9rem;
  font-size: .88rem;
  line-height: 1.3;
  white-space: nowrap;
  color: var(--color-text);
  text-decoration: none;
  border-left: 3px solid transparent;
}
.po-sub a:hover { color: var(--po-accent-deep); background: var(--po-accent-wash); border-left-color: var(--color-accent); }
.po-sub a[aria-current] { font-weight: 700; background: var(--po-accent-wash); border-left-color: var(--po-tile-yellow); }
.po-sub .po-count { font-size: .74rem; color: var(--po-muted); vertical-align: baseline; }

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

.po-crumbs { margin: 0 0 1.1rem; font-size: .84rem; color: var(--po-muted); }
.po-crumbs ol { display: flex; flex-wrap: wrap; gap: .15rem .4rem; margin: 0; padding: 0; list-style: none; }
.po-crumbs li { margin: 0; }
.po-crumbs li + li::before { content: "\203A"; margin-right: .4rem; color: var(--po-rule-firm); }
.po-crumbs a { color: var(--po-ink-2); }
.po-crumbs a:hover { color: var(--color-accent); }
.po-crumbs [aria-current] { color: var(--po-muted); }

.po-intro { font-size: 1.06rem; color: var(--po-ink-2); }
.po-lead { font-size: 1.14rem; line-height: 1.62; color: var(--po-ink-2); }
.po-note { font-size: .86rem; line-height: 1.5; color: var(--po-muted); }
.po-asof { font-size: .88rem; color: var(--po-muted); }
.po-asof time { font-weight: 700; color: var(--po-ink-2); }
.po-unknown { font-style: italic; color: var(--po-muted); }

.po-btn {
  display: inline-block;
  padding: .62rem 1.15rem;
  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(--po-corner);
  cursor: pointer;
}
.po-btn:hover, .po-btn:focus-visible { color: #fff; background: var(--po-accent-deep); border-color: var(--po-accent-deep); }

.po-count {
  display: inline-block;
  min-width: 1.7em;
  padding: 0 .4em;
  font-family: var(--font-sans);
  font-size: .74rem;
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: 0;
  text-align: center;
  color: var(--po-ink-2);
  background: var(--po-granite);
  border: 1px solid var(--po-rule);
  border-radius: var(--po-corner);
  font-variant-numeric: lining-nums tabular-nums;
}
h2 > .po-count { margin-left: .5rem; vertical-align: .22em; }
h1 > .po-count { margin-left: .6rem; font-size: .86rem; vertical-align: .5em; }

.po-badge {
  display: inline-block;
  padding: 0 .38rem;
  font-family: var(--font-sans);
  font-size: .7rem;
  font-weight: 700;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: .05em;
  text-transform: uppercase;
  white-space: nowrap;
  vertical-align: .08em;
  color: var(--po-ink-2);
  background: var(--po-panel);
  border: 1px solid var(--po-rule-firm);
  border-radius: var(--po-corner);
}

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

.po-st-open, .po-ch-confirmed { --po-mark: var(--color-accent); --po-mark-fill: var(--color-accent); --po-mark-ink: var(--po-accent-deep); }
.po-ch-scheduled { --po-mark: var(--color-accent); --po-mark-fill: var(--po-accent-wash-2); --po-mark-ink: var(--po-accent-deep); }
.po-ch-confirmed_undated { --po-mark: var(--color-accent); --po-mark-fill: transparent; --po-mark-ink: var(--po-accent-deep); }
.po-st-operating, .po-st-unknown, .po-st-not_a_venue { --po-mark: var(--po-rule-firm); --po-mark-fill: var(--po-rule-firm); --po-mark-ink: var(--po-ink-2); }
.po-ch-not_confirmed { --po-mark: var(--po-warn); --po-mark-fill: var(--po-tile-yellow); --po-mark-ink: var(--po-warn); }
.po-ch-not_confirmed_nodate { --po-mark: var(--po-warn); --po-mark-fill: transparent; --po-mark-ink: var(--po-warn); }
.po-st-closed, .po-ch-ended, .po-ch-moved, .po-ch-moved_unknown { --po-mark: var(--po-quiet); --po-mark-fill: transparent; --po-mark-ink: var(--po-quiet); }

.po-table-wrap { overflow-x: auto; margin: .9rem 0; background: var(--po-panel); border: 1px solid var(--po-rule); border-radius: var(--po-corner); }
table { width: 100%; border-collapse: collapse; font-size: .94rem; }
th, td { padding: .6rem .8rem; text-align: left; vertical-align: top; border-bottom: 1px solid var(--po-rule-soft); }
thead th { font-size: .78rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; white-space: nowrap; color: var(--po-ink-2); background: var(--po-granite); border-bottom: 1px solid var(--po-rule); }
tbody tr:last-child th, tbody tr:last-child td { border-bottom: 0; }
.po-sessions { min-width: 33rem; }
.po-sessions tbody td:first-child, .po-sessions tbody td:nth-child(2), .po-sessions tbody th { white-space: nowrap; }
.po-sessions td:nth-child(3) { min-width: 8rem; }
.po-sessions td:nth-child(4) { min-width: 16rem; }
.po-sessions .po-badge { color: var(--po-accent-deep); background: var(--po-accent-wash); border-color: var(--po-accent-rule); }
.po-log { min-width: 27rem; }
.po-log time { white-space: nowrap; }
.po-log-type { white-space: nowrap; font-size: .86rem; font-weight: 700; color: var(--po-type, var(--po-ink-2)); }
.po-type-launch { --po-type: var(--po-accent-deep); }
.po-type-data { --po-type: var(--po-ink-2); }
.po-type-fix { --po-type: var(--po-warn); }
.po-type-copy { --po-type: var(--po-muted); }
.po-type-method { --po-type: var(--po-k-learn); }

.po-hero { position: relative; margin: 0 0 var(--space-section); padding: .4rem 0 1.9rem; }
.po-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: .75rem;
  background:
    linear-gradient(45deg, var(--color-accent) 25%, transparent 25% 75%, var(--color-accent) 75%) 0 0 / .75rem .75rem,
    linear-gradient(45deg, var(--color-accent) 25%, var(--po-panel) 25% 75%, var(--color-accent) 75%) .375rem .375rem / .75rem .75rem;
  border-block: 1px solid var(--color-accent);
}
.po-hero .po-lead { margin-bottom: 0; }

.po-block { display: flex; flex-wrap: wrap; align-items: center; column-gap: 1rem; margin: 0 0 var(--space-section); padding-top: .9rem; border-top: 3px solid var(--po-slate); }
.po-block > * { flex: 1 1 100%; min-width: 0; }
.po-block > h2 { flex: 1 1 auto; margin: 0; }
.po-block > h2 > .po-icon { color: var(--color-accent); }
.po-block > p:has(> .po-see-all) { flex: 0 0 auto; margin: 0; }
.po-block > .po-intro { margin: .5rem 0 0; }
#gone { scroll-margin-top: 1rem; border-top-color: var(--po-rule-firm); }
#gone .po-teaser { background: transparent; box-shadow: none; }

.po-see-all {
  display: inline-flex;
  align-items: center;
  min-height: 2.3rem;
  padding: 0 .8rem;
  font-size: .88rem;
  font-weight: 700;
  white-space: nowrap;
  color: var(--color-accent);
  text-decoration: none;
  background: var(--po-panel);
  border: 1px solid var(--po-accent-rule);
  border-radius: var(--po-corner);
}
.po-see-all:hover, .po-see-all:focus-visible { color: #fff; background: var(--color-accent); border-color: var(--color-accent); }

.po-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: .9rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.po-teaser {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: .45rem;
  margin: 0;
  padding: .95rem 1rem .8rem;
  background: var(--po-panel);
  border: 1px solid var(--po-rule);
  border-top: 4px solid var(--po-kind, var(--po-k-other));
  border-radius: var(--po-corner);
}
.po-teaser:hover, .po-teaser:focus-within { box-shadow: var(--po-shadow); }
.po-teaser-name { font-family: var(--font-display); font-size: 1.06rem; font-weight: 700; line-height: 1.28; color: var(--po-slate); text-decoration: none; }
.po-teaser-name::after { content: ""; position: absolute; inset: 0; }
.po-teaser:hover .po-teaser-name, .po-teaser-name:hover { color: var(--color-accent); text-decoration: underline; }
.po-teaser-name > .po-icon { color: var(--po-kind, var(--po-k-other)); }
.po-teaser a:not(.po-teaser-name) { position: relative; z-index: 1; }
.po-teaser-meta { font-size: .86rem; line-height: 1.45; color: var(--po-muted); }
.po-teaser-meta .po-badge { margin-right: .1rem; }
.po-teaser-when { font-size: .95rem; font-weight: 700; line-height: 1.4; color: var(--po-ink-2); }
.po-teaser-cues { display: flex; flex-wrap: wrap; gap: .3rem; }
.po-cue {
  display: inline-block;
  margin: 0;
  padding: .08rem .5rem;
  font-size: .76rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--po-cue-ink, var(--po-ink-2));
  background: var(--po-cue-wash, var(--po-quiet-wash));
  border-left: 3px solid var(--po-cue-ink, var(--po-rule-firm));
}
.po-cue-access { --po-cue-ink: #0a4c5d; --po-cue-wash: #dcebee; }
.po-cue-free { --po-cue-ink: #2d5a2b; --po-cue-wash: #e0eddf; }
.po-cue-kids { --po-cue-ink: #74480a; --po-cue-wash: #f6ead2; }
.po-cue-beginners { --po-cue-ink: #4a3b85; --po-cue-wash: #e7e3f3; }
.po-cue-format { --po-cue-ink: #34465a; --po-cue-wash: #e4e8ea; }
.po-cue-closed { --po-cue-ink: #5f6a73; --po-cue-wash: #e9ecee; }
.po-cue-register { --po-cue-ink: #7a3a1c; --po-cue-wash: #f5e4da; }
.po-teaser-chess { display: block; margin-top: auto; padding-top: .5rem; font-size: .76rem; line-height: 1.45; color: var(--po-muted); border-top: 1px dotted var(--po-rule-firm); }
.po-teaser-chess::before, .po-status-line::before {
  content: "";
  display: inline-block;
  width: .6rem;
  height: .6rem;
  margin-right: .45rem;
  vertical-align: -.02rem;
  background: var(--po-mark-fill, var(--po-rule-firm));
  border: 2px solid var(--po-mark, var(--po-rule-firm));
  transform: rotate(45deg);
}

.po-group { margin-top: var(--space-section); }
.po-group-h2 { display: flex; align-items: center; gap: .6rem; margin: 0; font-size: 1.22rem; }
.po-group-h2::after { content: ""; flex: 1 1 auto; height: 1px; background: var(--po-rule-firm); }
.po-group-h2 > .po-count { margin: 0; vertical-align: baseline; }
.po-group > .po-grid { margin-top: .9rem; }

.po-about { margin-top: calc(var(--space-section) * 1.1); background: var(--po-panel); border: 1px solid var(--po-rule); border-left: 4px solid var(--color-accent); border-radius: var(--po-corner); }
.po-about > summary { display: flex; align-items: center; gap: .6rem; min-height: 3rem; padding: 0 1rem; font-family: var(--font-display); font-weight: 700; color: var(--po-slate); cursor: pointer; list-style: none; }
.po-about > summary::-webkit-details-marker { display: none; }
.po-about > summary::before { content: "+"; flex: none; width: 1.4rem; height: 1.4rem; font-family: var(--font-sans); font-size: 1.05rem; line-height: 1.3rem; text-align: center; color: var(--color-accent); border: 1px solid var(--po-accent-rule); }
.po-about[open] > summary::before { content: "\2212"; }
.po-about > summary:hover { color: var(--color-accent); }
.po-slice-about { padding: .2rem 1rem .35rem; font-size: .97rem; line-height: 1.66; color: var(--po-ink-2); }

.po-facets { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin: .5rem 0 1.2rem; padding: 0; list-style: none; font-size: .88rem; }
.po-facets li { margin: 0; }
.po-facets a:not(.po-facet) { display: inline-flex; align-items: center; min-height: 2.3rem; padding-right: .35rem; font-weight: 700; color: var(--po-ink-2); }
.po-facet {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-height: 2.3rem;
  padding: 0 .45rem 0 .75rem;
  font-weight: 700;
  color: var(--po-ink-2);
  text-decoration: none;
  background: var(--po-panel);
  border: 1px solid var(--po-rule);
  border-bottom: 3px solid var(--po-rule-firm);
  border-radius: var(--po-corner);
}
.po-facet:hover { color: var(--po-accent-deep); border-color: var(--po-accent-rule); border-bottom-color: var(--color-accent); }
.po-facet[aria-current], .po-facet[aria-current]:hover { color: #fff; background: var(--color-accent); border-color: var(--color-accent); border-bottom-color: var(--po-tile-yellow); }
.po-facet[aria-current] .po-count { color: var(--po-accent-deep); background: #fff; border-color: #fff; }

.po-c960 { margin-top: var(--space-section); padding: 1.3rem 1.25rem .6rem; color: var(--po-on-slate); background: var(--po-slate); border-bottom: 4px solid var(--po-tile-yellow); border-radius: var(--po-corner); }
.po-c960 > h2 { margin-top: 0; color: #fff; }
.po-c960 a { color: #a9dbe6; }
.po-c960 a:hover { color: #fff; }
.po-c960 ul { padding-left: 1.15rem; }
.po-c960 li::marker { color: var(--po-tile-yellow); }
.po-c960 time { white-space: nowrap; color: var(--po-on-slate-dim); }

.po-about-list { margin-top: var(--space-section); font-size: .96rem; color: var(--po-ink-2); }
.po-about-list > h2 { margin: 0 0 .65rem; font-size: 1.2rem; }
.po-about-list p { margin-bottom: .75rem; }

.po-cta { margin-top: var(--space-section); padding: 1.2rem 1.25rem; background: var(--po-accent-wash); border: 1px solid var(--po-accent-rule); border-radius: var(--po-corner); }
.po-cta > h2 { margin-top: 0; font-size: 1.28rem; }
.po-cta > p:last-child { margin-bottom: 0; }
.po-cta .po-btn { margin: .25rem .5rem .25rem 0; }
.po-cta .po-btn + .po-btn { color: var(--po-accent-deep); background: var(--po-panel); }
.po-cta .po-btn + .po-btn:hover { color: #fff; background: var(--po-accent-deep); }

.po-card { position: relative; }
.po-card-head { margin: 0 0 var(--space-section); padding: 1.2rem 1.25rem 1.3rem; background: var(--po-panel); border: 1px solid var(--po-rule); border-top: 6px solid var(--po-kind, var(--color-accent)); border-radius: var(--po-corner); }
.po-card-head > h1 { margin-bottom: .5rem; }
.po-card-head > h1 > .po-icon { width: .9em; height: .9em; margin-right: .4em; color: var(--po-kind, var(--color-accent)); }
.po-name-local { margin: -.2rem 0 .45rem; font-size: 1.08rem; font-style: italic; color: var(--po-ink-2); }
.po-kind-line { margin: 0; color: var(--po-ink-2); }
.po-cues { display: flex; flex-wrap: wrap; gap: .4rem; margin: .9rem 0 0; padding: 0; list-style: none; }
.po-cues > li { margin: 0; }
.po-cues .po-cue { padding: .18rem .65rem; font-size: .84rem; }

.po-status { display: grid; gap: .3rem; margin: 1.05rem 0 0; padding-top: .9rem; border-top: 1px dotted var(--po-rule-firm); }
.po-status-line { margin: 0; font-size: .96rem; line-height: 1.5; color: var(--po-mark-ink, var(--color-text)); }
.po-status-label { margin-right: .35rem; font-weight: 700; color: var(--color-text); }
.po-status .po-note { margin: .2rem 0 0; }
.po-stale { display: inline-block; margin-left: .35rem; padding: 0 .45rem; font-size: .8rem; line-height: 1.55; color: var(--po-warn); background: var(--po-warn-wash); border: 1px solid var(--po-warn-rule); }

.po-card-body { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-section); }
.po-card-main { min-width: 0; }
.po-card-main > * + * { margin-top: var(--space-section); }
.po-card-main h2 { margin: 0 0 .8rem; padding-bottom: .4rem; font-size: 1.3rem; border-bottom: 3px solid var(--po-slate); }
.po-card-main h2 > .po-icon, .po-card-side h2 > .po-icon { color: var(--color-accent); }
.po-card-main > section > p:last-child { margin-bottom: 0; }
.po-when > .po-table-wrap { margin-bottom: 0; }
.po-training ul:not(.po-coaches) > li::marker { color: var(--color-accent); }
.po-coaches { margin: .5rem 0 0; padding: 0; list-style: none; }
.po-coach { margin: 0; padding: .55rem 0; border-bottom: 1px solid var(--po-rule-soft); }
.po-coach:last-child { border-bottom: 0; }

.po-facts { margin: .7rem 0 .6rem; background: var(--po-panel); border: 1px solid var(--po-rule); border-radius: var(--po-corner); }
.po-facts-sec > .po-facts { margin-bottom: 0; }
.po-fact { padding: .6rem .9rem; border-bottom: 1px solid var(--po-rule-soft); }
.po-fact:last-child { border-bottom: 0; }
.po-fact dt { font-size: .78rem; letter-spacing: .05em; text-transform: uppercase; color: var(--po-muted); }
.po-fact dd { margin-top: .1rem; }

.po-flag { font-weight: 700; }
.po-flag-official { color: var(--po-accent-deep); }
.po-flag-secondary { color: var(--po-ink-2); }
.po-flag-unverified { color: var(--po-warn); }

.po-src-ref {
  display: inline-block;
  min-width: 1.45em;
  margin-left: .3em;
  padding: 0 .3em;
  font-size: .68rem;
  font-weight: 700;
  font-style: normal;
  line-height: 1.45;
  text-align: center;
  text-decoration: none;
  vertical-align: .5em;
  color: #fff;
  background: var(--color-accent);
  border: 1px solid var(--color-accent);
  border-radius: var(--po-corner);
}
.po-src-ref:hover, .po-src-ref:focus-visible { color: #fff; background: var(--po-slate); border-color: var(--po-slate); }
.po-src-ref.po-flag-secondary { color: var(--po-ink-2); background: var(--po-panel); border-color: var(--po-rule-firm); }
.po-src-ref.po-flag-unverified { color: var(--po-warn); background: var(--po-warn-wash); border: 1px dashed var(--po-warn); }
.po-src-ref.po-flag-secondary:hover, .po-src-ref.po-flag-unverified:hover { color: #fff; background: var(--po-slate); border-color: var(--po-slate); }

.po-evidence-q { padding: .9rem 1.1rem; font-size: 1.01rem; line-height: 1.7; color: var(--po-ink-2); background: var(--po-panel); border: 1px solid var(--po-rule); border-left: 4px solid var(--po-accent-rule); }
.po-evidence-q > p { margin: 0 0 .6rem; }
.po-evidence-q footer { font-size: .85rem; color: var(--po-muted); }
.po-evidence-q footer .po-src-ref { vertical-align: .1em; }
.po-evidence > .po-note { margin: .7rem 0 0; }

.po-corrections { padding: 1rem 1.1rem .3rem; background: var(--po-warn-wash); border: 1px solid var(--po-warn-rule); }
.po-card-main .po-corrections h2 { padding-bottom: 0; font-size: 1.15rem; border-bottom: 0; }

ol.po-sources { margin: .7rem 0 0; padding-left: 1.6rem; font-size: .92rem; }
.po-src-group { margin: 0 0 .85rem; padding-left: .2rem; }
.po-src-group::marker { font-weight: 700; color: var(--po-muted); }
.po-src-group ol, .po-src-group ul { margin: .3rem 0 0; padding: 0; list-style: none; }
.po-src-link { font-weight: 700; overflow-wrap: anywhere; }
.po-src-item { margin: .25rem 0; padding: .25rem .65rem; line-height: 1.5; background: var(--po-panel); border-left: 3px solid var(--po-rule); scroll-margin-top: 1rem; }
.po-src-item:target { background: var(--po-accent-wash); border-left-color: var(--po-tile-yellow); }
.po-src-time { white-space: nowrap; color: var(--po-muted); }
.po-src-quote { color: var(--po-ink-2); }
.po-not-opened { display: inline-block; padding: 0 .35rem; font-size: .78rem; color: var(--po-muted); border: 1px solid var(--po-rule); }

.po-card-side { min-width: 0; padding: 1.1rem 1.15rem 1.2rem; background: var(--po-panel); border: 1px solid var(--po-rule); border-top: 4px solid var(--po-slate); border-radius: var(--po-corner); }
.po-card-side > * { margin: 0; }
.po-card-side > * + * { margin-top: 1.15rem; padding-top: 1.05rem; border-top: 1px dotted var(--po-rule-firm); }
.po-card-side h2 { margin: 0 0 .6rem; font-size: 1.1rem; }
.po-card-side .po-facts { margin: 0; border: 0; }
.po-card-side .po-fact { padding: .38rem 0; }
.po-card-side .po-note { margin: .55rem 0 0; font-size: .82rem; }
.po-location > p:not(.po-note) { margin: .7rem 0 0; }
.po-contacts > p { margin: 0; }
.po-contact-list { display: grid; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.po-contact-list > li { display: flex; align-items: center; gap: .35rem; min-width: 0; margin: 0; overflow-wrap: anywhere; }
.po-contact-list > li > .po-icon { color: var(--color-accent); }
.po-contact-list > li > .po-src-ref { flex: none; vertical-align: baseline; }
.po-card-side .po-btn {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  min-width: 0;
  min-height: 2.75rem;
  padding: .5rem .8rem;
  font-weight: 700;
  text-align: left;
  overflow-wrap: anywhere;
  color: var(--po-accent-deep);
  background: var(--po-accent-wash);
  border: 1px solid var(--po-accent-rule);
}
.po-card-side .po-btn:hover, .po-card-side .po-btn:focus-visible { color: #fff; background: var(--color-accent); border-color: var(--color-accent); }
.po-location .po-btn { justify-content: center; color: #fff; background: var(--color-accent); border-color: var(--color-accent); }
.po-location .po-btn:hover { background: var(--po-accent-deep); border-color: var(--po-accent-deep); }
.po-card-side .po-report .po-btn { color: var(--po-ink-2); background: transparent; border: 1px dashed var(--po-rule-firm); }
.po-card-side .po-report .po-btn:hover { color: #fff; background: var(--po-slate); border-color: var(--po-slate); }

.po-doc-section { margin-top: var(--space-section); }
.po-doc-section > h2 { margin-top: 0; padding-top: .8rem; border-top: 3px solid var(--po-slate); }
#not-measured, #right-to-reply { padding: 0 1.2rem .3rem; background: var(--po-panel); border: 1px solid var(--po-rule); border-radius: var(--po-corner); }
#not-measured > h2, #right-to-reply > h2 { padding-top: 1rem; border-top: 0; }
#not-measured li::marker { color: var(--color-accent); }

.po-form { max-width: 44rem; margin-top: 1.2rem; }
#form { scroll-margin-top: 1rem; }
.po-fieldset { min-width: 0; margin: 0 0 1.2rem; padding: .85rem 1.05rem .3rem; background: var(--po-panel); border: 1px solid var(--po-rule); border-top: 3px solid var(--po-slate); border-radius: var(--po-corner); }
legend { padding: 0 .4rem; font-family: var(--font-display); font-size: 1.06rem; font-weight: 700; color: var(--po-slate); }
.po-modes { display: flex; flex-wrap: wrap; gap: .4rem 1.5rem; padding-bottom: .85rem; }
.po-modes .po-field { margin: 0; }
.po-modes .po-label { display: inline-flex; align-items: center; gap: .45rem; margin: 0; }
.po-modes .po-input { width: auto; margin: 0; }
.po-field { margin: 0 0 1rem; }
.po-label { display: block; margin-bottom: .3rem; font-weight: 700; }
.po-hint { display: block; margin-top: .25rem; font-size: .86rem; color: var(--po-muted); }
.po-input, .po-textarea {
  display: block;
  width: 100%;
  padding: .55rem .65rem;
  font: inherit;
  color: var(--color-text);
  background: #fff;
  border: 1px solid var(--po-rule-firm);
  border-radius: var(--po-corner);
  accent-color: var(--color-accent);
}
.po-input:focus-visible, .po-textarea:focus-visible { border-color: var(--color-accent); }
.po-textarea { min-height: 8rem; resize: vertical; }
.po-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.po-submit { margin-top: .2rem; }
.po-submit:disabled { opacity: .6; cursor: progress; }
.po-notice { margin: 1rem 0 0; padding: .7rem 1rem; background: var(--po-quiet-wash); border-left: 4px solid var(--po-rule-firm); }
.po-notice:empty { display: none; }
.po-notice-ok { background: var(--po-accent-wash); border-left-color: var(--color-accent); }
.po-notice-fail { color: var(--po-fail); background: var(--po-fail-wash); border-left-color: var(--po-fail); }
.po-notice-sending { border-left-style: dotted; }
.po-noscript { padding: .7rem 1rem; background: var(--po-warn-wash); border-left: 4px solid var(--po-warn); }

.po-notfound { padding: var(--space-section) 1.25rem; background: var(--po-panel); border: 1px solid var(--po-rule); border-top: 6px solid var(--po-tile-yellow); }

.po-footer { font-size: .88rem; color: var(--po-on-slate-dim); background: var(--po-slate); border-top: 4px solid var(--color-accent); }
.po-footer .po-wrap { padding-block: 1.5rem 2.2rem; }
.po-footer p { margin: .4rem 0; }
.po-footer a { color: var(--po-on-slate); }
.po-footer a:hover { color: #fff; }
.po-footer .po-asof, .po-footer .po-asof time { color: var(--po-on-slate-dim); }
.po-footer-nav { display: flex; flex-wrap: wrap; gap: .3rem 1.4rem; margin: 0 0 .9rem; padding: 0 0 .9rem; list-style: none; font-size: .95rem; border-bottom: 1px solid var(--po-slate-2); }
.po-footer-nav li { margin: 0; }
.po-footer-nav a { font-weight: 700; }
.po-footer-nav [aria-current] { color: var(--po-tile-yellow); text-decoration: none; }

@media not all and (min-width: 58rem) {
  .po-card-body { display: flex; flex-direction: column; }
  .po-card-main { display: contents; }
  .po-card-main > * + * { margin-top: 0; }
  .po-card-main > .po-evidence, .po-card-main > .po-evidence ~ * { order: 2; }
  .po-card-side { order: 1; }
}

@media (min-width: 34rem) {
  .po-nav > ul { display: flex; flex-wrap: wrap; column-gap: 1.3rem; padding-block: 0; }
  .po-nav > ul > li > a { padding-block: .65rem; white-space: nowrap; }
  .po-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .po-card-main .po-fact { display: grid; grid-template-columns: minmax(9rem, 11rem) minmax(0, 1fr); gap: 1rem; align-items: baseline; }
  .po-card-main .po-fact dd { margin-top: 0; }
}

@media (min-width: 52rem) {
  .po-wrap { padding-inline: 1.6rem; }
}

@media (min-width: 52rem) and (hover: hover) and (pointer: fine) {
  .po-nav > ul > li.po-has-sub:hover > .po-sub, .po-nav > ul > li.po-has-sub:focus-within > .po-sub {
    position: absolute;
    top: 100%;
    left: -.9rem;
    z-index: 6;
    display: block;
    min-width: 13rem;
    padding: .35rem 0;
    background: var(--po-panel);
    border: 1px solid var(--po-rule);
    border-top: 3px solid var(--po-tile-yellow);
    box-shadow: var(--po-shadow);
  }
  .po-nav > ul:hover > li.po-has-sub:not(:hover) > .po-sub { display: none; }
}

@media (min-width: 58rem) {
  .po-card-body { grid-template-columns: minmax(0, 1fr) 19.5rem; gap: 2.2rem; align-items: start; }
}

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

@media (min-width: 74rem) {
  .po-header .po-wrap { flex-wrap: nowrap; }
  .po-nav { order: 2; flex: 0 1 auto; border-top: 0; }
  .po-nav > ul { flex-wrap: nowrap; column-gap: 1.15rem; }
  .po-nav > ul > li > a { padding-block: 1.05rem .85rem; }
  .po-langs { order: 3; }
}

@media (prefers-reduced-motion: no-preference) {
  a, .po-btn, .po-facet, .po-see-all { transition: color .12s linear, background-color .12s linear, border-color .12s linear; }
  .po-teaser { transition: box-shadow .12s linear; }
}

@media print {
  body { background: #fff; color: #000; font-size: 11pt; }
  .po-skip, .po-nav, .po-langs, .po-facets, .po-footer-nav, .po-cta, .po-report, .po-form, .po-see-all, .po-btn, .po-sprite { display: none; }
  .po-header, .po-footer, .po-c960 { color: #000; background: none; border: 0; }
  .po-brand, .po-c960 > h2, .po-c960 a { color: #000; }
  .po-hero::after { display: none; }
  .po-wrap { max-width: none; padding-inline: 0; }
  a { color: #000; }
  .po-table-wrap { overflow: visible; border: 0; }
  .po-sessions, .po-log { min-width: 0; }
  .po-card-body { display: block; }
  .po-teaser, .po-fact, .po-src-item, tr { break-inside: avoid; }
  h2, h3 { break-after: avoid; }
}
