/* English and Korean pages only (generated by scripts/i18n/build.py).
   Free fonts, all SIL OFL: English headings Zen Kaku Gothic New, body Noto Sans;
   Korean headings SUIT, body Pretendard. The Japanese page never loads this. */
html[lang="en"] {
  --body: "Noto Sans", sans-serif;
  --display: "Zen Kaku Gothic New", "Noto Sans", sans-serif;
  --lf-head: "Zen Kaku Gothic New", "Noto Sans", sans-serif;
  --lf-body: "Noto Sans", sans-serif;
}
html[lang="ko"] {
  --body: "Pretendard", "Apple SD Gothic Neo", sans-serif;
  --display: "SUIT", "Pretendard", sans-serif;
  --lf-head: "SUIT", "Pretendard", sans-serif;
  --lf-body: "Pretendard", "Apple SD Gothic Neo", sans-serif;
}
/* Korean breaks between words, not inside them. */
html[lang="ko"] body { word-break: keep-all; overflow-wrap: break-word; }

/* The few rules that name Noto Sans JP directly. */
html:not([lang="ja"]) .source-info-dialog :is(small, h2, p) { font-family: var(--body); }

/* Copy of the leaflet over the text-free artwork: absolutely placed at the
   PDF positions, sized in cqw like the rest of the desktop replica. */
.lf-layer { position: absolute; inset: 0; pointer-events: none; }
.lf { position: absolute; margin: 0; font-kerning: normal; }
.lf-head { font-family: var(--lf-head); font-weight: 900; }
.lf-body { font-family: var(--lf-body); font-weight: 700; }
html[lang="ko"] .lf-head { letter-spacing: -.01em; }
/* The yellow marker the leaflet draws under three 空き家 headings, as seen
   over the green ground (#ffe33f multiplied), sized to the translated words. */
.lf-mark span {
  text-decoration: underline;
  text-decoration-color: #d8ca28;
  text-decoration-thickness: .46em;
  text-underline-offset: -.34em;
  text-decoration-skip-ink: none;
}
html:not([lang="ja"]) .source-akiya-marks { display: none; }

/* Headings that are A1 Gothic outlines on the Japanese page. The hero menu
   positions every <span> in its links; the live text must not be moved twice. */
html:not([lang="ja"]) .source-hero-menu a .a1-text--live,
html:not([lang="ja"]) .source-hero-title .a1-text--live {
  position: static;
  color: inherit;
  font-size: inherit;
}
.a1-text--live {
  display: inline-block;
  font-family: var(--lf-head);
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
  letter-spacing: 0;
}

/* Map: the art here has no drawn names, so every pin shows its label chip
   (the Japanese page hides them on wider screens because the art names them),
   and the airport, which is not a pin, gets a plain label. */
html:not([lang="ja"]) .exact-source :is(.source-map-redesign__canvas, .map-stage) > :is(.source-map-pin, .map-pin) span {
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  border: 1px solid rgba(32, 63, 55, .24);
  border-radius: 999px;
  background: rgba(255, 253, 244, .96);
  color: var(--exact-ink);
  font-family: var(--body);
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
}
html:not([lang="ja"]) .exact-source .source-map-redesign__canvas > .source-map-pin span { padding: .28cqw .6cqw; font-size: .98cqw; }
html:not([lang="ja"]) .exact-source .map-stage > .map-pin span { padding: 3px 7px; font-size: 10px; }
html:not([lang="ja"]) .exact-source :is(.source-map-redesign__canvas, .map-stage) > :is(.source-map-pin, .map-pin):is(:hover, :focus-visible, .active) span { background: #f3c84d; }
.map-airport-label {
  position: absolute;
  z-index: 4;
  transform: translate(-50%, -50%);
  color: #231815;
  font-family: var(--lf-head);
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
  pointer-events: none;
}
.source-map-redesign__canvas .map-airport-label { font-size: 1.15cqw; }
.map-stage .map-airport-label { font-size: 11px; }
