body { min-width: 320px; }

:root {
  
  --hl-lowscore: #f3c568;   
  --hl-rare:     #f1927e;   
  --hl-proper:   #b5e3c1;   
  --hl-abbrev:   #b0d5e8;   
  --hl-missing:  #c9a6b8;   

  --cell-paper:  #fff;

  --select:      #6d4ade;
}

.dropzone {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 14px 16px;
  
  max-width: 76ch;
  margin-inline: auto;
  margin-bottom: 14px;
  border: 1px dashed var(--border-strong);
  border-radius: var(--radius);
  background: var(--surface-sunk);
}

.dropzone[hidden] { display: none; }

.dropzone.is-over {
  border-color: var(--select);
  background: var(--lav-soft);
}

.dropzone__text { color: var(--muted); font-size: 12.5px; }

.status { margin: -4px auto 12px; max-width: 76ch; font-size: 12.5px; color: var(--muted); }

.status--notice {
  max-width: none;
  
  margin: 7px 0 0;
  padding: 11px 13px;
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-s);
  background: var(--surface-sunk);
  color: var(--ink-soft);
  font-size: 13px;
  line-height: 1.5;
}

.status--error {
  max-width: none;
  margin: 0 0 14px;
  padding: 11px 13px;
  border: 1px solid #f0c2bc;
  border-radius: var(--radius-s);
  background: #fdf3f2;
  color: #b42318;
  font-size: 13px;
  line-height: 1.5;
}

.puzzle-meta {
  margin: 12px 0 0;
  font-size: 12.5px;
  color: var(--ink-soft);
}

.puzzle-meta strong { color: var(--ink); }

.rules,
.statlist,
.selected,
.answers,
.multi__menu,
.scope { line-height: 1.5; }

.rule { line-height: 1.35; }

.split {
  display: grid;
  
  grid-template-columns: minmax(520px, 620px) minmax(384px, 1fr);
  grid-template-areas:
    "main  side"
    "table table";
  gap: 14px;
  
  align-items: stretch;
  margin-bottom: 14px;
}

.col {
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-width: 0;
}

.col--main { grid-area: main; }
.col--side { grid-area: side; }

@media (min-width: 1010px) {
  .col > .panel { align-self: stretch; }
}

.split > *,
.split .panel { min-width: 0; margin-bottom: 0; }

.panel--grid     { grid-area: grid; align-self: start; --grid-box: fit; }
.panel--table    { grid-area: table; }
.panel--title    { grid-area: title; }

.panel--stats    { grid-area: stats; align-self: start; }
.panel--rules    { grid-area: rules; align-self: start; }

.panel--selected { grid-area: selected; align-self: start; }

.panel--grid > .panel__body {
  display: flex;
  height: 100%;
}

@media (max-width: 1009px) {
  .col { display: contents; }
}

@media (max-width: 1009px) {
  
  .panel--grid { width: 100%; max-width: 520px; margin-inline: auto; }
}

@media (max-width: 1009px) and (min-width: 750px) {
  .split {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: repeat(5, auto);
    grid-template-areas:
      "title    rules"
      "stats    rules"
      "grid     grid"
      "selected selected"
      "table    table";
  }
}

@media (max-width: 749px) {
  .split {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(6, auto);
    
    grid-template-areas: "title" "stats" "rules" "grid" "selected" "table";
  }
}

