.discover-atlas {
  --atlas-ink: #eee8dc;
  --atlas-muted: #9ca29f;
  --atlas-line: #67756b;
  --atlas-route: #dab180;
  --atlas-selected: #f5d0a0;
  --atlas-accent: #dca36a;
  position: relative;
  color: var(--atlas-ink);
  border: 1px solid #ddd9c41c;
  border-radius: 5px;
  background: #0e1213;
  overflow: hidden;
}
.discover-atlas--lateral {
  --atlas-line: #9e78ab;
  --atlas-route: #b294c9;
  --atlas-selected: #d7bce9;
  --atlas-accent: #b294c9;
  border-color: #9e78ab66;
  background: #141018;
}
.discover-atlas:focus { outline: none; }
.discover-atlas:focus-visible { outline: 2px solid var(--atlas-accent); outline-offset: 3px; }
.discover-atlas__mode { display: flex; align-items: center; justify-content: space-between; gap: 14px 28px; padding: 20px 30px; border-bottom: 1px solid #d6d5bf16; }
.discover-atlas__description { margin: 0; color: #b1b6b2; font-size: 13px; line-height: 1.65; }
.discover-atlas--lateral .discover-atlas__description { color: #c5b4ce; }
.discover-atlas__back { flex: 0 0 auto; padding: 8px 11px; border: 1px solid #9e78ab80; border-radius: 4px; background: #9e78ab14; color: #dec6ec; cursor: pointer; font: inherit; font-size: 12px; }
.discover-atlas__back[hidden] { display: none; }
.discover-atlas__back:hover { background: #9e78ab2b; }
.discover-atlas__back:focus-visible { outline: 2px solid var(--atlas-accent); outline-offset: 4px; }
.discover-atlas__scroll {
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-color: #647168 #131718;
  scrollbar-width: thin;
}
.discover-atlas__scroll:focus-visible { outline: 2px solid var(--atlas-accent); outline-offset: -3px; }
.discover-atlas__svg { display: block; width: 100%; height: auto; overflow: visible; }
.discover-atlas--portrait .discover-atlas__svg { max-width: 440px; margin-inline: auto; }
.discover-atlas--portrait .discover-atlas__book { font-size: 11px; }
.discover-atlas--portrait .discover-atlas__level { font-size: 10px; letter-spacing: .1px; }
.discover-atlas--portrait .discover-atlas__scroll { overflow-x: hidden; }
.discover-atlas__author { fill: var(--atlas-ink); font-family: Georgia, 'Times New Roman', serif; font-size: 29px; letter-spacing: -.7px; }
.discover-atlas__book { fill: var(--atlas-muted); font-family: inherit; font-size: 11px; }
.discover-atlas__level { fill: #aab0aa; font-family: inherit; font-size: 10px; letter-spacing: .7px; }
.discover-atlas__guide { stroke: #81938a0b; stroke-width: 1; }
.discover-atlas__edge { fill: none; stroke: var(--atlas-line); stroke-width: .9; opacity: .26; transition: stroke .2s, opacity .2s, stroke-width .2s; }
.discover-atlas__edge.is-route { stroke: var(--atlas-route); stroke-width: 1.65; opacity: .9; }
.discover-atlas__node { cursor: pointer; outline: none; }
.discover-atlas__hit { fill: transparent; stroke: none; }
.discover-atlas__point { fill: var(--atlas-node); stroke: #0e1213; stroke-width: 1.6; opacity: .63; transition: fill .2s, opacity .2s, stroke .2s; }
.discover-atlas__node--source .discover-atlas__point { fill: #111816; stroke: var(--atlas-node); stroke-width: 1.3; }
.discover-atlas__node.is-route .discover-atlas__point { opacity: 1; stroke: var(--atlas-route); stroke-width: 1.4; }
.discover-atlas__node.is-selected .discover-atlas__point { fill: var(--atlas-selected); stroke: var(--atlas-selected); }
.discover-atlas__node:hover .discover-atlas__point,
.discover-atlas__node:focus-visible .discover-atlas__point { opacity: 1; stroke: #f7ead8; stroke-width: 2.4; }
.discover-atlas__node:focus-visible .discover-atlas__hit { stroke: #f7ead8; stroke-width: 1; }
.discover-atlas__node--xr .discover-atlas__point { fill: #251a2d; stroke: #9e78ab; stroke-width: 1; opacity: 1; }
.discover-atlas__lateral-mark { fill: none; stroke: #d7bce9; stroke-width: 1.2; }
.discover-atlas__lateral-label { fill: #c5acd8; font-family: inherit; font-size: 11px; letter-spacing: .4px; }
.discover-atlas--lateral .discover-atlas__node { --atlas-node: #9e78ab !important; }
.discover-atlas--lateral .discover-atlas__open { color: #d7bce9; border-color: #9e78ab80; }
.discover-atlas--lateral .discover-atlas__selection-label { color: #bca2ce; }
.discover-atlas__footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 0 30px; padding: 21px 0; border-top: 1px solid #d6d5bf16; }
.discover-atlas__selection { display: grid; gap: 5px; min-width: 0; }
.discover-atlas__selection-label { color: #b3a18a; font-size: 10px; letter-spacing: 1.25px; text-transform: uppercase; }
.discover-atlas__selection-title { color: var(--atlas-ink); font-family: Georgia, 'Times New Roman', serif; font-size: 19px; line-height: 1.35; }
.discover-atlas__open { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 20px; padding: 9px 0; background: transparent; border: 0; border-bottom: 1px solid #bc976059; border-radius: 0; color: #e7ceb0; cursor: pointer; font: inherit; font-size: 13px; line-height: 1.4; }
.discover-atlas__open:hover { color: #fff0d9; border-color: #bc9760; }
.discover-atlas__open:focus-visible { outline: 2px solid var(--atlas-accent); outline-offset: 5px; }
.discover-atlas__note { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px 20px; padding: 14px 30px; margin: 0; color: #969e97; background: #ffffff02; border-top: 1px solid #d6d5bf0e; font-size: 10px; line-height: 1.65; }
.discover-atlas__error { padding: 30px; color: #c8c6bd; }
.discover-atlas__error a { color: #e4bc8e; }
@media (max-width: 700px) {
  .discover-atlas__mode { align-items: flex-start; flex-direction: column; padding: 16px 18px; gap: 12px; }
  .discover-atlas__description { font-size: 12px; }
  .discover-atlas__footer { margin: 0 18px; padding: 18px 0; }
  .discover-atlas__selection-title { font-size: 17px; }
  .discover-atlas__open { gap: 9px; font-size: 12px; }
  .discover-atlas__note { padding: 12px 18px; font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .discover-atlas__edge, .discover-atlas__point { transition: none; }
}
