/* One surface language for every floating card: the era panel, the search
   dialog and the reader. Thin glass over the sky instead of opaque slabs —
   one radius scale, hairline borders, a single warm accent. Loaded last. */
#stellar-wave {
  --sf-ink: var(--cosmos-title);
  --sf-text: var(--cosmos-text);
  --sf-muted: var(--cosmos-muted);
  --sf-gold: var(--cosmos-accent);
  --sf-gold-soft: var(--cosmos-selected);
  --sf-gold-line: var(--cosmos-line-strong);
  --sf-hair: var(--cosmos-line);
  --sf-hair-strong: var(--cosmos-line-strong);
  --sf-fill: var(--cosmos-wash);
  --sf-fill-hover: var(--cosmos-selected);
  --sf-surface: var(--cosmos-reading);
  --sf-surface-solid: var(--cosmos-bar);
  --sf-edge: inset 0 1px 0 rgb(255 255 255 / .055);
  --sf-shadow: 0 30px 60px -28px rgb(0 0 0 / .75), 0 2px 10px rgb(0 0 0 / .18);
  --sf-r-lg: 16px;
  --sf-r-md: 12px;
  --sf-r-sm: 8px;
  --sf-sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Noto Sans CJK SC", sans-serif;
  --sf-ease: cubic-bezier(.16, 1, .3, 1);
}

/* ---------- Pills: chips, scope tabs and filters share one control ----------
   The visible pill is 30px tall; transparent top/bottom borders keep the
   tappable box at 44px. */
#stellar-wave .sw-region-eras button,
#stellar-wave .sw-region-members button,
#stellar-wave .sw-region-filters button,
#stellar-wave .sw-region-culture-scope button,
#stellar-wave .sw-atlas-scopes button {
  min-height: 44px;
  padding: 4px 13px;
  border: 7px solid transparent;
  border-inline-width: 0;
  border-radius: 999px;
  background: var(--sf-fill) padding-box;
  box-shadow: inset 0 0 0 1px var(--sf-hair);
  font: 12px/1.6 var(--sf-sans);
  letter-spacing: .04em;
  color: var(--sf-text);
  transition: background-color 160ms ease, box-shadow 160ms ease, color 160ms ease;
}
#stellar-wave .sw-region-eras button:hover,
#stellar-wave .sw-region-members button:hover,
#stellar-wave .sw-region-filters button:hover,
#stellar-wave .sw-region-culture-scope button:hover,
#stellar-wave .sw-atlas-scopes button:hover {
  background-color: var(--sf-fill-hover);
  box-shadow: inset 0 0 0 1px var(--sf-hair-strong);
  color: var(--sf-ink);
}
#stellar-wave .sw-region-eras [aria-pressed="true"],
#stellar-wave .sw-region-members [aria-pressed="true"],
#stellar-wave .sw-region-filters [aria-pressed="true"],
#stellar-wave .sw-region-culture-scope [aria-pressed="true"],
#stellar-wave .sw-atlas-scopes [aria-pressed="true"] {
  border-color: transparent;
  background-color: var(--sf-gold-soft);
  box-shadow: inset 0 0 0 1px var(--sf-gold-line);
  color: #f3e5c8;
}
#stellar-wave .sw-region-eras button:active,
#stellar-wave .sw-region-members button:active,
#stellar-wave .sw-region-filters button:active,
#stellar-wave .sw-region-culture-scope button:active,
#stellar-wave .sw-atlas-scopes button:active { transform: scale(.97); }
#stellar-wave .sw-region-eras button:focus-visible,
#stellar-wave .sw-region-members button:focus-visible,
#stellar-wave .sw-region-filters button:focus-visible,
#stellar-wave .sw-region-culture-scope button:focus-visible,
#stellar-wave .sw-atlas-scopes button:focus-visible { outline: 0; box-shadow: inset 0 0 0 1px var(--sf-gold), 0 0 0 3px rgb(220 201 164 / .18); }

