/* Degrees of Satoshi — base stylesheet.
   House rules: longhand padding-top/bottom (never shorthand that wipes
   gutters), minmax(0,1fr) on grid tracks, never overflow-x:clip on <html>.
   Additions go at the end of the file rather than editing selectors in place. */

:root {
  --bg: #0c0e16;
  --panel: #12141f;
  --border: #232838;
  --text: #e9ebf3;
  --muted: #8b93a8;
  --amber: #d9a441;
  --violet: #8f8af0;
  --blue: #6ba5f5;
  --coral: #e8927c;
  --mint: #5fd6a5;

  --mono: 'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --sans: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --maxw: 980px;
}

* { box-sizing: border-box; }

html {
  background: var(--bg);
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--sans);
  line-height: 1.55;
  min-height: 100vh;
}

.wrap {
  width: 100%;
  max-width: var(--maxw);
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 40px;
  padding-bottom: 64px;
}

.eyebrow {
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--muted);
}

h1 {
  font-size: clamp(28px, 5vw, 44px);
  line-height: 1.15;
  margin-top: 18px;
  margin-bottom: 12px;
  font-weight: 600;
  letter-spacing: -0.5px;
}

.lede {
  color: var(--muted);
  font-size: 17px;
  max-width: 62ch;
  margin-top: 0;
  margin-bottom: 28px;
}

/* ---- input ---- */
.lookup {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  margin-top: 22px;
  margin-bottom: 14px;
}
@media (max-width: 560px) {
  .lookup { grid-template-columns: minmax(0, 1fr); }
}

input[type='text'] {
  width: 100%;
  min-width: 0;
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 10px;
  color: var(--text);
  font-family: var(--mono);
  font-size: 15px;
  padding-top: 15px;
  padding-bottom: 15px;
  padding-left: 16px;
  padding-right: 16px;
}
input[type='text']:focus {
  outline: none;
  border-color: var(--violet);
}
input[type='text']::placeholder { color: #5b6377; }

button {
  font-family: var(--mono);
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  border-radius: 10px;
  border: 1px solid var(--border);
  background: var(--panel);
  color: var(--text);
  padding-top: 15px;
  padding-bottom: 15px;
  padding-left: 22px;
  padding-right: 22px;
  cursor: pointer;
}
button:hover { border-color: var(--violet); }
button.primary {
  background: var(--violet);
  border-color: var(--violet);
  color: #0b0c14;
  font-weight: 600;
}
button:disabled { opacity: 0.5; cursor: default; }

.err {
  color: var(--coral);
  font-family: var(--mono);
  font-size: 13px;
  min-height: 20px;
}
.err.notice { color: var(--mint); }
.hero .err:not(:empty) { margin-bottom: 8px; }

/* ---- result ---- */
.degree {
  font-size: clamp(64px, 16vw, 132px);
  line-height: 1;
  font-weight: 300;
  letter-spacing: -3px;
  margin-top: 8px;
  margin-bottom: 0;
}
.degree .sup { color: var(--amber); font-size: 0.32em; vertical-align: super; }

.ancestry {
  font-style: italic;
  font-size: clamp(17px, 3vw, 23px);
  color: #c7cbdb;
  margin-top: 14px;
  margin-bottom: 22px;
}
.ancestry b { color: var(--text); font-style: italic; font-weight: 600; }

.chips { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.chip {
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  border: 1px solid var(--border);
  border-radius: 999px;
  color: var(--muted);
  padding-top: 9px;
  padding-bottom: 9px;
  padding-left: 16px;
  padding-right: 16px;
}
.chip.tier { border-color: var(--amber); color: var(--amber); }

.center { text-align: center; }

.map { margin-top: 26px; margin-bottom: 10px; }
.map svg { width: 100%; height: auto; display: block; border-radius: 14px; }

.caption {
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--muted);
  text-align: center;
  margin-top: 6px;
  margin-bottom: 26px;
}

.panel {
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding-top: 22px;
  padding-bottom: 22px;
  padding-left: 22px;
  padding-right: 22px;
}

.actions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  gap: 10px;
  margin-top: 16px;
}

.foot {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #5b6377;
  text-align: center;
  margin-top: 40px;
}
.foot a { color: var(--muted); text-decoration: none; }

/* ---- presets ---- */
.presets {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr));
  gap: 10px;
  margin-top: 26px;
}
.preset {
  display: block;
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding-top: 14px;
  padding-bottom: 14px;
  padding-left: 16px;
  padding-right: 16px;
  color: var(--text);
  text-decoration: none;
}
.preset:hover { border-color: var(--violet); }
.preset .name { font-size: 14px; font-weight: 600; }
.preset .meta { font-family: var(--mono); font-size: 11px; color: var(--muted); letter-spacing: 1px; }

.skeleton {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-align: center;
  padding-top: 60px;
  padding-bottom: 60px;
}

.hidden { display: none; }

/* ---- appended: fresh-address redirect + "best of" -------------------------- */

.hint {
  background: var(--panel);
  border: 1px solid var(--border);
  border-left: 2px solid var(--amber);
  border-radius: 10px;
  color: #c7cbdb;
  font-size: 15px;
  padding-top: 16px;
  padding-bottom: 16px;
  padding-left: 18px;
  padding-right: 18px;
  margin-top: 8px;
  margin-bottom: 20px;
}
.hint b { color: var(--text); }
.hint-how {
  display: block;
  margin-top: 10px;
  color: var(--muted);
  font-size: 13px;
}

.inline-hint {
  color: var(--muted);
  font-size: 13px;
  margin-top: 2px;
  margin-bottom: 0;
}
.inline-hint b { color: #c7cbdb; }

.checked {
  border: 1px solid var(--border);
  border-radius: 12px;
  padding-top: 16px;
  padding-bottom: 16px;
  padding-left: 18px;
  padding-right: 18px;
  margin-top: 18px;
}
.checked-head { font-size: 15px; margin-bottom: 12px; }
.checked-head b { color: var(--mint); }
.checked-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr));
  gap: 8px;
}
.checked-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 9px;
  padding-top: 10px;
  padding-bottom: 10px;
  padding-left: 12px;
  padding-right: 12px;
  text-decoration: none;
  color: var(--text);
}
.checked-row:hover { border-color: var(--violet); }
.checked-row.best { border-color: var(--mint); }
.checked-deg { font-family: var(--mono); font-size: 15px; color: var(--text); }
.checked-addr {
  font-family: var(--mono);
  font-size: 12px;
  color: var(--muted);
  overflow: hidden;
  text-overflow: ellipsis;
}
.checked-tag {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--mint);
}
.checked-note {
  color: var(--muted);
  font-size: 12px;
  margin-top: 12px;
}

/* ---- appended: composition polish ---------------------------------------- */

/* The design target frames everything in a single bordered card rather than
   letting content run to the page edges. */
.wrap {
  max-width: 940px;
}

#result {
  border: 1px solid var(--border);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(18, 20, 31, 0.6) 0%, rgba(12, 14, 22, 0) 40%);
  padding-top: 34px;
  padding-bottom: 30px;
  padding-left: 26px;
  padding-right: 26px;
}
@media (max-width: 560px) {
  #result {
    padding-left: 16px;
    padding-right: 16px;
    border-radius: 14px;
  }
}

/* The eyebrow above a result should sit clearly apart from the number. */
#r-brand { margin-bottom: 22px; }

/* Degree glyph: the superscript ring is a defining mark in the target. */
.degree .sup {
  font-size: 0.26em;
  vertical-align: super;
  margin-left: 4px;
}

/* The map had no breathing room against the chips above it. */
.map { margin-top: 34px; }

/* Chips wrap awkwardly at two-per-row on narrow screens; keep them centred
   and let them stack cleanly. */
@media (max-width: 480px) {
  .chips { flex-direction: column; align-items: center; }
  .chip { width: fit-content; }
}

/* Action row was three equal columns even on mobile, squeezing the labels. */
@media (max-width: 560px) {
  .actions { grid-template-columns: minmax(0, 1fr); }
}

/* Preset cards: give the title room and stop the era line crowding it. */
.preset .name { line-height: 1.35; }
.preset .meta { margin-top: 6px; }

/* ---- appended: site-wide starfield ---------------------------------------
   The star map's field is the strongest part of the identity, so the whole
   site sits on it. Fixed attachment means it never tiles or seams however long
   the page runs, and the map itself renders transparent so it merges into this
   rather than stamping an opaque rectangle on top. 4.9KB gzipped, one request,
   no JS. */

body {
  background-color: var(--bg);
  background-image: url('/starfield.svg');
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

/* A faint warm centre, echoing the anchor glow in the map. */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(
    ellipse 70% 50% at 50% 22%,
    rgba(217, 164, 65, 0.07) 0%,
    rgba(217, 164, 65, 0.02) 40%,
    rgba(12, 14, 22, 0) 72%
  );
  z-index: 0;
}
.wrap { position: relative; z-index: 1; }

/* Panels need slight opacity now that there is texture behind them, or the
   starfield reads straight through the text. */
.panel,
.preset,
.checked-row,
.hint {
  background-color: rgba(18, 20, 31, 0.82);
  backdrop-filter: blur(2px);
}
input[type='text'] { background-color: rgba(18, 20, 31, 0.88); }

/* The result card previously had its own gradient; with a starfield behind it
   a flat translucent panel reads more cleanly. */
#result {
  background: rgba(12, 14, 22, 0.34);
  backdrop-filter: blur(1px);
}

/* Mobile: fixed attachment is unreliable on iOS Safari and can cause repaint
   jank, so pin the image to the viewport instead. */
@media (max-width: 700px) {
  body {
    background-attachment: scroll;
    background-size: 140% auto;
  }
}

/* ---- appended: long-form history pages ------------------------------------ */

.prose {
  max-width: 68ch;
  margin-top: 20px;
  margin-bottom: 8px;
}
.prose p {
  color: #c3c8d8;
  font-size: 16.5px;
  line-height: 1.72;
  margin-top: 0;
  margin-bottom: 18px;
}
.prose p:first-of-type {
  color: var(--text);
  font-size: 18px;
}

/* Public methodology, generated from methodology.md. */
.methodology {
  max-width: 76ch;
  margin-left: auto;
  margin-right: auto;
}
.methodology h1 { margin-bottom: 8px; }
.methodology h2 {
  margin: 40px 0 12px;
  font-family: var(--mono);
  color: var(--amber);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.methodology p,
.methodology li {
  color: #c3c8d8;
  font-size: 16.5px;
  line-height: 1.72;
}
.methodology p { margin: 0 0 18px; }
.methodology ul { margin: 0 0 22px; padding-left: 24px; }
.methodology li { margin-bottom: 10px; }
.methodology strong { color: var(--text); }
.methodology code {
  font-family: var(--mono);
  color: #d9c6ff;
  font-size: 0.92em;
}
.methodology pre {
  overflow-x: auto;
  margin: 16px 0 24px;
  padding: 16px 18px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: rgba(12, 14, 22, 0.68);
}
.method-table { overflow-x: auto; margin: 12px 0 26px; }
.methodology table { width: 100%; border-collapse: collapse; }
.methodology th,
.methodology td {
  padding: 9px 12px;
  border-bottom: 1px solid var(--border);
  text-align: right;
  white-space: nowrap;
}
.methodology th {
  font-family: var(--mono);
  color: var(--muted);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.methodology td { color: #c3c8d8; }
.methodology th:first-child,
.methodology td:first-child { text-align: left; }

.timeline {
  margin-top: 12px;
  margin-bottom: 8px;
  overflow-x: auto;
}
.timeline svg { width: 100%; height: auto; display: block; }

.facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
  gap: 10px;
  margin-top: 12px;
}
.fact {
  background-color: rgba(18, 20, 31, 0.82);
  border: 1px solid var(--border);
  border-left: 2px solid var(--amber);
  border-radius: 10px;
  padding-top: 14px;
  padding-bottom: 14px;
  padding-left: 16px;
  padding-right: 16px;
}
.fact-l {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--amber);
  margin-bottom: 6px;
}
.fact-v { color: #c3c8d8; font-size: 14.5px; line-height: 1.6; }

/* Gallery pages carry a lot of copy; give the headline room to breathe. */
.wrap h1 { max-width: 22ch; }
@media (min-width: 700px) { .wrap h1 { max-width: 26ch; } }

/* Long hex — block hashes, txids, scripts — appears throughout the histories
   and would otherwise force horizontal overflow or strand a single token on
   its own line. */
.prose p { overflow-wrap: anywhere; }
.fact-v { overflow-wrap: anywhere; }

/* ---- appended: arrival hero + ranked board -------------------------------- */

/* Arrival should be one question and one input. Everything else moves below. */
.hero {
  padding-top: 8vh;
  padding-bottom: 34px;
  text-align: center;
}
@media (max-width: 700px) { .hero { padding-top: 4vh; } }

.hero .eyebrow { margin-bottom: 20px; }

.hero-h1 {
  font-size: clamp(32px, 6.2vw, 60px);
  line-height: 1.08;
  letter-spacing: -1.2px;
  font-weight: 600;
  max-width: none;
  margin-top: 0;
  margin-bottom: 18px;
}

.hero-sub {
  color: var(--muted);
  font-size: clamp(15px, 2vw, 17.5px);
  line-height: 1.6;
  max-width: 46ch;
  margin-top: 0;
  margin-bottom: 30px;
  margin-left: auto;
  margin-right: auto;
}

.hero-lookup {
  max-width: 620px;
  margin-left: auto;
  margin-right: auto;
}
.hero-lookup input[type='text'] {
  font-size: 16px;
  padding-top: 17px;
  padding-bottom: 17px;
  text-align: center;
}
.hero .err, .hero .inline-hint { text-align: center; }
.hero .inline-hint { max-width: 52ch; margin-left: auto; margin-right: auto; }

/* ---- the board ---- */
.board-wrap {
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 26px;
}
.board-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 12px;
}
.board-more {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--muted);
  background: none;
  border: none;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  cursor: pointer;
}
.board-more:hover { color: var(--violet); border: none; }

.board { display: grid; gap: 6px; }

.brow {
  display: grid;
  grid-template-columns: 22px 46px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  background-color: rgba(18, 20, 31, 0.72);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding-top: 12px;
  padding-bottom: 12px;
  padding-left: 14px;
  padding-right: 14px;
  text-decoration: none;
  color: var(--text);
}
.brow:hover { border-color: var(--violet); background-color: rgba(24, 26, 40, 0.85); }

