:root {
  --atrium-umber: #765037;
  --atrium-cedar: #24251f;
  --atrium-bone: #f1ebdd;
  --atrium-sand: #d8c39a;
  --atrium-sage: #68705a;
}

.atrium-source-shelf,
.atrium-source-note {
  box-sizing: border-box;
  font-family: DMSans_400Regular, system-ui, sans-serif;
}

.atrium-source-shelf {
  max-width: 1180px;
  margin: 30px auto 46px;
  padding: 0 28px 8px;
}

.atrium-source-shelf__rule {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  color: var(--atrium-umber);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.atrium-source-shelf__rule::before,
.atrium-source-shelf__rule::after {
  content: '';
  height: 1px;
  background: color-mix(in srgb, var(--atrium-umber) 36%, transparent);
}

.atrium-source-shelf__rule::before { width: 34px; }
.atrium-source-shelf__rule::after { flex: 1; }

.atrium-source-shelf__dots {
  display: inline-flex;
  gap: 5px;
}

.atrium-source-shelf__dots i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--atrium-umber);
  opacity: 0.8;
}

.atrium-source-shelf__intro {
  max-width: 690px;
  margin: 0 0 18px;
  color: #513a2c;
  font-size: 15px;
  line-height: 1.55;
}

.atrium-source-shelf__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.atrium-source-card {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 12px;
  min-height: 112px;
  padding: 10px;
  border: 1px solid rgba(118, 80, 55, 0.24);
  background: linear-gradient(135deg, rgba(255, 252, 248, 0.98), rgba(241, 235, 221, 0.78));
  color: #24110a;
  text-decoration: none;
  transition: transform 160ms cubic-bezier(0.23, 1, 0.32, 1), border-color 160ms ease;
}

.atrium-source-card:hover,
.atrium-source-card:focus-visible {
  border-color: var(--atrium-umber);
  outline: none;
  transform: translateY(-2px);
}

.atrium-source-card img {
  width: 92px;
  height: 92px;
  object-fit: cover;
  background: #d8c39a;
}

.atrium-source-card__eyebrow,
.atrium-source-note__eyebrow {
  margin: 0 0 5px;
  color: var(--atrium-umber);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.atrium-source-card__title {
  margin: 0;
  color: #24110a;
  font-family: Newsreader_500Medium, Georgia, serif;
  font-size: 20px;
  line-height: 1.04;
}

.atrium-source-card__caption,
.atrium-source-note__caption {
  margin: 6px 0 0;
  color: #513a2c;
  font-size: 12px;
  line-height: 1.38;
}

.atrium-source-note {
  display: grid;
  grid-template-columns: minmax(156px, 0.65fr) minmax(0, 1fr);
  gap: 18px;
  max-width: 930px;
  margin: 28px auto 42px;
  padding: 14px 18px;
  border-top: 1px solid rgba(118, 80, 55, 0.42);
  border-bottom: 1px solid rgba(118, 80, 55, 0.22);
  background: linear-gradient(90deg, rgba(216, 195, 154, 0.2), rgba(241, 235, 221, 0.06));
}

.atrium-source-note__title {
  margin: 0;
  color: #24110a;
  font-family: Newsreader_500Medium, Georgia, serif;
  font-size: 22px;
  line-height: 1.08;
}

.atrium-source-note__link {
  align-self: end;
  color: var(--atrium-umber);
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}

.atrium-source-note__link:hover,
.atrium-source-note__link:focus-visible { text-decoration: underline; }

.atrium-source-note--image {
  grid-template-columns: minmax(0, 1fr) 172px;
  max-width: 980px;
}

.atrium-source-note--image img {
  width: 172px;
  height: 122px;
  object-fit: cover;
  border: 1px solid rgba(118, 80, 55, 0.24);
}

@media (max-width: 760px) {
  .atrium-source-shelf { margin: 22px auto 34px; padding: 0 18px 6px; }
  .atrium-source-shelf__intro { font-size: 14px; }
  .atrium-source-shelf__grid { grid-template-columns: 1fr; gap: 10px; }
  .atrium-source-card { grid-template-columns: 84px minmax(0, 1fr); min-height: 104px; }
  .atrium-source-card img { width: 84px; height: 84px; }
  .atrium-source-card__title { font-size: 19px; }
  .atrium-source-note,
  .atrium-source-note--image { grid-template-columns: 1fr; margin: 20px 18px 32px; padding: 14px; }
  .atrium-source-note--image img { width: 100%; height: 180px; order: -1; }
}

@media (prefers-reduced-motion: reduce) {
  .atrium-source-card { transition: none; }
}

/* Default Museum Atrium theme: warm dark reading room. The Expo export uses
   inline RGB styles, so these targeted overrides intentionally sit after the
   runtime stylesheet and use !important only for palette substitution. */
:root {
  color-scheme: dark;
  --atrium-umber: #c46a45;
  --atrium-cedar: #24251f;
  --atrium-bone: #f1ebdd;
  --atrium-sand: #d8c39a;
  --atrium-sage: #9ba58a;
}

html,
body,
#root {
  min-height: 100%;
  background: #11100e !important;
  color: #f1ebdd;
}

