/* Horizontal movement belongs to the readable surface. These rules only apply
   after JS has supplied navigation; Show all restores the original layouts. */
html[data-world="overworld"] .chapter-book {
  min-width: 0;
  max-width: 100%;
  color: var(--world-text);
  background: var(--world-surface);
}

html[data-world="overworld"] .chapter-book__controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 12px;
  padding-block: 4px 10px;
  border-bottom: 1px solid var(--world-border);
}

html[data-world="overworld"] .chapter-book__paging {
  display: flex;
  align-items: center;
  gap: 4px;
}

html[data-world="overworld"] .chapter-book__controls button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  min-width: 44px;
  min-height: 44px;
  padding: 8px 12px;
  border: 1px solid var(--world-border);
  border-radius: 0;
  color: var(--world-text);
  background: var(--world-surface);
  box-shadow: none;
  font: 500 14px/1.3 "Exo 2", sans-serif;
  cursor: pointer;
}

html[data-world="overworld"] .chapter-book__controls .chapter-book__arrow {
  padding: 8px;
  font-size: 22px;
}

html[data-world="overworld"] .chapter-book__controls button:hover:not(:disabled) {
  color: var(--world-accent);
  border-color: var(--world-accent);
  background: var(--world-raised);
}

html[data-world="overworld"] .chapter-book__controls button:disabled {
  color: var(--world-muted);
  opacity: .4;
  cursor: default;
}

html[data-world="overworld"] .chapter-book__count {
  min-width: 50px;
  padding-inline: 4px;
  color: var(--world-muted);
  text-align: center;
  white-space: nowrap;
  font: 12px/1.5 "JetBrains Mono", monospace;
}

html[data-world="overworld"] .chapter-book__hint {
  margin: 10px 0 12px;
  color: var(--world-muted);
  font: 13px/1.5 "Exo 2", sans-serif;
}

html[data-world="overworld"] .chapter-book:not(.chapter-book--expanded) > .chapter-book__rail {
  position: relative;
  display: flex;
  align-items: stretch;
  gap: 20px;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0 0 12px;
  border: 0;
  overflow-x: auto;
  scroll-snap-type: x proximity;
  scroll-behavior: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--world-border) var(--world-surface);
}

html[data-world="overworld"] .chapter-book:not(.chapter-book--expanded) > .chapter-book__rail > .chapter-book__page {
  flex: 0 0 100%;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  scroll-snap-align: start;
  overflow-wrap: anywhere;
  font-size: 18px;
  line-height: 1.7;
}

html[data-world="overworld"] .chapter-book:not(.chapter-book--expanded) .work-entry {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  padding: 22px;
  border: 1px solid var(--world-border);
  background: var(--world-surface);
}

html[data-world="overworld"] .chapter-book:not(.chapter-book--expanded) .work-emblem {
  width: 52px;
  height: 52px;
  padding: 9px;
}

html[data-world="overworld"] .chapter-book:not(.chapter-book--expanded) .work-emblem svg {
  width: 30px;
  height: 30px;
}

html[data-world="overworld"] .chapter-book:not(.chapter-book--expanded) .work-entry .work-entry__body {
  display: block !important;
  min-width: 0;
}

html[data-world="overworld"] .chapter-book:not(.chapter-book--expanded) .work-entry__description {
  max-width: 70ch;
  font-size: 18px !important;
  line-height: 1.7;
}

html[data-world="overworld"] .chapter-book:not(.chapter-book--expanded) .work-entry h4 {
  font-size: clamp(22px, 2.2vw, 28px);
}

html[data-world="overworld"] .chapter-book:not(.chapter-book--expanded) .work-entry .work-entry__tags { margin-top: 18px; }
html[data-world="overworld"] .chapter-book:not(.chapter-book--expanded) .work-entry .work-entry__action { margin-top: 22px; }
html[data-world="overworld"] .chapter-book:not(.chapter-book--expanded) .work-entries { border: 0; }
html[data-world="overworld"] .chapter-book:not(.chapter-book--expanded) .work-entry:focus-visible { outline-offset: -3px !important; }

html[data-world="overworld"] .chapter-book:not(.chapter-book--expanded) .home-principle {
  display: grid;
  align-content: start;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
  padding: 22px 0;
  border: 0;
}

html[data-world="overworld"] .chapter-book:not(.chapter-book--expanded) .home-principle__label { margin: 0; }
html[data-world="overworld"] .chapter-book:not(.chapter-book--expanded) .home-principle > div { max-width: 70ch; }

html[data-world="overworld"] .chapter-book:not(.chapter-book--expanded) .home-timeline__entry {
  display: grid;
  align-content: start;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  padding: 22px 0;
  border: 0;
}

html[data-world="overworld"] .chapter-book:not(.chapter-book--expanded) .home-timeline__date {
  margin: 0;
  padding: 0;
  border: 0;
}

html[data-world="overworld"] .chapter-book:not(.chapter-book--expanded) .home-timeline__body {
  padding: 0;
  border: 0;
}

html[data-world="overworld"] .chapter-book:not(.chapter-book--expanded) .home-timeline__body::before { display: none; }
html[data-world="overworld"] .chapter-book:not(.chapter-book--expanded) .home-timeline__roles li { display: block; }
html[data-world="overworld"] .chapter-book:not(.chapter-book--expanded) .home-timeline__roles span { display: block; margin-top: 3px; }

@media (max-width: 700px) {
  html[data-world="overworld"] .chapter-book:not(.chapter-book--expanded) > .chapter-book__rail > .chapter-book__page,
  html[data-world="overworld"] .chapter-book:not(.chapter-book--expanded) .work-entry__description { font-size: 16px !important; }
  html[data-world="overworld"] .chapter-book:not(.chapter-book--expanded) .work-entry { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; padding: 16px; }
  html[data-world="overworld"] .chapter-book:not(.chapter-book--expanded) .work-emblem { width: 44px; height: 44px; padding: 7px; }
  html[data-world="overworld"] .chapter-book:not(.chapter-book--expanded) .work-emblem svg { width: 28px; height: 28px; }
  html[data-world="overworld"] .chapter-book__controls { gap: 8px; }
  html[data-world="overworld"] .chapter-book__controls .chapter-book__toggle { padding-inline: 9px; }
}

@media print {
  html[data-world="overworld"] .chapter-book__controls,
  html[data-world="overworld"] .chapter-book__hint { display: none !important; }
  html[data-world="overworld"] .chapter-book > .chapter-book__rail { display: block !important; overflow: visible !important; }
  html[data-world="overworld"] .chapter-book > .chapter-book__rail > .chapter-book__page { width: 100%; break-inside: avoid; }
}