.brow-rank {
  font-family: var(--mono);
  font-size: 11px;
  color: #5b6377;
}
.brow-deg {
  font-family: var(--mono);
  font-size: 19px;
  color: var(--text);
}
.brow-deg-s { color: var(--amber); font-size: 12px; vertical-align: super; }
.brow-name {
  font-size: 14.5px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.brow-era {
  font-family: var(--mono);
  font-size: 11px;
  color: var(--muted);
}
@media (max-width: 700px) {
  .brow { grid-template-columns: 20px 42px minmax(0, 1fr); }
  .brow-era { display: none; }
}

.board-note {
  color: #5b6377;
  font-size: 12px;
  margin-top: 12px;
  text-align: center;
}

/* Links live at the bottom, deliberately quiet. */
.foot { margin: 52px 0 0; }
.foot-sep { margin-left: 10px; margin-right: 10px; color: #343a4d; }

/* ---- appended: hero motion + board hue ramp ------------------------------- */

@keyframes dfs-rise { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes dfs-in   { from { opacity: 0; } to { opacity: 1; } }

.hero .eyebrow,
.hero-h1,
.hero-sub,
.hero-lookup,
.hero .inline-hint {
  animation: dfs-rise 0.65s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.hero .eyebrow      { animation-delay: 0.02s; }
.hero-h1            { animation-delay: 0.08s; }
.hero-sub           { animation-delay: 0.16s; }
.hero-lookup        { animation-delay: 0.24s; }
.hero .inline-hint  { animation-delay: 0.32s; }

/* The input is the one thing we want people to touch; give it a live edge. */
.hero-lookup input[type='text'] {
  transition: border-color 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease;
}
.hero-lookup input[type='text']:focus {
  border-color: var(--amber);
  box-shadow: 0 0 0 4px rgba(217, 164, 65, 0.13);
}
.hero-lookup button.primary { transition: transform 0.15s ease, filter 0.2s ease; }
.hero-lookup button.primary:hover { filter: brightness(1.08); }
.hero-lookup button.primary:active { transform: translateY(1px); }

/* ---- board: gold at the top, blue at the bottom ---- */
.brow {
  border-left: 2px solid var(--hue, var(--border));
  transition: border-color 0.2s ease, background-color 0.2s ease, transform 0.15s ease;
  animation: dfs-in 0.5s ease-out both;
}
.brow:hover {
  transform: translateX(3px);
  border-color: var(--border);
  border-left-color: var(--hue, var(--violet));
}
.brow-deg { color: var(--hue, var(--text)); font-weight: 500; }
.brow-deg-s { color: var(--hue, var(--amber)); opacity: 0.75; }

/* Rank column reads as ordinal, not data. */
.brow-rank { font-variant-numeric: tabular-nums; text-align: right; }

.board-wrap { animation: dfs-rise 0.7s cubic-bezier(0.22, 1, 0.36, 1) both; animation-delay: 0.4s; }

/* ---- respect the setting ---- */
@media (prefers-reduced-motion: reduce) {
  .hero .eyebrow, .hero-h1, .hero-sub, .hero-lookup, .hero .inline-hint,
  .board-wrap, .brow { animation: none; }
  .brow:hover { transform: none; }
}

/* ---- mobile pass ---- */
@media (max-width: 700px) {
  .wrap { padding-left: 16px; padding-right: 16px; padding-top: 24px; }
  .hero-h1 { letter-spacing: -0.6px; }
  .hero-h1 br { display: none; }          /* let it wrap naturally on narrow screens */
  .hero-sub { font-size: 15.5px; }
  .hero-lookup input[type='text'] { font-size: 16px; }  /* 16px stops iOS zoom-on-focus */
  .board-head { align-items: center; }
  .prose p { font-size: 16px; }
  .prose p:first-of-type { font-size: 17px; }
  .facts { grid-template-columns: minmax(0, 1fr); }
  .degree { letter-spacing: -2px; }
  .timeline { margin-left: -4px; margin-right: -4px; }
}
@media (max-width: 400px) {
  .brow { grid-template-columns: 18px 38px minmax(0, 1fr); gap: 8px; padding-left: 10px; padding-right: 10px; }
  .brow-name { font-size: 13.5px; }
}

/* ---- appended: board unfurls downwards ------------------------------------
   Rows previously cross-faded in place, which read as a flicker. Unfurling
   downwards makes the board feel like it is being dealt out, and gives the
   gold-to-blue ramp a moment to be noticed as a ramp. */

@keyframes dfs-unfurl {
  from { opacity: 0; transform: translateY(-8px) scaleY(0.82); }
  60%  { opacity: 1; }
  to   { opacity: 1; transform: none; }
}

.brow {
  transform-origin: top center;
  animation: dfs-unfurl 0.42s cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* Rows revealed by "Show more" unfurl from where they appear, rather than
   replaying the whole board. */
.board.expanding .brow:nth-child(-n + 6) { animation: none; }

@media (prefers-reduced-motion: reduce) {
  .brow { animation: none; }
}

/* ---- appended: base link and focus styling --------------------------------
   There was no `a` rule at all, so any link without its own class fell back to
   the browser default blue-and-underline — which is what the Sources lists on
   every gallery page were rendering as. A bare element selector is the lowest
   specificity in the file, so every existing .foot a / .preset / .brow /
   .atlas-list a rule still wins; this only catches what nothing else styles. */
a {
  color: var(--blue);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  text-decoration-color: rgba(107, 165, 245, 0.4);
}
a:hover { color: var(--text); text-decoration-color: currentColor; }

/* Keyboard users could not see where they were: nothing in the file defined a
   focus style, so the only indicator was whatever the UA happened to draw on
   top of a dark background. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--amber);
  outline-offset: 2px;
}

.sources {
  margin-top: 6px;
  margin-bottom: 0;
  padding-left: 18px;
  font-family: var(--mono);
  font-size: 12.5px;
  line-height: 1.9;
  word-break: break-word;
}
.sources li::marker { color: var(--border); }

/* ---- Satoshi Atlas: reference composition -------------------------------
 * This is the only active Atlas layer. The Canvas owns every atmospheric
 * mark; the host supplies quiet, ordinary HTML controls and information.
 */
.atlas-shell {
  --atlas-control-height: 48px;
  --atlas-inspector-width: clamp(240px, 14.36vw, 260px);
  --atlas-hairline: rgb(232 225 208 / 0.24);
  --atlas-gold: #e1b969;
  --atlas-gold-soft: #cba65d;
  --atlas-paper: #eee9df;
  --atlas-muted: rgb(218 213 203 / 0.66);
  --atlas-panel: rgb(12 14 22 / 0.9);

  position: relative;
  left: auto;
  width: 100vw;
  min-height: 100dvh;
  margin: -40px 0 0 calc(50% - 50vw);
  overflow-x: clip;
  color: var(--atlas-paper);
  background: var(--bg);
  transform: none;
}

.atlas-shell *,
.atlas-shell *::before,
.atlas-shell *::after { box-sizing: border-box; }

.atlas-shell .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.atlas-frame {
  position: relative;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0 0 42px;
}

.atlas-heading,
.atlas-map-caption,
.atlas-map-chrome,
.atlas-map-status,
.atlas-zoom-controls,
.atlas-landmark-rail,
.atlas-travel-scrim {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.atlas-workbench {
  position: relative;
  display: block;
  width: 100%;
  height: 100dvh;
  min-height: 620px;
}

.atlas-observatory,
.atlas-figure,
.atlas-map-panel,
.atlas-map-canvas {
  width: 100%;
  height: 100%;
  min-width: 0;
}

.atlas-figure { margin: 0; }

.atlas-map-panel,
.atlas-map-canvas {
  position: relative;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: var(--bg);
  box-shadow: none;
}

.atlas-map-canvas {
  isolation: isolate;
  aspect-ratio: 1672 / 941;
  touch-action: pan-y;
  overflow-anchor: none;
}

.atlas-map-canvas::before,
.atlas-map-canvas::after { content: none; }

.atlas-map-canvas > canvas,
.atlas-map-canvas > [data-constellation-hit-layer],
.atlas-map-canvas > [data-constellation-label-layer] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.atlas-map-canvas > canvas {
  z-index: 1;
  display: block;
  filter: none;
}

.atlas-hit-layer,
[data-constellation-hit-layer] {
  z-index: 3;
  overflow-anchor: none;
}

[data-constellation-hit-layer] > [data-constellation-node] { overflow-anchor: none; }

[data-constellation-hit-layer] > [data-constellation-knowledge] {
  overflow-anchor: none;
}

[data-constellation-label-layer] {
  z-index: 4;
  overflow: hidden;
  opacity: 1;
  pointer-events: none;
  transition: opacity 720ms cubic-bezier(0.22, 1, 0.36, 1) 110ms;
  will-change: opacity;
}

.atlas-shell[data-atlas-phase="departing"] [data-constellation-label-layer],
.atlas-shell[data-atlas-phase="settling"] [data-constellation-label-layer] {
  opacity: 0;
  transition: opacity 380ms cubic-bezier(0.4, 0, 1, 1);
}

.constellation-knowledge-label,
[data-constellation-knowledge-label] {
  padding: 4px 6px 4px 7px;
  border-left: 1px solid rgb(232 199 129 / 0.34);
  border-radius: 2px;
  background: linear-gradient(90deg, rgb(10 13 22 / 0.48), transparent);
  box-shadow: -10px 0 24px rgb(0 0 0 / 0.12);
  backdrop-filter: blur(4px);
}

.constellation-label,
[data-constellation-label] {
  position: absolute;
  color: rgb(232 226 214 / 0.72);
  font: 500 10px/1.25 Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-shadow: 0 2px 14px rgb(0 0 0 / 0.95);
  white-space: nowrap;
  transform: translate3d(var(--constellation-label-x, 0), var(--constellation-label-y, 0), 0);
  transform-origin: left center;
}

.constellation-label[aria-current="true"],
.constellation-label[data-selected="true"],
.constellation-label[data-featured="true"],
[data-constellation-label][data-active="true"],
[data-constellation-label][data-selected="true"],
[data-constellation-label][data-featured="true"] { color: #f1eadc; }

.atlas-toolbar {
  position: absolute;
  top: 25px;
  right: 30px;
  left: 30px;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  pointer-events: none;
}

.atlas-toolbar > * { pointer-events: auto; }

.atlas-search {
  position: relative;
  display: block;
  flex: 0 1 360px;
  width: min(360px, 46vw);
  min-width: 220px;
}

.atlas-search-icon {
  position: absolute;
  top: 50%;
  left: 17px;
  z-index: 1;
  width: 19px;
  height: 19px;
  color: rgb(238 234 225 / 0.88);
  filter: drop-shadow(0 0 7px rgb(234 207 151 / 0.1));
  pointer-events: none;
  transform: translateY(-50%);
}

.atlas-shell input.atlas-search-input {
  width: 100%;
  min-height: var(--atlas-control-height);
  padding: 0 46px;
  border: 1px solid var(--atlas-hairline);
  border-radius: 15px;
  color: #f2eee5;
  background: rgb(12 14 22 / 0.72);
  box-shadow: 0 14px 42px rgb(0 0 0 / 0.26), inset 0 1px rgb(255 255 255 / 0.025);
  font: 400 15px/1 Inter, -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  letter-spacing: 0.01em;
  outline: none;
  backdrop-filter: blur(18px) saturate(112%);
}

.atlas-shell input.atlas-search-input::placeholder { color: rgb(208 205 197 / 0.58); }

.atlas-shell input.atlas-search-input:hover {
  border-color: rgb(234 218 184 / 0.3);
  background: rgb(17 19 30 / 0.82);
}

.atlas-shell input.atlas-search-input:focus-visible {
  border-color: rgb(238 208 145 / 0.58);
  outline: 1px solid rgb(238 208 145 / 0.34);
  outline-offset: 3px;
  box-shadow: 0 16px 48px rgb(0 0 0 / 0.38), 0 0 30px rgb(220 166 72 / 0.07);
}

.atlas-toolbar-actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
}

.atlas-toolbar .atlas-control,
.atlas-toolbar .atlas-pause {
  display: inline-flex;
  min-width: var(--atlas-control-height);
  min-height: var(--atlas-control-height);
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0 16px;
  border: 1px solid var(--atlas-hairline);
  border-radius: 15px;
  color: #e8e1d3;
  background: rgb(12 14 22 / 0.72);
  box-shadow: 0 14px 42px rgb(0 0 0 / 0.26), inset 0 1px rgb(255 255 255 / 0.025);
  font: 500 14px/1 Inter, -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  letter-spacing: 0.01em;
  text-decoration: none;
  text-transform: none;
  backdrop-filter: blur(18px) saturate(112%);
  cursor: pointer;
}

.atlas-toolbar .atlas-control:hover {
  border-color: rgb(236 210 155 / 0.4);
  color: #fff1d0;
  background: rgb(18 20 31 / 0.84);
}

.atlas-toolbar .atlas-pause:hover {
  border-color: rgb(236 210 155 / 0.4);
  color: #fff1d0;
  background: rgb(18 20 31 / 0.84);
}

.atlas-toolbar .atlas-home { min-width: 210px; }

.atlas-home-glyph {
  width: 18px;
  height: 18px;
  color: var(--atlas-gold);
  text-shadow: 0 0 12px rgb(225 175 76 / 0.58);
}

.atlas-toolbar .atlas-pause {
  display: inline-grid;
  width: var(--atlas-control-height);
  padding: 0;
  place-items: center;
}

.atlas-toolbar .atlas-pause > [aria-hidden="true"] {
  color: var(--atlas-gold);
  font: 500 18px/1 "Iowan Old Style", Baskerville, Georgia, serif;
  transform: rotate(-12deg);
}

.atlas-toolbar .atlas-pause[aria-pressed="true"] {
  border-color: rgb(236 210 155 / 0.4);
  color: #f1d79f;
}

.atlas-pause-label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

/* The explanatory copy continues to update for assistive technology without
 * occupying the calm visual field in any resting camera state. */
.atlas-view-story {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

@media (min-width: 1000px) {
  .atlas-shell[data-atlas-view="constellation"] .atlas-view-story,
  .atlas-shell[data-atlas-view="local"] .atlas-view-story {
    position: absolute;
    top: 116px;
    left: 40px;
    z-index: 18;
    width: min(300px, 27vw);
    height: auto;
    margin: 0;
    padding: 18px 0 18px 18px;
    overflow: visible;
    border: 0;
    border-left: 1px solid rgb(225 185 103 / 0.5);
    background: linear-gradient(
      90deg,
      var(--bg) 0%,
      var(--bg) 82%,
      rgb(12 14 22 / 0) 100%
    );
    clip: auto;
    clip-path: none;
    opacity: 1;
    transform: translateY(0);
    transition:
      opacity 760ms cubic-bezier(0.22, 1, 0.36, 1) 120ms,
      transform 860ms cubic-bezier(0.22, 1, 0.36, 1) 120ms;
    white-space: normal;
  }

  .atlas-shell[data-atlas-phase="departing"] .atlas-view-story,
  .atlas-shell[data-atlas-phase="settling"] .atlas-view-story {
    opacity: 0;
    transform: translateY(8px);
    transition:
      opacity 320ms cubic-bezier(0.4, 0, 1, 1),
      transform 360ms cubic-bezier(0.4, 0, 1, 1);
  }

  .atlas-shell[data-knowledge-open="true"] .atlas-view-story {
    opacity: 0;
    pointer-events: none;
    transform: translateY(8px);
    transition:
      opacity 320ms cubic-bezier(0.4, 0, 1, 1),
      transform 360ms cubic-bezier(0.4, 0, 1, 1);
  }

  .atlas-view-story-kicker {
    margin: 0 0 8px;
    color: rgb(225 185 103 / 0.78);
    font: 600 9px/1.2 "IBM Plex Mono", ui-monospace, monospace;
    letter-spacing: 0.16em;
    text-transform: uppercase;
  }

  .atlas-view-story-title {
    margin: 0;
    color: rgb(242 238 230 / 0.92);
    font: 500 23px/1.12 Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    letter-spacing: -0.015em;
  }

  .atlas-view-story-copy {
    margin: 10px 0 0;
    color: rgb(222 220 216 / 0.62);
    font: 400 12px/1.55 Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  }

  .atlas-view-story-hint {
    margin: 13px 0 0;
    color: rgb(209 205 196 / 0.42);
    font: 500 8px/1.5 "IBM Plex Mono", ui-monospace, monospace;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }

  .atlas-route-key {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin-top: 12px;
    color: rgb(211 207 198 / 0.5);
    font: 400 9px/1.5 Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  }

  .atlas-route-key[hidden] { display: none; }

  .atlas-route-signal {
    position: relative;
    width: 46px;
    height: 10px;
    flex: 0 0 46px;
  }

  .atlas-route-signal::before,
  .atlas-route-signal > span {
    position: absolute;
    right: 0;
    left: 0;
    height: 1px;
  }

  .atlas-route-signal::before {
    top: 2px;
    background: repeating-linear-gradient(
      90deg,
      rgb(226 220 207 / 0.58) 0 1px,
      transparent 1px 6px
    );
    content: "";
  }

  .atlas-route-signal > span {
    bottom: 1px;
    background: linear-gradient(
      90deg,
      rgb(105 153 176 / 0.72) 0 58%,
      rgb(221 178 98 / 0.82) 100%
    );
    box-shadow: 0 0 8px rgb(114 157 175 / 0.08);
  }
}

.atlas-map-status {
  position: absolute;
  right: auto;
  bottom: 75px;
  left: 48.1%;
  z-index: 19;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  overflow: visible;
  border: 0;
  clip: auto;
  clip-path: none;
  color: rgb(213 210 203 / 0.5);
  font: 500 8px/1.25 "IBM Plex Mono", ui-monospace, monospace;
  letter-spacing: 0.12em;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
  transform: translateX(-50%);
  transition: opacity 700ms cubic-bezier(0.22, 1, 0.36, 1) 150ms;
}

.atlas-levels {
  position: absolute;
  bottom: 16px;
  left: 48.1%;
  z-index: 20;
  display: grid;
  width: clamp(320px, 30.7vw, 513px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  transform: translateX(-50%);
}

.atlas-levels::before {
  position: absolute;
  top: 9px;
  right: 16.666%;
  left: 16.666%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgb(225 216 199 / 0.38) 12%, rgb(225 216 199 / 0.38) 88%, transparent);
  content: "";
}

.atlas-levels button {
  position: relative;
  display: grid;
  min-width: 44px;
  min-height: 44px;
  place-items: end center;
  padding: 23px 5px 0;
  border: 0;
  border-radius: 9px;
  color: rgb(213 208 198 / 0.66);
  background: transparent;
  font: 500 9px/1 "IBM Plex Mono", ui-monospace, monospace;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  cursor: pointer;
}

.atlas-levels button::after {
  position: absolute;
  top: 5px;
  left: 50%;
  width: 9px;
  height: 9px;
  border: 1px solid rgb(232 226 213 / 0.72);
  border-radius: 50%;
  background: #020305;
  box-shadow: 0 0 0 4px #020305;
  content: "";
  transform: translateX(-50%);
}

.atlas-levels button:hover { color: #eee6d5; }

.atlas-levels button[aria-current="true"],
.atlas-levels button[aria-pressed="true"] {
  color: #f1d79f;
  background: transparent;
}

.atlas-levels button[aria-current="true"]::after,
.atlas-levels button[aria-pressed="true"]::after {
  border-color: #f2ce80;
  background: #edc56f;
  box-shadow: 0 0 0 4px var(--bg), 0 0 18px rgb(232 180 76 / 0.7);
}

.atlas-shell[data-atlas-traveling="true"][data-atlas-destination="universe"] .atlas-levels button[data-atlas-level="universe"],
.atlas-shell[data-atlas-traveling="true"][data-atlas-destination="constellation"] .atlas-levels button[data-atlas-level="constellation"],
.atlas-shell[data-atlas-traveling="true"][data-atlas-destination="local"] .atlas-levels button[data-atlas-level="local"] {
  color: rgb(238 215 169 / 0.78);
}

.atlas-shell[data-atlas-traveling="true"][data-atlas-destination="universe"] .atlas-levels button[data-atlas-level="universe"]::after,
.atlas-shell[data-atlas-traveling="true"][data-atlas-destination="constellation"] .atlas-levels button[data-atlas-level="constellation"]::after,
.atlas-shell[data-atlas-traveling="true"][data-atlas-destination="local"] .atlas-levels button[data-atlas-level="local"]::after {
  border-color: rgb(241 207 137 / 0.8);
  box-shadow: 0 0 0 4px var(--bg), 0 0 16px rgb(232 180 76 / 0.42);
}

.atlas-levels button:disabled { cursor: default; opacity: 0.86; }

.atlas-powered-by {
  position: absolute;
  right: 28px;
  bottom: 10px;
  z-index: 20;
  display: inline-flex;
  min-width: 44px;
  min-height: 44px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  padding: 0 8px;
  color: rgb(219 215 206 / 0.68);
  font: 500 8px/1 "IBM Plex Mono", ui-monospace, monospace;
  letter-spacing: 0.13em;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 220ms ease, opacity 260ms ease;
}

.atlas-powered-emblem {
  position: relative;
  display: block;
  width: 34px;
  height: 15px;
  flex: 0 0 15px;
  transform: rotate(-8deg);
}

.atlas-powered-orbit {
  position: absolute;
  inset: 3px 1px;
  border: 1px solid rgb(255 255 255 / 0.72);
  border-radius: 50%;
  box-shadow: 0 0 10px rgb(255 255 255 / 0.05);
}

.atlas-powered-planet {
  position: absolute;
  top: calc(50% - 1.75px);
  left: calc(50% - 1.75px);
  width: 3.5px;
  height: 3.5px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 4px rgb(255 255 255 / 0.72), 0 0 9px rgb(255 255 255 / 0.22);
  animation: atlas-powered-planet-orbit 18s linear infinite;
}

.atlas-powered-copy {
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  gap: 7px;
  white-space: nowrap;
}

.atlas-powered-by strong {
  color: rgb(237 218 179 / 0.84);
  font: 500 10px/1 Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: 0.1em;
}

.atlas-powered-by:hover { color: rgb(231 226 215 / 0.74); }
.atlas-powered-by:hover strong { color: #f0d79f; }

.atlas-shell[data-paused="true"] .atlas-powered-planet {
  animation-play-state: paused;
}

@keyframes atlas-powered-planet-orbit {
  0%, 100% { opacity: 0.94; transform: translate(15px, 0) scale(1); }
  12.5% { opacity: 0.8; transform: translate(10.6px, 3.1px) scale(0.9); }
  25% { opacity: 0.66; transform: translate(0, 4.4px) scale(0.78); }
  37.5% { opacity: 0.52; transform: translate(-10.6px, 3.1px) scale(0.66); }
  50% { opacity: 0.46; transform: translate(-15px, 0) scale(0.6); }
  62.5% { opacity: 0.56; transform: translate(-10.6px, -3.1px) scale(0.7); }
  75% { opacity: 0.7; transform: translate(0, -4.4px) scale(0.82); }
  87.5% { opacity: 0.84; transform: translate(10.6px, -3.1px) scale(0.92); }
}

.atlas-compass {
  --atlas-bearing: 0deg;
  position: absolute;
  bottom: 82px;
  left: 30px;
  z-index: 20;
  display: inline-flex;
  min-width: 88px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 13px;
  border: 1px solid rgb(231 192 111 / 0.3);
  border-radius: 999px;
  color: #dfc285;
  background: rgb(12 14 22 / 0.72);
  box-shadow: 0 12px 36px rgb(0 0 0 / 0.3);
  font: 500 9px/1 "IBM Plex Mono", ui-monospace, monospace;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  backdrop-filter: blur(16px);
  cursor: pointer;
}

.atlas-compass[hidden] { display: none; }

.atlas-compass-arrow {
  display: inline-block;
  color: #f0c873;
  font-size: 1rem;
  transform: rotate(var(--atlas-bearing));
  transition: transform 700ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.atlas-compass {
  transition: opacity 700ms cubic-bezier(0.22, 1, 0.36, 1) 120ms;
}

.atlas-inspector {
  position: absolute;
  top: 49.3%;
  right: clamp(76px, calc(14.5vw - 166px), 112px);
  z-index: 25;
  width: var(--atlas-inspector-width);
  height: auto;
  max-height: clamp(260px, calc(24.2vw - 145px), 320px);
  overflow: hidden auto;
  border: 1px solid rgb(232 225 208 / 0.32);
  border-radius: 16px;
  background:
    radial-gradient(circle at 18% 0%, rgb(72 78 110 / 0.2), transparent 55%),
    linear-gradient(145deg, rgb(14 16 25 / 0.9), rgb(9 11 19 / 0.84));
  box-shadow: 0 26px 86px rgb(0 0 0 / 0.38), 0 0 48px rgb(86 94 142 / 0.055), inset 0 1px rgb(255 255 255 / 0.045);
  scrollbar-width: none;
  transform: translateY(-50%);
  transition: opacity 740ms cubic-bezier(0.22, 1, 0.36, 1) 90ms;
  backdrop-filter: blur(22px) saturate(108%);
}

.atlas-inspector::-webkit-scrollbar { width: 0; height: 0; }
.atlas-sheet-toggle { display: none; }
.atlas-inspector-content { padding: 17px 19px 19px; }

.atlas-knowledge-card {
  position: absolute;
  top: 50%;
  left: clamp(30px, 4.2vw, 74px);
  z-index: 19;
  width: min(252px, calc(100vw - 64px));
  min-height: 178px;
  padding: 20px 22px 19px;
  border: 1px solid rgb(231 219 195 / 0.26);
  border-radius: 16px;
  color: var(--atlas-paper);
  background:
    radial-gradient(circle at 13% 4%, rgb(92 111 144 / 0.17), transparent 54%),
    linear-gradient(145deg, rgb(14 17 28 / 0.93), rgb(9 12 21 / 0.88));
  box-shadow: 0 28px 90px rgb(0 0 0 / 0.42), 0 0 50px rgb(105 143 160 / 0.055), inset 0 1px rgb(255 255 255 / 0.045);
  transform: translateY(-50%);
  backdrop-filter: blur(24px) saturate(112%);
  animation: atlas-knowledge-arrive 560ms cubic-bezier(0.22, 1, 0.36, 1) both;
  overflow-wrap: anywhere;
}

.atlas-knowledge-card[hidden] { display: none; }

.atlas-knowledge-card::before {
  position: absolute;
  top: 20px;
  bottom: 20px;
  left: 0;
  width: 1px;
  background: linear-gradient(transparent, rgb(229 188 105 / 0.68), rgb(104 160 180 / 0.42), transparent);
  content: "";
}

.atlas-knowledge-eyebrow {
  margin: 0 34px 10px 0;
  color: rgb(218 183 112 / 0.82);
  font: 500 8px/1.35 "IBM Plex Mono", ui-monospace, monospace;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.atlas-knowledge-title {
  margin: 0;
  color: rgb(239 234 224 / 0.8);
  font: 500 10px/1.3 Inter, -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.atlas-knowledge-value {
  margin: 12px 0 0;
  color: #f3ead8;
  font: 400 clamp(24px, 2vw, 34px)/1.02 "Iowan Old Style", Baskerville, Georgia, serif;
  letter-spacing: -0.025em;
  text-wrap: balance;
  text-shadow: 0 0 28px rgb(220 171 75 / 0.12);
}

.atlas-knowledge-card[data-knowledge-kind="descriptor"] .atlas-knowledge-value {
  font-size: clamp(19px, 1.55vw, 26px);
  line-height: 1.12;
}

.atlas-knowledge-copy {
  margin: 12px 0 0;
  color: rgb(220 216 207 / 0.67);
  font-size: 10.5px;
  line-height: 1.55;
}

.atlas-knowledge-close {
  position: absolute;
  top: 6px;
  right: 6px;
  display: grid;
  width: 44px;
  height: 44px;
  padding: 0;
  place-items: center;
  border: 0;
  border-radius: 50%;
  color: rgb(226 219 206 / 0.5);
  background: transparent;
  font: 300 22px/1 Inter, system-ui, sans-serif;
  cursor: pointer;
}

.atlas-knowledge-close:hover { color: #f0ce87; }

@keyframes atlas-knowledge-arrive {
  from { opacity: 0; transform: translateY(calc(-50% + 12px)) scale(0.985); }
  to { opacity: 1; transform: translateY(-50%) scale(1); }
}

@keyframes atlas-knowledge-arrive-mobile {
  from { opacity: 0; transform: translateY(10px) scale(0.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.atlas-inspector-kicker {
  margin: 0 0 8px;
  color: #d8b66e;
  font: 500 9px/1.35 "IBM Plex Mono", ui-monospace, monospace;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.atlas-inspector-title {
  margin: 0;
  overflow: hidden;
  color: var(--atlas-paper);
  font: 500 13px/1.35 Inter, -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  letter-spacing: 0.1em;
  text-overflow: ellipsis;
  text-transform: uppercase;
}

.atlas-inspector-degree {
  margin: 13px 0 3px;
  color: #f1eadc;
  font-family: "Iowan Old Style", Baskerville, Georgia, serif;
  font-size: 47px;
  font-weight: 400;
  line-height: 0.88;
  letter-spacing: -0.055em;
  text-shadow: 0 0 28px rgb(220 171 75 / 0.14);
}

.atlas-inspector-degree > span:last-child {
  margin-left: 0.08em;
  color: var(--atlas-gold);
  font: 500 0.35em/1 Inter, system-ui, sans-serif;
  vertical-align: top;
}

.atlas-inspector-band {
  display: none;
  margin: 9px 0 0;
  color: rgb(238 232 220 / 0.84);
  font: 500 9px/1.2 "IBM Plex Mono", ui-monospace, monospace;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.atlas-inspector-address {
  margin: 11px 0 0;
  overflow-wrap: anywhere;
  color: rgb(217 213 204 / 0.52);
  font: 9px/1.5 "IBM Plex Mono", ui-monospace, monospace;
}

.atlas-inspector-metrics {
  display: grid;
  grid-template-columns: 1fr;
  gap: 7px;
  margin: 13px 0 0;
  padding: 11px 0;
  border-top: 1px solid rgb(231 224 210 / 0.14);
  border-bottom: 1px solid rgb(231 224 210 / 0.14);
}

.atlas-inspector-metric {
  display: grid;
  min-width: 0;
  grid-template-columns: 96px minmax(0, 1fr);
  align-items: baseline;
  gap: 8px;
  padding: 0;
  border: 0;
  background: transparent;
}

.atlas-inspector-metric-label,
.atlas-inspector-section-title,
.atlas-inspector-context-label {
  margin: 0;
  color: var(--atlas-gold-soft);
  font: 500 8px/1.35 "IBM Plex Mono", ui-monospace, monospace;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.atlas-inspector-metric-value {
  color: rgb(239 234 224 / 0.82);
  font-size: 12px;
  line-height: 1.35;
}

.atlas-inspector-context {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr);
  gap: 8px;
  padding: 9px 0 10px;
  border-bottom: 1px solid rgb(231 224 210 / 0.1);
}

.atlas-inspector-context-label { color: rgb(113 164 183 / 0.84); }

.atlas-inspector-context-value {
  color: rgb(231 226 215 / 0.66);
  font: 10px/1.45 Inter, -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
}

.atlas-inspector-section { padding-top: 11px; }

.atlas-inspector-section + .atlas-inspector-section {
  margin-top: 0;
  border-top: 1px solid rgb(231 224 210 / 0.1);
}

.atlas-inspector-copy {
  display: -webkit-box;
  margin: 7px 0 0;
  overflow: hidden;
  color: rgb(220 216 207 / 0.74);
  font-size: 11px;
  line-height: 1.55;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

.atlas-route-list {
  margin: 7px 0 0;
  padding-left: 17px;
  color: rgb(220 216 207 / 0.58);
  font: 9px/1.55 "IBM Plex Mono", ui-monospace, monospace;
}

.atlas-inspector-actions,
.atlas-inspector-nav { margin-top: 12px; }

.atlas-inspector-nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.atlas-inspector .atlas-control {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  padding: 0 9px;
  border: 1px solid rgb(231 224 210 / 0.14);
  border-radius: 10px;
  color: rgb(232 227 216 / 0.7);
  background: rgb(255 255 255 / 0.018);
  font: 500 9px/1 "IBM Plex Mono", ui-monospace, monospace;
  letter-spacing: 0.08em;
  text-decoration: none;
  text-transform: uppercase;
}

.atlas-inspector .atlas-control:hover {
  border-color: rgb(233 198 126 / 0.3);
  color: #f2d38e;
}

/* Universe is a calm survey; Constellation adds family context; Local reveals
 * the host-owned address, narrative, lineage, and navigation details. */
.atlas-shell[data-atlas-view="universe"] .atlas-inspector-address,
.atlas-shell[data-atlas-view="universe"] .atlas-inspector-context,
.atlas-shell[data-atlas-view="universe"] .atlas-inspector-section + .atlas-inspector-section,
.atlas-shell[data-atlas-view="universe"] .atlas-inspector-actions,
.atlas-shell[data-atlas-view="universe"] .atlas-inspector-nav,
.atlas-shell[data-atlas-view="constellation"] .atlas-inspector-address,
.atlas-shell[data-atlas-view="constellation"] .atlas-inspector-context,
.atlas-shell[data-atlas-view="constellation"] .atlas-inspector-section + .atlas-inspector-section,
.atlas-shell[data-atlas-view="constellation"] .atlas-inspector-actions,
.atlas-shell[data-atlas-view="constellation"] .atlas-inspector-nav { display: none; }

.atlas-shell[data-atlas-view="constellation"] .atlas-inspector {
  border-color: rgb(146 181 190 / 0.3);
  box-shadow: 0 26px 86px rgb(0 0 0 / 0.46), 0 0 42px rgb(92 143 164 / 0.05), inset 0 1px rgb(255 255 255 / 0.035);
}

.atlas-shell[data-atlas-view="constellation"] .atlas-inspector-content {
  padding-top: 13px;
  padding-bottom: 13px;
}

.atlas-shell[data-atlas-view="universe"] .atlas-inspector-copy {
  -webkit-line-clamp: 2;
}

.atlas-shell[data-atlas-view="universe"] .atlas-inspector {
  height: 260px;
}

.atlas-shell[data-atlas-view="universe"] .atlas-inspector-content {
  padding: 24px 26px 20px;
}

.atlas-shell[data-atlas-view="universe"] .atlas-inspector-kicker {
  margin-bottom: 14px;
  color: rgb(241 236 226 / 0.88);
}

.atlas-shell[data-atlas-view="universe"] .atlas-inspector-title { display: none; }
.atlas-shell[data-atlas-view="universe"] .atlas-inspector-band { display: block; }

.atlas-shell[data-atlas-view="universe"] .atlas-inspector-degree {
  margin-top: 0;
}

.atlas-shell[data-atlas-view="universe"] .atlas-inspector-metrics {
  margin-top: 9px;
  padding: 6px 0 15px;
  border-top: 0;
}

.atlas-shell[data-atlas-view="universe"] .atlas-inspector-metric:first-child { display: none; }

.atlas-shell[data-atlas-view="universe"] .atlas-inspector-metric {
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
}

.atlas-shell[data-atlas-view="universe"] .atlas-inspector-metric-value {
  font: 500 9px/1.35 "IBM Plex Mono", ui-monospace, monospace;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.atlas-shell[data-atlas-view="universe"] .atlas-inspector-section {
  padding-top: 13px;
}

.atlas-shell[data-atlas-view="universe"] .atlas-inspector-copy {
  margin-top: 8px;
  color: rgb(235 230 221 / 0.76);
}

.atlas-shell[data-atlas-view="constellation"] .atlas-inspector-copy {
  -webkit-line-clamp: 2;
}

.atlas-shell[data-atlas-view="local"] .atlas-inspector {
  width: min(280px, calc(100vw - 48px));
  max-height: min(548px, calc(100dvh - 128px));
  border-color: rgb(234 202 136 / 0.32);
  scrollbar-width: thin;
  scrollbar-color: rgb(223 191 126 / 0.22) transparent;
}

.atlas-shell[data-atlas-view="local"] .atlas-inspector::-webkit-scrollbar { width: 3px; }
.atlas-shell[data-atlas-view="local"] .atlas-inspector::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgb(223 191 126 / 0.22);
}

.atlas-shell[data-atlas-phase="departing"] .atlas-inspector,
.atlas-shell[data-atlas-phase="settling"] .atlas-inspector {
  opacity: 0.16;
  transition: opacity 360ms cubic-bezier(0.4, 0, 1, 1);
}

.atlas-shell[data-atlas-phase="departing"] .atlas-map-status,
.atlas-shell[data-atlas-phase="settling"] .atlas-map-status,
.atlas-shell[data-atlas-phase="departing"] .atlas-compass,
.atlas-shell[data-atlas-phase="settling"] .atlas-compass {
  opacity: 0;
  transition: opacity 300ms cubic-bezier(0.4, 0, 1, 1);
}

.atlas-catalog {
  width: min(1120px, calc(100% - 48px));
  margin: 34px auto 0;
  overflow: hidden;
  border: 1px solid rgb(232 225 208 / 0.12);
  border-radius: 15px;
  background: rgb(7 9 12 / 0.74);
}

.atlas-catalog summary {
  min-height: 46px;
  padding: 15px 18px;
  color: rgb(232 227 217 / 0.78);
  font: 500 11px/1.4 "IBM Plex Mono", ui-monospace, monospace;
  letter-spacing: 0.04em;
  cursor: pointer;
}

.atlas-catalog-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  border-top: 1px solid rgb(232 225 208 / 0.1);
  list-style: none;
}

.atlas-catalog-link {
  display: flex;
  min-height: 44px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 15px;
  color: rgb(214 211 204 / 0.62);
  font-size: 12px;
  text-decoration: none;
}

.atlas-catalog-link:hover,
.atlas-catalog-link[aria-current="true"] {
  color: #f0e8d8;
  background: rgb(231 185 91 / 0.055);
}

.atlas-catalog-degree {
  flex: 0 0 auto;
  color: #cfa95e;
  font-family: "IBM Plex Mono", ui-monospace, monospace;
}

.atlas-release,
.atlas-noscript {
  width: min(1120px, calc(100% - 48px));
  margin-right: auto;
  margin-left: auto;
  color: rgb(184 184 182 / 0.48);
  font: 500 10px/1.6 "IBM Plex Mono", ui-monospace, monospace;
}

.atlas-release { margin-top: 12px; }
.atlas-noscript { margin-top: 10px; }
.atlas-release span,
.atlas-release a { color: rgb(210 205 195 / 0.68); }

.atlas-live {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

.atlas-shell :is(button, input, a, summary):focus-visible {
  outline: 2px solid #edc875;
  outline-offset: 3px;
}

@media (max-width: 999px) {
  .atlas-map-status { display: none; }

  .atlas-levels {
    bottom: 75px;
    left: 50%;
    width: min(340px, calc(100% - 168px));
  }

  .atlas-compass { bottom: 132px; left: 24px; }

  .atlas-powered-by {
    right: 20px;
    bottom: 128px;
  }

  .atlas-shell[data-knowledge-open="true"] .atlas-powered-by,
  .atlas-shell[data-knowledge-open="true"] .atlas-compass {
    opacity: 0;
    pointer-events: none;
  }

  .atlas-inspector {
    position: fixed;
    top: auto;
    right: 16px;
    bottom: 8px;
    left: 16px;
  }

  .atlas-inspector,
  .atlas-shell[data-atlas-view="local"] .atlas-inspector {
    z-index: 30;
    width: auto;
    max-height: min(78svh, 650px);
    overflow: hidden auto;
    border-radius: 20px;
    background: rgb(7 9 11 / 0.96);
    transform: translateY(calc(100% - 58px));
    transition:
      transform 520ms cubic-bezier(0.22, 1, 0.36, 1),
      opacity 360ms cubic-bezier(0.22, 1, 0.36, 1);
    backdrop-filter: blur(24px) saturate(110%);
  }

  .atlas-shell .atlas-inspector.is-open { transform: translateY(0); }

  .atlas-sheet-toggle {
    position: sticky;
    top: 0;
    z-index: 2;
    display: grid;
    width: 100%;
    min-height: 54px;
    grid-template-rows: 4px auto;
    gap: 8px;
    place-items: center;
    border: 0;
    color: rgb(216 211 201 / 0.58);
    background: linear-gradient(rgb(7 9 11 / 0.99), rgb(7 9 11 / 0.92));
    cursor: pointer;
  }

  .atlas-sheet-toggle > span:first-child {
    width: 38px;
    height: 3px;
    border-radius: 999px;
    background: rgb(229 221 207 / 0.24);
  }

  .atlas-sheet-label {
    max-width: calc(100% - 48px);
    overflow: hidden;
    color: rgb(218 213 204 / 0.68);
    font: 500 9.5px/1 "IBM Plex Mono", ui-monospace, monospace;
    letter-spacing: 0.1em;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
  }

  .atlas-inspector-content {
    width: 100%;
    max-width: 680px;
    margin: 0 auto;
    padding: 4px 20px 27px;
  }

  .atlas-inspector-kicker { font-size: 9.5px; }
  .atlas-inspector-title { font-size: 13.5px; }
  .atlas-inspector-address { font-size: 9.5px; }

  .atlas-inspector-metric-label,
  .atlas-inspector-section-title,
  .atlas-inspector-context-label { font-size: 8.5px; }

  .atlas-inspector-metric-value { font-size: 12.5px; }
  .atlas-inspector-context-value { font-size: 10.5px; }
  .atlas-inspector-copy { font-size: 11.5px; }
  .atlas-route-list { font-size: 9.5px; }
  .atlas-inspector .atlas-control { font-size: 9.5px; }
}

@media (max-width: 719px) {
  .atlas-shell {
    min-height: 100svh;
    margin-top: -24px;
    padding-bottom: 68px;
  }

  .atlas-frame { width: 100%; padding: 0 0 24px; }

  .atlas-workbench {
    width: 100%;
    height: 100svh;
    min-height: 620px;
  }

  .atlas-map-canvas {
    width: 100%;
    min-width: 0;
    height: 100%;
    aspect-ratio: 390 / 520;
  }

  .atlas-toolbar {
    top: 12px;
    right: 12px;
    left: 12px;
    gap: 7px;
  }

  .atlas-search {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
  }

  .atlas-shell input.atlas-search-input {
    min-height: 46px;
    padding-right: 40px;
    padding-left: 42px;
    border-radius: 14px;
    font-size: 14px;
  }

  .atlas-search-icon { left: 14px; width: 17px; height: 17px; }

  .atlas-toolbar .atlas-home {
    width: 46px;
    min-width: 46px;
    min-height: 46px;
    padding: 0;
    border-radius: 14px;
  }

  .atlas-toolbar .atlas-pause {
    width: 46px;
    min-width: 46px;
    min-height: 46px;
    border-radius: 14px;
  }

  .atlas-control-label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }

  .atlas-levels {
    bottom: 75px;
    width: min(300px, calc(100% - 78px));
  }

  .atlas-levels button {
    min-height: 44px;
    padding-right: 3px;
    padding-left: 3px;
    font-size: 8px;
    letter-spacing: 0.09em;
  }

  .atlas-compass { bottom: 132px; left: 12px; }

  .atlas-powered-by {
    right: 10px;
    bottom: 128px;
    padding-right: 4px;
    font-size: 8px;
  }

  .atlas-powered-by strong { font-size: 9.5px; }

  .constellation-knowledge-label,
  [data-constellation-knowledge-label] {
    max-width: 92px !important;
    padding: 3px 4px 3px 5px;
    font-size: 9.5px !important;
    letter-spacing: 0.12em !important;
  }

  .atlas-knowledge-card {
    top: auto;
    right: 12px;
    bottom: calc(146px + env(safe-area-inset-bottom, 0px));
    left: 12px;
    width: auto;
    min-height: 0;
    max-height: min(40svh, 280px);
    overflow: auto;
    padding: 17px 20px 16px;
    border-radius: 15px;
    transform: none;
    animation-name: atlas-knowledge-arrive-mobile;
  }

  .atlas-knowledge-value {
    margin-top: 9px;
    font-size: 25px;
  }

  .atlas-knowledge-eyebrow { font-size: 9.5px; }
  .atlas-knowledge-title { font-size: 11px; }
  .atlas-knowledge-copy { margin-top: 9px; font-size: 11.5px; }

  .atlas-inspector {
    right: 8px;
    left: 8px;
  }

  .atlas-catalog {
    width: calc(100% - 24px);
    margin-top: 22px;
    margin-bottom: 68px;
  }

  .atlas-catalog-list { grid-template-columns: 1fr; }

  .atlas-release,
  .atlas-noscript { width: calc(100% - 28px); }
}

@media (prefers-reduced-motion: reduce) {
  .atlas-powered-planet {
    animation: none !important;
    transform: translate(15px, 0);
  }

  .atlas-shell *,
  .atlas-shell *::before,
  .atlas-shell *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
}

@media (forced-colors: active) {
  .atlas-powered-orbit { border-color: CanvasText; }

  .atlas-powered-planet {
    background: CanvasText;
    box-shadow: none;
  }

  [data-constellation-knowledge]:not([hidden]) {
    border: 1px dotted CanvasText !important;
    opacity: 1 !important;
  }

  .atlas-toolbar .atlas-control,
  .atlas-shell input.atlas-search-input,
  .atlas-inspector,
  .atlas-knowledge-card,
  .atlas-compass,
  .atlas-catalog { border-color: CanvasText; }
}

/* ---- public-page finishing pass ------------------------------------------
   Kept after the Atlas layer so these small, non-Atlas corrections win the
   older base rules without changing the observatory composition. */

html { color-scheme: dark; }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

input[type='text']::placeholder { color: var(--muted); }
input[type='text']:focus-visible {
  outline: 2px solid var(--amber);
  outline-offset: 2px;
}

.foot,
.brow-rank,
.board-note { color: var(--muted); }

.board-title {
  margin: 0;
  font-weight: 400;
}

.board {
  margin: 0;
  padding: 0;
  list-style: none;
}

.board > li { min-width: 0; }

.board-more {
  min-height: 44px;
  margin-top: -14px;
  margin-bottom: -14px;
  padding-top: 14px;
  padding-bottom: 14px;
  padding-left: 10px;
}

/* Once rows live in semantic list items, the original nth-child selector sees
   every link as child one. Restate the intended initial/revealed split here. */
.board.expanding > li:nth-child(-n + 15) > .brow { animation: none; }
.board.expanding > li:nth-child(n + 16) > .brow {
  animation: dfs-unfurl 0.42s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.lede,
.hint { overflow-wrap: anywhere; }

.hint > p {
  margin-top: 10px;
  margin-bottom: 0;
}

.hint > p:first-of-type { margin-top: 8px; }

.section-heading {
  margin-top: 34px;
  margin-bottom: 12px;
  color: var(--amber);
  font-family: var(--mono);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 2px;
  line-height: 1.4;
  text-transform: uppercase;
}

dl.facts { margin-bottom: 8px; }
.fact dt,
.fact dd { margin-left: 0; }

/* A real, readable chronology replaces the former SVG whose type shrank to
   roughly five pixels on phones. */
.timeline { overflow: visible; }
.timeline-list {
  position: relative;
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.timeline-list::before {
  content: '';
  position: absolute;
  top: 8px;
  bottom: 8px;
  left: 104px;
  width: 1px;
  background: linear-gradient(var(--amber), var(--violet));
  opacity: 0.5;
}
.timeline-item {
  position: relative;
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr);
  gap: 30px;
  align-items: start;
}
.timeline-item::before {
  content: '';
  position: absolute;
  top: 19px;
  left: 100px;
  width: 9px;
  height: 9px;
  border: 2px solid var(--bg);
  border-radius: 50%;
  background: var(--timeline-color, var(--amber));
  box-shadow: 0 0 0 1px rgba(217, 164, 65, 0.45);
}
.timeline-date {
  padding-top: 14px;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 12px;
  line-height: 1.4;
  text-align: right;
}
.timeline-copy {
  min-width: 0;
  margin: 0;
  padding-top: 12px;
  padding-bottom: 12px;
  padding-left: 16px;
  padding-right: 16px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: rgba(18, 20, 31, 0.72);
  color: #c3c8d8;
  font-size: 14.5px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}

.wallet-meta {
  display: grid;
  gap: 15px;
  margin: 0;
}
.wallet-meta-row {
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}
.wallet-meta dt,
.wallet-meta dd { margin: 0; }
.wallet-address {
  font-family: var(--mono);
  font-size: 13px;
  overflow-wrap: anywhere;
}
.wallet-meta .sources { margin-top: -4px; }
.wallet-meta-row .eyebrow { padding-top: 2px; }

.caveats .section-heading,
.panel > .section-heading { margin-top: 0; }
.caveats p {
  color: #c7cbdb;
  line-height: 1.68;
}
.fact-source {
  display: inline-block;
  margin-left: 6px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}
.related-wallets { margin-top: 36px; }
.related-wallets .section-heading { margin-bottom: 0; }
.related-wallets .presets { margin-top: 14px; }
.preset .name,
.preset .meta { display: block; }

.methodology pre {
  border: 1px solid var(--border);
  scrollbar-color: var(--muted) transparent;
}
.method-table {
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  scrollbar-color: var(--muted) transparent;
}
.methodology th,
.methodology td { border-bottom-color: var(--border); }
.methodology tbody th {
  color: #c3c8d8;
  font-family: var(--sans);
  font-size: inherit;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}

@media (max-width: 560px) {
  .brow-name {
    display: -webkit-box;
    overflow: hidden;
    white-space: normal;
    line-height: 1.35;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  #result .caption { letter-spacing: 0.75px; }

  .timeline-list::before { left: 5px; }
  .timeline-item {
    grid-template-columns: minmax(0, 1fr);
    gap: 5px;
    padding-left: 22px;
  }
  .timeline-item::before {
    top: 5px;
    left: 1px;
  }
  .timeline-date {
    padding-top: 0;
    color: var(--amber);
    text-align: left;
  }

  .wallet-meta-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 5px;
  }
}

/* ---- wallet-story editorial axis ----------------------------------------
   Long-form copy used to sit against the left edge of the 900px map column,
   while timeline cards were centred in the full column. The page appeared to
   jump sideways at the chronology. Keep the readable text measure centred,
   then hang dates and the timeline rule into its left margin. */
.wallet-story > .lede,
.wallet-story > .prose {
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 980px) {
  .wallet-story > .story-section[aria-labelledby='timeline-title'] {
    width: min(100%, calc(68ch + 116px));
    margin-left: auto;
    margin-right: auto;
    transform: translateX(-58px);
  }

  .wallet-story > .story-section[aria-labelledby='timeline-title'] > .section-heading {
    padding-left: 116px;
  }
}

/* ---- non-Atlas consistency pass ----------------------------------------- */

.hero-lookup button { min-height: 57px; }
.board-more { white-space: nowrap; }

.result-utility {
  width: 100%;
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
}
.result-recheck { margin: 18px 0 24px; }
.result-watchline { margin: 0; }
.result-watch-button { width: 100%; }
.result-watch-caption { margin: 10px 0 0; }
.result-method { margin: 26px 0; }

.foot-note {
  display: block;
  margin: 0 0 10px;
}
.foot-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px 20px;
}

.methodology-meta {
  margin-bottom: 24px !important;
  color: var(--muted) !important;
  font-family: var(--mono);
  font-size: 12px !important;
  font-style: normal;
  letter-spacing: 0.03em;
  line-height: 1.7 !important;
}
.methodology-brand { margin-bottom: 18px; }
.methodology-meta em { font-style: normal; }
.method-table {
  border: 1px solid var(--border);
  border-radius: 10px;
  background: rgba(12, 14, 22, 0.68);
}
.methodology tbody tr:last-child > * { border-bottom: 0; }

.brand-link {
  color: inherit;
  text-decoration: none;
}
.wallet-subtitle {
  margin-top: -4px;
  margin-bottom: 12px;
}
.wallet-cta { margin-top: 24px; }
.wallet-cta-link {
  display: inline-flex;
  min-height: 49px;
  align-items: center;
  padding-top: 0;
  padding-bottom: 0;
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}
.wallet-story .caveats { margin-top: 40px; }
.wallet-story .caveats p {
  max-width: 68ch;
  margin-left: auto;
  margin-right: auto;
  font-size: 16px;
}

/* At phone and tablet widths, put timeline dates above each card and hang the
   rule into the story margin. This keeps the cards on the same reading axis as
   the prose instead of shifting them 116px to the right. */
@media (max-width: 979px) {
  .wallet-story > .story-section[aria-labelledby='timeline-title'] {
    max-width: 68ch;
    margin-left: auto;
    margin-right: auto;
  }
  .wallet-story .timeline-list::before { left: -12px; }
  .wallet-story .timeline-item {
    grid-template-columns: minmax(0, 1fr);
    gap: 5px;
    padding-left: 0;
  }
  .wallet-story .timeline-item::before {
    top: 5px;
    left: -16px;
  }
  .wallet-story .timeline-date {
    padding-top: 0;
    color: var(--amber);
    text-align: left;
  }
}

@media (max-width: 700px) {
  .methodology h2 { margin-top: 34px; }
  .methodology p,
  .methodology li {
    font-size: 16px;
    line-height: 1.7;
  }
}

/* ---- address dossiers ---------------------------------------------------
   The generated wallet pages are the site's flagship editorial surface. Keep
   this entire layer under .wallet-page: lookup results, methodology, history,
   and Atlas share several of the older degree/map/panel classes. */

/* ---- personal lineage profiles -----------------------------------------
   A degree is still the canonical coordinate, but it no longer has to carry
   the entire result. These rules are intentionally scoped to #result and the
   generated wallet dossiers so Atlas keeps its authored presentation. */

#result {
  --result-paper: #eee9df;
  --result-hairline: rgba(231, 224, 210, 0.16);
  --result-gold: #e1b969;
  --result-bitcoin: #f7931a;
  --result-blue: #6999b0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: clamp(28px, 5vw, 54px) 0 34px;
  backdrop-filter: none;
}
#result:focus { outline: none; }
#result:focus-visible { outline: none; }

.result-profile {
  position: relative;
  display: grid;
  gap: 22px;
  width: min(100%, 900px);
  margin: 0 auto;
}
.result-profile::before {
  position: absolute;
  top: -100px;
  right: -90px;
  width: 390px;
  height: 300px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(217, 164, 65, 0.1), transparent 68%);
  content: '';
  pointer-events: none;
}
.result-profile-head {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(24px, 5vw, 58px);
  align-items: center;
  border-top: 1px solid var(--result-hairline);
  border-bottom: 1px solid var(--result-hairline);
  padding: 25px 0 24px;
}
.result-profile-copy { min-width: 0; }
#r-brand {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 9px;
  color: var(--result-gold);
}
#result .result-bitcoin-mark {
  display: inline-grid;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  place-items: center;
  border: 1px solid rgb(247 147 26 / 0.48);
  border-radius: 50%;
  background: rgb(247 147 26 / 0.055);
  box-shadow: 0 0 18px rgb(247 147 26 / 0.1);
  color: var(--result-bitcoin);
  font-family: system-ui, sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  text-transform: none;
}
#r-profile-title {
  margin: 0;
  color: var(--result-paper);
  font-size: clamp(29px, 4.5vw, 43px);
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 1.05;
}
#result .ancestry {
  max-width: 580px;
  margin: 12px 0 0;
  color: rgba(226, 222, 213, 0.74);
  font-size: clamp(15px, 2vw, 17px);
  font-style: normal;
  line-height: 1.58;
}
#result .ancestry b { font-style: normal; }

.result-coordinate {
  position: relative;
  z-index: 1;
  display: flex;
  min-width: 138px;
  flex-direction: column;
  align-items: flex-end;
  text-align: right;
}
#result .degree {
  margin: 0;
  color: var(--result-paper);
  font-family: 'Iowan Old Style', Baskerville, Georgia, serif;
  font-size: clamp(68px, 9vw, 92px);
  font-variant-numeric: lining-nums tabular-nums;
  font-weight: 400;
  letter-spacing: -0.06em;
  line-height: 0.82;
  text-shadow: 0 0 36px rgba(217, 164, 65, 0.14);
}
.result-coordinate > span {
  max-width: 158px;
  margin-top: 14px;
  color: rgba(193, 194, 202, 0.55);
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: 0.16em;
  line-height: 1.5;
  text-transform: uppercase;
}

.result-featured-standing {
  position: relative;
  display: grid;
  grid-template-columns: minmax(260px, 0.9fr) minmax(220px, 1.1fr);
  gap: clamp(22px, 5vw, 58px);
  align-items: center;
  overflow: hidden;
  border-top: 1px solid rgba(225, 185, 105, 0.48);
  border-bottom: 1px solid rgba(225, 185, 105, 0.24);
  background:
    radial-gradient(circle at 15% 50%, rgba(225, 185, 105, 0.11), transparent 34%),
    linear-gradient(90deg, rgba(11, 13, 22, 0.72), rgba(13, 16, 27, 0.36));
  padding: 22px clamp(18px, 3vw, 28px);
}
#result .result-featured-standing.hidden { display: none; }
.result-featured-standing::after {
  position: absolute;
  top: 15px;
  right: 18px;
  color: color-mix(in srgb, var(--result-bitcoin) 68%, var(--result-gold));
  content: '✦';
  font-size: 13px;
  opacity: 0.78;
}
.result-featured-primary { min-width: 0; }
.result-featured-primary .eyebrow {
  margin: 0 0 8px;
  color: var(--result-gold);
  font-size: 8px;
  letter-spacing: 0.17em;
}
.result-featured-primary strong {
  display: block;
  color: var(--result-paper);
  font-family: 'Iowan Old Style', Baskerville, Georgia, serif;
  font-size: clamp(58px, 9vw, 82px);
  font-variant-numeric: lining-nums tabular-nums;
  font-weight: 400;
  letter-spacing: -0.06em;
  line-height: 0.88;
  text-shadow: 0 0 32px rgba(225, 185, 105, 0.17);
  white-space: nowrap;
}
.result-featured-primary > p {
  margin: 10px 0 0;
  color: rgba(239, 234, 224, 0.84);
  font-size: 13px;
  line-height: 1.45;
}
.result-featured-context {
  max-width: 36ch;
  margin: 0;
  border-left: 1px solid rgba(225, 185, 105, 0.32);
  color: rgba(213, 210, 203, 0.62);
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.08em;
  line-height: 1.65;
  padding: 8px 28px 8px 18px;
  text-transform: uppercase;
}

#result #r-map {
  width: min(100%, 900px);
  margin: 18px auto 0;
  background:
    radial-gradient(ellipse at 50% 54%, rgba(105, 153, 176, 0.065), transparent 42%),
    radial-gradient(ellipse at 50% 55%, rgba(225, 185, 105, 0.035), transparent 65%);
}
#result #r-map svg { border-radius: 0; }
#result > .caption {
  width: min(100%, 900px);
  margin: 2px auto 27px;
  color: rgba(193, 194, 202, 0.48);
  font-size: 8px;
  letter-spacing: 0.14em;
}
.result-support {
  display: grid;
  gap: 15px;
  width: min(100%, 820px);
  margin: 0 auto;
}

.result-vitals {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  overflow: hidden;
  border-top: 1px solid var(--result-hairline);
  border-bottom: 1px solid var(--result-hairline);
  background: rgba(8, 10, 17, 0.34);
}
.result-vitals > div {
  min-width: 0;
  border-left: 1px solid rgba(231, 224, 210, 0.11);
  padding: 13px 15px 14px;
}
.result-vitals > div:first-child { border-left: 0; }
.result-vitals dt {
  margin: 0 0 6px;
  color: rgba(225, 185, 105, 0.7);
  font-family: var(--mono);
  font-size: 7px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
.result-vitals dd {
  margin: 0;
  color: rgba(239, 234, 224, 0.76);
  font-size: 11px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
#r-signature {
  color: var(--result-gold);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.04em;
}
.result-signature-note {
  color: rgba(193, 194, 202, 0.52);
  font-family: var(--sans);
  font-size: 8px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.45;
}

.result-positions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 28px;
}
#result .position-row {
  border: 0;
  border-bottom: 1px solid rgba(231, 224, 210, 0.11);
  border-radius: 0;
  background: transparent;
  padding: 12px 0 13px;
}
.position-copy {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.position-copy strong { color: #d2d6e2; font-size: 10px; font-weight: 500; }
.position-rail {
  position: relative;
  height: 2px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(139, 147, 168, 0.16);
}
.position-rail > span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--violet), var(--result-gold));
  box-shadow: 0 0 14px rgba(217, 164, 65, 0.38);
  transition: width 650ms cubic-bezier(.2,.8,.2,1);
}
.position-rail--cohort > span {
  background: linear-gradient(90deg, var(--result-blue), var(--mint));
  box-shadow: 0 0 14px rgba(102, 217, 176, 0.28);
}

#result .result-finding {
  position: relative;
  overflow: visible;
  border: 0;
  border-left: 1px solid rgba(225, 185, 105, 0.58);
  border-radius: 0;
  background: linear-gradient(90deg, rgba(225, 185, 105, 0.05), transparent 82%);
  padding: 3px 0 4px 17px;
}
#result .result-finding::before { display: none; }
#result .result-finding .eyebrow { margin: 0 0 7px; color: var(--result-gold); font-size: 8px; }
#result .result-finding h3 {
  margin: 0;
  color: var(--result-paper);
  font-size: 17px;
  font-weight: 500;
  letter-spacing: -0.015em;
}
#result .result-finding > p:last-child {
  max-width: 68ch;
  margin: 6px 0 0;
  color: rgba(220, 216, 207, 0.68);
  font-size: 13px;
  line-height: 1.58;
}

.result-milestone {
  position: relative;
  display: flex;
  gap: 14px;
  align-items: flex-start;
  border: 0;
  border-top: 1px solid rgba(102, 217, 176, 0.26);
  border-bottom: 1px solid rgba(102, 217, 176, 0.15);
  background: linear-gradient(90deg, rgba(102, 217, 176, 0.09), transparent 72%);
  color: #cbd7d7;
  padding: 14px 16px 14px 17px;
}
#result .result-milestone.hidden { display: none; }
.result-milestone-marker {
  width: 9px;
  height: 9px;
  flex: 0 0 auto;
  margin-top: 7px;
  border: 1px solid rgba(194, 250, 229, 0.9);
  border-radius: 50%;
  background: var(--mint);
  box-shadow: 0 0 0 5px rgba(102, 217, 176, 0.09), 0 0 18px rgba(102, 217, 176, 0.42);
}
.result-milestone small {
  display: block;
  margin-bottom: 3px;
  color: rgba(186, 232, 216, 0.62);
  font-family: var(--mono);
  font-size: 7px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
.result-milestone strong { display: block; color: #bcf0dc; font-size: 13px; font-weight: 550; }
.result-milestone p { margin: 3px 0 0; color: rgba(203, 215, 215, 0.62); font-size: 11px; line-height: 1.5; }
.result-milestone.is-new { animation: result-milestone-glow 760ms ease-out both; }
@keyframes result-milestone-glow {
  0% { box-shadow: 0 0 0 rgba(102, 217, 176, 0); }
  45% { box-shadow: 0 0 34px rgba(102, 217, 176, 0.18); }
  100% { box-shadow: 0 0 0 rgba(102, 217, 176, 0); }
}

#result .checked {
  width: min(100%, 820px);
  margin: 22px auto 0;
  border-color: var(--result-hairline);
  background: rgba(8, 10, 17, 0.46);
}
.checked-toolbar {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.checked-toolbar .checked-head { margin: 0; }
.checked-clear {
  min-height: 40px;
  padding: 0 12px;
  border-radius: 7px;
  font-size: 8px;
  letter-spacing: 0.1em;
}
.checked-identity {
  display: grid;
  min-width: 0;
  gap: 3px;
}
.checked-identity small {
  color: rgba(139, 147, 168, 0.72);
  font-size: 9px;
  line-height: 1.3;
}
.checked-tag { white-space: nowrap; }

.independent-portrait {
  position: relative;
  min-height: 430px;
  overflow: hidden;
  border: 1px solid rgba(139, 147, 168, 0.15);
  border-radius: 16px;
  background:
    radial-gradient(circle at 66% 48%, rgba(107, 165, 245, 0.08), transparent 28%),
    rgba(8, 10, 18, 0.36);
}
.independent-portrait svg { display: block; width: 100%; height: auto; }

#result.result-reveal .result-coordinate,
#result.result-reveal .result-featured-standing,
#result.result-reveal .result-finding,
#result.result-reveal .result-milestone {
  opacity: 0;
  transform: translateY(8px);
}
#result.result-reveal.result-reveal--ready .result-coordinate,
#result.result-reveal.result-reveal--ready .result-featured-standing,
#result.result-reveal.result-reveal--ready .result-finding,
#result.result-reveal.result-reveal--ready .result-milestone {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 280ms ease, transform 360ms ease;
}
#result.result-reveal.result-reveal--ready .result-featured-standing { transition-delay: 100ms; }
#result.result-reveal.result-reveal--ready .result-finding { transition-delay: 180ms; }
#result.result-reveal.result-reveal--ready .result-milestone { transition-delay: 470ms; }

/* The portrait joins the same reveal instead of running its original long,
   staggered documentary animation. Every entrance resolves before 900ms. */
:is(#result, .wallet-map-card) .dfs-arc {
  animation-duration: 620ms !important;
  animation-delay: 80ms !important;
}
:is(#result, .wallet-map-card) .dfs-node {
  animation-duration: 280ms !important;
  animation-delay: 240ms !important;
}

@media (max-width: 700px) {
  #result { overflow-x: clip; }
  .result-profile::before { right: -10px; }
  .result-profile-head { gap: 18px; }
  #result .degree { font-size: 68px; }
  .result-featured-standing { grid-template-columns: minmax(0, 1fr); gap: 15px; }
  .result-featured-context {
    max-width: none;
    border-top: 1px solid rgba(225, 185, 105, 0.18);
    border-left: 0;
    padding: 12px 24px 0 0;
  }
  .result-vitals { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .result-vitals > div:nth-child(odd) { border-left: 0; }
  .result-vitals > div:nth-child(n + 3) { border-top: 1px solid rgba(139, 147, 168, 0.15); }
  .result-positions { grid-template-columns: minmax(0, 1fr); }
  .independent-portrait { min-height: 320px; }
}

@media (max-width: 520px) {
  #result { padding-top: 22px; }
  .result-profile-head { grid-template-columns: minmax(0, 1fr); align-items: start; }
  .result-coordinate { align-items: flex-start; text-align: left; }
  .result-coordinate > span { margin-top: 10px; }
  #r-profile-title { font-size: 31px; }
  .result-featured-standing { padding-left: 15px; padding-right: 15px; }
  .result-vitals { grid-template-columns: minmax(0, 1fr); }
  .result-vitals > div,
  .result-vitals > div:nth-child(odd) {
    border-top: 1px solid rgba(139, 147, 168, 0.15);
    border-left: 0;
    padding-left: 14px;
  }
  .result-vitals > div:first-child { border-top: 0; }
  #result .result-finding { padding-left: 15px; }
  .checked-toolbar { align-items: center; }
  .checked-row { grid-template-columns: auto minmax(0, 1fr); }
  .checked-tag { grid-column: 2; }
}

@media (prefers-reduced-motion: reduce) {
  .position-rail > span { transition: none; }
  .result-milestone.is-new { animation: none; }
  #result.result-reveal .result-coordinate,
  #result.result-reveal .result-featured-standing,
  #result.result-reveal .result-finding,
  #result.result-reveal .result-milestone {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

.wallet-page .wrap {
  max-width: 1240px;
  padding-top: 24px;
}

.wallet-story {
  --wallet-accent: var(--amber);
}

.wallet-masthead {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(139, 147, 168, 0.22);
  border-radius: 24px;
  background:
    radial-gradient(circle at 78% 18%, color-mix(in srgb, var(--wallet-accent) 13%, transparent), transparent 36%),
    linear-gradient(145deg, rgba(20, 23, 35, 0.94), rgba(11, 13, 22, 0.72));
  box-shadow: 0 34px 90px rgba(0, 0, 0, 0.24);
  padding-top: 18px;
  padding-bottom: 34px;
  padding-left: 34px;
  padding-right: 34px;
}

.wallet-masthead::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--wallet-accent) 28%, color-mix(in srgb, var(--wallet-accent) 35%, transparent) 68%, transparent);
}

.wallet-masthead::after {
  content: '';
  position: absolute;
  top: 72px;
  right: auto;
  left: 45.5%;
  width: 1px;
  height: calc(100% - 106px);
  background: linear-gradient(transparent, rgba(139, 147, 168, 0.18), transparent);
  pointer-events: none;
}

.wallet-masthead-bar {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(139, 147, 168, 0.16);
  color: var(--muted);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  line-height: 1.5;
  text-transform: uppercase;
}

.wallet-breadcrumb,
.wallet-record-type { margin: 0; }
.wallet-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.wallet-breadcrumb .brand-link { color: var(--text); }
.wallet-record-type { color: color-mix(in srgb, var(--wallet-accent) 78%, var(--text)); }

.wallet-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-areas:
    'intro lineage'
    'meta lineage';
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  grid-template-rows: auto minmax(0, 1fr);
  gap: 24px 34px;
  align-items: start;
  padding-top: 34px;
}

.wallet-hero-copy { min-width: 0; }
.wallet-hero-intro { grid-area: intro; }
.wallet-hero-meta {
  grid-area: meta;
  min-width: 0;
}
.wallet-dossier-label {
  margin: 0 0 16px;
  color: var(--wallet-accent);
  font-size: 10px;
  letter-spacing: 0.2em;
}

.wallet-page .wallet-story h1 {
  max-width: none;
  margin-top: 0;
  margin-bottom: 14px;
  font-size: clamp(36px, 3.8vw, 48px);
  font-weight: 600;
  letter-spacing: -0.045em;
  line-height: 1.04;
  text-wrap: balance;
}

.wallet-page .wallet-subtitle {
  margin: 0 0 22px;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  line-height: 1.6;
  text-transform: uppercase;
}

.wallet-standfirst {
  max-width: 58ch;
  margin: 0;
  color: #c7cbdb;
  font-size: clamp(16.5px, 1.5vw, 18px);
  line-height: 1.58;
}

.wallet-address-capsule {
  position: relative;
  margin-top: 0;
  border: 1px solid rgba(139, 147, 168, 0.23);
  border-radius: 14px;
  background: rgba(8, 10, 17, 0.58);
  padding-top: 18px;
  padding-bottom: 17px;
  padding-left: 18px;
  padding-right: 18px;
}

.wallet-address-capsule::before {
  content: '';
  position: absolute;
  top: -1px;
  left: 18px;
  width: 72px;
  height: 2px;
  background: var(--wallet-accent);
  box-shadow: 0 0 22px color-mix(in srgb, var(--wallet-accent) 42%, transparent);
}

.wallet-address-capsule-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 6px 14px;
  margin-bottom: 10px;
}
.wallet-address-capsule-head h2 { margin: 0; font-size: 10px; color: var(--wallet-accent); }
.wallet-address-capsule-head > span {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.04em;
}

.wallet-featured-address {
  display: block;
  color: var(--text);
  font-family: var(--mono);
  font-size: 14px;
  line-height: 1.6;
  overflow-wrap: anywhere;
  user-select: all;
}

.wallet-address-role {
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 12.5px;
  line-height: 1.55;
}

.wallet-address-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.wallet-address-actions :is(a, button),
.wallet-copy {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(18, 20, 31, 0.82);
  color: #c7cbdb;
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-decoration: none;
  text-transform: uppercase;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 13px;
  padding-right: 13px;
}
.wallet-address-actions :is(a, button):hover,
.wallet-copy:hover { border-color: var(--wallet-accent); color: var(--text); }
.wallet-copy[data-copy-state='success'] { border-color: var(--mint); color: var(--mint); }
.wallet-copy[data-copy-state='error'] { border-color: var(--coral); color: var(--coral); }

.wallet-vitals {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(104px, 1fr));
  gap: 0;
  margin: 24px 0 0;
  border-top: 1px solid rgba(139, 147, 168, 0.17);
  border-bottom: 1px solid rgba(139, 147, 168, 0.17);
}
.wallet-vitals > div {
  min-width: 0;
  padding-top: 12px;
  padding-bottom: 12px;
  padding-left: 10px;
  padding-right: 10px;
  border-left: 1px solid rgba(139, 147, 168, 0.14);
}
.wallet-vitals > div:first-child { border-left: 0; padding-left: 0; }
.wallet-vitals dt {
  margin: 0 0 5px;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.wallet-vitals dd {
  margin: 0;
  color: var(--text);
  font-size: 12px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.wallet-map-card {
  grid-area: lineage;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(139, 147, 168, 0.22);
  border-radius: 18px;
  background:
    radial-gradient(circle at 52% 56%, color-mix(in srgb, var(--wallet-accent) 9%, transparent), transparent 38%),
    rgba(7, 9, 16, 0.68);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.025), 0 20px 55px rgba(0, 0, 0, 0.2);
  padding-top: 18px;
  padding-bottom: 15px;
  padding-left: 18px;
  padding-right: 18px;
  transition: border-color 180ms ease, transform 180ms ease;
}
.wallet-map-card:hover { border-color: color-mix(in srgb, var(--wallet-accent) 55%, var(--border)); }

.wallet-map-heading {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 5px;
}
.wallet-map-heading p { margin: 0 0 4px; color: var(--wallet-accent); font-size: 9px; }
.wallet-map-heading h2 {
  margin: 0;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: -0.01em;
}

.wallet-coordinate {
  display: flex;
  flex-direction: column;
  flex: 0 0 auto;
  align-items: flex-end;
  margin-top: -5px;
}
.wallet-coordinate strong {
  color: var(--text);
  font-size: clamp(50px, 5vw, 68px);
  font-weight: 300;
  letter-spacing: -0.08em;
  line-height: 0.85;
}
.wallet-coordinate strong span { color: var(--wallet-accent); font-size: 0.38em; vertical-align: super; }
.wallet-coordinate small {
  margin-top: 9px;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.wallet-hop-summary {
  max-width: 52ch;
  margin: 10px 0 13px;
  color: #c6cbda;
  font-size: 14px;
  line-height: 1.55;
}

.wallet-lineage-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(139, 147, 168, 0.16);
  border-radius: 11px;
  background: rgba(8, 10, 17, 0.44);
}
.wallet-lineage-facts > div {
  min-width: 0;
  padding: 11px 12px 12px;
  border-top: 1px solid rgba(139, 147, 168, 0.13);
  border-left: 1px solid rgba(139, 147, 168, 0.13);
}
.wallet-lineage-facts > div:nth-child(-n + 2) { border-top: 0; }
.wallet-lineage-facts > div:nth-child(odd) { border-left: 0; }
.wallet-lineage-facts > div:last-child:nth-child(odd) {
  grid-column: 1 / -1;
  border-top: 1px solid rgba(139, 147, 168, 0.13);
}
.wallet-lineage-facts dt {
  margin: 0 0 5px;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}
.wallet-lineage-facts dd {
  margin: 0;
  color: #d2d6e2;
  font-size: 11.5px;
  line-height: 1.48;
  overflow-wrap: anywhere;
}
.wallet-lineage-facts code {
  color: var(--wallet-accent);
  font-family: var(--mono);
  font-size: 10px;
}
.wallet-lineage-facts small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.45;
}