#root > div > div[style*='--color-background'] {
  --color-primary: #c46a45 !important;
  --color-background: #11100e !important;
  --color-surface: #24251f !important;
  --color-foreground: #f1ebdd !important;
  --color-muted: #d8c39a !important;
  --color-border: #68705a !important;
  --color-success: #68705a !important;
  --color-warning: #c49a3a !important;
  --color-error: #c46a45 !important;
}

/* Paper and utility surfaces emitted by the static Expo bundle. */
#root [style*='background-color:rgba(252,247,240'],
#root [style*='background-color:rgba(255,253,249'],
#root [style*='background-color:rgba(255,247,239,1.00'],
#root [style*='background-color:rgba(242,242,242'],
#root [style*='background-color:rgba(255,255,255,1.00'],
#root [style*='background-color:rgba(240,228,215'],
#root [style*='background-color:rgba(238,219,200'],
#root [style*='background-color:rgba(219,198,178'] {
  background-color: #11100e !important;
}

/* Light record cards become cedar surfaces; image layers remain untouched. */
#root [style*='background-color:rgba(255,252,248'],
#root [style*='background-color:rgba(255,247,239,0.18'],
#root [style*='background-color:rgba(247,231,210,0.16'] {
  background-color: #24251f !important;
}

/* Exported dark brown text becomes bone or sand on the new dark surfaces. */
#root [style*='color:rgba(36,17,10'],
#root [style*='color:rgba(81,58,44'],
#root [style*='color:rgba(49,53,56'],
#root [style*='color:rgba(89,49,29'],
#root [style*='color:rgba(77,48,32'],
#root [style*='color:rgba(63,40,26'],
#root [style*='color:rgba(115,80,58'],
#root [style*='color:rgba(101,64,42'],
#root [style*='color:rgba(122,80,57'],
#root [style*='color:rgba(139,79,46'],
#root [style*='color:rgba(148,97,69'],
#root [style*='color:rgba(154,107,71'] {
  color: #f1ebdd !important;
}

#root [style*='color:rgba(205,184,166'],
#root [style*='color:rgba(168,120,85'],
#root [style*='color:rgba(244,213,184'] {
  color: #d8c39a !important;
}

/* Preserve image depth, then add a dark visual field around all route content. */
#root [data-expoimage='true'] img { filter: saturate(0.9) contrast(1.04) brightness(0.78); }

.atrium-source-shelf__intro,
.atrium-source-card__caption,
.atrium-source-note__caption { color: #d8c39a; }

.atrium-source-card {
  border-color: rgba(216, 195, 154, 0.3);
  background: linear-gradient(135deg, #24251f, #171814);
  color: #f1ebdd;
}

.atrium-source-card__title,
.atrium-source-note__title { color: #f1ebdd; }

.atrium-source-note {
  border-top-color: rgba(216, 195, 154, 0.42);
  border-bottom-color: rgba(216, 195, 154, 0.2);
  background: linear-gradient(90deg, rgba(36, 37, 31, 0.92), rgba(17, 16, 14, 0.42));
}

.atrium-inline-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.08em;
  height: 1.08em;
  color: currentColor;
  vertical-align: -0.15em;
}

.atrium-inline-icon svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.atrium-inline-icon--star svg { stroke-width: 1.5; }

#root input,
#root textarea,
#root select {
  color: #f1ebdd !important;
  caret-color: #c46a45;
}

#root input::placeholder,
#root textarea::placeholder {
  color: #d8c39a !important;
  opacity: 0.82;
}