/* ---------- Era panel ---------- */
#stellar-wave .sw-region-panel {
  padding: 20px 22px 18px;
  border: 1px solid var(--sf-hair);
  border-radius: var(--sf-r-lg);
  background: var(--sf-surface);
  box-shadow: var(--sf-edge), var(--sf-shadow);
  backdrop-filter: blur(20px) saturate(140%);
  -webkit-backdrop-filter: blur(20px) saturate(140%);
}
/* The card hugs its content instead of stretching to a fixed bottom edge. */
@media (min-width: 701px) and (min-height: 501px) {
  #stellar-wave .sw-region-panel { bottom: auto; width: min(360px, 30vw); max-height: calc(100% - 230px); }
}
#stellar-wave .sw-region-breadcrumb { min-height: 28px; gap: 0; margin: -4px 0 6px; font: 11px/1.6 var(--sf-sans); color: var(--sf-muted); }
#stellar-wave .sw-region-breadcrumb button { min-height: 32px; padding: 0 2px; font: 11px/1.6 var(--sf-sans); color: var(--sf-muted); transition: color 140ms ease; }
#stellar-wave .sw-region-breadcrumb button + button::before { content: "/"; margin: 0 8px; color: rgb(205 216 226 / .28); }
#stellar-wave .sw-region-breadcrumb button:last-child { color: var(--sf-text); }
#stellar-wave .sw-region-breadcrumb button:hover { color: var(--sf-ink); }
#stellar-wave .sw-region-head { min-height: 0; padding: 0 64px 14px 0; }
#stellar-wave .sw-region-head p { margin: 0 0 6px; font: 11px/1.6 var(--sf-sans); letter-spacing: .08em; color: var(--sf-muted); }
#stellar-wave .sw-region-head h2 { font-size: clamp(24px, 2.1vw, 30px); font-weight: 500; line-height: 1.35; letter-spacing: .1em; color: var(--sf-ink); }
#stellar-wave .sw-region-fold {
  top: 0;
  right: 0;
  width: auto;
  min-width: 44px;
  min-height: 44px;
  padding: 0 12px;
  border: 8px solid transparent;
  border-inline-width: 0;
  border-radius: 999px;
  background: var(--sf-fill) padding-box;
  box-shadow: inset 0 0 0 1px var(--sf-hair);
  font: 11px/1 var(--sf-sans);
  letter-spacing: .1em;
  color: var(--sf-text);
  transition: background-color 160ms ease, color 160ms ease;
}
#stellar-wave .sw-region-fold:hover { background-color: var(--sf-fill-hover); color: var(--sf-ink); }
#stellar-wave .sw-region-fold::after { content: ""; display: inline-block; width: 5px; height: 5px; margin: 0 0 2px 7px; border: solid currentColor; border-width: 0 1px 1px 0; transform: rotate(-135deg); vertical-align: middle; opacity: .7; }
#stellar-wave .sw-region-fold[aria-expanded="false"]::after { transform: rotate(45deg); margin-bottom: 4px; }
#stellar-wave .sw-region-scroll { padding: 0 6px 18px 0; margin-right: -6px; -webkit-mask-image: linear-gradient(to bottom, #000 calc(100% - 22px), transparent); mask-image: linear-gradient(to bottom, #000 calc(100% - 22px), transparent); }
#stellar-wave .sw-region-summary { margin: 0 0 16px; font: 13px/1.85 var(--sf-sans); letter-spacing: .02em; color: var(--sf-text); }
#stellar-wave .sw-region-eras,
#stellar-wave .sw-region-members,
#stellar-wave .sw-region-filters { gap: 0 8px; margin: 0 0 8px; }
#stellar-wave .sw-region-members > p { flex: 1 0 100%; margin: 6px 0 0; font: 11px/1.6 var(--sf-sans); letter-spacing: .08em; color: var(--sf-muted); }
#stellar-wave .sw-region-filters { margin-top: 6px; padding-top: 8px; border-top: 1px solid var(--sf-hair); }
#stellar-wave .sw-region-filters button { font-size: 11px; }
#stellar-wave .sw-region-culture-scope { gap: 0 8px; margin: 4px 0; }
#stellar-wave .sw-region-context { margin: 4px 0 6px; font: 12px/1.8 var(--sf-sans); color: var(--sf-muted); }
#stellar-wave .sw-region-context:empty { display: none; }
#stellar-wave .sw-region-count { margin: 14px 0 8px; font: 11px/1.6 var(--sf-sans); letter-spacing: .06em; color: var(--sf-muted); font-variant-numeric: tabular-nums; }

/* Picked record: an inset tile, not a second card. */
#stellar-wave .sw-region-pick {
  margin: 4px 0 16px;
  padding: 16px 16px 12px;
  border: 1px solid var(--sf-hair);
  border-radius: var(--sf-r-md);
  background: linear-gradient(180deg, rgb(220 201 164 / .07), rgb(196 210 222 / .025));
  box-shadow: var(--sf-edge);
}
#stellar-wave .sw-region-panel > .sw-region-pick { margin: 0 0 14px; }
#stellar-wave .sw-region-pick > small { display: block; font: 11px/1.6 var(--sf-sans); letter-spacing: .06em; color: var(--sf-gold); opacity: .85; }
#stellar-wave .sw-region-pick h3 { margin: 6px 0 8px; font-size: 19px; font-weight: 500; line-height: 1.5; letter-spacing: .04em; color: var(--sf-ink); }
#stellar-wave .sw-region-pick p { font: 13px/1.85 var(--sf-sans); color: var(--sf-text); }
#stellar-wave .sw-region-actions { gap: 8px; margin-top: 10px; }
#stellar-wave .sw-region-actions button {
  min-height: 44px;
  padding: 0 16px;
  border: 5px solid transparent;
  border-inline-width: 0;
  border-radius: 999px;
  background: transparent padding-box;
  box-shadow: inset 0 0 0 1px var(--sf-hair-strong);
  font: 12px/1 var(--sf-sans);
  letter-spacing: .06em;
  color: var(--sf-text);
  transition: background-color 160ms ease, box-shadow 160ms ease, color 160ms ease, transform 120ms ease;
}
#stellar-wave .sw-region-actions button:hover { background-color: var(--sf-fill-hover); color: var(--sf-ink); }
#stellar-wave .sw-region-actions button[data-region-action="read"] { background-color: var(--sf-gold); box-shadow: none; color: #17202a; font-weight: 500; }
#stellar-wave .sw-region-actions button[data-region-action="read"]:hover { background-color: #e8d8b8; }
#stellar-wave .sw-region-actions button:active { transform: scale(.97); }