.wallet-lineage-positions {
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  margin: 0;
}
.wallet-position-row { padding: 10px 12px 11px; }
.wallet-position-row .position-copy {
  display: grid;
  justify-content: stretch;
  gap: 4px;
  margin-bottom: 8px;
}
.wallet-position-row .position-copy strong {
  line-height: 1.45;
  text-transform: none;
}

.wallet-lineage-finding {
  min-width: 0;
  margin: 0;
  border-color: color-mix(in srgb, var(--wallet-accent) 42%, var(--border));
  background:
    linear-gradient(120deg, color-mix(in srgb, var(--wallet-accent) 9%, transparent), transparent 52%),
    rgba(13, 15, 24, 0.7);
  padding: 14px 15px 15px 17px;
}
.wallet-lineage-finding::before { background: var(--wallet-accent); }
.wallet-lineage-finding .eyebrow { color: var(--wallet-accent); }
.wallet-lineage-finding h3 { font-size: 16px; }
.wallet-lineage-finding > p:last-child { font-size: 12px; line-height: 1.55; }

.wallet-profile-reveal {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
  gap: 10px;
  align-items: stretch;
}
.wallet-profile-reveal--single { grid-template-columns: minmax(0, 1fr); }

.wallet-standing-spotlight {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--wallet-accent) 48%, var(--border));
  border-radius: 11px;
  background:
    radial-gradient(circle at 90% 12%, rgba(143, 138, 240, 0.18), transparent 38%),
    linear-gradient(135deg, color-mix(in srgb, var(--wallet-accent) 11%, rgba(14, 16, 25, 0.92)), rgba(10, 12, 20, 0.88));
  box-shadow: inset 3px 0 var(--wallet-accent), 0 12px 32px rgba(0, 0, 0, 0.15);
  padding: 14px 15px 14px 18px;
}
.wallet-standing-spotlight::after {
  content: '✦';
  position: absolute;
  top: 8px;
  right: 11px;
  color: var(--wallet-accent);
  font-size: 15px;
  opacity: 0.82;
}
.wallet-standing-spotlight .eyebrow {
  max-width: calc(100% - 22px);
  margin: 0 0 7px;
  color: var(--wallet-accent);
  font-size: 8px;
}
.wallet-standing-spotlight strong {
  display: block;
  color: var(--text);
  font-family: var(--mono);
  font-size: clamp(38px, 4.4vw, 56px);
  font-weight: 500;
  letter-spacing: -0.075em;
  line-height: 0.96;
  text-shadow: 0 0 28px color-mix(in srgb, var(--wallet-accent) 27%, transparent);
}
.wallet-standing-spotlight > p:not(.eyebrow) {
  margin: 9px 0 0;
  color: #d4d8e5;
  font-size: 11.5px;
  line-height: 1.45;
}
.wallet-standing-spotlight small {
  display: block;
  margin-top: 6px;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.wallet-portrait-stage {
  position: relative;
  z-index: 1;
  min-height: 300px;
  margin: 13px -18px 0;
  overflow: hidden;
  border-top: 1px solid rgba(139, 147, 168, 0.13);
  border-bottom: 1px solid rgba(139, 147, 168, 0.13);
  background:
    radial-gradient(ellipse at 50% 52%, color-mix(in srgb, var(--wallet-accent) 12%, transparent), transparent 47%),
    linear-gradient(180deg, rgba(5, 7, 13, 0.22), rgba(5, 7, 13, 0.66));
  box-shadow: inset 0 24px 50px rgba(0, 0, 0, 0.15), inset 0 -24px 50px rgba(0, 0, 0, 0.18);
}
.wallet-portrait-stage::before {
  content: '';
  position: absolute;
  z-index: 0;
  inset: 0;
  background: linear-gradient(90deg, rgba(7, 9, 16, 0.54), transparent 14%, transparent 86%, rgba(7, 9, 16, 0.54));
  pointer-events: none;
}
.wallet-portrait-stage > :is(.map, .independent-portrait, .wallet-map-empty) {
  position: relative;
  z-index: 1;
}
.wallet-page .wallet-portrait-stage .map {
  margin: 0;
}
.wallet-page .wallet-portrait-stage :is(.map, .independent-portrait) svg {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0;
}
.wallet-profile-support {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(180px, 0.88fr);
  gap: 10px;
  align-items: start;
  margin-top: 12px;
}
.wallet-profile-support--single { grid-template-columns: minmax(0, 1fr); }
.wallet-statistics-note {
  grid-column: 1 / -1;
  margin: 0;
  border: 1px solid rgba(139, 147, 168, 0.14);
  border-radius: 8px;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 9px;
  line-height: 1.5;
  padding: 9px 10px;
}
.wallet-map-card figcaption {
  position: relative;
  z-index: 2;
  margin: 12px 0 0;
  padding-top: 13px;
  border-top: 1px solid rgba(139, 147, 168, 0.16);
  color: var(--muted);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.02em;
  line-height: 1.6;
}
.wallet-map-empty {
  display: grid;
  min-height: 360px;
  place-content: center;
  color: var(--muted);
  text-align: center;
}
.wallet-map-empty span { color: var(--wallet-accent); font-size: 86px; font-weight: 200; }
.wallet-map-empty p { margin: 10px 0 0; font-family: var(--mono); font-size: 11px; text-transform: uppercase; }

.wallet-local-nav {
  display: flex;
  width: min(100%, 920px);
  min-height: 52px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px 22px;
  margin: 20px auto 0;
  border-top: 1px solid rgba(139, 147, 168, 0.14);
  border-bottom: 1px solid rgba(139, 147, 168, 0.14);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.wallet-local-nav > span { color: var(--muted); }
.wallet-local-nav a { color: #c7cbdb; text-decoration: none; }
.wallet-local-nav a:hover { color: var(--wallet-accent); }

.wallet-page .wallet-story > :is(.story-section, .wallet-caveats, .wallet-record-section) {
  width: min(100%, 850px);
  margin-top: 88px;
  margin-left: auto;
  margin-right: auto;
  transform: none;
}
.wallet-page .wallet-story > .wallet-narrative { width: min(100%, 760px); }

.wallet-section-head {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 20px;
  align-items: baseline;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(139, 147, 168, 0.2);
}
.wallet-section-head .eyebrow {
  margin: 0;
  color: var(--wallet-accent);
  font-size: 10px;
  letter-spacing: 0.17em;
}
.wallet-section-head h2 {
  margin: 0;
  color: var(--text);
  font-size: clamp(26px, 3vw, 34px);
  font-weight: 500;
  letter-spacing: -0.035em;
  line-height: 1.15;
}

.wallet-page .wallet-narrative .prose {
  max-width: none;
  margin: 0;
}
.wallet-page .wallet-narrative .prose p {
  color: #c7cbdb;
  font-size: 17px;
  line-height: 1.82;
  margin-bottom: 22px;
}
.wallet-page .wallet-narrative .prose p:first-child { color: var(--text); font-size: 18.5px; }
.wallet-page .wallet-narrative .prose p:first-child::first-letter {
  float: left;
  margin-top: 6px;
  margin-right: 10px;
  color: var(--wallet-accent);
  font-family: var(--mono);
  font-size: 3.3em;
  font-weight: 500;
  line-height: 0.78;
}

.wallet-page .wallet-timeline-section { width: min(100%, 880px); }
.wallet-page .wallet-timeline-section .timeline-list { gap: 0; }
.wallet-page .wallet-timeline-section .timeline-list::before {
  top: 19px;
  bottom: 19px;
  left: 105px;
  opacity: 0.42;
}
.wallet-page .wallet-timeline-section .timeline-item {
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 34px;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 0;
  padding-right: 0;
}
.wallet-page .wallet-timeline-section .timeline-item::before { left: 101px; }
.wallet-page .wallet-timeline-section .timeline-date {
  padding-top: 18px;
  font-size: 11px;
}
.wallet-page .wallet-timeline-section .timeline-copy {
  margin: 0;
  padding-top: 15px;
  padding-bottom: 15px;
  padding-left: 0;
  padding-right: 0;
  border: 0;
  border-top: 1px solid rgba(139, 147, 168, 0.16);
  border-radius: 0;
  background: transparent;
  font-size: 15px;
  line-height: 1.65;
}
.wallet-page .wallet-timeline-section .timeline-item:last-child .timeline-copy {
  border-bottom: 1px solid rgba(139, 147, 168, 0.16);
}

.wallet-page .wallet-facts-section .facts {
  counter-reset: wallet-note;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  border-top: 1px solid rgba(139, 147, 168, 0.18);
}
.wallet-page .wallet-facts-section .fact {
  counter-increment: wallet-note;
  border: 0;
  border-bottom: 1px solid rgba(139, 147, 168, 0.18);
  border-radius: 0;
  background: transparent;
  padding-top: 22px;
  padding-bottom: 24px;
  padding-left: 24px;
  padding-right: 24px;
}
.wallet-page .wallet-facts-section .fact:nth-child(odd) { padding-left: 0; border-right: 1px solid rgba(139, 147, 168, 0.18); }
.wallet-page .wallet-facts-section .fact-l {
  margin-bottom: 10px;
  color: var(--text);
  font-size: 11px;
  line-height: 1.55;
}
.wallet-page .wallet-facts-section .fact-l::before {
  content: counter(wallet-note, decimal-leading-zero) ' / ';
  color: var(--wallet-accent);
}
.wallet-page .wallet-facts-section .fact-v { font-size: 14.5px; line-height: 1.7; }

.wallet-page .wallet-caveats {
  position: relative;
  border: 1px solid rgba(139, 147, 168, 0.2);
  border-left: 3px solid var(--wallet-accent);
  border-radius: 14px;
  background: linear-gradient(100deg, color-mix(in srgb, var(--wallet-accent) 7%, rgba(18, 20, 31, 0.88)), rgba(18, 20, 31, 0.72));
  padding-top: 25px;
  padding-bottom: 25px;
  padding-left: 28px;
  padding-right: 28px;
}
.wallet-page .wallet-caveats .wallet-section-head { margin-bottom: 17px; }
.wallet-page .wallet-caveats p {
  max-width: none;
  margin: 12px 0 0;
  color: #c7cbdb;
  font-size: 15.5px;
  line-height: 1.75;
}

.wallet-record-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
  gap: 16px;
}
.wallet-record-card {
  min-width: 0;
  border: 1px solid rgba(139, 147, 168, 0.2);
  border-radius: 14px;
  background: rgba(13, 15, 24, 0.76);
  padding-top: 22px;
  padding-bottom: 22px;
  padding-left: 22px;
  padding-right: 22px;
}
.wallet-record-card h3 {
  margin: 0 0 18px;
  font-size: 16px;
  font-weight: 500;
}
.wallet-record-list { display: grid; gap: 0; margin: 0; }
.wallet-record-list > div {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 14px;
  padding-top: 10px;
  padding-bottom: 10px;
  border-top: 1px solid rgba(139, 147, 168, 0.14);
}
.wallet-record-list dt {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.wallet-record-list dd {
  margin: 0;
  color: #c7cbdb;
  font-size: 13px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}

.wallet-address-set {
  margin-top: 17px;
  border-top: 1px solid rgba(139, 147, 168, 0.17);
}
.wallet-address-set summary {
  display: flex;
  min-height: 50px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--text);
  cursor: pointer;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.07em;
  list-style: none;
  text-transform: uppercase;
}
.wallet-address-set summary::-webkit-details-marker { display: none; }
.wallet-address-set[open] summary span:last-child { transform: rotate(45deg); }
.wallet-address-set summary span:last-child { color: var(--wallet-accent); font-size: 18px; transition: transform 160ms ease; }
.wallet-address-set ol {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  list-style: none;
}
.wallet-address-set-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  border: 1px solid rgba(139, 147, 168, 0.14);
  border-radius: 9px;
  padding-top: 10px;
  padding-bottom: 10px;
  padding-left: 11px;
  padding-right: 10px;
}
.wallet-address-set-row > div { min-width: 0; }
.wallet-address-set-row code {
  display: block;
  color: #c7cbdb;
  font-family: var(--mono);
  font-size: 10.5px;
  overflow-wrap: anywhere;
  user-select: all;
}
.wallet-address-set-index { float: left; margin-right: 8px; color: var(--wallet-accent); font-family: var(--mono); font-size: 9px; }
.wallet-address-set-meta { display: block; margin-top: 4px; color: var(--muted); font-family: var(--mono); font-size: 8px; text-transform: uppercase; }
.wallet-copy--compact { min-width: 62px; min-height: 38px; padding-left: 9px; padding-right: 9px; }

.wallet-source-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}
.wallet-source-heading > span { color: var(--muted); font-family: var(--mono); font-size: 9px; text-transform: uppercase; }
.wallet-source-ledger {
  margin: 0;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  list-style: none;
}
.wallet-source-ledger li {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr);
  gap: 10px;
  align-items: baseline;
  padding-top: 9px;
  padding-bottom: 9px;
  border-top: 1px solid rgba(139, 147, 168, 0.14);
}
.source-number { color: var(--wallet-accent); font-family: var(--mono); font-size: 9px; }
.wallet-source-ledger a {
  color: #aeb4c7;
  font-family: var(--mono);
  font-size: 10.5px;
  line-height: 1.55;
  text-decoration: none;
  overflow-wrap: anywhere;
}
.wallet-source-ledger a:hover { color: var(--text); }
.wallet-empty-record { color: var(--muted); font-size: 14px; }