.atrium-timeline-visual {
  position: relative;
  display: grid;
  min-height: 116px;
  margin: 10px 0 14px;
  overflow: hidden;
  border: 1px solid rgba(216, 195, 154, 0.45);
  border-radius: 12px;
  background: #11100e;
  isolation: isolate;
}

.atrium-timeline-visual::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, rgba(17, 16, 14, 0.88), rgba(17, 16, 14, 0.12) 72%);
  pointer-events: none;
}

.atrium-timeline-visual img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.78) contrast(1.05) brightness(0.78);
}

.atrium-timeline-visual span {
  position: relative;
  z-index: 2;
  align-self: end;
  max-width: 82%;
  padding: 10px 12px;
  color: #f1ebdd;
  font: 700 10px/1.35 DMSans_700Bold, system-ui, sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

html[data-atrium-contrast='high'] .atrium-timeline-visual { border-color: #fff; }
html[data-atrium-contrast='high'] .atrium-timeline-visual::after { background: rgba(0, 0, 0, 0.7); }

.atrium-contrast-toggle {
  position: fixed;
  right: 14px;
  bottom: 82px;
  z-index: 2147483000;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 36px;
  padding: 7px 10px;
  border: 1px solid rgba(216, 195, 154, 0.52);
  border-radius: 999px;
  background: rgba(36, 37, 31, 0.95);
  color: #f1ebdd;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.26);
  font: 700 11px/1 DMSans_700Bold, system-ui, sans-serif;
  letter-spacing: 0.05em;
  cursor: pointer;
}

.atrium-contrast-toggle > span:first-child {
  display: inline-flex;
  align-items: flex-end;
  justify-content: center;
  width: 15px;
  height: 16px;
  border-bottom: 2px solid currentColor;
  font-family: Newsreader_600SemiBold, Georgia, serif;
  font-size: 18px;
  line-height: 0.85;
}

.atrium-contrast-toggle:focus-visible {
  outline: 3px solid #f1ebdd;
  outline-offset: 3px;
}

.atrium-contrast-toggle.is-active {
  border-color: #fff;
  background: #000;
  color: #fff;
}

html[data-atrium-contrast='high'] body,
html[data-atrium-contrast='high'] #root {
  background: #000 !important;
  color: #fff;
}

html[data-atrium-contrast='high'] #root [data-atrium-dark-surface='true'],
html[data-atrium-contrast='high'] #root [style*='background-color:rgba(252,247,240'],
html[data-atrium-contrast='high'] #root [style*='background-color:rgba(242,242,242'] {
  background-color: #000 !important;
  border-color: #fff !important;
}

html[data-atrium-contrast='high'] #root [style*='color:rgba'],
html[data-atrium-contrast='high'] #root [data-atrium-dark-surface='true'] * {
  color: #fff !important;
}

html[data-atrium-contrast='high'] #root [data-expoimage='true'] img {
  filter: saturate(0.82) contrast(1.35) brightness(0.62);
}

html[data-atrium-contrast='high'] .atrium-source-card,
html[data-atrium-contrast='high'] .atrium-source-note {
  background: #000;
  border-color: #fff;
}

@media (min-width: 760px) {
  .atrium-contrast-toggle { top: 92px; bottom: auto; }
}

.atrium-documented-visual {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  isolation: isolate;
}

.cross-dissolve-container.atrium-documented-visual > img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.atrium-documented-visual__label {
  position: absolute;
  z-index: 4;
  right: 10px;
  bottom: 10px;
  max-width: calc(100% - 20px);
  padding: 6px 8px;
  border: 1px solid rgba(241, 235, 221, 0.55);
  border-radius: 999px;
  background: rgba(8, 10, 9, 0.9);
  color: #f1ebdd;
  font: 700 10px/1.2 DMSans_700Bold, system-ui, sans-serif;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  pointer-events: none;
}

:root {
  --atrium-void: #0b0d0c;
  --atrium-ink: #141816;
  --atrium-cedar: #25312c;
  --atrium-moss: #5d796e;
  --atrium-ember: #c56b47;
  --atrium-ochre: #d2ab5d;
  --atrium-bone: #f4eee2;
}