/* Record list: quiet rows divided by hairlines; the row lights up on hover. */
#stellar-wave .sw-region-list { gap: 0; margin: 0 -10px; }
#stellar-wave .sw-region-list button {
  position: relative;
  min-height: 52px;
  margin: 0;
  padding: 11px 30px 11px 10px;
  border: 0;
  border-radius: var(--sf-r-sm);
  background: transparent;
  font: 14px/1.6 "Daguan Serif", "Songti SC", serif;
  color: var(--sf-text);
  transition: background-color 140ms ease, color 140ms ease;
}
#stellar-wave .sw-region-list button + button::before { content: ""; position: absolute; top: 0; left: 10px; right: 10px; height: 1px; background: var(--sf-hair); }
#stellar-wave .sw-region-list button:hover + button::before,
#stellar-wave .sw-region-list button[aria-pressed="true"] + button::before { opacity: 0; }
#stellar-wave .sw-region-list button::after { content: "→"; position: absolute; right: 10px; top: 50%; transform: translate(-4px, -50%); font: 12px/1 var(--sf-sans); color: var(--sf-gold); opacity: 0; transition: opacity 140ms ease, transform 200ms var(--sf-ease); }
#stellar-wave .sw-region-list button:hover,
#stellar-wave .sw-region-list button[aria-pressed="true"] { background: var(--sf-fill-hover); color: var(--sf-ink); }
#stellar-wave .sw-region-list button:hover::before,
#stellar-wave .sw-region-list button[aria-pressed="true"]::before { opacity: 0; }
#stellar-wave .sw-region-list button:hover::after,
#stellar-wave .sw-region-list button[aria-pressed="true"]::after { opacity: 1; transform: translate(0, -50%); }
#stellar-wave .sw-region-list strong { display: block; font-size: 14px; font-weight: 400; color: inherit; }
#stellar-wave .sw-region-list button small,
#stellar-wave .sw-region-list button span { margin-top: 2px; font: 11px/1.6 var(--sf-sans); letter-spacing: .03em; color: var(--sf-muted); }
#stellar-wave .sw-region-all {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  min-height: 44px;
  margin-top: 6px;
  padding: 14px 0 2px;
  border-top: 1px solid var(--sf-hair);
  font: 12px/1.6 var(--sf-sans);
  letter-spacing: .08em;
  color: var(--sf-gold);
  transition: color 140ms ease;
}
#stellar-wave .sw-region-all:hover { color: #f0e2c4; }
#stellar-wave .sw-region-panel.is-collapsed { padding-bottom: 14px; }
#stellar-wave .sw-region-panel.is-collapsed .sw-region-head { padding-bottom: 0; }

/* ---------- Search dialog ----------
   The header, field and scopes stay put; only the results scroll. */