.wallet-page .wallet-cta { margin-top: 44px; }
.wallet-page .wallet-cta-link {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid var(--wallet-accent);
  color: var(--text);
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-decoration: none;
  text-transform: uppercase;
}
.wallet-page .wallet-cta-link span { color: var(--wallet-accent); }

.wallet-page .related-wallets {
  width: min(100%, 1080px);
  margin: 84px auto 0;
}
.wallet-related-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.wallet-related-card {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 142px;
  flex-direction: column;
  justify-content: space-between;
  border: 1px solid rgba(139, 147, 168, 0.2);
  border-radius: 13px;
  background: rgba(13, 15, 24, 0.7);
  color: var(--text);
  text-decoration: none;
  padding-top: 18px;
  padding-bottom: 18px;
  padding-left: 18px;
  padding-right: 42px;
  transition: border-color 160ms ease, transform 160ms ease;
}
.wallet-related-card::before {
  content: '';
  position: absolute;
  top: -1px;
  left: 18px;
  width: 42px;
  height: 2px;
  background: var(--wallet-accent);
}
.wallet-related-card:hover { border-color: color-mix(in srgb, var(--wallet-accent) 55%, var(--border)); transform: translateY(-2px); }
.wallet-related-meta { color: var(--muted); font-family: var(--mono); font-size: 9px; letter-spacing: 0.08em; text-transform: uppercase; }
.wallet-related-name { font-size: 15px; font-weight: 500; line-height: 1.45; }
.wallet-related-arrow { position: absolute; right: 17px; bottom: 16px; color: var(--wallet-accent); }

