.diaspora-page {
  --paper: #f0fafa;
  --cream: #f7fcfc;
  --surface: #e0f2f1;
  --ink: #0f2b2b;
  --muted: #3d5a5a;
  --rule: #bcd7d5;
  --red: #08776e;
  --red-dark: #0f2b2b;
  --honey: #64b7a4;
  --honey-light: #e0f2f1;
  --d-red: #08776e;
  --d-ink: #0f2b2b;
  --d-secondary: #3d5a5a;
  --d-rule: #bcd7d5;
  --dx-night: #0f2b2b;
  --dx-paper: #f0fafa;
  --dx-ink: #0f2b2b;
  --dx-red: #08776e;
  --dx-wine: #08665f;
  --dx-light-red: #58d7c2;
  --dx-red-on-night: #91e3d6;
  --dx-gold: #64b7a4;
  --dx-gold-light: #b8eb7c;
  --dx-gold-ink: #365c57;
  --dx-inverse-muted: #cce8e7;
  --dx-rule-light: #bcd7d5;
  --dx-rule-dark: #74b8b477;
}

.diaspora-page .dx-intro {
  background: radial-gradient(ellipse at 77% 47%, #1b4948, var(--dx-night) 67%);
}
.diaspora-page .dx-intro :focus-visible { outline-color: var(--dx-gold-light); }

.diaspora-page .dx-atlas[open] {
  background: radial-gradient(ellipse at 72% 41%, #183d40, var(--dx-night) 63%);
}

.diaspora-page .dx-intro-top,
.diaspora-page .dx-intro-actions :is(.dx-start, .dx-atlas-link),
.diaspora-page .dx-intro-actions .dx-start:first-child,
.diaspora-page .dx-intro-visual,
.diaspora-page .dx-intro-visual figcaption,
.diaspora-page .dx-atlas-top {
  border-color: var(--dx-rule-dark);
}

.diaspora-page :is(.dx-intro-visual, .dx-map-plate, .dx-crossing-chart span) { background-color: var(--dx-night); }
.diaspora-page .dx-intro-visual text { fill: var(--dx-gold-light); stroke: var(--dx-night); }
.diaspora-page .dx-intro .dx-intro-description,
.diaspora-page .dx-intro-visual figcaption span,
.diaspora-page .dx-atlas .diaspora-movement-head > p:last-child,
.diaspora-page .dx-atlas-index-list button small,
.diaspora-page .dx-atlas .dx-atlas-route-notes .diaspora-globe-scale { color: var(--dx-inverse-muted); }

.diaspora-page .dx-bar { background-color: #f0fafaf8; }
.diaspora-page .dx-story-nav-links { border-color: var(--dx-rule-light); box-shadow: 0 12px 28px #0f2b2b24; }
.diaspora-page :is(.dx-story-nav-links a + a, .dx-place-links a, .dx-art-label, .dx-plate-route, .dx-notes > details) { border-color: var(--dx-rule-light); }
.diaspora-page :is(.dx-place-links, .dx-plate-dispatch, .dx-plate-archive, .dx-plate-number) { background-color: var(--surface); }
.diaspora-page .dx-chapter[data-period="exile"] { --dx-chapter-bg: #e8f6f6; }
.diaspora-page .dx-chapter[data-period="work"] { --dx-chapter-bg: #f4faf7; }
.diaspora-page .dx-chapter::before {
  background: repeating-radial-gradient(ellipse at 50% 114%, transparent 0 16%, #64b7a416 16.1% 16.22%, transparent 16.3% 18%);
}
.diaspora-page .dx-place { color: #cde6e3; }
.diaspora-page :is(.dx-crossing-note, .dx-story, .dx-art-label, .dx-testimony-legs, .dx-plate-caption) { color: var(--muted); }
.diaspora-page :is(.dx-plate-caption > strong, .dx-plate-dispatch, .dx-plate-archive, .dx-plate-number) { color: var(--dx-ink); }
.diaspora-page .dx-notes a { color: var(--dx-wine); }
.diaspora-page .dx-afterword a { color: var(--dx-inverse-muted); }
.diaspora-page .dx-progress { color: var(--dx-ink); }
.diaspora-page .dx-progress > span:first-child { background-color: #f0fafaf4; }
.diaspora-page .dx-progress > span:last-child {
  background: radial-gradient(var(--dx-paper) 64%, transparent 66%), conic-gradient(var(--dx-red) var(--dx-progress), var(--dx-rule-light) 0);
}
.diaspora-page .dx-atlas-index-list { border-color: var(--dx-rule-dark); background-color: #183d40; }
.diaspora-page .dx-atlas-index-list button:is(:hover, [aria-current="true"]) { background-color: #24504e; }
.diaspora-page .dx-atlas .diaspora-globe-viewport { background: radial-gradient(ellipse at 50% 49%, #337e7832, transparent 68%); }
.diaspora-page .dx-atlas .diaspora-globe-label { background-color: #0f2b2bf2; }
html.dx-atlas-open:has(.diaspora-page) { background: #0f2b2b; }

/* The place list is available to fragment links and readers without JavaScript. */
html.dx-enhanced .diaspora-page #escales:not(:target):not(:has(:target)) { display: none; }
.diaspora-page :is(#escales, #mouvements, #globe) { scroll-margin-top: var(--dx-bar); }
.diaspora-page #escales > span[id] { display: block; }