body {
  background:
    radial-gradient(1100px 640px at 18% -8%, rgba(197, 107, 71, 0.15), transparent 62%),
    radial-gradient(800px 580px at 100% 28%, rgba(54, 125, 120, 0.12), transparent 62%),
    var(--atrium-void) !important;
}

html,
body {
  background-color: #000 !important;
}

#root {
  isolation: isolate;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.018), transparent 34%),
    radial-gradient(900px 500px at 82% 4%, rgba(210, 171, 93, 0.055), transparent 62%),
    transparent;
}

#root::before {
  content: '';
  position: fixed;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  opacity: 0.36;
  background-image:
    linear-gradient(rgba(216, 195, 154, 0.026) 1px, transparent 1px),
    linear-gradient(90deg, rgba(216, 195, 154, 0.02) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(to bottom, black, transparent 72%);
}

#root [data-atrium-dark-surface='true'] {
  background-color: rgba(28, 34, 31, 0.84) !important;
  border-color: rgba(216, 195, 154, 0.34) !important;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(244, 238, 226, 0.035);
}

#root button[data-atrium-dark-surface='true'] {
  background-image: linear-gradient(140deg, rgba(255, 255, 255, 0.035), transparent 52%);
  transition: transform 160ms cubic-bezier(0.23, 1, 0.32, 1), border-color 160ms ease-out, box-shadow 160ms ease-out;
}

#root button[data-atrium-dark-surface='true']:hover {
  border-color: rgba(210, 171, 93, 0.68) !important;
  box-shadow: 0 20px 54px rgba(0, 0, 0, 0.31), 0 0 0 1px rgba(210, 171, 93, 0.07);
  transform: translateY(-2px);
}

.atrium-source-card,
.atrium-source-note,
.atrium-contrast-toggle,
.atrium-documented-visual__label {
  backdrop-filter: saturate(125%) blur(9px);
  -webkit-backdrop-filter: saturate(125%) blur(9px);
}

.atrium-source-card,
.atrium-source-note {
  background:
    linear-gradient(138deg, rgba(63, 74, 68, 0.66), rgba(22, 26, 24, 0.77)) !important;
  border-color: rgba(216, 195, 154, 0.42) !important;
  box-shadow: 0 18px 46px rgba(0, 0, 0, 0.24), inset 0 1px 0 rgba(244, 238, 226, 0.055);
}

.atrium-inline-icon svg {
  stroke: #9bc7bf;
  stroke-width: 1.8;
}

.atrium-timeline-visual {
  border-color: rgba(210, 171, 93, 0.5);
  box-shadow: inset 0 1px 0 rgba(244, 238, 226, 0.1), 0 12px 30px rgba(0, 0, 0, 0.18);
}

.atrium-timeline-visual::after {
  background: linear-gradient(100deg, rgba(11, 13, 12, 0.93), rgba(11, 13, 12, 0.22) 74%);
}

::selection {
  color: var(--atrium-void);
  background: var(--atrium-ochre);
}

@media (prefers-reduced-motion: reduce) {
  #root button[data-atrium-dark-surface='true'] { transition: none; }
  #root button[data-atrium-dark-surface='true']:hover { transform: none; }
}