.wallet-page .foot {
  width: min(100%, 960px);
  margin-left: auto;
  margin-right: auto;
  margin-top: 74px;
  padding-top: 24px;
  border-top: 1px solid rgba(139, 147, 168, 0.14);
}

@media (max-width: 1030px) {
  .wallet-hero-grid {
    grid-template-areas:
      'intro'
      'lineage'
      'meta';
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: none;
    gap: 30px;
  }
  .wallet-masthead::after { display: none; }
  .wallet-hero-copy { max-width: 760px; }
  .wallet-map-card { width: min(100%, 760px); margin-left: auto; margin-right: auto; }
  .wallet-hero-meta { width: min(100%, 760px); margin-left: auto; margin-right: auto; }
}

@media (max-width: 760px) {
  .wallet-page .wrap {
    padding-top: 12px;
    padding-left: 14px;
    padding-right: 14px;
  }
  .wallet-masthead {
    border-radius: 18px;
    padding-top: 16px;
    padding-bottom: 22px;
    padding-left: 20px;
    padding-right: 20px;
  }
  .wallet-record-type { display: none; }
  .wallet-hero-grid { padding-top: 26px; }
  .wallet-page .wallet-story h1 { font-size: clamp(34px, 10.6vw, 44px); letter-spacing: -0.05em; }
  .wallet-standfirst { font-size: 17px; line-height: 1.65; }
  .wallet-address-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
  .wallet-address-actions :is(a, button) { width: 100%; min-height: 46px; }
  .wallet-vitals { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wallet-vitals > div:nth-child(odd) { border-left: 0; padding-left: 0; }
  .wallet-map-card { padding-left: 13px; padding-right: 13px; }
  .wallet-coordinate strong { font-size: 50px; }
  .wallet-profile-reveal { grid-template-columns: minmax(0, 1fr); }
  .wallet-standing-spotlight strong { font-size: 44px; }
  .wallet-portrait-stage { margin-left: -13px; margin-right: -13px; }
  .wallet-profile-support { grid-template-columns: minmax(0, 1fr); }
  .wallet-local-nav { justify-content: flex-start; padding-top: 10px; padding-bottom: 10px; }
  .wallet-local-nav > span { width: 100%; }
  .wallet-page .wallet-story > :is(.story-section, .wallet-caveats, .wallet-record-section) { margin-top: 64px; }
  .wallet-section-head { grid-template-columns: minmax(0, 1fr); gap: 7px; margin-bottom: 20px; }
  .wallet-page .wallet-narrative .prose p { font-size: 16.5px; line-height: 1.78; }
  .wallet-page .wallet-timeline-section .timeline-list::before { left: 5px; }
  .wallet-page .wallet-timeline-section .timeline-item {
    grid-template-columns: minmax(0, 1fr);
    gap: 5px;
    padding-left: 23px;
  }
  .wallet-page .wallet-timeline-section .timeline-item::before { top: 5px; left: 1px; }
  .wallet-page .wallet-timeline-section .timeline-date { padding-top: 0; color: var(--wallet-accent); text-align: left; }
  .wallet-page .wallet-facts-section .facts { grid-template-columns: minmax(0, 1fr); }
  .wallet-page .wallet-facts-section .fact,
  .wallet-page .wallet-facts-section .fact:nth-child(odd) {
    border-right: 0;
    padding-left: 0;
    padding-right: 0;
  }
  .wallet-page .wallet-caveats { padding-left: 20px; padding-right: 20px; }
  .wallet-record-grid { grid-template-columns: minmax(0, 1fr); }
  .wallet-related-grid { grid-template-columns: minmax(0, 1fr); }
  .wallet-related-card { min-height: 126px; }
}

@media (max-width: 430px) {
  .wallet-masthead { padding-left: 16px; padding-right: 16px; }
  .wallet-breadcrumb { font-size: 9px; }
  .wallet-page .wallet-story h1 { font-size: 34px; }
  .wallet-address-capsule { padding-left: 14px; padding-right: 14px; }
  .wallet-vitals > div { padding-right: 6px; }
  .wallet-map-heading h2 { font-size: 14px; }
  .wallet-standing-spotlight strong { font-size: 40px; }
  .wallet-lineage-facts { grid-template-columns: minmax(0, 1fr); }
  .wallet-lineage-facts > div,
  .wallet-lineage-facts > div:nth-child(-n + 2),
  .wallet-lineage-facts > div:nth-child(odd) {
    border-top: 1px solid rgba(139, 147, 168, 0.13);
    border-left: 0;
  }
  .wallet-lineage-facts > div:first-child { border-top: 0; }
  .wallet-lineage-facts > div:last-child:nth-child(odd) { grid-column: auto; }
  .wallet-map-card figcaption { font-size: 9.5px; }
  .wallet-record-card { padding-left: 16px; padding-right: 16px; }
  .wallet-record-list > div { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .wallet-address-set-row { grid-template-columns: minmax(0, 1fr); }
  .wallet-copy--compact { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .wallet-map-card,
  .wallet-related-card,
  .wallet-address-set summary span:last-child { transition: none; }
  .wallet-related-card:hover { transform: none; }
}

/* ---- private saves, email confirmation, and signed-in account ------------- */

.save-confirmation {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  margin-bottom: 28px;
  border: 1px solid rgba(143, 138, 240, 0.48);
  border-left: 3px solid var(--violet);
  border-radius: 14px;
  background: rgba(18, 20, 31, 0.92);
  box-shadow: 0 20px 70px rgba(0, 0, 0, 0.24);
  padding: 20px 22px;
}
.save-confirmation .eyebrow { margin: 0 0 6px; color: var(--violet); }
.save-confirmation h2 { margin: 0 0 5px; font-size: 21px; letter-spacing: -0.02em; }
.save-confirmation p:last-child { margin: 0; color: #c7cbdb; font-size: 14px; }
.save-confirmation[data-tone='success'] { border-color: rgba(95, 214, 165, 0.5); border-left-color: var(--mint); }
.save-confirmation[data-tone='success'] .eyebrow { color: var(--mint); }
.save-confirmation[data-tone='error'] { border-color: rgba(232, 146, 124, 0.5); border-left-color: var(--coral); }

.result-save-panel {
  margin-top: 24px;
  margin-bottom: 0;
  border-color: rgba(143, 138, 240, 0.34);
  background:
    radial-gradient(circle at 100% 0%, rgba(143, 138, 240, 0.1), transparent 38%),
    rgba(18, 20, 31, 0.86);
}
.result-save-panel[data-state='success'] { border-color: rgba(95, 214, 165, 0.48); }
.result-save-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}
.result-save-heading .eyebrow { margin: 0 0 6px; color: var(--violet); }
.result-save-heading h3 { margin: 0; font-size: 22px; letter-spacing: -0.025em; }
.result-save-heading > span { color: var(--violet); font-size: 22px; line-height: 1; }
.result-save-copy { max-width: 58ch; margin: 9px 0 18px; color: #c7cbdb; font-size: 14.5px; }

.save-email-label {
  display: block;
  margin-bottom: 7px;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.save-email-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 9px;
}
.save-email-row input[type='email'] {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: rgba(12, 14, 22, 0.82);
  color: var(--text);
  font-family: var(--sans);
  font-size: 16px;
  padding: 13px 15px;
}
.save-email-row input[type='email']:focus { outline: none; border-color: var(--violet); box-shadow: 0 0 0 3px rgba(143, 138, 240, 0.13); }
.save-email-row input[type='email'][aria-invalid='true'] { border-color: var(--coral); }
.save-email-row button { white-space: nowrap; }
.save-turnstile { margin-top: 16px; }
.save-privacy { max-width: 72ch; margin: 13px 0 0; color: var(--muted); font-size: 11.5px; line-height: 1.55; }
.save-status {
  min-height: 20px;
  margin: 10px 0 0;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 12px;
  line-height: 1.55;
}
.save-status[data-tone='success'] { color: var(--mint); }
.save-status[data-tone='error'] { color: var(--coral); }
.save-status[data-tone='loading'] { color: #c7cbdb; }

.private-saves {
  margin-top: 30px;
  border: 1px solid var(--border);
  border-radius: 15px;
  background: rgba(18, 20, 31, 0.78);
  padding: 20px 22px;
}
.private-saves-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}
.private-saves-head .eyebrow { margin: 0 0 5px; }
.private-saves-head h2 { margin: 0; font-size: 20px; }
.private-saves-email { margin: 3px 0 0; color: var(--muted); font-family: var(--mono); font-size: 11.5px; }
.private-saves-head button { padding: 10px 13px; font-size: 10px; }
.private-saves-status { min-height: 0; margin: 10px 0 0; color: var(--muted); font-family: var(--mono); font-size: 11.5px; }
.private-saves-status:empty { margin: 0; }
.private-saves-status[data-tone='success'] { color: var(--mint); }
.private-saves-status[data-tone='error'] { color: var(--coral); }
.private-saves-list { display: grid; gap: 8px; margin: 16px 0 0; padding: 0; list-style: none; }
.private-saves-empty { color: var(--muted); font-size: 13px; padding: 12px 0 2px; }
.private-save-row {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr) auto;
  align-items: center;
  gap: 13px;
  border-top: 1px solid rgba(139, 147, 168, 0.15);
  padding-top: 11px;
}
.private-save-degree { color: var(--amber); font-family: var(--mono); font-size: 19px; font-weight: 500; }
.private-save-details { display: grid; min-width: 0; gap: 2px; }
.private-save-details code {
  overflow: hidden;
  color: var(--text);
  font-family: var(--mono);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.private-save-details span { color: var(--muted); font-family: var(--mono); font-size: 9.5px; letter-spacing: 0.05em; text-transform: uppercase; }
.private-save-delete { padding: 8px 10px; color: var(--muted); font-size: 9px; }
.private-save-delete:hover { border-color: var(--coral); color: var(--coral); }
.private-marketing-copy {
  max-width: 66ch;
  margin: 18px 0 0;
  border-top: 1px solid rgba(139, 147, 168, 0.15);
  padding-top: 14px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}
.private-account-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 18px;
}
.private-account-actions button { padding: 9px 11px; color: var(--muted); font-size: 9px; }
.private-account-actions .private-account-delete:hover { border-color: var(--coral); color: var(--coral); }
.account-action-notice {
  margin: 20px 0 0;
  border: 1px solid rgba(95, 214, 165, 0.4);
  border-left: 3px solid var(--mint);
  border-radius: 10px;
  background: rgba(18, 20, 31, 0.82);
  color: var(--mint);
  padding: 13px 15px;
  font-family: var(--mono);
  font-size: 12px;
}
.account-action-notice[data-tone='error'] { border-color: rgba(232, 146, 124, 0.5); border-left-color: var(--coral); color: var(--coral); }

.save-confirmation.hidden,
.result-save-panel.hidden,
.save-turnstile.hidden,
.private-saves.hidden,
.account-action-notice.hidden { display: none; }

@media (max-width: 640px) {
  .save-confirmation { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .save-confirmation button { width: 100%; }
  .save-email-row { grid-template-columns: minmax(0, 1fr); }
  .save-email-row button { width: 100%; }
  .private-saves { padding-left: 16px; padding-right: 16px; }
  .private-save-row { grid-template-columns: 48px minmax(0, 1fr); }
  .private-save-delete { grid-column: 2; width: fit-content; }
  .private-account-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
  .private-account-actions button { width: 100%; }
}

/* ---- verified community publication and leaderboard ---------------------- */

.button-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--panel);
  color: var(--text);
  padding: 13px 18px;
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
}
.button-link:hover { border-color: var(--violet); }
.button-link.primary { border-color: var(--violet); background: var(--violet); color: #0b0c14; font-weight: 600; }

.board-head-actions,
.private-saves-head-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
}
.board-community-link,
.private-saves-head-actions a {
  color: var(--violet);
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.12em;
  text-decoration: none;
  text-transform: uppercase;
}
.board-community-link:hover,
.private-saves-head-actions a:hover { color: #c2befd; }
.private-saves-head-actions button { padding: 10px 13px; font-size: 10px; }
.private-publication-copy {
  max-width: 72ch;
  margin: 14px 0 0;
  border-top: 1px solid rgba(139, 147, 168, 0.15);
  padding-top: 13px;
  color: var(--muted);
  font-size: 12px;
}
.private-publication-copy strong { color: #c7cbdb; }
.private-save-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.private-save-actions button,
.private-save-actions .button-link { padding: 8px 10px; font-size: 9px; }
.private-save-publish { border-color: rgba(143, 138, 240, 0.48); color: #c2befd; }
.private-save-public { border-color: rgba(95, 214, 165, 0.4); color: var(--mint); }
.private-save-public:hover { border-color: var(--mint); }
.private-save-state {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.06em;
  line-height: 1.45;
  text-transform: uppercase;
}
.private-save-state[data-tone='public'] { color: var(--mint); }

.publication-dialog {
  width: min(720px, calc(100vw - 28px));
  max-height: min(860px, calc(100vh - 28px));
  margin: auto;
  border: 1px solid rgba(143, 138, 240, 0.48);
  border-radius: 18px;
  background: #11131e;
  color: var(--text);
  padding: 0;
  box-shadow: 0 30px 120px rgba(0, 0, 0, 0.72);
}
.publication-dialog::backdrop { background: rgba(4, 5, 10, 0.82); backdrop-filter: blur(5px); }
.publication-dialog-shell { padding: 24px; }
.publication-dialog-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.publication-dialog-head .eyebrow { margin: 0 0 5px; color: var(--violet); }
.publication-dialog-head h2 { margin: 0; font-size: clamp(23px, 4vw, 30px); letter-spacing: -0.035em; }
.publication-close { padding: 8px 10px; color: var(--muted); font-size: 9px; }
.publication-description { max-width: 62ch; margin: 9px 0 0; color: var(--muted); font-size: 13px; }
.publication-step { margin-top: 24px; }
.publication-step h3 { margin: 0 0 12px; font-size: 17px; }
.publication-step > p { color: #c7cbdb; font-size: 13.5px; }
.publication-score-preview {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  margin-bottom: 20px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: rgba(12, 14, 22, 0.7);
  padding: 14px 16px;
}
.publication-score-preview > div { display: grid; min-width: 0; gap: 4px; }
.publication-score-preview span,
.publication-label,
.publication-address-choice legend {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 9.5px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.publication-score-preview code { overflow: hidden; color: #c7cbdb; font-size: 11.5px; text-overflow: ellipsis; white-space: nowrap; }
.publication-score-preview > strong { color: var(--amber); font-family: var(--mono); font-size: 28px; font-weight: 500; }
.publication-label { display: block; margin: 15px 0 7px; }
.publication-handle-field {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: rgba(12, 14, 22, 0.82);
}
.publication-handle-field:focus-within { border-color: var(--violet); box-shadow: 0 0 0 3px rgba(143, 138, 240, 0.13); }
.publication-handle-field > span { padding-left: 14px; color: var(--muted); font-family: var(--mono); }
.publication-handle-field input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--text);
  padding: 13px 14px 13px 3px;
  font-family: var(--mono);
  font-size: 15px;
}
.publication-handle-field:has(input[aria-invalid='true']) { border-color: var(--coral); }
.publication-help { min-height: 1.3em; margin: 6px 0 0; color: var(--muted) !important; font-size: 11.5px !important; }
.publication-address-choice { display: grid; gap: 8px; margin: 20px 0 0; border: 0; padding: 0; }
.publication-address-choice legend { margin-bottom: 7px; }
.publication-address-choice label {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: flex-start;
  gap: 11px;
  border: 1px solid var(--border);
  border-radius: 11px;
  padding: 12px 13px;
  cursor: pointer;
}
.publication-address-choice label:has(input:checked) { border-color: rgba(143, 138, 240, 0.6); background: rgba(143, 138, 240, 0.07); }
.publication-address-choice input { margin-top: 4px; accent-color: var(--violet); }
.publication-address-choice span { display: grid; gap: 2px; }
.publication-address-choice strong { font-size: 13px; font-weight: 500; }
.publication-address-choice small { color: var(--muted); font-size: 11.5px; line-height: 1.45; }
.publication-turnstile { margin-top: 16px; }
.publication-step textarea {
  width: 100%;
  min-height: 96px;
  resize: vertical;
  border: 1px solid var(--border);
  border-radius: 10px;
  outline: 0;
  background: rgba(12, 14, 22, 0.82);
  color: var(--text);
  padding: 12px 13px;
  font-family: var(--mono);
  font-size: 12px;
  line-height: 1.55;
}
.publication-step textarea:focus { border-color: var(--violet); box-shadow: 0 0 0 3px rgba(143, 138, 240, 0.13); }
.publication-step textarea[readonly] { color: #c7cbdb; }
.publication-step textarea[aria-invalid='true'] { border-color: var(--coral); }
.publication-copy { margin-top: 7px; padding: 8px 10px; color: var(--muted); font-size: 9px; }
.publication-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 20px; }
.publication-actions button { padding: 11px 14px; font-size: 10px; }
.publication-actions--split { justify-content: space-between; }
.publication-public-preview {
  border: 1px solid rgba(95, 214, 165, 0.32);
  border-radius: 14px;
  background: radial-gradient(circle at 100% 0%, rgba(95, 214, 165, 0.08), transparent 40%), rgba(12, 14, 22, 0.76);
  padding: 18px;
}
.publication-public-preview > div:first-child { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }
.publication-preview-handle { font-size: 19px; font-weight: 600; }
.publication-verified-badge {
  border: 1px solid rgba(95, 214, 165, 0.42);
  border-radius: 999px;
  color: var(--mint);
  padding: 4px 8px;
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.publication-public-preview > strong { display: block; margin: 18px 0; color: var(--amber); font-family: var(--mono); font-size: 48px; font-weight: 400; line-height: 1; }
.publication-public-preview dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; border-top: 1px solid rgba(139, 147, 168, 0.16); }
.publication-public-preview dl > div { min-width: 0; padding: 11px 8px 0 0; }
.publication-public-preview dt { color: var(--muted); font-family: var(--mono); font-size: 8.5px; letter-spacing: 0.1em; text-transform: uppercase; }
.publication-public-preview dd { overflow-wrap: anywhere; margin: 3px 0 0; color: #c7cbdb; font-size: 12px; }
.publication-public-note { color: var(--muted) !important; font-size: 11.5px !important; }
.publication-consent { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: flex-start; gap: 10px; margin-top: 16px; color: #c7cbdb; font-size: 12px; line-height: 1.5; }
.publication-consent input { margin-top: 4px; accent-color: var(--violet); }
.publication-consent small { display: block; margin-top: 5px; color: var(--muted); font-family: var(--mono); font-size: 9px; letter-spacing: 0.05em; }
.publication-success { text-align: center; }
.publication-success > span { color: var(--mint); font-size: 28px; }
.publication-success h3 { margin-top: 7px; font-size: 23px; }
.publication-success .publication-actions { justify-content: center; }
.publication-status { min-height: 20px; margin: 14px 0 0; color: var(--muted); font-family: var(--mono); font-size: 11.5px; }
.publication-status[data-tone='error'] { color: var(--coral); }
.publication-status[data-tone='success'] { color: var(--mint); }

.community-page {
  background:
    radial-gradient(circle at 78% 4%, rgba(143, 138, 240, 0.09), transparent 31rem),
    radial-gradient(circle at 10% 38%, rgba(107, 165, 245, 0.05), transparent 28rem),
    var(--bg);
}
.community-wrap { width: 100%; max-width: 1100px; margin: 0 auto; padding: 32px 24px 64px; }
.community-nav { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.community-nav a { color: var(--muted); font-family: var(--mono); font-size: 10px; letter-spacing: 0.15em; text-decoration: none; text-transform: uppercase; }
.community-nav a:hover { color: var(--text); }
.community-nav .community-brand { color: var(--text); font-weight: 600; }
.community-hero { display: grid; grid-template-columns: minmax(0, 1fr) 220px; align-items: center; gap: 42px; padding: 88px 0 54px; }
.community-hero .eyebrow { color: var(--violet); }
.community-hero h1 { max-width: 720px; margin: 15px 0 17px; font-size: clamp(38px, 6vw, 66px); letter-spacing: -0.045em; }
.community-hero h1 em { color: #c2befd; font-weight: 400; }
.community-lede { max-width: 70ch; margin: 0; color: #aab1c5; font-size: 16px; }
.community-orbit { position: relative; width: 210px; aspect-ratio: 1; }
.community-orbit span { position: absolute; inset: 50%; border: 1px solid rgba(143, 138, 240, 0.18); border-radius: 50%; transform: translate(-50%, -50%); }
.community-orbit span:nth-child(1) { width: 54px; height: 54px; border-color: rgba(217, 164, 65, 0.32); }
.community-orbit span:nth-child(2) { width: 120px; height: 120px; }
.community-orbit span:nth-child(3) { width: 202px; height: 202px; border-style: dashed; }
.community-orbit i { position: absolute; inset: 50%; display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: var(--amber); color: #18130a; font-family: var(--mono); font-style: normal; font-weight: 600; transform: translate(-50%, -50%); box-shadow: 0 0 54px rgba(217, 164, 65, 0.24); }
.community-proof-note { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 14px; border: 1px solid rgba(95, 214, 165, 0.3); border-radius: 14px; background: rgba(18, 20, 31, 0.76); padding: 17px 19px; }
.community-proof-mark { display: grid; width: 28px; height: 28px; place-items: center; border: 1px solid rgba(95, 214, 165, 0.55); border-radius: 50%; color: var(--mint); font-family: var(--mono); }
.community-proof-note h2 { margin: 0 0 3px; font-size: 14px; }
.community-proof-note p { max-width: 84ch; margin: 0; color: var(--muted); font-size: 12.5px; }
.community-join { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 30px; margin-top: 26px; border: 1px solid var(--border); border-radius: 15px; background: rgba(18, 20, 31, 0.84); padding: 22px; }
.community-join .eyebrow { margin: 0 0 5px; color: var(--violet); }
.community-join h2 { margin: 0; font-size: 20px; }
.community-join p:last-child { max-width: 72ch; margin: 8px 0 0; color: var(--muted); font-size: 12.5px; }
.community-board { margin-top: 34px; border: 1px solid var(--border); border-radius: 18px; background: rgba(15, 17, 27, 0.9); padding: 26px; }
.community-board[aria-busy='true'] { cursor: progress; }
.community-board-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.community-board-head .eyebrow { margin: 0 0 4px; }
.community-board-head h2 { margin: 0; font-size: 24px; }
.community-board-count { margin: 0; color: var(--muted); font-family: var(--mono); font-size: 10px; letter-spacing: 0.09em; text-transform: uppercase; }
.community-board-status { min-height: 20px; margin: 13px 0 0; color: var(--muted); font-family: var(--mono); font-size: 10px; }
.community-table-region { margin-top: 8px; overflow-x: auto; }
.community-table { width: 100%; min-width: 720px; border-collapse: collapse; }
.community-table th,
.community-table td { border-top: 1px solid rgba(139, 147, 168, 0.15); padding: 16px 12px; text-align: left; vertical-align: middle; }
.community-table thead th { border-top: 0; color: var(--muted); font-family: var(--mono); font-size: 9px; font-weight: 500; letter-spacing: 0.13em; text-transform: uppercase; }
.community-table thead th:last-child { text-align: right; }
.community-table tr.is-targeted { outline: 1px solid rgba(143, 138, 240, 0.55); outline-offset: -1px; background: rgba(143, 138, 240, 0.06); }
.community-rank { width: 80px; }
.community-rank span { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgba(217, 164, 65, 0.65); border-radius: 50%; color: var(--amber); font-family: var(--mono); font-size: 12px; font-weight: 500; }
.community-profile { display: grid; min-width: 260px; gap: 3px; }
.community-profile > strong { display: flex; align-items: center; gap: 8px; font-size: 14px; }
.community-profile a { color: var(--text); text-decoration: none; }
.community-profile a:hover { color: #c2befd; }
.community-verified { width: fit-content; color: var(--mint); font-family: var(--mono); font-size: 8px; letter-spacing: 0.07em; text-transform: uppercase; }
.community-public-address { display: block; max-width: 390px; overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.community-profile-meta { display: none; color: var(--muted); font-family: var(--mono); font-size: 8px; }
.community-connected,
.community-verified-date { color: #aab1c5; font-family: var(--mono); font-size: 11px; }
.community-degree { color: var(--text); font-family: var(--mono); font-size: 25px; text-align: right !important; }
.community-empty,
.community-error { margin-top: 20px; border: 1px dashed rgba(139, 147, 168, 0.25); border-radius: 13px; padding: 30px 20px; text-align: center; }
.community-empty > span { color: var(--violet); font-size: 28px; }
.community-empty h3 { margin: 8px 0 5px; font-size: 18px; }
.community-empty p,
.community-error p { max-width: 62ch; margin: 0 auto; color: var(--muted); font-size: 12.5px; }
.community-empty a { display: inline-block; margin-top: 12px; color: var(--violet); font-family: var(--mono); font-size: 10px; text-decoration: none; text-transform: uppercase; }
.community-error button { margin-top: 14px; padding: 10px 13px; font-size: 9px; }
.community-load-more { margin-top: 18px; text-align: center; }
.community-load-more button { padding: 11px 15px; font-size: 9px; }
.community-integrity-note { max-width: 85ch; margin: 18px auto 0; color: #697187; font-family: var(--mono); font-size: 9.5px; line-height: 1.7; text-align: center; }
.community-foot { margin-top: 64px; }

.public-profile-page {
  background:
    radial-gradient(circle at 50% 12%, rgba(143, 138, 240, 0.1), transparent 32rem),
    var(--bg);
}
.public-profile-wrap { width: 100%; max-width: 920px; margin: 0 auto; padding: 32px 24px 64px; }
.public-profile-shell { margin-top: 74px; }
.public-profile-shell[aria-busy='true'] { cursor: progress; }
.public-profile-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.public-profile-heading .eyebrow { margin: 0 0 8px; color: var(--violet); }
.public-profile-heading h1 { margin: 0; font-size: clamp(34px, 6vw, 52px); }
.public-profile-heading > a { color: var(--muted); font-family: var(--mono); font-size: 9px; letter-spacing: 0.1em; text-decoration: none; text-transform: uppercase; }
.public-profile-heading > a:hover { color: var(--text); }
.public-profile-status { min-height: 20px; margin: 14px 0 8px; color: var(--muted); font-family: var(--mono); font-size: 10px; }
.public-profile-card { overflow: hidden; border: 1px solid rgba(95, 214, 165, 0.26); border-radius: 20px; background: rgba(15, 17, 27, 0.94); box-shadow: 0 30px 90px rgba(0, 0, 0, 0.22); }
.public-profile-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 31px 32px 28px; }
.public-profile-card-top .eyebrow { margin: 0 0 7px; }
.public-profile-card-top h2 { margin: 0 0 8px; font-size: clamp(25px, 5vw, 38px); overflow-wrap: anywhere; }
.public-profile-card-top > strong { color: var(--amber); font-family: var(--mono); font-size: clamp(54px, 10vw, 82px); font-weight: 400; line-height: 0.9; }
.public-profile-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; border-top: 1px solid rgba(139, 147, 168, 0.16); }
.public-profile-facts > div { min-width: 0; border-right: 1px solid rgba(139, 147, 168, 0.12); border-bottom: 1px solid rgba(139, 147, 168, 0.12); padding: 17px 32px; }
.public-profile-facts > div:nth-child(even) { border-right: 0; }
.public-profile-facts dt { color: var(--muted); font-family: var(--mono); font-size: 8px; letter-spacing: 0.12em; text-transform: uppercase; }
.public-profile-facts dd { margin: 5px 0 0; color: #d4d7e1; font-size: 13px; }
.public-profile-facts code { display: block; overflow: hidden; color: #c2befd; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.public-profile-facts small { display: block; margin-top: 5px; color: var(--muted); font-size: 10px; line-height: 1.5; }
.public-profile-address-row { grid-column: 1 / -1; border-right: 0 !important; }
#public-profile-tier-row { grid-column: 1 / -1; border-right: 0; }
.public-profile-board-link { display: block; color: var(--violet); font-family: var(--mono); font-size: 9px; letter-spacing: 0.1em; padding: 18px 32px 20px; text-decoration: none; text-transform: uppercase; }
.public-profile-board-link:hover { color: #c2befd; }
.public-profile-proof { margin-top: 20px; }
.public-profile-error { border: 1px dashed rgba(139, 147, 168, 0.28); border-radius: 18px; padding: 42px 24px; text-align: center; }
.public-profile-error > span { color: var(--violet); font-size: 30px; }
.public-profile-error h2 { margin: 8px 0 6px; }
.public-profile-error p { margin: 0; color: var(--muted); }
.public-profile-error button { margin-top: 16px; }
.public-profile-cta { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 28px; margin-top: 28px; border: 1px solid var(--border); border-radius: 16px; padding: 22px; }
.public-profile-cta .eyebrow { margin: 0 0 5px; color: var(--violet); }
.public-profile-cta h2 { margin: 0; font-size: 19px; }
.public-profile-cta p:last-child { margin: 7px 0 0; color: var(--muted); font-size: 12px; }

@media (max-width: 720px) {
  .board-head { align-items: flex-start; }
  .board-head-actions { align-items: flex-end; flex-direction: column-reverse; gap: 5px; }
  .private-saves-head { align-items: flex-start; }
  .private-saves-head-actions { align-items: flex-end; flex-direction: column-reverse; gap: 6px; }
  .private-save-row { grid-template-columns: 48px minmax(0, 1fr); }
  .private-save-actions { grid-column: 2; justify-content: flex-start; }
  .publication-dialog-shell { padding: 19px 16px; }
  .publication-public-preview dl { grid-template-columns: minmax(0, 1fr); }
  .publication-actions--split { display: grid; grid-template-columns: minmax(0, 1fr); }
  .publication-actions--split > * { width: 100%; }
  .community-wrap { padding-left: 16px; padding-right: 16px; }
  .community-hero { grid-template-columns: minmax(0, 1fr); padding: 62px 0 38px; }
  .community-orbit { display: none; }
  .community-join { grid-template-columns: minmax(0, 1fr); }
  .community-join .button-link { width: 100%; }
  .community-board { padding: 19px 14px; }
  .community-board-head { align-items: flex-start; flex-direction: column; gap: 7px; }
  .community-table { min-width: 0; table-layout: fixed; }
  .community-table th,
  .community-table td { padding: 14px 8px; }
  .community-table thead th:first-child { width: 72px; }
  .community-table thead th:last-child { width: 58px; }
  .community-table thead th:nth-child(3),
  .community-table thead th:nth-child(4),
  .community-connected,
  .community-verified-date { display: none; }
  .community-rank { width: auto; }
  .community-profile { min-width: 0; }
  .community-public-address { max-width: 100%; }
  .community-profile-meta { display: block; }
  .community-degree { font-size: 22px; }
  .public-profile-wrap { padding-right: 16px; padding-left: 16px; }
  .public-profile-shell { margin-top: 54px; }
  .public-profile-heading { align-items: flex-start; flex-direction: column; gap: 12px; }
  .public-profile-card-top { padding: 24px 20px; }
  .public-profile-card-top > strong { font-size: 54px; }
  .public-profile-facts { grid-template-columns: minmax(0, 1fr); }
  .public-profile-facts > div { border-right: 0; padding: 15px 20px; }
  .public-profile-board-link { padding-right: 20px; padding-left: 20px; }
  .public-profile-cta { grid-template-columns: minmax(0, 1fr); }
  .public-profile-cta .button-link { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .publication-dialog::backdrop { backdrop-filter: none; }
}

/* ---- wallet dossier: Atlas observatory language -------------------------
 * Public dossiers remain ordinary, zoom-safe documents. On wide screens the
 * hero borrows Atlas's story / open sky / inspector composition; narrower
 * layouts return every element to normal flow instead of copying Atlas's
 * fixed canvas and mobile sheet.
 */
.wallet-page .wallet-story {
  --wallet-space: #070912;
  --wallet-paper: #eee9df;
  --wallet-muted-warm: rgb(218 213 203 / 0.58);
  --wallet-hairline: rgb(232 225 208 / 0.2);
  --wallet-gold: #e1b969;
  --wallet-gold-soft: #cba65d;
  --wallet-bitcoin: #f7931a;
  --wallet-route-blue: rgb(105 153 176 / 0.82);
  --wallet-panel-glass: rgb(12 14 22 / 0.88);
}

.wallet-page .wrap {
  max-width: 1540px;
  padding-top: 24px;
  padding-left: clamp(18px, 3vw, 56px);
  padding-right: clamp(18px, 3vw, 56px);
}

.wallet-page .wallet-masthead {
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 0;
}
.wallet-page .wallet-masthead::before,
.wallet-page .wallet-masthead::after { display: none; }

.wallet-page .wallet-masthead-bar {
  padding: 0;
  border: 0;
  color: var(--wallet-muted-warm);
}
.wallet-page .wallet-breadcrumb,
.wallet-page .wallet-record-type {
  display: flex;
  min-height: 48px;
  align-items: center;
  border: 1px solid var(--wallet-hairline);
  border-radius: 15px;
  background: rgb(12 14 22 / 0.72);
  box-shadow: 0 14px 42px rgb(0 0 0 / 0.26), inset 0 1px rgb(255 255 255 / 0.025);
  padding: 0 16px;
  backdrop-filter: blur(18px) saturate(112%);
}
.wallet-page .wallet-breadcrumb .brand-link { color: var(--wallet-paper); }
.wallet-page .wallet-record-type {
  gap: 9px;
  color: var(--wallet-gold);
}
.wallet-page .wallet-bitcoin-mark {
  display: inline-grid;
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  place-items: center;
  border: 1px solid rgb(247 147 26 / 0.48);
  border-radius: 50%;
  background: rgb(247 147 26 / 0.055);
  box-shadow: 0 0 18px rgb(247 147 26 / 0.1);
  color: var(--wallet-bitcoin);
  font-family: system-ui, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  text-transform: none;
}

.wallet-page .wallet-hero-grid {
  grid-template-areas:
    'intro portrait inspector'
    'meta portrait support';
  grid-template-columns: minmax(300px, 380px) minmax(390px, 1fr) minmax(270px, 310px);
  grid-template-rows: auto minmax(0, 1fr);
  column-gap: clamp(24px, 3vw, 52px);
  row-gap: 24px;
  min-height: min(760px, calc(100svh - 110px));
  padding-top: clamp(30px, 4vw, 56px);
}
.wallet-page .wallet-hero-intro {
  grid-area: intro;
  align-self: center;
  border-left: 1px solid rgb(225 185 105 / 0.58);
  background: linear-gradient(90deg, rgb(7 9 18 / 0.72), transparent 88%);
  padding-left: 20px;
}
.wallet-page .wallet-hero-meta { grid-area: meta; }
.wallet-page .wallet-lineage-inspector { grid-area: inspector; }
.wallet-page .wallet-profile-support { grid-area: support; }
.wallet-page .wallet-map-card { grid-area: portrait; }

.wallet-page .wallet-dossier-label {
  color: var(--wallet-gold);
  font-size: 9px;
  letter-spacing: 0.17em;
}
.wallet-page .wallet-story h1 {
  color: var(--wallet-paper);
  font-size: clamp(38px, 3.35vw, 52px);
  font-weight: 500;
  letter-spacing: -0.045em;
  line-height: 1.06;
}
.wallet-page .wallet-subtitle {
  color: var(--wallet-muted-warm);
  font-size: 9px;
  letter-spacing: 0.16em;
}
.wallet-page .wallet-standfirst {
  max-width: 45ch;
  color: rgb(226 222 213 / 0.76);
  font-size: clamp(15px, 1.25vw, 16.5px);
  line-height: 1.66;
}

.wallet-page .wallet-map-card {
  display: flex;
  min-width: 0;
  min-height: 600px;
  flex-direction: column;
  align-self: stretch;
  margin: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 0;
  transition: none;
}
.wallet-page .wallet-map-card:hover { border-color: transparent; }
.wallet-page .wallet-portrait-stage {
  display: grid;
  min-height: 500px;
  flex: 1 1 auto;
  place-items: center;
  margin: 0;
  overflow: hidden;
  border: 0;
  background:
    radial-gradient(ellipse at 50% 50%, rgb(90 111 133 / 0.075), transparent 43%),
    radial-gradient(ellipse at 50% 50%, rgb(221 178 98 / 0.04), transparent 62%);
  box-shadow: none;
}
.wallet-page .wallet-portrait-stage::before {
  background:
    linear-gradient(90deg, var(--wallet-space), transparent 10%, transparent 90%, var(--wallet-space)),
    linear-gradient(180deg, var(--wallet-space), transparent 8%, transparent 92%, var(--wallet-space));
}
.wallet-page .wallet-portrait-stage :is(.map, .independent-portrait) {
  width: 100%;
}
.wallet-page .wallet-portrait-stage .independent-portrait {
  border: 0;
  background: transparent;
}
.wallet-page .wallet-map-card figcaption {
  margin: 0;
  border-top: 1px solid rgb(231 224 210 / 0.12);
  color: rgb(213 210 203 / 0.42);
  font-size: 8px;
  letter-spacing: 0.08em;
  text-align: center;
  text-transform: uppercase;
  padding: 11px 12px 0;
}

.wallet-page .wallet-lineage-inspector {
  min-width: 0;
  align-self: start;
  overflow: visible;
  border: 1px solid rgb(232 225 208 / 0.28);
  border-radius: 16px;
  background:
    radial-gradient(circle at 18% 0%, rgb(72 78 110 / 0.2), transparent 55%),
    linear-gradient(145deg, rgb(14 16 25 / 0.9), rgb(9 11 19 / 0.84));
  box-shadow: 0 26px 86px rgb(0 0 0 / 0.38), 0 0 48px rgb(86 94 142 / 0.055), inset 0 1px rgb(255 255 255 / 0.045);
  padding: 17px 19px 19px;
  backdrop-filter: blur(22px) saturate(108%);
}
.wallet-page .wallet-map-heading { padding: 0; }
.wallet-page .wallet-map-heading p {
  color: var(--wallet-gold-soft);
  font-size: 8px;
  letter-spacing: 0.16em;
}
.wallet-page .wallet-map-heading h2 {
  color: var(--wallet-paper);
  font-size: 13px;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-transform: uppercase;
}
.wallet-page .wallet-coordinate { margin-top: 0; }
.wallet-page .wallet-coordinate strong {
  color: var(--wallet-paper);
  font-family: 'Iowan Old Style', Baskerville, Georgia, serif;
  font-size: clamp(54px, 4.2vw, 66px);
  font-weight: 400;
  letter-spacing: -0.055em;
  line-height: 0.88;
  text-shadow: 0 0 28px rgb(220 171 75 / 0.14);
}
.wallet-page .wallet-coordinate strong span {
  margin-left: 0.08em;
  color: var(--wallet-bitcoin);
  font-family: var(--sans);
  font-size: 0.35em;
  font-weight: 500;
}
.wallet-page .wallet-coordinate small {
  color: var(--wallet-muted-warm);
  font-size: 7px;
}
.wallet-page .wallet-hop-summary {
  margin: 13px 0 0;
  border-top: 1px solid rgb(231 224 210 / 0.14);
  color: rgb(239 234 224 / 0.76);
  font-size: 12px;
  line-height: 1.5;
  padding-top: 12px;
}

.wallet-page .wallet-profile-reveal {
  display: block;
  margin-top: 12px;
}
.wallet-page .wallet-standing-spotlight {
  overflow: visible;
  border: 0;
  border-top: 1px solid rgb(231 224 210 / 0.14);
  border-bottom: 1px solid rgb(231 224 210 / 0.14);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 13px 0 14px;
}
.wallet-page .wallet-standing-spotlight::after { display: none; }
.wallet-page .wallet-standing-spotlight .eyebrow {
  color: var(--wallet-gold-soft);
  font-size: 8px;
  letter-spacing: 0.14em;
}
.wallet-page .wallet-standing-spotlight strong {
  color: var(--wallet-paper);
  font-family: 'Iowan Old Style', Baskerville, Georgia, serif;
  font-size: clamp(46px, 4vw, 56px);
  font-variant-numeric: lining-nums tabular-nums;
  font-weight: 400;
  letter-spacing: -0.055em;
  line-height: 0.92;
  text-shadow: 0 0 28px rgb(220 171 75 / 0.14);
  white-space: nowrap;
}
.wallet-page .wallet-standing-spotlight > p:not(.eyebrow) {
  color: rgb(239 234 224 / 0.82);
  font-size: 11px;
}
.wallet-page .wallet-standing-spotlight small {
  color: var(--wallet-route-blue);
  font-size: 7px;
  letter-spacing: 0.12em;
}
.wallet-page .wallet-lineage-finding {
  overflow: visible;
  margin-top: 15px;
  border: 0;
  border-left: 1px solid rgb(225 185 105 / 0.58);
  border-radius: 0;
  background: linear-gradient(90deg, rgb(225 185 105 / 0.045), transparent 86%);
  padding: 0 0 0 13px;
}
.wallet-page .wallet-lineage-finding::before { display: none; }
.wallet-page .wallet-lineage-finding .eyebrow {
  color: var(--wallet-gold-soft);
  font-size: 8px;
}
.wallet-page .wallet-lineage-finding h3 {
  color: var(--wallet-paper);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.4;
}
.wallet-page .wallet-lineage-finding > p:last-child {
  color: rgb(220 216 207 / 0.68);
  font-size: 11px;
  line-height: 1.55;
}

.wallet-page .wallet-profile-support {
  display: block;
  align-self: start;
  margin: 0;
  border-top: 1px solid rgb(231 224 210 / 0.16);
  border-bottom: 1px solid rgb(231 224 210 / 0.12);
  padding: 3px 0 9px;
}
.wallet-page .wallet-lineage-facts {
  display: block;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.wallet-page .wallet-lineage-facts > div,
.wallet-page .wallet-lineage-facts > div:nth-child(-n + 2),
.wallet-page .wallet-lineage-facts > div:nth-child(odd),
.wallet-page .wallet-lineage-facts > div:last-child:nth-child(odd) {
  display: grid;
  grid-column: auto;
  grid-template-columns: 80px minmax(0, 1fr);
  gap: 9px;
  border: 0;
  border-bottom: 1px solid rgb(231 224 210 / 0.1);
  padding: 9px 0;
}
.wallet-page .wallet-lineage-facts dt {
  color: var(--wallet-gold-soft);
  font-size: 7px;
}
.wallet-page .wallet-lineage-facts dd {
  color: rgb(239 234 224 / 0.78);
  font-size: 10px;
}
.wallet-page .wallet-lineage-facts code { color: var(--wallet-gold); }
.wallet-page .wallet-lineage-facts small { color: var(--wallet-muted-warm); font-size: 8px; }
.wallet-page .wallet-comparison-details {
  margin-top: 2px;
  border-bottom: 1px solid rgb(231 224 210 / 0.1);
}
.wallet-page .wallet-comparison-details summary {
  position: relative;
  min-height: 42px;
  color: var(--wallet-route-blue);
  cursor: pointer;
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: 0.1em;
  line-height: 1.5;
  list-style: none;
  padding: 14px 22px 10px 0;
  text-transform: uppercase;
}
.wallet-page .wallet-comparison-details summary::-webkit-details-marker { display: none; }
.wallet-page .wallet-comparison-details summary::after {
  position: absolute;
  top: 13px;
  right: 1px;
  color: var(--wallet-gold-soft);
  content: '+';
  font-size: 14px;
  line-height: 1;
}
.wallet-page .wallet-comparison-details[open] summary::after { content: '−'; }
.wallet-page .wallet-comparison-details summary:hover { color: #b5d2df; }
.wallet-page .wallet-comparison-details summary:focus-visible {
  outline: 1px solid rgb(225 185 105 / 0.5);
  outline-offset: 3px;
}
.wallet-page .wallet-comparison-details[open] summary {
  border-bottom: 1px solid rgb(231 224 210 / 0.08);
}
.wallet-page .wallet-lineage-positions { display: block; }
.wallet-page .wallet-position-row {
  border: 0;
  border-bottom: 1px solid rgb(231 224 210 / 0.1);
  border-radius: 0;
  background: transparent;
  padding: 10px 0;
}
.wallet-page .wallet-position-row .position-copy {
  gap: 5px;
  margin-bottom: 9px;
  color: var(--wallet-muted-warm);
  font-size: 7px;
}
.wallet-page .wallet-position-row .position-copy strong {
  color: rgb(231 226 215 / 0.66);
  font-size: 9px;
  font-weight: 400;
}
.wallet-page .wallet-position-row .position-rail { height: 1px; background: rgb(232 225 208 / 0.14); }
.wallet-page .wallet-position-row .position-rail > span {
  position: relative;
  overflow: visible;
  background: var(--wallet-gold);
  box-shadow: 0 0 12px rgb(225 185 105 / 0.42);
}
.wallet-page .wallet-position-row .position-rail--cohort > span {
  background: var(--wallet-route-blue);
  box-shadow: 0 0 12px rgb(105 153 176 / 0.34);
}
.wallet-page .wallet-position-row .position-rail > span::after {
  position: absolute;
  top: 50%;
  right: -2px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 9px currentColor;
  content: '';
  transform: translateY(-50%);
}
.wallet-page .wallet-statistics-note {
  border: 0;
  color: var(--wallet-muted-warm);
  padding: 9px 0 0;
}

.wallet-page .wallet-address-capsule {
  border-color: var(--wallet-hairline);
  border-radius: 15px;
  background: rgb(12 14 22 / 0.72);
  box-shadow: 0 14px 42px rgb(0 0 0 / 0.26), inset 0 1px rgb(255 255 255 / 0.025);
  backdrop-filter: blur(18px) saturate(112%);
}
.wallet-page .wallet-address-capsule::before {
  top: 18px;
  left: 18px;
  width: 7px;
  height: 7px;
  border: 1px solid var(--wallet-bitcoin);
  border-radius: 50%;
  background: var(--wallet-space);
  box-shadow: 0 0 14px rgb(247 147 26 / 0.42);
}
.wallet-page .wallet-address-capsule-head { padding-left: 16px; }
.wallet-page .wallet-address-capsule-head h2 { color: var(--wallet-gold-soft); font-size: 8px; }
.wallet-page .wallet-address-capsule-head > span { color: var(--wallet-muted-warm); font-size: 8px; }
.wallet-page .wallet-featured-address { color: var(--wallet-paper); font-size: 12px; }
.wallet-page .wallet-address-role { color: var(--wallet-muted-warm); font-size: 11px; }
.wallet-page .wallet-address-actions :is(a, button),
.wallet-page .wallet-copy {
  min-height: 44px;
  border-color: rgb(231 224 210 / 0.14);
  border-radius: 10px;
  background: rgb(255 255 255 / 0.018);
  color: rgb(232 227 216 / 0.7);
  font-size: 9px;
}
.wallet-page .wallet-address-actions :is(a, button):hover,
.wallet-page .wallet-copy:hover {
  border-color: rgb(233 198 126 / 0.3);
  color: #f2d38e;
}
.wallet-page .wallet-address-actions a[href^='/#'] { border-color: rgb(231 192 111 / 0.3); color: #dfc285; }
.wallet-page .wallet-vitals {
  margin-top: 18px;
  border-color: rgb(231 224 210 / 0.14);
}
.wallet-page .wallet-vitals > div { border-color: rgb(231 224 210 / 0.1); }
.wallet-page .wallet-vitals dt { color: var(--wallet-gold-soft); font-size: 7px; }
.wallet-page .wallet-vitals dd { color: rgb(239 234 224 / 0.78); font-size: 11px; }

.wallet-page .wallet-local-nav {
  position: relative;
  width: min(100%, 760px);
  min-height: 58px;
  gap: 0;
  margin-top: 24px;
  border: 0;
}
.wallet-page .wallet-local-nav::before {
  position: absolute;
  top: 14px;
  right: 7%;
  left: 19%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgb(225 216 199 / 0.38) 12%, rgb(225 216 199 / 0.38) 88%, transparent);
  content: '';
}
.wallet-page .wallet-local-nav > span {
  align-self: flex-end;
  color: rgb(213 210 203 / 0.42);
  font-size: 8px;
  padding: 0 14px 10px 0;
}
.wallet-page .wallet-local-nav a {
  position: relative;
  display: grid;
  min-width: 96px;
  min-height: 52px;
  flex: 1 1 0;
  place-items: end center;
  color: var(--wallet-muted-warm);
  font-size: 8px;
  padding: 25px 5px 8px;
}
.wallet-page .wallet-local-nav a::before {
  position: absolute;
  top: 10px;
  left: 50%;
  width: 8px;
  height: 8px;
  border: 1px solid rgb(232 226 213 / 0.72);
  border-radius: 50%;
  background: var(--wallet-space);
  box-shadow: 0 0 0 4px var(--wallet-space);
  content: '';
  transform: translateX(-50%);
}
.wallet-page .wallet-local-nav a:hover { color: #f1d79f; }
.wallet-page .wallet-local-nav a:hover::before {
  border-color: #f2ce80;
  background: #edc56f;
  box-shadow: 0 0 0 4px var(--wallet-space), 0 0 18px rgb(232 180 76 / 0.7);
}

@media (max-width: 1180px) {
  .wallet-page .wallet-hero-grid {
    grid-template-areas:
      'intro'
      'inspector'
      'portrait'
      'meta'
      'support';
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: none;
    min-height: 0;
    gap: 28px;
  }
  .wallet-page .wallet-masthead-bar,
  .wallet-page .wallet-hero-intro,
  .wallet-page .wallet-map-card,
  .wallet-page .wallet-lineage-inspector,
  .wallet-page .wallet-hero-meta,
  .wallet-page .wallet-profile-support {
    width: min(100%, 800px);
    margin-right: auto;
    margin-left: auto;
  }
  .wallet-page .wallet-map-card { min-height: 0; }
  .wallet-page .wallet-portrait-stage { min-height: 0; }
  .wallet-page .wallet-lineage-inspector { width: min(100%, 520px); }
  .wallet-page .wallet-profile-support { width: min(100%, 520px); }
}

@media (min-width: 761px) and (max-width: 1180px) {
  .wallet-page .wallet-hero-grid {
    grid-template-areas:
      'intro inspector'
      'portrait portrait'
      'meta support';
    grid-template-columns: minmax(0, 1.12fr) minmax(300px, 0.88fr);
    column-gap: 32px;
  }
  .wallet-page .wallet-hero-intro,
  .wallet-page .wallet-lineage-inspector,
  .wallet-page .wallet-hero-meta,
  .wallet-page .wallet-profile-support {
    width: auto;
    margin-right: 0;
    margin-left: 0;
  }
  .wallet-page .wallet-map-card { width: min(100%, 900px); }
}

@media (max-width: 760px) {
  .wallet-page .wrap {
    padding-top: 12px;
    padding-left: 14px;
    padding-right: 14px;
  }
  .wallet-page .wallet-masthead { padding: 0; border-radius: 0; }
  .wallet-page .wallet-masthead-bar { width: 100%; }
  .wallet-page .wallet-breadcrumb { width: 100%; min-height: 46px; border-radius: 14px; }
  .wallet-page .wallet-hero-grid { gap: 24px; padding-top: 28px; }
  .wallet-page .wallet-hero-intro { padding-left: 15px; }
  .wallet-page .wallet-story h1 { font-size: clamp(34px, 10.4vw, 44px); }
  .wallet-page .wallet-standfirst { font-size: 16px; line-height: 1.62; }
  .wallet-page .wallet-portrait-stage { margin: 0; }
  .wallet-page .wallet-lineage-inspector { border-radius: 20px; padding: 18px; }
  .wallet-page .wallet-standing-spotlight strong { font-size: clamp(44px, 13vw, 54px); }
  .wallet-page .wallet-coordinate strong { font-size: 56px; }
  .wallet-page .wallet-address-capsule { padding-right: 16px; padding-left: 16px; }
  .wallet-page .wallet-address-actions { grid-template-columns: minmax(0, 1fr); }
  .wallet-page .wallet-address-actions :is(a, button) { min-height: 46px; }
  .wallet-page .wallet-local-nav { justify-content: center; padding: 0; }
  .wallet-page .wallet-local-nav > span { display: none; }
  .wallet-page .wallet-local-nav::before { right: 9%; left: 9%; }
  .wallet-page .wallet-local-nav a { min-width: 70px; }
}

@media (max-width: 430px) {
  .wallet-page .wallet-map-heading { align-items: flex-start; }
  .wallet-page .wallet-map-heading h2 { max-width: 16ch; }
  .wallet-page .wallet-standing-spotlight strong { font-size: 44px; }
  .wallet-page .wallet-lineage-facts > div,
  .wallet-page .wallet-lineage-facts > div:nth-child(-n + 2),
  .wallet-page .wallet-lineage-facts > div:nth-child(odd),
  .wallet-page .wallet-lineage-facts > div:last-child:nth-child(odd) {
    grid-template-columns: 74px minmax(0, 1fr);
  }
  .wallet-page .wallet-local-nav a { font-size: 7px; letter-spacing: 0.07em; }
}

@media (prefers-reduced-motion: reduce) {
  .wallet-page .wallet-address-actions :is(a, button),
  .wallet-page .wallet-copy,
  .wallet-page .wallet-local-nav a { transition: none; }
}

@media (min-width: 1181px) {
  .wallet-page .wallet-hero-grid {
    grid-template-columns: minmax(280px, 360px) minmax(360px, 1fr) minmax(260px, 300px);
    column-gap: clamp(20px, 2.4vw, 42px);
  }
  .wallet-page .wallet-portrait-stage {
    place-items: start center;
    padding-top: clamp(54px, 8vh, 92px);
  }
}
.wallet-page .wallet-portrait-stage::before { background: none; }
.wallet-page .wallet-position-row .position-rail > span { color: var(--wallet-gold); }
.wallet-page .wallet-position-row .position-rail--cohort > span { color: var(--wallet-route-blue); }

/* ---- Atlas landing observatory -------------------------------------------
 * The homepage borrows the Atlas's warm instrumentation and spatial rhythm
 * without mounting a second interactive canvas. All selectors stay inside
 * #landing so lookup results, accounts, publication controls and dossiers keep
 * their existing presentation.
 */

.home-atlas #landing {
  --home-paper: #eee9df;
  --home-gold: #e1b969;
  --home-gold-soft: #cba65d;
  --home-muted: rgb(218 213 203 / 0.58);
  --home-hairline: rgb(232 225 208 / 0.2);
  --home-glass: rgb(12 14 22 / 0.72);
  --home-route-blue: rgb(105 153 176 / 0.82);

  position: relative;
  isolation: isolate;
  width: 100vw;
  margin-top: -40px;
  margin-left: calc(50% - 50vw);
  overflow: hidden;
  color: var(--home-paper);
}

.home-atlas #landing::before,
.home-atlas #landing::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: '';
  pointer-events: none;
}

.home-atlas #landing::before {
  background:
    radial-gradient(circle at 73% 29%, rgb(225 185 105 / 0.085), transparent 18%),
    radial-gradient(circle at 66% 54%, rgb(105 153 176 / 0.055), transparent 24%),
    linear-gradient(180deg, rgb(7 9 18 / 0.16), rgb(7 9 18 / 0.64) 76%, rgb(7 9 18 / 0.9));
}

.home-atlas #landing::after {
  opacity: 0.18;
  background-image:
    linear-gradient(90deg, transparent 49.9%, rgb(238 233 223 / 0.06) 50%, transparent 50.1%),
    linear-gradient(transparent 49.9%, rgb(238 233 223 / 0.045) 50%, transparent 50.1%);
  background-size: 180px 180px;
  mask-image: radial-gradient(circle at 70% 34%, black, transparent 58%);
}

.home-atlas-nav {
  position: relative;
  z-index: 6;
  display: flex;
  width: min(calc(100% - 60px), 1280px);
  min-height: 78px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin: 0 auto;
  border-bottom: 1px solid rgb(232 225 208 / 0.08);
}

.home-atlas-brand,
.home-atlas-nav-links a {
  color: var(--home-muted);
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0.17em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
}

.home-atlas-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: rgb(238 233 223 / 0.78);
}

.home-atlas-brand > span {
  width: 7px;
  height: 7px;
  border: 1px solid var(--home-gold);
  border-radius: 50%;
  background: rgb(225 185 105 / 0.18);
  box-shadow: 0 0 15px rgb(225 185 105 / 0.62);
}

.home-atlas-nav-links {
  display: flex;
  align-items: center;
  gap: 24px;
}

.home-atlas-nav-links a:hover { color: #f2d99f; }

.home-atlas-nav-links .home-atlas-open {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  gap: 8px;
  padding-right: 16px;
  padding-left: 16px;
  border: 1px solid var(--home-hairline);
  border-radius: 15px;
  color: rgb(238 233 223 / 0.82);
  background: var(--home-glass);
  box-shadow: 0 14px 42px rgb(0 0 0 / 0.24), inset 0 1px rgb(255 255 255 / 0.025);
  backdrop-filter: blur(18px) saturate(112%);
}

.home-atlas-open > span {
  color: var(--home-gold);
  font-size: 16px;
  text-shadow: 0 0 12px rgb(225 185 105 / 0.58);
}

.home-atlas #landing .hero {
  width: min(calc(100% - 60px), 1280px);
  min-height: clamp(620px, 76dvh, 780px);
  margin: 0 auto;
  padding-top: clamp(64px, 9vh, 108px);
  padding-bottom: clamp(64px, 9vh, 96px);
  text-align: left;
}

.home-atlas-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(460px, 1.08fr);
  gap: clamp(38px, 6vw, 92px);
  min-height: 520px;
  align-items: center;
}

.home-atlas-copy {
  position: relative;
  z-index: 3;
  max-width: 620px;
}

.home-atlas #landing .home-atlas-kicker {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 20px;
  color: var(--home-gold-soft);
  font-size: 10px;
  letter-spacing: 0.18em;
}

.home-atlas-kicker > span {
  width: 26px;
  height: 1px;
  background: linear-gradient(90deg, var(--home-gold), transparent);
  box-shadow: 0 0 10px rgb(225 185 105 / 0.32);
}

.home-atlas #landing .hero-h1 {
  max-width: 12ch;
  margin: 0 0 22px;
  color: var(--home-paper);
  font-size: clamp(44px, 4.4vw, 62px);
  font-weight: 500;
  letter-spacing: -0.055em;
  line-height: 0.99;
}

.home-atlas #landing .hero-h1 > span {
  display: block;
  color: #e5c77f;
  font-weight: 300;
  letter-spacing: -0.04em;
}

.home-atlas #landing .hero-sub {
  max-width: 52ch;
  margin: 0 0 30px;
  color: var(--home-muted);
  font-size: 16px;
  line-height: 1.68;
}

.home-atlas #landing .hero-lookup {
  max-width: 660px;
  margin: 0 0 10px;
  gap: 10px;
}

.home-atlas #landing .hero-lookup .field { position: relative; min-width: 0; }

.home-atlas-input-glyph {
  position: absolute;
  top: 50%;
  left: 18px;
  z-index: 2;
  color: var(--home-gold);
  font-size: 17px;
  line-height: 1;
  text-shadow: 0 0 13px rgb(225 185 105 / 0.52);
  transform: translateY(-50%);
  pointer-events: none;
}

.home-atlas #landing .hero-lookup input[type='text'] {
  min-height: 56px;
  padding-top: 0;
  padding-right: 18px;
  padding-bottom: 0;
  padding-left: 50px;
  border: 1px solid var(--home-hairline);
  border-radius: 15px;
  color: var(--home-paper);
  background: var(--home-glass);
  box-shadow: 0 14px 42px rgb(0 0 0 / 0.26), inset 0 1px rgb(255 255 255 / 0.025);
  font-family: var(--sans);
  font-size: 16px;
  letter-spacing: 0.01em;
  text-align: left;
  outline: none;
  backdrop-filter: blur(18px) saturate(112%);
}

.home-atlas #landing .hero-lookup input[type='text']::placeholder { color: rgb(208 205 197 / 0.55); }

.home-atlas #landing .hero-lookup input[type='text']:hover {
  border-color: rgb(234 218 184 / 0.3);
  background: rgb(17 19 30 / 0.82);
}

.home-atlas #landing .hero-lookup input[type='text']:focus,
.home-atlas #landing .hero-lookup input[type='text']:focus-visible {
  border-color: rgb(238 208 145 / 0.62);
  outline: 1px solid rgb(238 208 145 / 0.32);
  outline-offset: 3px;
  box-shadow: 0 16px 48px rgb(0 0 0 / 0.38), 0 0 30px rgb(220 166 72 / 0.08);
}

.home-atlas #landing .hero-lookup button.primary {
  min-width: 150px;
  min-height: 56px;
  padding: 0 20px;
  border: 1px solid #e8c779;
  border-radius: 15px;
  color: #17130a;
  background: linear-gradient(180deg, #ebcc83, #d9ae5c);
  box-shadow: 0 15px 40px rgb(0 0 0 / 0.28), 0 0 26px rgb(225 185 105 / 0.12), inset 0 1px rgb(255 250 225 / 0.55);
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.01em;
  text-transform: none;
}

.home-atlas #landing .hero-lookup button.primary:hover {
  border-color: #f3d896;
  filter: brightness(1.05);
  box-shadow: 0 17px 44px rgb(0 0 0 / 0.32), 0 0 30px rgb(225 185 105 / 0.18), inset 0 1px rgb(255 250 225 / 0.62);
}

.home-atlas #landing .hero .err {
  min-height: 19px;
  margin: 0;
  color: #df9f87;
  font-size: 11px;
  text-align: left;
}

.home-atlas #landing .hero .inline-hint {
  max-width: 660px;
  margin: 4px 0 0;
  color: rgb(218 213 203 / 0.62);
  font-family: var(--mono);
  font-size: 9.5px;
  letter-spacing: 0.1em;
  line-height: 1.7;
  text-align: left;
  text-transform: uppercase;
}

.home-atlas #landing .hero .inline-hint > span { color: var(--home-gold-soft); }

.home-atlas #landing .hero .inline-hint small {
  display: block;
  color: rgb(218 213 203 / 0.64);
  font: inherit;
  letter-spacing: 0.04em;
  text-transform: none;
}

.home-atlas #landing .scramble {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: none;
  min-width: 0;
  align-items: center;
  padding-right: 18px;
  padding-left: 50px;
  overflow: hidden;
  color: rgb(218 213 203 / 0.54);
  font: 500 13px/1 var(--mono);
  letter-spacing: 0.01em;
  white-space: nowrap;
  pointer-events: none;
}

.home-atlas #landing .hero-lookup.tracing input { color: transparent; caret-color: transparent; }
.home-atlas #landing .hero-lookup.tracing .scramble { display: flex; }
.home-atlas #landing .scramble i { color: var(--home-muted); font-style: normal; }
.home-atlas #landing .scramble i.done { color: var(--home-gold); }

.home-atlas-sky {
  position: relative;
  min-width: 0;
  min-height: 520px;
  align-self: stretch;
  overflow: hidden;
  border-radius: 30px;
  background:
    radial-gradient(circle at 18% 76%, rgb(225 185 105 / 0.12), transparent 15%),
    radial-gradient(circle at 52% 44%, rgb(105 153 176 / 0.06), transparent 23%);
  mask-image: linear-gradient(90deg, transparent, black 12%, black 94%, transparent);
}

.home-atlas-sky::before {
  position: absolute;
  inset: 0;
  opacity: 0.5;
  background-image:
    radial-gradient(circle at 20% 20%, rgb(238 233 223 / 0.7) 0 1px, transparent 1.7px),
    radial-gradient(circle at 54% 16%, rgb(238 233 223 / 0.45) 0 1px, transparent 1.7px),
    radial-gradient(circle at 82% 64%, rgb(238 233 223 / 0.5) 0 1px, transparent 1.8px),
    radial-gradient(circle at 36% 72%, rgb(238 233 223 / 0.36) 0 1px, transparent 1.8px),
    radial-gradient(circle at 68% 84%, rgb(238 233 223 / 0.42) 0 1px, transparent 1.7px);
  content: '';
}

.home-atlas-horizon,
.home-atlas-route,
.home-atlas-star,
.home-atlas-reading,
.home-atlas-axis { position: absolute; }

.home-atlas-horizon {
  border: 1px dotted rgb(224 217 202 / 0.11);
  border-radius: 50%;
}

.home-atlas-horizon--one {
  bottom: -31%;
  left: -10%;
  width: 78%;
  aspect-ratio: 1;
}

.home-atlas-horizon--two {
  bottom: -61%;
  left: -35%;
  width: 128%;
  aspect-ratio: 1;
  opacity: 0.66;
}

.home-atlas-route {
  height: 34%;
  border-top: 1px solid;
  border-radius: 50%;
  transform-origin: left center;
}

.home-atlas-route--gold {
  bottom: 18%;
  left: 9%;
  width: 43%;
  border-color: rgb(225 185 105 / 0.78);
  filter: drop-shadow(0 0 7px rgb(225 185 105 / 0.38));
  transform: rotate(-24deg);
}

.home-atlas-route--blue {
  bottom: 45%;
  left: 43%;
  width: 37%;
  height: 27%;
  border-color: rgb(105 153 176 / 0.64);
  filter: drop-shadow(0 0 6px rgb(105 153 176 / 0.25));
  transform: rotate(-23deg);
}

.home-atlas-star { width: 1px; height: 1px; }
.home-atlas-star > i {
  position: absolute;
  top: 0;
  left: 0;
  width: 8px;
  height: 8px;
  border: 1px solid #ebcf91;
  border-radius: 50%;
  background: #e8bd69;
  box-shadow: 0 0 0 5px rgb(225 185 105 / 0.07), 0 0 22px rgb(225 185 105 / 0.62);
  transform: translate(-50%, -50%);
}

.home-atlas-star > i::before,
.home-atlas-star > i::after {
  position: absolute;
  top: 50%;
  left: 50%;
  background: linear-gradient(90deg, transparent, rgb(239 207 137 / 0.58), transparent);
  content: '';
  transform: translate(-50%, -50%);
}

.home-atlas-star > i::before { width: 38px; height: 1px; }
.home-atlas-star > i::after { width: 1px; height: 38px; }

.home-atlas-star > b,
.home-atlas-star > small {
  position: absolute;
  left: 16px;
  color: rgb(232 226 214 / 0.68);
  font-family: var(--mono);
  font-size: 8px;
  font-style: normal;
  font-weight: 500;
  letter-spacing: 0.14em;
  line-height: 1.2;
  text-transform: uppercase;
  white-space: nowrap;
}

.home-atlas-star > b { top: -4px; }
.home-atlas-star > small { top: 11px; color: var(--home-gold-soft); }

.home-atlas-star--origin { bottom: 17%; left: 9%; }
.home-atlas-star--relay { bottom: 45%; left: 44%; }
.home-atlas-star--address { top: 27%; left: 77%; }
.home-atlas-star--address > i {
  width: 11px;
  height: 11px;
  box-shadow: 0 0 0 7px rgb(225 185 105 / 0.07), 0 0 32px rgb(225 185 105 / 0.72);
}
.home-atlas-star--address > b { top: 17px; left: -29px; }
.home-atlas-star--address > small { top: 31px; left: -3px; }

.home-atlas-star--quiet-one { top: 20%; left: 36%; }
.home-atlas-star--quiet-two { top: 53%; left: 65%; }
.home-atlas-star--quiet-three { top: 71%; left: 88%; }
.home-atlas-star[class*='quiet'] > i {
  width: 4px;
  height: 4px;
  border: 0;
  background: rgb(234 229 218 / 0.78);
  box-shadow: 0 0 10px rgb(234 229 218 / 0.26);
}
.home-atlas-star[class*='quiet'] > i::before,
.home-atlas-star[class*='quiet'] > i::after { content: none; }

.home-atlas-reading {
  right: 2%;
  bottom: 13%;
  z-index: 2;
  display: grid;
  width: 176px;
  gap: 6px;
  padding: 16px;
  border: 1px solid var(--home-hairline);
  border-radius: 15px;
  background: rgb(12 14 22 / 0.78);
  box-shadow: 0 18px 54px rgb(0 0 0 / 0.32), inset 0 1px rgb(255 255 255 / 0.025);
  backdrop-filter: blur(18px) saturate(112%);
}

.home-atlas-reading > span,
.home-atlas-reading > small {
  color: var(--home-gold-soft);
  font-family: var(--mono);
  font-size: 7px;
  font-weight: 500;
  letter-spacing: 0.15em;
  line-height: 1.45;
  text-transform: uppercase;
}

.home-atlas-reading > strong {
  color: var(--home-paper);
  font-family: Iowan Old Style, Baskerville, Georgia, serif;
  font-size: 56px;
  font-weight: 400;
  letter-spacing: -0.04em;
  line-height: 0.95;
}

.home-atlas-reading sup {
  color: var(--home-gold);
  font-family: var(--mono);
  font-size: 13px;
  vertical-align: super;
}

.home-atlas-reading > small {
  padding-top: 10px;
  border-top: 1px solid rgb(232 225 208 / 0.12);
  color: var(--home-muted);
  font-family: var(--sans);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.45;
  text-transform: none;
}

.home-atlas-axis {
  right: 25%;
  bottom: 4%;
  left: 28%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid rgb(232 225 208 / 0.16);
}

.home-atlas-axis > span {
  position: relative;
  padding-top: 14px;
  color: rgb(218 213 203 / 0.34);
  font-family: var(--mono);
  font-size: 7px;
  letter-spacing: 0.11em;
  text-align: center;
  text-transform: uppercase;
}

.home-atlas-axis i {
  position: absolute;
  top: -4px;
  left: 50%;
  width: 7px;
  height: 7px;
  border: 1px solid rgb(232 225 208 / 0.48);
  border-radius: 50%;
  background: #090b13;
  box-shadow: 0 0 0 4px #090b13;
  transform: translateX(-50%);
}

.home-atlas-axis > span:first-child { color: var(--home-gold-soft); }
.home-atlas-axis > span:first-child i {
  border-color: var(--home-gold);
  background: var(--home-gold);
  box-shadow: 0 0 0 4px #090b13, 0 0 14px rgb(225 185 105 / 0.58);
}

.home-atlas #landing .board-wrap {
  position: relative;
  z-index: 3;
  max-width: 1120px;
  margin-top: 14px;
  margin-right: auto;
  margin-left: auto;
  padding: 28px;
  border: 1px solid rgb(232 225 208 / 0.13);
  border-radius: 20px;
  background: rgb(9 11 19 / 0.68);
  box-shadow: 0 28px 90px rgb(0 0 0 / 0.26), inset 0 1px rgb(255 255 255 / 0.018);
  backdrop-filter: blur(14px) saturate(110%);
}

.home-atlas #landing .board-head {
  gap: 18px;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgb(232 225 208 / 0.1);
}