#stellar-wave .sw-atlas {
  width: min(680px, 92%);
  max-height: min(84dvh, 860px);
  padding: 28px 32px 0;
  border: 1px solid var(--sf-hair);
  border-radius: var(--sf-r-lg);
  background: var(--sf-surface-solid);
  box-shadow: var(--sf-edge), 0 40px 120px -20px rgb(0 0 0 / .8);
  color: var(--sf-ink);
  overflow: hidden;
}
#stellar-wave .sw-atlas[open] { display: flex; flex-direction: column; animation: sf-rise 260ms var(--sf-ease); }
#stellar-wave .sw-atlas[open] > * { flex: 0 0 auto; }
#stellar-wave .sw-atlas::backdrop { background: rgb(2 5 10 / .62); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
#stellar-wave .sw-atlas header { align-items: flex-start; margin-bottom: 18px; }
#stellar-wave .sw-atlas header span { font: 11px/1.6 var(--sf-sans); letter-spacing: .14em; color: var(--sf-muted); }
#stellar-wave .sw-atlas h2 { margin: 6px 0 0; font-size: 28px; font-weight: 500; line-height: 1.35; letter-spacing: .12em; color: var(--sf-ink); }
#stellar-wave .sw-atlas-close {
  position: relative;
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  margin: -4px -8px 0 0;
  border-radius: 50%;
  font-size: 0;
  color: var(--sf-text);
  transition: background-color 140ms ease, color 140ms ease;
}
#stellar-wave .sw-atlas-close::before,
#stellar-wave .sw-atlas-close::after { content: ""; position: absolute; top: 50%; left: 50%; width: 16px; height: 1.25px; background: currentColor; transform: translate(-50%, -50%) rotate(45deg); }
#stellar-wave .sw-atlas-close::after { transform: translate(-50%, -50%) rotate(-45deg); }
#stellar-wave .sw-atlas-close:hover { background: var(--sf-fill-hover); color: var(--sf-ink); }
#stellar-wave .sw-atlas-search { position: relative; margin-bottom: 16px; font: 0/0 a; color: transparent; }
#stellar-wave .sw-atlas-search::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 50%;
  width: 16px;
  height: 16px;
  transform: translateY(-50%);
  background: var(--sf-muted);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") center / contain no-repeat;
  pointer-events: none;
}
#stellar-wave .sw-atlas input {
  height: 50px;
  margin: 0;
  padding: 0 16px 0 44px;
  border: 1px solid var(--sf-hair);
  border-radius: var(--sf-r-md);
  background: rgb(196 210 222 / .05);
  font: 16px/1.5 "Daguan Serif", "Songti SC", serif;
  letter-spacing: .04em;
  color: var(--sf-ink);
  transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}
#stellar-wave .sw-atlas input::placeholder { color: rgb(201 211 218 / .45); }
#stellar-wave .sw-atlas input:hover { border-color: var(--sf-hair-strong); }
#stellar-wave .sw-atlas input:focus { border-color: var(--sf-gold-line); background: rgb(196 210 222 / .07); box-shadow: 0 0 0 3px rgb(220 201 164 / .12); }
#stellar-wave .sw-atlas-scopes { flex-wrap: wrap; gap: 0 8px; }
#stellar-wave .sw-atlas-scopes button[hidden] { display: none; }
#stellar-wave .sw-research-era { margin-top: 10px; font: 12px/1.6 var(--sf-sans); color: var(--sf-text); }
#stellar-wave .sw-research-era select { min-height: 40px; padding: 0 12px; border: 1px solid var(--sf-hair-strong); border-radius: var(--sf-r-sm); background: rgb(196 210 222 / .05); color: var(--sf-ink); color-scheme: dark; }
#stellar-wave .sw-research-note { margin: 10px 0 0; font: 12px/1.8 var(--sf-sans); color: var(--sf-muted); }
#stellar-wave .sw-atlas-count { margin: 14px 0 0; padding-bottom: 10px; border-bottom: 1px solid var(--sf-hair); font: 11px/1.6 var(--sf-sans); letter-spacing: .06em; color: var(--sf-muted); font-variant-numeric: tabular-nums; }
#stellar-wave .sw-atlas[open] > .sw-atlas-results {
  flex: 1 1 auto;
  min-height: 120px;
  margin: 0 -14px;
  padding: 6px 6px 8px 0;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgb(150 166 178 / .35) transparent;
}
#stellar-wave .sw-atlas-results button {
  position: relative;
  width: 100%;
  padding: 14px 40px 14px 14px;
  border: 0;
  border-radius: var(--sf-r-md);
  transition: background-color 140ms ease;
}
#stellar-wave .sw-atlas-results button + button::before { content: ""; position: absolute; top: 0; left: 14px; right: 14px; height: 1px; background: var(--sf-hair); transition: opacity 140ms ease; }
#stellar-wave .sw-atlas-results button::after { content: "→"; position: absolute; right: 16px; top: 50%; transform: translate(-4px, -50%); font: 13px/1 var(--sf-sans); color: var(--sf-gold); opacity: 0; transition: opacity 140ms ease, transform 200ms var(--sf-ease); }
#stellar-wave .sw-atlas-results button:hover,
#stellar-wave .sw-atlas-results button:focus-visible { padding-left: 14px; background: var(--sf-fill-hover); }
#stellar-wave .sw-atlas-results button:hover::before,
#stellar-wave .sw-atlas-results button:hover + button::before,
#stellar-wave .sw-atlas-results button:focus-visible::before,
#stellar-wave .sw-atlas-results button:focus-visible + button::before { opacity: 0; }
#stellar-wave .sw-atlas-results button:hover::after,
#stellar-wave .sw-atlas-results button:focus-visible::after { opacity: 1; transform: translate(0, -50%); }
#stellar-wave .sw-atlas-results button:focus-visible { outline: 1px solid var(--sf-gold-line); outline-offset: -1px; }
#stellar-wave .sw-atlas-results strong { font-size: 17px; font-weight: 500; line-height: 1.55; letter-spacing: .03em; color: var(--sf-ink); }
#stellar-wave .sw-atlas-results span { margin-top: 3px; font: 12px/1.7 var(--sf-sans); letter-spacing: .03em; color: var(--sf-muted); }
#stellar-wave .sw-more {
  width: auto;
  align-self: center;
  min-height: 44px;
  margin: 4px 0 14px;
  padding: 0 22px;
  border: 6px solid transparent;
  border-inline-width: 0;
  border-radius: 999px;
  background: transparent padding-box;
  box-shadow: inset 0 0 0 1px var(--sf-hair-strong);
  font: 12px/1 var(--sf-sans);
  letter-spacing: .1em;
  color: var(--sf-text);
  transition: background-color 140ms ease, color 140ms ease;
}
#stellar-wave .sw-more:hover { background-color: var(--sf-fill-hover); color: var(--sf-ink); }
#stellar-wave .sw-atlas[open] > .sw-more[hidden] { display: none; }
#stellar-wave .sw-atlas[open]::after { content: ""; flex: 0 0 18px; }
#stellar-wave .sw-atlas[open]:has(> .sw-more:not([hidden]))::after { display: none; }
@keyframes sf-rise { from { opacity: 0; transform: translateY(10px) scale(.985); } }