/* First Nations Culture room and compact user display preferences. */
.atrium-culture-room { width: min(1180px, calc(100% - 32px)); margin: 0 auto; padding: 40px 0 92px; color: #f8f3e9; }
.atrium-culture-hero, .atrium-culture-frame, .atrium-culture-protocol { border: 1px solid rgba(225, 205, 163, .2); border-radius: 28px; background: linear-gradient(135deg, rgba(32,18,12,.92), rgba(10,13,12,.84)); box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 24px 60px rgba(0,0,0,.24); }
.atrium-culture-hero { overflow: hidden; padding: clamp(32px, 6vw, 74px); background-image: radial-gradient(540px 320px at 92% 4%, rgba(69,216,196,.3), transparent 68%), radial-gradient(460px 340px at 6% 100%, rgba(255,118,79,.28), transparent 70%), linear-gradient(135deg, rgba(6,8,8,.94), rgba(23,39,34,.9)); background-size: cover; background-position: center; }
.atrium-culture-hero__eyebrow, .atrium-culture-card__eyebrow, .atrium-culture-frame__rule, .atrium-culture-protocol__eyebrow { display: block; margin: 0 0 14px; color: #e8be82; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 11px; font-weight: 700; letter-spacing: .16em; }
.atrium-culture-hero h1, .atrium-culture-frame h2, .atrium-culture-protocol h2 { max-width: 790px; margin: 0; color: #fffaf0; font-family: Georgia, 'Times New Roman', serif; font-weight: 500; line-height: .98; letter-spacing: -.045em; }
.atrium-culture-hero h1 { font-size: clamp(48px, 8vw, 104px); }
.atrium-culture-frame h2, .atrium-culture-protocol h2 { font-size: clamp(30px, 4.2vw, 58px); }
.atrium-culture-hero p { max-width: 660px; margin: 24px 0 0; color: #f2e5d1; font-size: 18px; line-height: 1.55; }
.atrium-culture-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.atrium-culture-hero__actions a { padding: 12px 16px; border: 1px solid rgba(255,255,255,.3); border-radius: 999px; background: rgba(7,9,9,.32); color: #fffaf0; text-decoration: none; backdrop-filter: blur(8px); }
.atrium-culture-frame { margin: 18px 0; padding: 28px 32px; }
.atrium-culture-frame p, .atrium-culture-protocol p { max-width: 760px; margin: 16px 0 0; color: #d7d9d2; line-height: 1.6; }
.atrium-culture-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 18px 0; }
.atrium-culture-card { display: flex; flex-direction: column; gap: 14px; min-height: 250px; padding: 26px; border: 1px solid rgba(221,204,166,.2); border-radius: 24px; background: linear-gradient(155deg, rgba(52,29,18,.8), rgba(11,17,16,.82)); color: #eee6d8; text-decoration: none; box-shadow: inset 0 1px 0 rgba(255,255,255,.06); transition: transform 180ms cubic-bezier(.23,1,.32,1), border-color 180ms ease; }
.atrium-culture-card strong { color: #fffaf0; font-family: Georgia, 'Times New Roman', serif; font-size: 28px; font-weight: 500; line-height: 1.05; }
.atrium-culture-card > span:not(.atrium-culture-card__eyebrow) { color: #d4d7d1; line-height: 1.52; }
.atrium-culture-card em { margin-top: auto; color: #8dc0b6; font-size: 13px; font-style: normal; font-weight: 700; }
.atrium-culture-card:hover { border-color: rgba(232,190,130,.55); transform: translateY(-3px); }
.atrium-culture-protocol { padding: 32px; background: linear-gradient(120deg, rgba(27,49,43,.76), rgba(17,20,18,.92)); }

.atrium-display-controls { position: fixed; z-index: 2147483645; right: 18px; bottom: 72px; display: flex; gap: 6px; padding: 6px; border: 1px solid rgba(235,221,190,.26); border-radius: 14px; background: rgba(7,10,10,.82); box-shadow: 0 10px 28px rgba(0,0,0,.36); backdrop-filter: blur(10px); }
.atrium-display-controls button { min-height: 32px; padding: 0 9px; border: 0; border-radius: 9px; background: transparent; color: #f9f2e4; font-size: 12px; font-weight: 700; }
.atrium-display-controls button:hover, .atrium-display-controls button:focus-visible { background: rgba(127,187,176,.24); outline: 2px solid #c9eddf; outline-offset: 2px; }
.atrium-display-controls__toggle { display: none; }
.atrium-display-controls__options { display: flex; gap: 6px; }
.atrium-display-controls .atrium-contrast-toggle { position: static; z-index: auto; min-height: 32px; padding: 0 9px; border-radius: 9px; box-shadow: none; font-size: 12px; letter-spacing: 0; }
.atrium-display-controls .atrium-contrast-toggle > span:first-child { width: 13px; height: 14px; font-size: 16px; }
html[data-atrium-text-size='large'] #root { font-size: 112%; }
html[data-atrium-data='low'] #root img { opacity: 0; }
html[data-atrium-data='low'] .atrium-documented-visual, html[data-atrium-data='low'] .atrium-culture-hero { background-image: linear-gradient(135deg, #121816, #321f16) !important; }
html[data-atrium-data='low'] .atrium-documented-visual__label { background: #08110f; }

@media (max-width: 760px) {
  .atrium-culture-room { width: min(100% - 22px, 620px); padding: 18px 0 108px; }
  .atrium-culture-hero, .atrium-culture-frame, .atrium-culture-protocol { border-radius: 22px; }
  .atrium-culture-hero { padding: 30px 24px; }
  .atrium-culture-hero h1 { font-size: clamp(42px, 14vw, 66px); }
  .atrium-culture-hero p { font-size: 16px; }
  .atrium-culture-grid { grid-template-columns: 1fr; }
  .atrium-culture-card { min-height: 0; padding: 24px; }
  .atrium-culture-card strong { font-size: 27px; }
  .atrium-display-controls { position: fixed; z-index: 2147483001; top: calc(10px + env(safe-area-inset-top)); right: 10px; left: auto; bottom: auto; width: max-content; margin: 0; padding: 4px; border-radius: 999px; }
  .atrium-display-controls__toggle { display: block; min-height: 38px !important; padding: 0 12px !important; }
  .atrium-display-controls__options { display: none; }
  .atrium-display-controls.is-open { border-radius: 16px; }
  .atrium-display-controls.is-open .atrium-display-controls__options { display: flex; }
  .atrium-display-controls.is-open .atrium-display-controls__toggle { border-right: 1px solid rgba(69,216,196,.28); }
  #root { padding-bottom: calc(16px + env(safe-area-inset-bottom)); }
}

/* Vibrant 2026 color-light layer: visible energy over a readable dark base. */
:root { --atrium-flame: #ff764f; --atrium-sun: #ffc75f; --atrium-aqua: #45d8c4; --atrium-violet: #9e8cff; }

body { background: radial-gradient(900px 560px at -8% 14%, rgba(255,118,79,.24), transparent 62%), radial-gradient(860px 580px at 102% 18%, rgba(69,216,196,.18), transparent 64%), radial-gradient(660px 420px at 54% 105%, rgba(158,140,255,.12), transparent 67%), #000 !important; }

#root::before { opacity: .58; background-image: radial-gradient(circle at 16% 10%, rgba(255,199,95,.18) 0 2px, transparent 2.4px), radial-gradient(circle at 78% 8%, rgba(69,216,196,.16) 0 1.5px, transparent 2px), linear-gradient(rgba(255,199,95,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(69,216,196,.035) 1px, transparent 1px); background-size: 98px 98px, 136px 136px, 44px 44px, 44px 44px; }

#root [data-atrium-dark-surface='true'] { background: linear-gradient(145deg, rgba(255,255,255,.065), transparent 35%), linear-gradient(125deg, rgba(255,118,79,.15), rgba(36,49,44,.82) 44%, rgba(14,18,17,.9)) !important; border-color: rgba(255,199,95,.38) !important; box-shadow: 0 24px 58px rgba(0,0,0,.36), 0 0 0 1px rgba(69,216,196,.045), inset 0 1px 0 rgba(255,255,255,.1); }
#root button[data-atrium-dark-surface='true']:hover { border-color: rgba(69,216,196,.82) !important; box-shadow: 0 24px 62px rgba(0,0,0,.42), 0 0 30px rgba(69,216,196,.13), inset 0 1px 0 rgba(255,255,255,.12); }

.atrium-source-card, .atrium-source-note, .atrium-culture-card, .atrium-culture-frame, .atrium-culture-protocol { background: linear-gradient(130deg, rgba(255,118,79,.13), transparent 36%), linear-gradient(148deg, rgba(54,87,79,.76), rgba(16,20,18,.87)) !important; border-color: rgba(255,199,95,.42) !important; }
.atrium-source-card:hover, .atrium-culture-card:hover { border-color: var(--atrium-aqua) !important; box-shadow: 0 20px 46px rgba(0,0,0,.38), 0 0 26px rgba(69,216,196,.15), inset 0 1px 0 rgba(255,255,255,.12); }
.atrium-timeline-visual { border-color: rgba(69,216,196,.64); box-shadow: 0 16px 38px rgba(0,0,0,.32), 0 0 24px rgba(255,118,79,.1), inset 0 1px 0 rgba(255,255,255,.12); }
.atrium-timeline-visual::after { background: linear-gradient(104deg, rgba(7,9,9,.94), rgba(7,9,9,.08) 76%); }
.atrium-documented-visual__label, .atrium-culture-card__eyebrow, .atrium-culture-frame__rule { border-color: rgba(255,199,95,.72); color: #ffe5a6; }
.atrium-inline-icon svg { stroke: var(--atrium-aqua); }
.atrium-contrast-toggle, .atrium-display-controls { border-color: rgba(69,216,196,.56); box-shadow: 0 12px 34px rgba(0,0,0,.44), 0 0 22px rgba(69,216,196,.1); }
.atrium-contrast-toggle.is-active { background: linear-gradient(135deg, #111, #282017); color: #fff; }

html[data-atrium-contrast='high'] body, html[data-atrium-contrast='high'] #root { background: #000 !important; }
html[data-atrium-contrast='high'] #root::before { display: none; }
html[data-atrium-contrast='high'] #root [data-atrium-dark-surface='true'], html[data-atrium-contrast='high'] .atrium-source-card, html[data-atrium-contrast='high'] .atrium-source-note, html[data-atrium-contrast='high'] .atrium-culture-card, html[data-atrium-contrast='high'] .atrium-culture-frame, html[data-atrium-contrast='high'] .atrium-culture-protocol { background: #000 !important; border-color: #fff !important; box-shadow: none; }

@media (prefers-reduced-motion: reduce) { .atrium-source-card:hover, .atrium-culture-card:hover, #root button[data-atrium-dark-surface='true']:hover { box-shadow: none; } }

/* Teal-brown marble: decorative mineral movement stays behind protected reading fields. */
body {
  background:
    radial-gradient(ellipse 74% 52% at 2% 8%, rgba(51, 126, 116, .25), transparent 66%),
    radial-gradient(ellipse 62% 44% at 96% 92%, rgba(130, 68, 37, .28), transparent 70%),
    repeating-linear-gradient(118deg, transparent 0 31px, rgba(227, 207, 166, .045) 32px 34px, transparent 35px 86px),
    linear-gradient(132deg, #071715 0%, #26170f 47%, #07100f 100%) !important;
}

#root::before {
  opacity: .72;
  background-image:
    radial-gradient(ellipse at 18% 22%, rgba(92, 160, 149, .18), transparent 30%),
    radial-gradient(ellipse at 84% 18%, rgba(171, 102, 61, .2), transparent 34%),
    repeating-linear-gradient(126deg, transparent 0 42px, rgba(238, 221, 186, .045) 43px 45px, transparent 46px 112px),
    repeating-linear-gradient(34deg, transparent 0 118px, rgba(65, 167, 151, .04) 119px 121px, transparent 122px 214px);
  background-size: auto, auto, auto, auto;
}

#root [data-atrium-dark-surface='true'],
.atrium-source-card,
.atrium-source-note,
.atrium-culture-card,
.atrium-culture-frame,
.atrium-culture-protocol {
  background:
    linear-gradient(112deg, rgba(7, 17, 16, .95) 0%, rgba(9, 23, 21, .91) 48%, rgba(39, 22, 15, .92) 100%),
    repeating-linear-gradient(118deg, transparent 0 36px, rgba(175, 222, 209, .045) 37px 39px, transparent 40px 94px) !important;
  color: #f8f2e6 !important;
}

#root [data-atrium-dark-surface='true'] :is(h1, h2, h3, p, span, small),
.atrium-source-card :is(h1, h2, h3, p, span, small),
.atrium-source-note :is(h1, h2, h3, p, span, small),
.atrium-culture-card :is(h1, h2, h3, p, span, small),
.atrium-culture-frame :is(h1, h2, h3, p, span, small),
.atrium-culture-protocol :is(h1, h2, h3, p, span, small) {
  text-shadow: 0 1px 1px rgba(0, 0, 0, .72);
}

.atrium-documented-visual::after,
.atrium-culture-hero::after {
  background: linear-gradient(118deg, rgba(5, 15, 14, .86), rgba(26, 14, 10, .42) 58%, rgba(6, 16, 15, .76));
}