.home-atlas #landing .board-title {
  color: var(--home-gold-soft);
  font-size: 9px;
  letter-spacing: 0.17em;
}

.home-atlas #landing .board-head-actions { flex-wrap: wrap; gap: 14px; }

.home-atlas #landing :is(.board-atlas-link, .board-community-link, .board-more) {
  min-height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: var(--home-muted);
  background: transparent;
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 44px;
  text-decoration: none;
  text-transform: uppercase;
}

.home-atlas #landing :is(.board-atlas-link, .board-community-link, .board-more):hover {
  border: 0;
  color: #efd28f;
  transform: none;
}

.home-atlas #landing .board {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.home-atlas #landing .brow {
  min-height: 64px;
  gap: 12px;
  padding-top: 11px;
  padding-right: 14px;
  padding-bottom: 11px;
  padding-left: 14px;
  border: 1px solid rgb(232 225 208 / 0.12);
  border-left: 1px solid rgb(232 225 208 / 0.12);
  border-radius: 14px;
  color: var(--home-paper);
  background: rgb(12 14 22 / 0.66);
  box-shadow: inset 0 1px rgb(255 255 255 / 0.018);
}

.home-atlas #landing .brow:hover {
  border-color: rgb(225 185 105 / 0.38);
  border-left-color: rgb(225 185 105 / 0.38);
  color: #f2ead9;
  background: rgb(17 19 29 / 0.82);
  box-shadow: 0 12px 30px rgb(0 0 0 / 0.18), inset 0 1px rgb(255 255 255 / 0.025);
  transform: none;
}