/* ---------- Reader cards: same radius scale and surface ---------- */
#stellar-wave .sw-reading { border: 1px solid var(--sf-hair); border-radius: var(--sf-r-lg); background: var(--sf-surface); box-shadow: var(--sf-edge), var(--sf-shadow); backdrop-filter: blur(22px) saturate(140%); -webkit-backdrop-filter: blur(22px) saturate(140%); }
#stellar-wave .sr-section { border-radius: var(--sf-r-md); border-color: var(--sf-hair); background: var(--sf-fill); box-shadow: var(--sf-edge); }
#stellar-wave .sr-chapters { border-radius: var(--sf-r-md); background: rgb(3 7 13 / .4); box-shadow: inset 0 0 0 1px var(--sf-hair); }
#stellar-wave .sr-chapters button { border-radius: var(--sf-r-sm); }
#stellar-wave .sr-chapters [aria-current="step"] { background: var(--sf-gold); box-shadow: none; }
#stellar-wave .sr-related button { border-radius: var(--sf-r-sm); border-color: var(--sf-hair); background: var(--sf-fill); transition: background-color 140ms ease, border-color 140ms ease; }
#stellar-wave .sr-related button:hover { background: var(--sf-fill-hover); border-color: var(--sf-hair-strong); }
#stellar-wave .sr-pagination button { border-radius: 999px; border-color: var(--sf-hair-strong); background: transparent; transition: background-color 140ms ease; }
#stellar-wave .sr-pagination button:not(:disabled):hover { background: var(--sf-fill-hover); }
#stellar-wave .sh-detail { border: 1px solid var(--sf-hair); border-radius: var(--sf-r-lg); background: var(--sf-surface); box-shadow: var(--sf-edge), var(--sf-shadow); backdrop-filter: blur(20px) saturate(140%); -webkit-backdrop-filter: blur(20px) saturate(140%); }
#stellar-wave .sh-era-picker select { border-color: var(--sf-hair-strong); border-radius: var(--sf-r-sm); background-color: rgb(12 18 26 / .8); }

/* ---------- Small screens ---------- */
@media (max-width: 700px) {
  #stellar-wave .sw-region-panel { padding: 14px 16px 12px; border-radius: var(--sf-r-lg); background: var(--sf-surface-solid); }
  #stellar-wave .sw-region-breadcrumb { min-height: 32px; margin: -4px 0 4px; }
  #stellar-wave .sw-region-head { padding: 0 70px 10px 0; }
  #stellar-wave .sw-region-head h2 { font-size: 22px; }
  #stellar-wave .sw-region-summary { font-size: 13px; margin-bottom: 12px; }
  #stellar-wave .sw-region-pick { padding: 12px 14px 8px; }
  #stellar-wave .sw-region-pick h3 { font-size: 17px; }
  #stellar-wave .sw-region-panel.is-collapsed { max-height: 220px; }
  #stellar-wave .sw-atlas { width: calc(100% - 24px); max-height: 90dvh; padding: 22px 18px 0; }
  #stellar-wave .sw-atlas h2 { font-size: 24px; }
  #stellar-wave .sw-atlas[open] > .sw-atlas-results { margin: 0 -10px; }
  #stellar-wave .sw-atlas-results button { padding: 12px 34px 12px 10px; }
  #stellar-wave .sw-atlas-results button:hover { padding-left: 10px; }
  #stellar-wave .sw-atlas-results strong { font-size: 16px; }
}
@media (max-height: 500px) and (min-width: 500px) {
  #stellar-wave .sw-region-panel { padding: 12px 14px; bottom: auto; max-height: calc(100dvh - 129px); }
  #stellar-wave .sw-region-head { padding-right: 64px; }

}
@media (prefers-reduced-motion: reduce) {
  #stellar-wave .sw-atlas[open] { animation: none; }
  #stellar-wave .sw-region-list button::after,
  #stellar-wave .sw-atlas-results button::after { transition: none; }
}

