/* WORLD follows the existing CHEF register and PHILOSOPHY reading layout. */
.world-atlas { color: var(--color-foreground); background: var(--color-background); }
.world-atlas__scroll { position: absolute; inset: 0; }
.world-atlas__intro {
  position: absolute; top: calc(21vh + 30px);
  left: calc(var(--page-padding-horizontal) + 9.375rem - 50px);
  display: flex; align-items: baseline; gap: var(--space-3);
}
.world-atlas__meta, .world-atlas__number { font: 300 var(--font-size-xs)/1.6 var(--font-mono); letter-spacing: var(--letter-spacing-wider); }
.world-atlas__intro > .world-atlas__meta { font-size: var(--font-size-xs); }
.world-atlas__heading { font: 400 clamp(1.5rem, 2.5vw, 2.5rem)/1 var(--font-interface); letter-spacing: var(--letter-spacing-wide); }
.world-atlas__overview {
  position: absolute; top: calc(31vh + 30px);
  left: calc(var(--page-padding-horizontal) + 9.375rem - 50px);
  width: clamp(11.2rem, 18.2vw, 16.8rem);
  bottom: 12vh; overflow-y: auto; scrollbar-width: none;
}
.world-atlas button { color: inherit; font-family: var(--font-interface); cursor: pointer; touch-action: manipulation; }
.world-atlas__country { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); align-items: center; width: 100%; padding: .875rem 0; border-top: var(--border-thin); text-align: left; }
.world-atlas__country:last-child { border-bottom: var(--border-thin); }
.world-atlas__number { opacity: .4; font-size: var(--font-size-xs); }
.world-atlas__country-label { font-size: clamp(.6875rem, .9vw, .875rem); letter-spacing: var(--letter-spacing-wide); overflow-wrap: anywhere; transition: transform 250ms; }
.world-atlas__country:hover .world-atlas__country-label, .world-atlas__country[aria-pressed="true"] .world-atlas__country-label { transform: translateX(.35rem); }
.world-atlas__country[aria-pressed="true"] .world-atlas__number { opacity: 1; }
.world-atlas button:focus-visible, .world-atlas a:focus-visible { outline: 1px solid currentColor; outline-offset: -2px; }
.world-atlas__detail { position: absolute; top: calc(21vh + 30px); right: var(--page-padding-horizontal); bottom: 12vh; left: clamp(27rem, 39vw, 42rem); overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; scrollbar-width: none; padding-right: .75rem; }
.world-atlas__detail[hidden] { display: none; }
.world-atlas__back { display: inline-block; font: 300 var(--font-size-xs)/1.5 var(--font-mono) !important; opacity: .6; min-height: 2.75rem; margin-bottom: .6rem; }
.world-atlas__stations > .world-atlas__meta { opacity: .45; margin-bottom: .875rem; }
.world-atlas__country-title { font: 400 clamp(2rem, 3.7vw, 4.25rem)/.92 var(--font-interface); letter-spacing: .025em; overflow-wrap: anywhere; }
.world-atlas__country-title:focus { outline: none; }
.world-atlas__places { list-style: none; margin: 2rem 0 0; padding: 0; display: flex; flex-wrap: wrap; column-gap: 1.5rem; border-top: var(--border-thin); border-bottom: var(--border-thin); }
.world-atlas__place-button { display: flex; gap: .7rem; align-items: baseline; text-align: left; min-height: 2.75rem; padding: .8rem 0; font-size: clamp(.6875rem, .9vw, .875rem); letter-spacing: var(--letter-spacing-wide); }
.world-atlas__place-button[aria-pressed="true"] { text-decoration: underline; text-underline-offset: .4rem; }
.world-atlas__years { font: 300 var(--font-size-xs)/1.5 var(--font-mono); opacity: .5; white-space: nowrap; }
.world-atlas__story { margin-top: 2rem; }
.world-atlas__story-title { font: 400 clamp(1rem, 1.55vw, 1.5rem)/1.3 var(--font-interface); letter-spacing: .04em; overflow-wrap: anywhere; }
.world-atlas__story > .world-atlas__meta { opacity: .45; margin-top: .5rem; }
.world-atlas__text-grid { margin-top: 2rem; border-bottom: var(--border-thin); }
.world-atlas__text { position: relative; display: grid; grid-template-columns: minmax(7rem, .65fr) minmax(0, 1.6fr); gap: 1.5rem; padding: 1.4rem 0 1.4rem 2.5rem; border-top: var(--border-thin); align-items: start; }
.world-atlas__text::before { content: ''; position: absolute; top: 1.8rem; left: 0; width: .4375rem; height: .4375rem; border: 1px solid currentColor; }
.world-atlas__text > .world-atlas__meta { font-family: var(--font-interface); font-weight: 400; font-size: clamp(.6875rem, .9vw, .875rem); letter-spacing: var(--letter-spacing-wide); }
.world-atlas__body { font: 400 clamp(.625rem, .78vw, .75rem)/1.45 var(--font-interface); letter-spacing: .035em; color: rgb(27 27 25 / 52%); overflow-wrap: anywhere; }
.world-atlas__external { display: inline-block; margin-top: 1rem; font-size: .8rem; text-underline-offset: .2rem; }
.world-atlas__external[hidden] { display: none; }
.world-atlas__sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (min-width: 48rem) and (max-width: 70rem) {
  .world-atlas__text { grid-template-columns: 1fr; gap: .6rem; padding-left: 1.5rem; }
}
@media (max-width: 47.999rem) {
  .world-atlas__intro { top: 20vh; left: var(--mobile-edge); right: var(--mobile-edge); gap: .7rem; }
  .world-atlas__intro > .world-atlas__meta { font-size: .5rem; }
  .world-atlas__heading { font-size: clamp(1.45rem, 8vw, 2rem); letter-spacing: .08em; }
  .world-atlas__overview { top: 31vh; left: var(--mobile-edge); width: clamp(10.5rem, 48vw, 13rem); bottom: calc(4.8rem + env(safe-area-inset-bottom)); }
  .world-atlas__country { min-height: 3.2rem; padding: 0; grid-template-columns: 2.65rem 1fr; }
  .world-atlas__country-label { font-size: clamp(.66rem, 3vw, .78rem); letter-spacing: .13em; }
  .world-atlas__number { font-size: .48rem; }
  .world-atlas[data-country-state="open"] .world-atlas__intro,
  .world-atlas[data-country-state="open"] .world-atlas__overview { display: none; }
  .world-atlas__detail { top: 18vh; left: var(--mobile-edge); right: var(--mobile-edge); bottom: calc(4.8rem + env(safe-area-inset-bottom)); padding-right: .2rem; }
  .world-atlas__country-title { font-size: clamp(1.65rem, 8.5vw, 2.2rem); line-height: .94; }
  .world-atlas__stations > .world-atlas__meta, .world-atlas__story > .world-atlas__meta, .world-atlas__years { font-size: .48rem; letter-spacing: .16em; }
  .world-atlas__story-title { font-size: clamp(.9rem, 4.5vw, 1.15rem); }
  .world-atlas__story > .world-atlas__meta { font-size: .5rem; }
  .world-atlas__places { margin-top: 1.4rem; display: block; }
  .world-atlas__place-button { width: 100%; justify-content: space-between; font-size: clamp(.66rem, 3vw, .78rem); gap: .5rem; }
  .world-atlas__text-grid { margin-top: 1.4rem; }
  .world-atlas__text { grid-template-columns: 1fr; gap: .65rem; padding: 1rem 0 1rem 1.8rem; }
  .world-atlas__text::before { top: 1.35rem; }
  .world-atlas__text > .world-atlas__meta { font-size: clamp(.7rem, 3.25vw, .82rem); line-height: 1.2; letter-spacing: .14em; }
  .world-atlas__body { font-size: clamp(.62rem, 2.9vw, .74rem); line-height: 1.5; }
}
@media (min-width: 70.001rem) {
  .world-atlas__back { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .world-atlas__country-label { transition: none; }
}

/* Keep native scrolling without a visible scrollbar, matching CHEF. */
.world-atlas__overview::-webkit-scrollbar,
.world-atlas__detail::-webkit-scrollbar { display: none; width: 0; height: 0; }