.home-atlas #landing .board > li:first-child .brow {
  border-color: rgb(225 185 105 / 0.28);
  border-left: 2px solid var(--home-gold);
  background: linear-gradient(90deg, rgb(225 185 105 / 0.055), rgb(12 14 22 / 0.68) 42%);
  box-shadow: 0 0 32px rgb(225 185 105 / 0.045), inset 0 1px rgb(255 255 255 / 0.02);
}

.home-atlas #landing .brow-rank {
  color: rgb(218 213 203 / 0.3);
  font-size: 8px;
  letter-spacing: 0.08em;
}

.home-atlas #landing .brow-deg {
  color: var(--home-paper);
  font-family: Iowan Old Style, Baskerville, Georgia, serif;
  font-size: 28px;
  font-weight: 400;
  letter-spacing: -0.04em;
}

.home-atlas #landing .brow-deg-s {
  color: var(--home-gold);
  font-family: var(--mono);
  font-size: 9px;
}

.home-atlas #landing .brow-name {
  color: rgb(238 233 223 / 0.72);
  font-size: 12px;
  letter-spacing: 0.005em;
}

.home-atlas #landing .brow-era {
  color: rgb(218 213 203 / 0.64);
  font-size: 8px;
  letter-spacing: 0.08em;
}

.home-atlas #landing .board-note {
  margin: 16px 0 0;
  color: rgb(218 213 203 / 0.64);
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.home-atlas .foot {
  padding-top: 24px;
  border-top: 1px solid rgb(232 225 208 / 0.08);
  color: rgb(218 213 203 / 0.34);
}
.home-atlas .foot a { color: rgb(218 213 203 / 0.48); }
.home-atlas .foot a:hover { color: #e8c97e; }

@keyframes home-atlas-pulse {
  0%, 100% { opacity: 0.82; filter: brightness(0.92); }
  50% { opacity: 1; filter: brightness(1.12); }
}

.home-atlas-star--address > i { animation: home-atlas-pulse 4.6s ease-in-out infinite; }
.home-atlas-sky { animation: dfs-in 1.1s ease-out both; animation-delay: 0.12s; }

@media (max-width: 1020px) {
  .home-atlas-hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(390px, 0.88fr);
    gap: 30px;
  }
  .home-atlas-reading { display: none; }
  .home-atlas-axis { right: 8%; left: 26%; }
}