/* ---------- Reading card: the same deep sky as the era film ----------
   Shared color tokens cover prose, sources, controls and their states. */
#stellar-wave .sw-reader .sw-reading {
  --pp-paper: #ece3cf;
  --pp-paper-2: #e3d8bf;
  --pp-line: rgb(96 74 42 / .2);
  --pp-line-strong: rgb(96 74 42 / .34);
  --pp-ink: #2a241c;
  --pp-text: #3f372b;
  --pp-muted: #6c604e;
  --pp-seal: #9a3b2a;
  --pp-seal-hover: #842f20;
  --pp-wash: rgb(96 74 42 / .07);
  color: var(--pp-text);
  border: 1px solid #d6c8a8;
  background: radial-gradient(130% 90% at 0 0, #f3ecdc, var(--pp-paper) 55%, #e6dcc4);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / .5), 0 30px 70px -30px rgb(0 0 0 / .85);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  scrollbar-color: var(--pp-line-strong) transparent;
}
#stellar-wave .sw-reader .sw-reading ::selection { background: var(--cosmos-selected); color: var(--pp-ink); }
#stellar-wave .sw-reader .sw-reading :focus-visible { outline: 1px solid var(--pp-seal); outline-offset: 3px; }
#stellar-wave .sw-reader .sw-reading .sw-reader-kind { color: var(--pp-seal); }
#stellar-wave .sw-reader .sw-reading h2 { color: var(--pp-ink); }
#stellar-wave .sw-reader .sw-reading p { color: var(--pp-text); }
#stellar-wave .sw-reader .sw-reading .sr-lead { color: var(--pp-text); }
#stellar-wave .sw-reader .sw-reading .sr-facts { color: var(--pp-ink); }
#stellar-wave .sw-reader .sw-reading .sr-facts dt { color: var(--pp-muted); }
#stellar-wave .sw-reader .sw-reading .sr-facts dd { color: var(--pp-ink); }

#stellar-wave .sw-reader .sw-reading .sr-chapters { background: var(--pp-paper-2); box-shadow: inset 0 0 0 1px var(--pp-line); }
#stellar-wave .sw-reader .sw-reading .sr-chapters button { color: var(--pp-muted); }
#stellar-wave .sw-reader .sw-reading .sr-chapters button:hover:not([aria-current="step"]) { background: var(--pp-wash); color: var(--pp-ink); }
#stellar-wave .sw-reader .sw-reading .sr-chapters [aria-current="step"] { background: var(--cosmos-selected); color: var(--pp-seal); }

#stellar-wave .sw-reader .sw-reading .sr-section { border: 1px solid var(--pp-line); background: var(--pp-wash); box-shadow: none; }
#stellar-wave .sw-reader .sw-reading .sr-section-meta,
#stellar-wave .sw-reader .sw-reading .sr-section-kicker { color: var(--pp-muted); }
#stellar-wave .sw-reader .sw-reading .sr-section-number { color: var(--pp-seal); }
#stellar-wave .sw-reader .sw-reading .sr-section h3 { color: var(--pp-ink); }
#stellar-wave .sw-reader .sw-reading .sr-section p { color: var(--pp-text); }

#stellar-wave .sw-reader .sw-reading .sr-evidence { border-top-color: var(--pp-line-strong); }
#stellar-wave .sw-reader .sw-reading .sr-evidence summary { color: var(--pp-seal); }
#stellar-wave .sw-reader .sw-reading .sr-evidence dl > div { border-left-color: var(--pp-line-strong); }
#stellar-wave .sw-reader .sw-reading .sr-evidence dt { color: var(--pp-ink); }
#stellar-wave .sw-reader .sw-reading .sr-evidence dd { color: var(--pp-text); }
#stellar-wave .sw-reader .sw-reading .sr-citations small,
#stellar-wave .sw-reader .sw-reading .sr-section .sr-citations p,
#stellar-wave .sw-reader .sw-reading .sr-section .sr-reviewed { color: var(--pp-muted); }
#stellar-wave .sw-reader .sw-reading a,
#stellar-wave .sw-reader .sw-reading .sr-citations a { color: var(--pp-seal); }
#stellar-wave .sw-reader .sw-reading a:hover { color: var(--pp-seal-hover); }