.grid-wrap {
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.grid:focus-visible {
  outline: 2px solid var(--select);
  outline-offset: 3px;
}

.grid:focus-visible:has(.cell.is-marked) {
  outline: none;
}

.grid {
  container-type: inline-size;
  display: grid;
  
  position: relative;
  gap: 0;
  border: 2px solid var(--ink);
  background: var(--ink);

  
  --mark-band: 1px;
}

.cell {
  position: relative;
  aspect-ratio: 1;
  background: var(--cell-paper);
  outline: 1px solid var(--ink);
  outline-offset: -0.5px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  user-select: none;
  overflow: hidden;
}

.cell--black { background: var(--ink); cursor: default; }

.cell__letter {
  position: relative;
  z-index: 1;
  
  font-size: calc(100cqw / var(--cols) * 0.62 * var(--shrink, 1));
  line-height: 1;
  font-weight: 400;
  letter-spacing: -0.03em;
  align-self: flex-end;
  
  padding-bottom: calc(100cqw / var(--cols) * (0.179 - 0.124 * var(--shrink, 1)));
  white-space: nowrap;
}

.cell__number {
  position: absolute;
  z-index: 1;
  
  top: max(calc(var(--mark-band) * 1.5 + 100cqw / var(--cols) * 0.023), 4.5%);
  left: max(calc(var(--mark-band) * 1.5 + 100cqw / var(--cols) * 0.023), 4.5%);
  
  font-size: calc(100cqw / var(--cols) * 0.28);
  line-height: 1;
  color: var(--ink-soft);
}

.cell__circle {
  position: absolute;
  z-index: 1;
  
  inset: 6%;
  border: 1px solid var(--ink-soft);
  border-radius: 50%;
  pointer-events: none;
}

.cell--numbered > .cell__circle {
  
  --notch-x: calc(100cqw / var(--cols) * 0.34);
  --notch-y: calc(100cqw / var(--cols) * 0.29);
  -webkit-mask-image: radial-gradient(ellipse var(--notch-x) var(--notch-y) at top left,
    transparent 0 99%, #000 100%);
  mask-image: radial-gradient(ellipse var(--notch-x) var(--notch-y) at top left,
    transparent 0 99%, #000 100%);
}

.cell.is-marked { z-index: 2; }

.grid__marker {
  position: absolute;
  z-index: 3;
  pointer-events: none;
  overflow: visible;
}

.grid__rule { fill: none; }
.grid__rule--dark { stroke: var(--ink); }
.grid__rule--white { stroke: #fff; }

.rules__lead {
  margin: 0 0 5px;
  font-size: 12px;
  line-height: 1.35;
  color: var(--muted);
}

.rules { display: flex; flex-direction: column; gap: 0; }

.rule {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 2px 6px;
  
  min-height: 30px;
  border-radius: var(--radius-s);
}

.rule:hover { background: var(--surface-sunk); }

.rule input[type="checkbox"] {
  width: 14px;
  height: 14px;
  margin: 0;
  accent-color: var(--btn);
  cursor: pointer;
  flex: none;
}

.rule__swatch {
  width: 15px;
  height: 15px;
  border-radius: 4px;
  border: 1px solid rgba(0, 0, 0, 0.16);
  flex: none;
}

.rule__label { font-size: 12.5px; cursor: pointer; }

.rule:has(input[type="checkbox"]:not(:checked)) .rule__label,
.rule:has(input[type="checkbox"]:not(:checked)) select { color: var(--muted); }

.rule select option { color: var(--ink); }

.rule__op {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  font-size: 13.5px;
}

.rule__count { color: var(--muted); font-size: 12px; margin-left: auto; flex: none; }

.rule select {
  width: auto;
  padding: 2px 22px 2px 7px;
  font-size: 12px;
  background-position: right 8px center, right 4px center;
}

.scope {
  display: flex;
  flex-direction: column;
  gap: 3px;
  margin: 2px 0 10px 30px;
  font-size: 12.5px;
  color: var(--muted);
}

.scope__row { position: relative; display: flex; align-items: center; gap: 8px; }

.scope__word { flex: none; width: 5ch; color: var(--ink); }

.scope--dormant .scope__word,
.scope--dormant .multi__toggle { color: var(--muted); }

.scope .multi { flex: none; }

.scope .multi__toggle {
  width: auto;
  
  min-width: 11ch;
  padding: 2px 22px 2px 7px;
  font-size: 12px;
  
  background-position: right 8px center, right 4px center;
}

#venue-multi .multi__toggle { min-width: 20ch; }

.scope__reset {
  margin-left: 14px;
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  font-size: 11.5px;
  color: var(--muted);
  text-decoration: underline dotted var(--border-strong);
  text-underline-offset: 2px;
  cursor: pointer;
}

.scope__reset:hover { color: var(--ink-soft); text-decoration-color: currentColor; }

.scope__reset:disabled {
  opacity: 0.45;
  text-decoration: none;
  cursor: default;
}

.rules__foot {
  display: flex;
  justify-content: flex-end;
  margin-top: 6px;
  padding: 6px 6px 0;
  border-top: 1px solid var(--border);
}

.rules__foot .scope__reset { margin-left: 0; }

.multi { position: static; }

.multi__toggle {
  width: 100%;
  text-align: left;
  font: inherit;
  font-size: 13px;
  
  background-color: var(--field);
  
  background-image:
    linear-gradient(45deg, transparent 50%, var(--ink-soft) 50%),
    linear-gradient(135deg, var(--ink-soft) 50%, transparent 50%);
  background-position: right 15px center, right 10px center;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
  border: 1px solid transparent;
  border-radius: var(--radius-s);
  padding: 9px 30px 9px 11px;
  cursor: pointer;
  color: var(--ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.multi__toggle:hover { background-color: var(--field-hover); }

.multi__menu {
  position: absolute;
  z-index: 20;
  top: calc(100% + 4px);
  left: 0;
  
  width: max-content;
  max-width: 100%;
  max-height: 320px;
  overflow-y: auto;
  background: var(--surface);
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-s);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
  padding: 8px;
}

.multi__menu[hidden] { display: none; }

.multi__presets {
  display: flex;
  flex-wrap: nowrap;
  gap: 6px;
  padding: 0 2px 8px;
  border-bottom: 1px solid var(--border);
  margin-bottom: 6px;
}

.multi__presets button {
  white-space: nowrap;
  font: inherit;
  font-size: 11.5px;
  padding: 4px 9px;
  border-radius: 5px;
  border: 1px solid var(--border);
  background: var(--surface);
  cursor: pointer;
  color: var(--ink-soft);
}

.multi__presets button:hover { background: var(--field); }

.multi__opt {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 5px 6px;
  border-radius: 5px;
  font-size: 12.5px;
  cursor: pointer;
}

.multi__opt:hover { background: var(--surface-sunk); }

.multi__opt--pick {
  display: block;
  width: 100%;
  text-align: left;
  font: inherit;
  font-size: 12.5px;
  border: 0;
  background: none;
  color: var(--ink);
}

.multi__opt--pick.is-picked { background: var(--field); font-weight: 500; }

.multi__opt input { accent-color: var(--btn); margin: 0; flex: none; }

.multi__opt code,
.answers--venues .c-venue code {
  display: inline-block;
  padding: 1px 5px;
  border-radius: 4px;
  background: var(--field);
  font-family: inherit;
  font-size: 11px;
  color: var(--ink-soft);
}

.multi__opt .mini-tag {
  margin-left: auto;
  font-size: 10.5px;
  color: var(--muted);
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 0 4px;
}

.table-scroll { overflow-x: auto; min-width: 0; }

table.answers {
  width: 100%;
  border-collapse: collapse;
  font-size: 12.5px;
  
  min-width: min(72ch, 100%);
  
  table-layout: fixed;
}

.answers th {
  text-align: left;
  padding: 0;
  border-bottom: 1px solid var(--border-strong);
  white-space: nowrap;
  position: sticky;
  top: 0;
  background: var(--surface);
}

.sort {
  width: 100%;
  font: inherit;
  font-weight: 500;
  color: var(--muted);
  background: none;
  border: 0;
  padding: 8px 10px;
  text-align: inherit;
  cursor: pointer;
}

.col-num .sort { text-align: right; padding-left: 2px; }
.sort:hover { color: var(--ink); }
.sort.is-sorted { color: var(--ink); }

.sort.is-sorted::after { content: "\00a0\2191"; }
.sort.is-sorted[data-dir="desc"]::after { content: "\00a0\2193"; }

.answers td {
  padding: 5px 10px;
  border-bottom: 1px solid var(--border);
  vertical-align: top;
  
  background: transparent;
}

.answers tbody tr { cursor: pointer; }

.answers tbody tr:hover td { box-shadow: inset 0 0 0 999px rgba(0, 0, 0, 0.04); }

.answers tbody tr.is-marked td { font-weight: 600; }
.answers tbody tr.is-marked .c-key {
  box-shadow: inset 3px 0 0 var(--ink);
}

.answers .c-key    { width: 5ch; }
.answers .c-length { width: 10ch; }
.answers .c-counts { width: 9ch; }
.answers .c-score  { width: 9ch; }

.answers .c-labels { width: 9ch; }

.answers .c-labels .chip { margin-bottom: 2px; }
.answers .c-labels .chip:last-child { margin-bottom: 0; }

.col-key    { white-space: nowrap; color: var(--muted); }
.col-num    { text-align: right; white-space: nowrap; }

.chip {
  display: inline-block;
  padding: 1px 5px;
  margin: 0 3px 3px 0;
  border-radius: 4px;
  background: var(--field);
  font-size: 11px;
  color: var(--ink-soft);
  white-space: nowrap;
}

.selected__lookup {
  flex: none;
  
  margin-left: -7px;
  border-radius: 4px;
  color: var(--muted);
  line-height: 1;
  text-decoration: none;
  
  align-self: center;
  position: relative;
  top: 1px;
  display: inline-flex;
  padding: 3px 4px;
}

.selected__lookup:hover,
.selected__lookup:focus-visible {
  color: var(--ink);
  background: var(--field);
}

.chip--dot { border-left: 3px solid transparent; }

.chip--bucket { margin-left: 6px; margin-bottom: 0; }

.chip--explained {
  border: 0;
  font: inherit;
  font-size: 11px;
  line-height: inherit;
  
  vertical-align: baseline;
  cursor: pointer;
  text-decoration: underline solid var(--lav-text);
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.chip--explained:hover,
.chip--explained[aria-expanded="true"] {
  color: var(--ink);
  text-decoration-color: var(--lav-deep);
}

.chip--explained:focus-visible {
  outline: 2px solid var(--select);
  outline-offset: 1px;
}

.note-popup {
  position: fixed;
  z-index: 50;
  max-width: min(280px, calc(100vw - 16px));
  padding: 7px 10px;
  border: 1px solid var(--border);
  border-radius: var(--radius-s);
  background: var(--surface);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
  font-size: 12px;
  line-height: 1.45;
  color: var(--ink-soft);
}

.clue-src {
  color: var(--muted);
  font-size: 11px;
  white-space: nowrap;
  margin-left: 5px;
}

.none { color: var(--muted); }

.puzzle-title {
  margin: 0;
  max-width: none;
  font-size: 12.5px;
  line-height: 1.45;
}

.puzzle-title strong,
.puzzle-title span {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.puzzle-title strong { font-size: 15px; line-height: 1.4; min-height: 21px; }
.puzzle-title span { color: var(--muted); min-height: 18px; }

.statlist {
  margin: 0;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 4px 12px;
  font-size: 12.5px;
}

.statlist dt { color: var(--muted); white-space: nowrap; }

.statlist dd {
  margin: 0;
  grid-column: 3;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.statlist .statlist__pct {
  grid-column: 2;
  color: var(--muted);
  text-align: right;
}

.clamp { overflow: hidden; }

.clamp--1 { white-space: nowrap; text-overflow: ellipsis; }

.clamp--2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.selected__venues .chip { line-height: 16px; }
.clamp--chips { max-height: 105px; }   

.clamp.is-truncated { cursor: pointer; }
.clamp.is-truncated:hover { text-decoration: underline dotted var(--border-strong); }

.peek {
  position: absolute;
  z-index: 40;
  max-width: min(360px, calc(100vw - 24px));
  padding: 8px 10px;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--ink);
  background: var(--surface);
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-s);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

#selected { overflow-y: visible; }

.selected { display: grid; gap: 7px; font-size: 12.5px; line-height: 1.45; }

.selected__head {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--border);
}

.vname--short { display: none; }

@media (max-width: 560px) {
  .vname--full { display: none; }
  .vname--short { display: inline; }

  .multi__opt .mini-tag { display: none; }
}

.selected__head .chip { margin-bottom: 0; align-self: center; }
.selected__head .chip + .chip { margin-left: -6px; }

.selected__key { color: var(--muted); font-size: 12.5px; }

.selected__answer {
  font-size: 17px;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.2;
  
  min-width: 0;
  overflow-wrap: anywhere;
}

.selected__figures {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 6px 26px;
}

.selected__stat { display: flex; align-items: baseline; }
.selected__stat span { color: var(--muted); margin-right: 6px; white-space: nowrap; }
.selected__figures b,
.selected__stat b { font-variant-numeric: tabular-nums; }

.selected__row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: baseline;
  gap: 8px;
}

.selected__row--note { grid-template-columns: minmax(0, 1fr); }

.selected__row .clamp { overflow-wrap: break-word; }

.selected__rowlabel {
  flex: none;
  color: var(--muted);
}

.selected__row > :not(.selected__rowlabel) { min-width: 0; }

.selected__row--note { color: var(--muted); }

.selected__venues { display: flex; flex-wrap: wrap; gap: 0; }

.selected__row--total { display: none; }

@media (max-width: 480px) {
  .selected__row--venues { display: none; }
  .selected__row--total { display: flex; }
}

@media (max-width: 727px) {
  
  .answers .c-key { display: none; }
  .answers tbody tr.is-marked .c-answer { box-shadow: inset 3px 0 0 var(--ink); }
}

@media (max-width: 699px) {
  
  .answers { min-width: 0; }

  .puzzle-title strong,
  .puzzle-title span {
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }

  .clamp--2 { -webkit-line-clamp: 4; }
  .clamp--chips { max-height: 147px; }   
}

@media (max-width: 687px) {
  
  .answers .c-length { display: none; }
}

@media (max-width: 605px) {
  
  .answers .c-labels { display: none; }
}

@media (max-width: 480px) {
  
  .rule { flex-wrap: wrap; row-gap: 2px; }
  .scope { margin-left: 14px; }
  .scope__row { flex-wrap: wrap; }
}

@media (max-width: 374px) {
  
  .answers .c-score { display: none; }
}

.note {
  margin: 0 auto 10px;
  max-width: 76ch;
  text-align: center;
  font-size: 12.5px;
  font-style: italic;
  line-height: 1.6;
  color: var(--muted);
}

.lookup {
  display: flex;
  gap: 8px;
  align-items: stretch;
}

.lookup__field { position: relative; flex: 1 1 auto; min-width: 0; }

.lookup__input {
  font: inherit;
  font-size: 14px;
  width: 100%;
  padding: 10px 12px;
  color: var(--ink);
  background: var(--surface);
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-s);
}

.lookup__input:focus-visible {
  outline: 2px solid var(--select);
  outline-offset: 1px;
  border-color: var(--select);
}

.lookup__input::placeholder { color: var(--muted); }
.lookup__input:disabled { background: var(--surface-sunk); color: var(--muted); }

@media (pointer: coarse) {
  .lookup__input { font-size: 16px; }
}

.lookup__menu {
  position: absolute;
  z-index: 20;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  
  max-height: min(70vh, 480px);
  overflow-y: auto;
  padding: 4px;
  background: var(--surface);
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-s);
  box-shadow: 0 6px 20px rgb(0 0 0 / 0.10);
}

.lookup__opt {
  display: flex;
  align-items: baseline;
  gap: 8px;
  width: 100%;
  padding: 6px 8px;
  border: 0;
  border-radius: 5px;
  background: none;
  font: inherit;
  font-size: 13px;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.lookup__opt:hover,
.lookup__opt.is-picked { background: var(--field); }

.lookup__group {
  margin: 4px -4px 0;
  padding: 4px 4px 0;
  border-top: 1px solid var(--border);
}

.lookup__grouphead {
  padding: 2px 8px 5px;
  font-size: 11px;
  color: var(--muted);
}

.lookup__opt.is-warned:hover,
.lookup__opt.is-warned.is-picked {
  box-shadow: inset 0 0 0 999px rgb(0 0 0 / 0.06);
}

.lookup__opt-answer b { font-weight: 500; }

.lookup__opt-answer { flex: 0 1 auto; min-width: 0; overflow-wrap: anywhere; }

.lookup__opt .chip { flex: none; margin: 0; }
.lookup__opt .chip + .chip { margin-left: -4px; }

.lookup__opt-count { flex: none; margin-left: auto; font-size: 11px; color: var(--muted); }

.scope--bare { margin: 12px 0 0; }

.answers th.col-num { text-align: right; }

.answers td.c-key,
.answers td.c-length,
.answers td.c-counts,
.answers td.c-score,
.answers--venues td.c-year {
  font-family: var(--font-num);
  font-variant-numeric: tabular-nums;
}

.selected__clues { margin-top: 7px; font-size: 12.5px; }

.selected__clues > .selected__rowlabel {
  display: block;
  margin-bottom: 6px;
}

.answers--venues .c-venue { width: 30ch; }

.answers--venues .c-year { width: 9ch; }
.answers--venues .c-clue { width: auto; }
.answers--venues .c-venue code { margin-left: 4px; }

.answers--venues td.c-venue {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.answers--venues td.c-clue { white-space: normal; }

.answers--venues th { white-space: normal; }

.answers--venues tbody tr { cursor: default; }

@media (max-width: 560px) {
  .lookup { flex-wrap: wrap; }
  .lookup__field { flex-basis: 100%; }
  .lookup .btn { flex: 1 1 auto; }
}

@media (max-width: 800px) {
  .answers--venues { display: block; }
  .answers--venues thead { display: none; }

  .answers--venues tbody { display: grid; gap: 8px; }

  .answers--venues tbody tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    
    grid-template-areas:
      "venue year"
      "clue  .";
    column-gap: 10px;
    row-gap: 3px;
    padding: 8px 10px;
    
    border: 1px solid var(--border);
    border-radius: var(--radius-s);
  }

  .answers--venues tbody tr:hover td { box-shadow: none; }

  .answers--venues tbody td {
    display: block;
    padding: 0;
    border-bottom: 0;
  }

  .answers--venues .c-venue,
  .answers--venues .c-year,
  .answers--venues .c-clue { width: auto; }

  .answers--venues td.c-venue {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
  }

  .answers--venues .clamp,
  .answers--venues .clamp--2 {
    display: block;
    overflow: visible;
    -webkit-line-clamp: none;
  }

  .answers--venues td.c-venue { grid-area: venue; font-weight: 500; }

  .answers--venues td.c-year { grid-area: year; color: var(--muted); }

  .answers--venues td.c-clue {
    grid-area: clue;
    color: var(--ink-soft);
    
    overflow-wrap: break-word;
  }
}