@media (max-width: 860px) {
  .home-atlas #landing .hero {
    min-height: 0;
    padding-top: 66px;
    padding-bottom: 48px;
  }
  .home-atlas-hero-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
    min-height: 0;
  }
  .home-atlas-copy { max-width: 680px; }
  .home-atlas-sky { min-height: 390px; }
  .home-atlas-reading { display: grid; }
  .home-atlas #landing .board { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 700px) {
  .home-atlas #landing { margin-top: -24px; }
  .home-atlas-nav,
  .home-atlas #landing .hero { width: calc(100% - 32px); }
  .home-atlas-nav { min-height: 68px; }
  .home-atlas-nav-links { gap: 12px; }
  .home-atlas-nav-links > a:not(.home-atlas-open) { display: none; }
  .home-atlas-nav-links .home-atlas-open {
    min-height: 44px;
    padding-right: 13px;
    padding-left: 13px;
  }
  .home-atlas #landing .hero {
    padding-top: 50px;
    padding-bottom: 38px;
  }
  .home-atlas #landing .hero-h1 {
    max-width: 11ch;
    font-size: clamp(38px, 12vw, 50px);
    letter-spacing: -0.05em;
  }
  .home-atlas #landing .hero-sub { font-size: 15px; }
  .home-atlas #landing .hero-lookup { grid-template-columns: minmax(0, 1fr); }
  .home-atlas #landing .hero-lookup button.primary { width: 100%; min-height: 52px; }
  .home-atlas #landing .hero .inline-hint { font-size: 9px; }
  .home-atlas-sky { min-height: 330px; margin-right: -4px; margin-left: -4px; }
  .home-atlas-reading { right: 2%; bottom: 12%; width: 148px; padding: 13px; }
  .home-atlas-reading > strong { font-size: 46px; }
  .home-atlas-star--address { left: 70%; }
  .home-atlas-axis { right: 4%; left: 20%; }
  .home-atlas #landing .board-wrap {
    margin-top: 0;
    margin-right: 16px;
    margin-left: 16px;
    padding: 18px 14px;
    border-radius: 17px;
  }
  .home-atlas #landing .board-head { align-items: flex-start; flex-direction: column; gap: 4px; }
  .home-atlas #landing .board-head-actions {
    width: 100%;
    align-items: center;
    flex-direction: row;
    justify-content: flex-start;
    gap: 18px;
  }
  .home-atlas #landing .brow { grid-template-columns: 18px 42px minmax(0, 1fr); min-height: 62px; }
}

@media (max-width: 430px) {
  .home-atlas-brand { font-size: 8px; letter-spacing: 0.13em; }
  .home-atlas-nav-links .home-atlas-open { font-size: 7px; letter-spacing: 0.1em; }
  .home-atlas #landing .hero { padding-top: 42px; }
  .home-atlas-sky { min-height: 290px; }
  .home-atlas-reading { display: none; }
  .home-atlas-star--relay { left: 49%; }
  .home-atlas-star--address { top: 21%; left: 76%; }
  .home-atlas-axis { right: 6%; left: 18%; }
  .home-atlas #landing .board-head-actions { gap: 12px; }
  .home-atlas #landing :is(.board-atlas-link, .board-community-link, .board-more) {
    font-size: 7px;
    letter-spacing: 0.09em;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-atlas-star--address > i,
  .home-atlas-sky { animation: none; }
}

@media (forced-colors: active) {
  #result .result-bitcoin-mark,
  .wallet-page .wallet-bitcoin-mark {
    border-color: CanvasText;
    background: Canvas;
    box-shadow: none;
    color: CanvasText;
  }
  .home-atlas-nav-links .home-atlas-open,
  .home-atlas #landing .hero-lookup input[type='text'],
  .home-atlas #landing .hero-lookup button.primary,
  .home-atlas-reading,
  .home-atlas #landing .board-wrap,
  .home-atlas #landing .brow { border-color: CanvasText; }
}