#stellar-wave .sw-reader .sw-reading .sr-pagination,
#stellar-wave .sw-reader .sw-reading .sr-page-count { color: var(--pp-muted); }
#stellar-wave .sw-reader .sw-reading .sr-pagination button { border-color: var(--pp-line-strong); color: var(--pp-seal); }
#stellar-wave .sw-reader .sw-reading .sr-pagination button:not(:disabled):hover { background: var(--pp-wash); }

#stellar-wave .sw-reader .sw-reading .sr-archive,
#stellar-wave .sw-reader .sw-reading .sw-sources,
#stellar-wave .sw-reader .sw-reading .sr-related { border-top-color: var(--pp-line); }
#stellar-wave .sw-reader .sw-reading summary { color: var(--pp-muted); }
#stellar-wave .sw-reader .sw-reading summary:hover { color: var(--pp-ink); }
#stellar-wave .sw-reader .sw-reading .sw-story-body p,
#stellar-wave .sw-reader .sw-reading .sw-deep p { color: var(--pp-text); }
#stellar-wave .sw-reader .sw-reading .sw-source-note { color: var(--pp-muted); }
#stellar-wave .sw-reader .sw-reading .sr-reference-heading { color: var(--pp-ink); }
#stellar-wave .sw-reader .sw-reading .sr-related > span { color: var(--pp-muted); }
#stellar-wave .sw-reader .sw-reading .sr-related button { border-color: var(--pp-line); background: transparent; color: var(--pp-ink); }
#stellar-wave .sw-reader .sw-reading .sr-related button:hover { border-color: var(--pp-line-strong); background: var(--pp-wash); }

/* ---------- Reading card: easy to steer, easy to read ----------
   Chapter tabs stay pinned to the top of the card and previous/next to its
   bottom, so changing chapter never means hunting for a button below the
   fold. Chapter text sits directly on the reading surface, and no label
   drops under 12px. Pinned bars use the opaque shared night surface so
   scrolling text stays hidden beneath them. Sticky offsets cancel the
   card's padding so the bars meet its edges; both pin only within
   .sr-story, so they let go
   once the reader moves on to the archive and related links. */
#stellar-wave .sw-reader .sw-reading {
  --pp-pad: 32px; --pp-pad-top: 30px; --pp-pad-bottom: 38px;
  padding: var(--pp-pad-top) var(--pp-pad) var(--pp-pad-bottom);
}
#stellar-wave .sw-reader .sw-reading .sw-reader-kind { font-size: 12px; letter-spacing: .08em; }
#stellar-wave .sw-reader .sw-reading .sr-facts { gap: 28px; }
#stellar-wave .sw-reader .sw-reading .sr-facts dt { font-size: 12px; }
#stellar-wave .sw-reader .sw-reading .sr-facts dd { font-size: 14px; }

#stellar-wave .sw-reader .sw-reading .sr-chapters {
  position: sticky; top: calc(-1 * var(--pp-pad-top)); z-index: 2;
  display: flex; gap: 4px; overflow-x: auto;
  margin: 0 calc(-1 * var(--pp-pad)) 26px; padding: 0 var(--pp-pad);
  border: 0; border-radius: 0;
  background: var(--sf-surface-solid);
  box-shadow: inset 0 -1px 0 var(--sf-hair-strong);
}
#stellar-wave .sw-reader .sw-reading .sr-chapters button {
  flex: 1 1 0; min-width: 7.5em; max-width: none; min-height: 64px;
  padding: 12px 10px 13px; border-radius: 0;
  background: transparent; color: var(--sf-text);
  font-size: 14px; line-height: 1.5; text-align: left;
}
#stellar-wave .sw-reader .sw-reading .sr-chapters small { font-size: 12px; color: var(--sf-muted); opacity: 1; margin-bottom: 3px; }
#stellar-wave .sw-reader .sw-reading .sr-chapters button:hover:not([aria-current="step"]) { background: var(--sf-fill-hover); color: var(--sf-ink); }
#stellar-wave .sw-reader .sw-reading .sr-chapters [aria-current="step"] { background: transparent; color: var(--sf-gold); font-weight: 600; box-shadow: inset 0 -3px 0 var(--sf-gold); }
#stellar-wave .sw-reader .sw-reading .sr-chapters [aria-current="step"] small { color: var(--sf-gold); }

#stellar-wave .sw-reader .sw-reading .sr-section { min-height: 0; padding: 0; border: 0; border-radius: 0; background: none; }
#stellar-wave .sw-reader .sw-reading .sr-section-meta { font-size: 12px; letter-spacing: .06em; }
#stellar-wave .sw-reader .sw-reading .sr-section-number { font-size: 13px; }
#stellar-wave .sw-reader .sw-reading .sr-section-kicker { font-size: 12px; }
#stellar-wave .sw-reader .sw-reading .sr-section h3 { font-size: 25px; margin: 6px 0 14px; }
#stellar-wave .sw-reader .sw-reading .sr-section-text p { font-size: 17px; line-height: 2; margin: 0 0 16px; }
#stellar-wave .sw-reader .sw-reading .sr-evidence summary { font-size: 14px; }
#stellar-wave .sw-reader .sw-reading .sr-evidence dt { font-size: 13px; }
#stellar-wave .sw-reader .sw-reading .sr-evidence dd { font-size: 15px; }

#stellar-wave .sw-reader .sw-reading .sr-pagination {
  position: sticky; bottom: calc(-1 * var(--pp-pad-bottom)); z-index: 2;
  margin: 10px calc(-1 * var(--pp-pad)) 0; padding: 12px var(--pp-pad);
  background: var(--sf-surface-solid);
  box-shadow: inset 0 1px 0 var(--sf-hair);
  font-size: 13px;
}
#stellar-wave .sw-reader .sw-reading .sr-pagination > div { gap: 10px; min-width: 0; }
#stellar-wave .sw-reader .sw-reading .sr-pagination button {
  display: inline-flex; align-items: center; gap: 6px;
  min-height: 44px; padding: 0 18px; border: 1px solid var(--sf-hair-strong); border-radius: 999px;
  font-size: 14px; white-space: nowrap;
}
#stellar-wave .sw-reader .sw-reading .sr-pagination button { color: var(--sf-text); }
#stellar-wave .sw-reader .sw-reading .sr-pagination .sr-next:not(:disabled) { border-color: var(--sf-gold-line); background: var(--sf-gold-soft); color: var(--sf-gold); box-shadow: var(--sf-edge); }
#stellar-wave .sw-reader .sw-reading .sr-pagination .sr-next:not(:disabled):hover { border-color: var(--sf-gold); background: var(--sf-gold-line); color: var(--sf-ink); }
#stellar-wave .sw-reader .sw-reading button:focus-visible { outline: 2px solid var(--sf-gold); outline-offset: 2px; }
#stellar-wave .sw-reader .sw-reading .sr-pagination button:disabled { opacity: .4; }
#stellar-wave .sw-reader .sw-reading .sr-next:disabled [aria-hidden] { display: none; }
#stellar-wave .sw-reader .sw-reading .sr-next-title { overflow: hidden; max-width: 12em; text-overflow: ellipsis; opacity: .85; }
#stellar-wave .sw-reader .sw-reading .sr-next-title:empty { display: none; }

#stellar-wave .sw-reader .sw-reading .sr-archive summary,
#stellar-wave .sw-reader .sw-reading .sw-sources summary { font-size: 14px; }
#stellar-wave .sw-reader .sw-reading .sr-related > span { font-size: 13px; }
#stellar-wave .sw-reader .sw-reading .sr-related button { font-size: 15px; }

@media (min-width: 1500px) {
  #stellar-wave .sw-reader .sw-reading { --pp-pad: 42px; --pp-pad-top: 38px; --pp-pad-bottom: 38px; }
  #stellar-wave .sw-reader .sw-reading .sr-section-text p { font-size: 18px; }
}
@media (min-width: 601px) and (max-width: 850px) {
  #stellar-wave .sw-reader .sw-reading { --pp-pad: 20px; --pp-pad-top: 24px; --pp-pad-bottom: 24px; }
}
@media (max-height: 500px) and (min-width: 601px) {
  #stellar-wave .sw-reader .sw-reading { --pp-pad: 24px; --pp-pad-top: 24px; --pp-pad-bottom: 24px; }
  #stellar-wave .sw-reader .sw-reading .sr-chapters button { min-height: 52px; padding-top: 8px; padding-bottom: 8px; }
}
/* Phones scroll the whole layout, not the card, so the bars pin to the screen. */
@media (max-width: 600px) {
  #stellar-wave .sw-reader .sw-reading { --pp-pad: 20px; --pp-pad-top: 25px; --pp-pad-bottom: 30px; }
  #stellar-wave .sw-reader .sw-reading .sr-chapters { top: 0; }
  #stellar-wave .sw-reader .sw-reading .sr-pagination { bottom: 0; }
  #stellar-wave .sw-reader .sw-reading .sr-chapters { display: flex; gap: 0; margin-left: calc(-1 * var(--pp-pad)); margin-right: calc(-1 * var(--pp-pad)); }
  #stellar-wave .sw-reader .sw-reading .sr-chapters button { min-width: 6em; padding: 10px 8px 11px; font-size: 13px; overflow-wrap: anywhere; }
  #stellar-wave .sw-reader .sw-reading .sr-section h3 { font-size: 22px; }
  #stellar-wave .sw-reader .sw-reading .sr-section-text p { font-size: 16px; line-height: 1.95; }
  #stellar-wave .sw-reader .sw-reading .sr-pagination button { padding: 0 14px; }
  #stellar-wave .sw-reader .sw-reading .sr-next-title { display: none; }
}
