:root {
  color-scheme: light;
  --navy-950: #101d33;
  --navy-900: #172640;
  --navy-800: #203653;
  --blue-700: #245c9d;
  --blue-100: #eaf3ff;
  --orange-500: #f5a124;
  --orange-600: #dc8613;
  --orange-100: #fff3dc;
  --green-700: #13745b;
  --green-100: #e5f7f0;
  --red-700: #a33a34;
  --red-100: #fff0ee;
  --ink: #1d2939;
  --muted: #5d6978;
  --line: #d8e0e8;
  --paper: #ffffff;
  --surface: #f5f7fa;
  --radius-sm: 0.6rem;
  --radius-md: 1rem;
  --radius-lg: 1.5rem;
  --shadow: 0 18px 50px rgba(16, 29, 51, 0.1);
  --content: 72rem;
  --reading: 48rem;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--surface);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1rem;
  line-height: 1.65;
}

a { color: var(--blue-700); text-underline-offset: 0.18em; }
a:hover { text-decoration-thickness: 0.14em; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--orange-500); outline-offset: 3px; }
[hidden] { display: none !important; }
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.skip-link {
  position: fixed;
  left: 1rem;
  top: 1rem;
  z-index: 20;
  transform: translateY(-180%);
  background: var(--paper);
  color: var(--navy-950);
  padding: 0.65rem 1rem;
  border-radius: var(--radius-sm);
}
.skip-link:focus { transform: translateY(0); }

.site-header {
  background: var(--navy-950);
  color: #fff;
}
.site-header__inner {
  width: min(calc(100% - 2rem), var(--content));
  min-height: 4.75rem;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}
.brand {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 0.65rem;
  color: var(--orange-500);
  text-decoration: none;
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: -0.035em;
}
.brand img { width: 2.5rem; height: 2.5rem; object-fit: contain; }
.brand > span > span { color: #fff; }
.header-nav { display: flex; align-items: center; justify-content: flex-end; gap: 0.35rem; }
.header-nav a { padding: 0.55rem 0.72rem; border-radius: 0.55rem; color: #fff; font-size: 0.9rem; font-weight: 650; text-decoration: none; }
.header-nav a:hover { background: rgba(255, 255, 255, 0.1); }
.header-nav .header-nav__subscribe { background: var(--orange-500); color: #2b1900; }
.header-nav .header-nav__login { border: 1px solid rgba(255, 255, 255, 0.5); }
.header-nav__user { padding: 0.25rem 0.45rem; color: #ffd58f; font-size: 0.82rem; font-weight: 750; }

.page-shell {
  width: min(calc(100% - 2rem), var(--content));
  margin: 0 auto;
}
.breadcrumbs {
  margin: 1.1rem 0;
  color: var(--muted);
  font-size: 0.9rem;
}
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 0.45rem; padding: 0; margin: 0; list-style: none; }
.breadcrumbs li:not(:last-child)::after { content: "/"; margin-left: 0.45rem; color: #98a2b3; }

.hero {
  overflow: hidden;
  position: relative;
  background: linear-gradient(140deg, var(--navy-950), #1b4770);
  color: #fff;
  border-radius: var(--radius-lg);
  padding: clamp(1.5rem, 5vw, 4rem);
  box-shadow: var(--shadow);
}
.hero::after {
  content: "";
  position: absolute;
  width: 24rem;
  height: 24rem;
  right: -10rem;
  bottom: -14rem;
  border: 4rem solid rgba(245, 161, 36, 0.12);
  border-radius: 50%;
}
.eyebrow { margin: 0 0 0.75rem; color: #ffd58f; font-weight: 750; letter-spacing: 0.06em; text-transform: uppercase; font-size: 0.78rem; }
.hero h1 { max-width: 18ch; margin: 0; font-size: clamp(2rem, 6vw, 4.15rem); line-height: 1.04; letter-spacing: -0.045em; }
.hero__answer { max-width: 48rem; margin: 1.5rem 0 0; color: #e7edf6; font-size: clamp(1.05rem, 2.2vw, 1.25rem); }
.meta-row { display: flex; flex-wrap: wrap; gap: 0.55rem; margin-top: 1.5rem; }
.pill { display: inline-flex; align-items: center; min-height: 2rem; padding: 0.3rem 0.72rem; border: 1px solid rgba(255,255,255,0.24); border-radius: 999px; color: #eff4fa; font-size: 0.82rem; }
.pill--warning { color: #402800; border-color: #ffd58f; background: #ffd58f; font-weight: 700; }
.hero--learning-path { padding: clamp(1.5rem, 4vw, 3.25rem); }
.hero--learning-path::after { right: -12rem; bottom: -16rem; width: 29rem; height: 29rem; }
.hero__layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr); }
.hero--learning-path h1 { max-width: 20ch; font-size: clamp(2rem, 4.7vw, 3.65rem); }
.hero--learning-path .hero__answer { max-width: 50rem; margin-top: 1rem; }
.learning-method { display: flex; flex-wrap: wrap; align-items: center; gap: 0.45rem; margin: 1.35rem 0 0; padding: 0; list-style: none; color: #fff; font-size: 0.82rem; font-weight: 800; }
.learning-method li { display: flex; align-items: center; gap: 0.45rem; }
.learning-method li:not(:last-child)::after { color: #f7bd5d; content: "→"; }
.hero-proofs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.55rem; max-width: 43rem; margin: 1.15rem 0 0; padding: 0; list-style: none; }
.hero-proofs li { display: grid; gap: 0.05rem; padding: 0.65rem 0.7rem; border: 1px solid rgba(255,255,255,0.15); border-radius: 0.75rem; background: rgba(255,255,255,0.06); }
.hero-proofs strong { color: #ffd58f; font-size: 1.05rem; line-height: 1.2; }
.hero-proofs span { color: #d9e4ef; font-size: 0.7rem; line-height: 1.3; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 0.65rem; margin-top: 1.25rem; }
.hero-actions .button { gap: 0.4rem; min-height: 2.7rem; padding-inline: 1.1rem; }
.hero-actions .hero-actions__secondary { border: 1px solid rgba(255,255,255,0.34); background: rgba(255,255,255,0.08); color: #fff; }
.hero--learning-path .pill--warning { margin-top: 1rem; }

.trust-note {
  margin: 1rem 0 0;
  padding: 1rem 1.1rem;
  background: var(--orange-100);
  border: 1px solid #efcf91;
  border-radius: var(--radius-md);
  color: #62440f;
}

.content-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 17rem;
  gap: 2rem;
  align-items: start;
  margin: 2rem 0 4rem;
}
.lesson { min-width: 0; }
.toc {
  position: sticky;
  top: 1rem;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  padding: 1.1rem;
}
.toc strong { color: var(--navy-900); }
.toc ol { margin: 0.75rem 0 0; padding-left: 1.2rem; }
.toc li + li { margin-top: 0.45rem; }
.toc--enhanced { overflow: hidden; padding: 0; border: 0; background: #fff; box-shadow: 0 16px 40px rgba(12, 31, 56, 0.12); }
.toc__header { padding: 1.2rem; background: linear-gradient(145deg, var(--navy-950), var(--navy-800)); color: #fff; }
.toc__header strong { display: block; margin-top: 0.2rem; color: #fff; font-size: 1.2rem; }
.toc__eyebrow { color: #f7bd5d; font-size: 0.69rem; font-weight: 850; letter-spacing: 0.1em; text-transform: uppercase; }
.toc__completion { margin: 0.65rem 0 0; color: #dbe6f1; font-size: 0.72rem; font-weight: 700; }
.toc__progress { height: 0.3rem; margin-top: 0.9rem; overflow: hidden; border-radius: 1rem; background: rgba(255, 255, 255, 0.16); }
.toc__progress span { display: block; width: 0; height: 100%; border-radius: inherit; background: var(--orange-500); transition: width 180ms ease; }
.toc__toggle { display: none; width: 100%; margin-top: 0.85rem; padding: 0.7rem 0.8rem; justify-content: space-between; border: 1px solid rgba(255, 255, 255, 0.22); border-radius: 0.65rem; background: rgba(255, 255, 255, 0.08); color: #fff; font: inherit; font-weight: 750; cursor: pointer; }
.toc__content { padding: 1rem; }
.toc__current { display: grid; gap: 0.15rem; margin: 0 0 0.75rem; padding: 0.8rem; border-radius: 0.7rem; background: var(--blue-100); }
.toc__current span { color: var(--muted); font-size: 0.67rem; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; }
.toc__current strong { font-size: 0.83rem; line-height: 1.35; }
.toc--enhanced ol { display: grid; gap: 0.2rem; margin: 0; padding: 0; list-style: none; }
.toc--enhanced li + li { margin-top: 0; }
.toc--enhanced a { display: grid; grid-template-columns: 1.75rem minmax(0, 1fr); gap: 0.55rem; align-items: start; padding: 0.58rem 0.5rem; border-radius: 0.65rem; color: #38516d; text-decoration: none; transition: background 140ms ease, color 140ms ease; }
.toc--enhanced a > span { display: grid; place-items: center; min-height: 1.55rem; border: 1px solid #cfdae6; border-radius: 0.45rem; color: #6c7f94; font-size: 0.64rem; font-weight: 850; }
.toc--enhanced a > em { padding-top: 0.12rem; font-size: 0.76rem; font-style: normal; font-weight: 720; line-height: 1.35; }
.toc--enhanced a:hover { background: #f1f6fb; color: var(--navy-900); }
.toc--enhanced a.is-active { background: #fff3dd; color: #754606; }
.toc--enhanced a.is-active > span { border-color: var(--orange-500); background: var(--orange-500); color: #271700; }
.toc__number, .toc__check { font: inherit; }
.toc__check { display: none; }
.toc--enhanced a.is-complete > span { border-color: #2b8a6d; background: #2b8a6d; color: #fff; }
.toc--enhanced a.is-complete .toc__number { display: none; }
.toc--enhanced a.is-complete .toc__check { display: block; }
.toc--enhanced a.is-active.is-complete > span { border-color: var(--orange-500); background: var(--orange-500); color: #271700; }

.section-card {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: clamp(1.25rem, 4vw, 2.5rem);
  box-shadow: 0 7px 24px rgba(16, 29, 51, 0.045);
}
.section-card + .section-card { margin-top: 1.25rem; }
.section-card h2 { margin: 0 0 1rem; color: var(--navy-900); font-size: clamp(1.4rem, 3vw, 2rem); line-height: 1.2; }
.section-card h3 { color: var(--navy-800); }
.section-card p { max-width: var(--reading); }
.section-card ul { padding-left: 1.25rem; }
.section-card li + li { margin-top: 0.45rem; }
.course-summary { margin-top: 1.25rem; padding: 0.9rem 1rem; border: 1px solid #cbd9e7; border-radius: var(--radius-sm); background: #f7fafc; }
.course-summary summary { color: var(--navy-900); font-weight: 800; cursor: pointer; }
.course-summary p { margin-bottom: 0; color: #42546a; }

.key-point, .worked-example, .mistake {
  margin-top: 1.25rem;
  padding: 1.1rem 1.2rem;
  border-radius: var(--radius-md);
}
.key-point { border-left: 0.35rem solid var(--blue-700); background: var(--blue-100); }
.math-expression { display: inline-block; margin-inline: 0.12em; vertical-align: -0.32em; font-family: "STIX Two Math", "Cambria Math", "Times New Roman", serif; font-size: 1.06em; }
.math-expression mfrac { padding-inline: 0.08em; }
.worked-example { background: #f8fafc; border: 1px solid var(--line); }
.worked-example h3 { margin-top: 0; }
.worked-example ol { padding-left: 1.4rem; }
.worked-example__result { font-weight: 750; color: var(--green-700); }
.mistake { background: var(--red-100); border-left: 0.35rem solid var(--red-700); }
.mistake h3 { margin: 0 0 0.35rem; font-size: 1.05rem; }
.mistake p { margin: 0; }

.market-figure { margin: 1.4rem 0; padding: 1rem; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; }
.market-figure svg { display: block; width: 100%; height: auto; max-height: 22rem; }
.market-figure figcaption { color: var(--muted); font-size: 0.88rem; margin-top: 0.6rem; }

/* Dispositifs propres aux marchés imparfaitement concurrentiels */
.concept-map, .economy-lab, .strategy-lab, .policy-challenge { margin: 1.5rem 0; border: 1px solid #cddbea; border-radius: 1.2rem; background: linear-gradient(145deg, #f7fbff, #edf4fb); box-shadow: 0 12px 30px rgba(25, 64, 102, 0.08); }
.concept-map { padding: 1.25rem; }
.concept-map figcaption { display: grid; gap: 0.15rem; margin-bottom: 1rem; color: var(--navy-900); }
.concept-map figcaption span { color: var(--muted); font-size: 0.88rem; }
.concept-map__track { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: stretch; gap: 0.6rem; }
.concept-map__track article { display: grid; align-content: center; min-height: 8.2rem; padding: 1rem; border: 1px solid #c7d8ea; border-radius: 0.9rem; background: #fff; text-align: center; }
.concept-map__track article:nth-of-type(2) { border-color: #e4bf76; background: #fffaf0; }
.concept-map__track article:nth-of-type(3) { color: #fff; border-color: #173a5f; background: #173a5f; }
.concept-map__track span { font-size: 0.74rem; font-weight: 750; text-transform: uppercase; letter-spacing: 0.05em; }
.concept-map__track strong { margin-top: 0.25rem; line-height: 1.25; }
.concept-map__track small { margin-top: 0.35rem; color: var(--muted); line-height: 1.35; }
.concept-map__track article:nth-of-type(3) small { color: #cbd8e7; }
.concept-map__arrow { align-self: center; color: var(--orange-600); font-size: 1.25rem; }
.concept-map__scale { display: flex; justify-content: space-between; margin: 0.8rem 0 0; color: var(--muted); font-size: 0.76rem; }

.economy-lab, .strategy-lab, .policy-challenge { overflow: hidden; padding: 1.3rem; }
.economy-lab__heading { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
.economy-lab__heading h3, .strategy-lab h3, .policy-challenge h3 { margin: 0; color: var(--navy-950); font-size: 1.22rem; }
.economy-lab__eyebrow { margin: 0 0 0.25rem !important; color: var(--blue-700); font-size: 0.7rem; font-weight: 850; letter-spacing: 0.08em; text-transform: uppercase; }
.segmented-control { display: inline-flex; padding: 0.2rem; border: 1px solid #bcd0e5; border-radius: 0.75rem; background: #fff; }
.segmented-control button, .strategy-lab__choices button, .policy-challenge__answers button { min-height: 2.5rem; padding: 0.55rem 0.8rem; color: var(--navy-900); border: 0; border-radius: 0.58rem; background: transparent; cursor: pointer; font-weight: 750; }
.segmented-control button.is-active, .strategy-lab__choices button.is-active { color: #fff; background: var(--navy-900); }
.economy-lab__metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.7rem; margin-top: 1.2rem; }
.economy-lab__metrics div { display: grid; padding: 0.8rem; border-radius: 0.8rem; background: #fff; }
.economy-lab__metrics span { color: var(--muted); font-size: 0.75rem; }
.economy-lab__metrics strong { color: var(--navy-950); font-size: 1.4rem; }
.bar-comparison { display: grid; gap: 0.6rem; margin-top: 1rem; }
.bar-comparison div { display: grid; grid-template-columns: 4.5rem 1fr; align-items: center; gap: 0.7rem; color: var(--muted); font-size: 0.76rem; }
.bar-comparison i { display: block; width: var(--bar-size); height: 0.72rem; border-radius: 999px; background: linear-gradient(90deg, var(--orange-500), #f6c46f); transition: width 0.35s ease; }
.bar-comparison div:nth-child(2) i { background: linear-gradient(90deg, var(--blue-700), #68a7e8); }
.bar-comparison div:nth-child(3) i { background: linear-gradient(90deg, var(--green-700), #68bca2); }
.economy-lab__result, .strategy-lab__result, .policy-challenge__feedback { margin: 1rem 0 0 !important; padding: 0.9rem 1rem; border-radius: 0.8rem; background: #fff; color: var(--navy-800); }

.strategy-lab { background: linear-gradient(145deg, #fff9ed, #fff1d5); border-color: #e8c67e; }
.strategy-lab__intro > p:last-child { margin: 0.4rem 0 0; color: var(--muted); }
.strategy-lab__choices { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.8rem; margin-top: 1rem; }
.strategy-lab__choices fieldset { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0; padding: 0.8rem; border: 1px solid #e4c98f; border-radius: 0.8rem; background: rgba(255,255,255,0.75); }
.strategy-lab__choices legend { padding: 0 0.3rem; color: var(--navy-900); font-weight: 850; }
.strategy-lab__choices button { flex: 1; border: 1px solid #d7c398; background: #fff; font-size: 0.8rem; }
.payoff-matrix { display: grid; gap: 0.35rem; margin-top: 1rem; }
.payoff-matrix > div { display: grid; grid-template-columns: 7rem repeat(2, 1fr); gap: 0.35rem; }
.payoff-matrix span, .payoff-matrix strong { display: grid; min-height: 3.2rem; place-items: center; padding: 0.55rem; border-radius: 0.65rem; background: rgba(255,255,255,0.72); text-align: center; font-size: 0.8rem; }
.payoff-matrix__head span { min-height: 2rem; color: var(--muted); background: transparent; font-weight: 750; }
.payoff-matrix span.is-active { color: #fff; background: var(--navy-900); box-shadow: 0 0 0 3px var(--orange-500); }

.policy-challenge { color: #fff; border-color: #173a5f; background: linear-gradient(135deg, #102a48, #1d5d78); }
.policy-challenge h3, .policy-challenge .economy-lab__eyebrow { color: #fff; }
.policy-challenge__heading > p:last-child { color: #dbe7f2; }
.policy-challenge__answers { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.55rem; margin-top: 1rem; }
.policy-challenge__answers button { color: #fff; border: 1px solid rgba(255,255,255,0.35); background: rgba(255,255,255,0.08); }
.policy-challenge__answers button:hover, .policy-challenge__answers button.is-selected { color: var(--navy-950); background: #fff; }
.policy-challenge__answers button.is-correct { color: #fff; border-color: #67c2a5; background: #13745b; }
.policy-challenge__answers button.is-incorrect { color: #fff; border-color: #e39a93; background: #9b3732; }
.policy-challenge__feedback { color: var(--navy-900); }
.policy-challenge__next { width: auto; margin-top: 0.8rem; }

.externality-lab, .goods-lab, .lemons-lab { margin: 1.5rem 0; padding: 1.3rem; border: 1px solid #c8d9e9; border-radius: 1.2rem; background: linear-gradient(145deg, #f6fbff, #ebf5f4); box-shadow: 0 12px 30px rgba(25, 64, 102, 0.08); }
.externality-lab h3, .goods-lab h3, .lemons-lab h3 { margin: 0; color: var(--navy-950); font-size: 1.22rem; }
.externality-lab > div:first-child > p:last-child, .goods-lab > div:first-child > p:last-child, .lemons-lab > div:first-child > p:last-child { margin: 0.4rem 0 0; color: var(--muted); }
.range-control { display: grid; gap: 0.55rem; margin-top: 1.1rem; padding: 0.9rem 1rem; border-radius: 0.85rem; background: #fff; color: var(--navy-900); font-weight: 700; }
.range-control strong { color: var(--blue-700); }
.range-control input { width: 100%; accent-color: var(--orange-500); cursor: pointer; }
.goods-lab { background: linear-gradient(145deg, #f9f7ff, #f1edff); border-color: #d8cfef; }
.goods-lab__answers { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.55rem; margin-top: 1rem; }
.goods-lab__answers button { min-height: 3rem; padding: 0.65rem; color: var(--navy-900); border: 1px solid #cfc5e8; border-radius: 0.7rem; background: #fff; cursor: pointer; font-weight: 750; }
.goods-lab__answers button.is-correct { color: #fff; border-color: var(--green-700); background: var(--green-700); }
.goods-lab__answers button.is-incorrect { color: #fff; border-color: var(--red-700); background: var(--red-700); }
.goods-lab__feedback { margin: 0.8rem 0 !important; padding: 0.85rem 1rem; border-radius: 0.75rem; background: #fff; }
.goods-lab > .button { width: auto; }
.lemons-lab { background: linear-gradient(145deg, #fff9ed, #fff1d6); border-color: #e9ca89; }
.seller-pool { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.7rem; margin-top: 1rem; }
.seller-pool article { display: grid; grid-template-columns: 2.1rem 1fr; align-items: center; padding: 0.85rem; border: 1px solid #d7c59d; border-radius: 0.8rem; background: rgba(255,255,255,0.8); transition: opacity 0.25s ease, filter 0.25s ease; }
.seller-pool article > span { grid-row: 1 / 3; display: grid; width: 1.7rem; height: 1.7rem; place-items: center; color: #fff; border-radius: 50%; background: var(--green-700); font-weight: 900; }
.seller-pool small { color: var(--muted); }
.seller-pool article.has-left { opacity: 0.48; filter: grayscale(1); }
.seller-pool article.has-left > span { background: var(--red-700); }
.causal-chain { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.15rem; margin: 1rem 0 0; padding: 0; list-style: none; counter-reset: chain; }
.causal-chain li { position: relative; display: grid; align-content: center; min-height: 4.8rem; padding: 0.65rem; border-radius: 0.75rem; background: #fff; color: var(--navy-900); text-align: center; font-size: 0.78rem; font-weight: 700; }
.causal-chain li:not(:last-child)::after { position: absolute; right: -1rem; top: 50%; color: var(--orange-600); content: "→"; transform: translateY(-50%); }
.intervention-map { margin: 1.5rem 0; padding: 1.2rem; border: 1px solid #c9d8e8; border-radius: 1.2rem; background: #f7fafc; }
.intervention-map figcaption { display: grid; margin-bottom: 0.9rem; color: var(--navy-900); }
.intervention-map figcaption span { color: var(--muted); font-size: 0.86rem; }
.intervention-map > div { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.65rem; }
.intervention-map article { display: grid; padding: 0.9rem; border-left: 0.3rem solid var(--blue-700); border-radius: 0.7rem; background: #fff; }
.intervention-map article > span { color: var(--blue-700); font-size: 0.68rem; font-weight: 850; letter-spacing: 0.07em; text-transform: uppercase; }
.intervention-map article > small { color: var(--muted); }

.finance-flow, .finance-lab, .finance-choice { margin: 1.5rem 0; padding: 1.25rem; border: 1px solid #c7d8ea; border-radius: 1.2rem; background: linear-gradient(145deg, #f6fbff, #eaf2fb); box-shadow: 0 12px 30px rgba(25,64,102,0.08); }
.finance-flow figcaption { display: grid; color: var(--navy-900); }
.finance-flow figcaption span, .finance-flow > p { color: var(--muted); font-size: 0.86rem; }
.finance-flow > div { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: center; gap: 0.55rem; margin-top: 1rem; }
.finance-flow article { display: grid; min-height: 6rem; align-content: center; padding: 0.8rem; border-radius: 0.8rem; background: #fff; text-align: center; }
.finance-flow article span { color: var(--blue-700); font-size: 0.7rem; font-weight: 850; letter-spacing: 0.07em; text-transform: uppercase; }
.finance-flow > div > span { color: var(--orange-600); font-size: 1.3rem; }
.finance-lab h3, .finance-choice h3 { margin: 0; color: var(--navy-950); font-size: 1.22rem; }
.finance-lab--household { background: linear-gradient(145deg, #f4fbf8, #e6f4ee); border-color: #bddbcc; }
.finance-lab--state { background: linear-gradient(145deg, #fff9ed, #fff0d1); border-color: #e7c67e; }
.finance-choice { background: linear-gradient(145deg, #f9f7ff, #eee9fb); border-color: #d5caeb; }
.finance-choice > div { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.55rem; margin-top: 1rem; }
.finance-choice button { min-height: 3rem; padding: 0.65rem; color: var(--navy-900); border: 1px solid #cfc5e8; border-radius: 0.7rem; background: #fff; cursor: pointer; font-weight: 750; }
.finance-choice button.is-good { color: #fff; border-color: var(--green-700); background: var(--green-700); }
.finance-choice button.is-warning { color: #fff; border-color: var(--orange-600); background: var(--orange-600); }
.finance-choice > p:last-child { margin: 0.8rem 0 0 !important; padding: 0.85rem 1rem; border-radius: 0.75rem; background: #fff; }

.money-challenge, .balance-lab, .lifecycle-lab, .rate-lab { margin: 1.5rem 0; padding: 1.25rem; border: 1px solid #c8d9e9; border-radius: 1.2rem; box-shadow: 0 12px 30px rgba(25,64,102,0.08); }
.money-challenge { background: linear-gradient(145deg, #f4fbf8, #e5f4ee); border-color: #bcdccb; }
.money-challenge--forms { background: linear-gradient(145deg, #f8f6ff, #eeeafb); border-color: #d4caea; }
.money-challenge h3, .balance-lab h3, .lifecycle-lab h3, .rate-lab h3 { margin: 0; color: var(--navy-950); font-size: 1.22rem; }
.money-challenge__scenario { min-height: 4rem; margin: 1rem 0 0 !important; padding: 0.9rem 1rem; border-left: 0.3rem solid var(--orange-500); border-radius: 0.7rem; background: #fff; color: var(--navy-900); font-weight: 750; }
.money-challenge__answers { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.55rem; margin-top: 0.8rem; }
.money-challenge__answers button { min-height: 3rem; padding: 0.65rem; color: var(--navy-900); border: 1px solid #bfd2df; border-radius: 0.7rem; background: #fff; cursor: pointer; font-weight: 750; }
.money-challenge__answers button.is-correct { color: #fff; border-color: var(--green-700); background: var(--green-700); }
.money-challenge__answers button.is-incorrect { color: #fff; border-color: var(--red-700); background: var(--red-700); }
.money-challenge__feedback { margin: 0.8rem 0 !important; padding: 0.85rem 1rem; border-radius: 0.75rem; background: rgba(255,255,255,0.9); }
.money-challenge > .button { width: auto; }
.balance-lab { background: linear-gradient(145deg, #f5f9ff, #e5eef9); }
.balance-lab > div:first-child > p:last-child { margin: 0.4rem 0 0; color: var(--muted); }
.balance-pair { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.8rem; margin-top: 1rem; }
.balance-pair > article { overflow: hidden; border: 1px solid #c7d6e5; border-radius: 0.9rem; background: #fff; }
.balance-pair h4 { margin: 0; padding: 0.65rem 0.85rem; color: #fff; background: var(--navy-900); }
.mini-balance { display: grid; grid-template-columns: repeat(2, 1fr); }
.mini-balance > div { display: grid; gap: 0.25rem; padding: 0.85rem; }
.mini-balance > div + div { border-left: 1px solid var(--line); }
.mini-balance span { color: var(--muted); font-size: 0.72rem; font-weight: 800; text-transform: uppercase; }
.mini-balance strong { display: grid; color: var(--navy-900); font-size: 0.82rem; }
.mini-balance b { margin-top: 0.3rem; color: var(--blue-700); font-size: 1.08rem; }
.lifecycle-lab { background: linear-gradient(145deg, #fff9ed, #fff0d1); border-color: #e7c67e; }
.lifecycle-lab__controls { display: flex; margin-top: 1rem; }
.money-ledger { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.65rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.money-ledger li { display: grid; padding: 0.85rem; border-radius: 0.8rem; background: #fff; }
.money-ledger span { color: var(--muted); font-size: 0.72rem; }
.money-ledger strong { color: var(--navy-950); font-size: 1.2rem; }
.rate-lab { background: linear-gradient(145deg, #f8f6ff, #eeeafb); border-color: #d4caea; }
.transmission-chain { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.transmission-chain li { position: relative; display: flex; gap: 0.55rem; align-items: flex-start; padding: 0.8rem; border-radius: 0.8rem; background: #fff; }
.transmission-chain li > span { display: grid; flex: 0 0 1.6rem; width: 1.6rem; height: 1.6rem; place-items: center; border-radius: 50%; color: #fff; background: var(--blue-700); font-weight: 800; }
.transmission-chain li > div { display: grid; }
.transmission-chain small { margin-top: 0.25rem; color: var(--muted); }
.transmission-chain li:not(:last-child)::after { position: absolute; right: -0.8rem; top: 50%; color: var(--orange-600); content: "→"; transform: translateY(-50%); }

.social-lab, .life-course-lab, .constellation-lab { margin: 1.5rem 0; padding: 1.25rem; border: 1px solid #c8d9e9; border-radius: 1.2rem; background: linear-gradient(145deg, #f7fbff, #eaf3fb); box-shadow: 0 12px 30px rgba(25,64,102,0.08); }
.social-lab--reasoning { background: linear-gradient(145deg, #fff9ed, #fff0d4); border-color: #e7c67e; }
.social-lab--family { background: linear-gradient(145deg, #f4fbf8, #e4f3ec); border-color: #bcd9ca; }
.social-lab--trajectory { background: linear-gradient(145deg, #f9f7ff, #eeeafb); border-color: #d4caea; }
.social-lab h3, .life-course-lab h3, .constellation-lab h3 { margin: 0; color: var(--navy-950); font-size: 1.22rem; }
.social-lab__scenario { min-height: 4rem; margin: 1rem 0 0 !important; padding: 0.9rem 1rem; border-left: 0.3rem solid var(--orange-500); border-radius: 0.7rem; background: #fff; color: var(--navy-900); font-weight: 750; }
.social-lab__answers { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.55rem; margin-top: 0.8rem; }
.social-lab__answers--stacked { grid-template-columns: 1fr; }
.social-lab__answers button { min-height: 3rem; padding: 0.7rem; color: var(--navy-900); border: 1px solid #bfd2df; border-radius: 0.7rem; background: #fff; cursor: pointer; font-weight: 750; text-align: left; }
.social-lab__answers button.is-correct { color: #fff; border-color: var(--green-700); background: var(--green-700); }
.social-lab__answers button.is-incorrect { color: #fff; border-color: var(--red-700); background: var(--red-700); }
.social-lab__feedback { margin: 0.8rem 0 !important; padding: 0.85rem 1rem; border-radius: 0.75rem; background: rgba(255,255,255,0.92); }
.social-lab > .button { width: auto; }
.life-course-lab { background: linear-gradient(145deg, #f9f7ff, #ece8fa); border-color: #d4caea; }
.life-course-track { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.55rem; margin-top: 1rem; }
.life-course-track button { display: grid; min-height: 5.2rem; align-content: center; padding: 0.75rem; color: var(--navy-900); border: 1px solid #cfc5e8; border-radius: 0.8rem; background: #fff; cursor: pointer; text-align: left; }
.life-course-track button span { color: var(--muted); font-size: 0.7rem; }
.life-course-track button.is-active { color: #fff; border-color: var(--navy-900); background: var(--navy-900); }
.life-course-track button.is-active span { color: #dce7f3; }
.life-course-result { display: grid; grid-template-columns: 2fr 1fr; gap: 0.65rem; margin-top: 0.8rem; }
.life-course-result > div { display: grid; padding: 0.85rem; border-radius: 0.8rem; background: #fff; }
.life-course-result span { color: var(--blue-700); font-size: 0.68rem; font-weight: 850; letter-spacing: 0.07em; text-transform: uppercase; }
.constellation-lab { background: radial-gradient(circle at 50% 48%, #fff8e9 0, #f5f9ff 52%, #e8f2fb 100%); }
.constellation-lab__center { display: grid; width: 9.5rem; height: 9.5rem; place-content: center; margin: 1rem auto; padding: 1rem; border: 0.45rem solid #f8c66e; border-radius: 50%; background: #fff; color: var(--navy-950); text-align: center; box-shadow: 0 8px 24px rgba(16,29,51,0.12); }
.constellation-lab__center span { color: var(--muted); font-size: 0.72rem; }
.constellation-lab__choices { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.65rem; }
.constellation-lab__choices button { display: grid; min-height: 5.2rem; padding: 0.8rem; color: var(--navy-900); border: 1px solid #bed1e2; border-radius: 0.8rem; background: #fff; cursor: pointer; text-align: left; }
.constellation-lab__choices button.is-active { color: #fff; border-color: var(--blue-700); background: var(--blue-700); }
.constellation-lab__choices small { margin-top: 0.25rem; color: var(--muted); }
.constellation-lab__choices button.is-active small { color: #e5eff9; }
.trajectory-clues { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin: 1rem 0 0; padding: 0; counter-reset: clue; list-style: none; }
.trajectory-clues li { position: relative; min-height: 7rem; padding: 2.4rem 0.8rem 0.8rem; border-radius: 0.8rem; background: #fff; color: var(--navy-900); font-size: 0.82rem; }
.trajectory-clues li::before { position: absolute; left: 0.8rem; top: 0.65rem; display: grid; width: 1.35rem; height: 1.35rem; place-items: center; border-radius: 50%; background: var(--orange-500); color: #352000; content: counter(clue); counter-increment: clue; font-size: 0.72rem; font-weight: 850; }
.trajectory-clues li:not(:last-child)::after { position: absolute; right: -0.8rem; top: 50%; color: var(--blue-700); content: "→"; transform: translateY(-50%); }

.links-lab, .pcs-lab, .individualization-lab, .solidarity-lab, .fragility-lab { margin: 1.5rem 0; padding: 1.25rem; border: 1px solid #c8d9e9; border-radius: 1.2rem; background: linear-gradient(145deg, #f6fbff, #e8f2fb); box-shadow: 0 12px 30px rgba(25,64,102,0.08); }
.links-lab h3, .pcs-lab h3, .individualization-lab h3, .solidarity-lab h3, .fragility-lab h3 { margin: 0; color: var(--navy-950); font-size: 1.22rem; }
.links-lab__choices, .fragility-lab__choices { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.55rem; margin-top: 1rem; }
.links-lab__choices button, .fragility-lab__choices button { min-height: 2.8rem; padding: 0.65rem; color: var(--navy-900); border: 1px solid #bfd2df; border-radius: 0.7rem; background: #fff; cursor: pointer; font-weight: 750; }
.links-lab__choices button.is-active, .fragility-lab__choices button.is-active { color: #fff; border-color: var(--blue-700); background: var(--blue-700); }
.links-lab__result { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.7rem; margin-top: 0.8rem; }
.links-lab__result article { display: grid; padding: 0.9rem; border-radius: 0.8rem; background: #fff; }
.links-lab__result span { color: var(--blue-700); font-size: 0.68rem; font-weight: 850; letter-spacing: 0.06em; text-transform: uppercase; }
.pcs-lab { background: linear-gradient(145deg, #f4fbf8, #e4f3ec); border-color: #bcd9ca; }
.pcs-lab__path { display: grid; grid-template-columns: 1fr auto 1.5fr auto 1fr; align-items: center; gap: 0.55rem; margin-top: 0.8rem; padding: 0.85rem; border-radius: 0.8rem; background: #fff; text-align: center; }
.pcs-lab__path span, .pcs-lab__path strong { padding: 0.55rem; border-radius: 0.55rem; background: var(--blue-100); }
.pcs-lab__path i { color: var(--orange-600); font-size: 1.2rem; font-style: normal; }
.pcs-lab > .button { width: auto; }
.individualization-lab { background: linear-gradient(145deg, #fff9ed, #fff0d4); border-color: #e7c67e; }
.solidarity-lab { background: linear-gradient(145deg, #f9f7ff, #eeeafb); border-color: #d4caea; }
.solidarity-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.65rem; margin-top: 1rem; }
.solidarity-grid article { display: grid; padding: 0.85rem; border-radius: 0.8rem; background: #fff; }
.solidarity-grid span { color: var(--muted); font-size: 0.7rem; }
.solidarity-grid strong { color: var(--navy-950); }
.social-lab--digital { background: linear-gradient(145deg, #eef8ff, #e5f1fa); }
.fragility-lab { background: linear-gradient(145deg, #fff7f5, #feece8); border-color: #e7beb7; }
.deviance-lab { background: linear-gradient(145deg, #f7f5ff, #ece8f8); border-color: #d3c8e8; }
.deviance-lab--context { background: linear-gradient(145deg, #fff9ed, #fff0d5); border-color: #e5c67f; }
.deviance-lab--distinction { background: linear-gradient(145deg, #f1faf6, #e3f2eb); border-color: #b8d8c8; }
.deviance-process, .measurement-lab { margin: 1.5rem 0; padding: 1.25rem; border: 1px solid #d2c8e8; border-radius: 1.2rem; background: linear-gradient(145deg, #faf8ff, #eeeafa); box-shadow: 0 12px 30px rgba(25,64,102,0.08); }
.deviance-process h3, .measurement-lab h3 { margin: 0; color: var(--navy-950); font-size: 1.22rem; }
.deviance-process .segmented-control { display: grid; grid-template-columns: repeat(4, 1fr); width: 100%; margin-top: 1rem; }
.career-track { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.7rem; margin: 1rem 0; }
.career-track article { position: relative; display: grid; min-height: 6.8rem; align-content: center; padding: 0.8rem; border-radius: 0.85rem; background: #fff; }
.career-track article:not(:last-child)::after { position: absolute; right: -0.65rem; top: 50%; z-index: 1; color: var(--orange-600); content: "→"; transform: translateY(-50%); }
.career-track span { color: var(--orange-600); font-size: 0.75rem; font-weight: 900; }
.career-track strong { color: var(--navy-900); }
.career-track small { margin-top: 0.2rem; color: var(--muted); }
.measurement-lab { background: linear-gradient(145deg, #edf8ff, #e2f0f8); border-color: #b8d3e4; }
.measurement-lab__lenses { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.7rem; margin-top: 0.9rem; }
.measurement-lab__lenses article { display: grid; padding: 0.9rem; border-radius: 0.85rem; background: #fff; }
.measurement-lab__lenses span { color: var(--blue-700); font-size: 0.68rem; font-weight: 850; letter-spacing: 0.06em; text-transform: uppercase; }
.measurement-lab__lenses strong { color: var(--navy-950); font-size: 1.8rem; }
.measurement-lab__lenses small { color: var(--muted); }
.opinion-lab { margin: 1.5rem 0; padding: 1.25rem; border: 1px solid #c6d4e6; border-radius: 1.2rem; background: linear-gradient(145deg, #f7faff, #eaf1fa); box-shadow: 0 12px 30px rgba(25,64,102,0.08); }
.opinion-lab h3 { margin: 0; color: var(--navy-950); font-size: 1.22rem; }
.opinion-lab--sample { background: linear-gradient(145deg, #f3faf6, #e4f1e9); border-color: #bad6c5; }
.opinion-lab--wording { background: linear-gradient(145deg, #fff9ef, #fff0d8); border-color: #e5c984; }
.opinion-lab--wording .segmented-control { margin-top: 1rem; }
.poll-question { margin: 1rem 0; padding: 1.15rem; color: var(--navy-900); border-left: 0.35rem solid var(--orange-500); border-radius: 0.75rem; background: #fff; font-size: 1.05rem; font-weight: 750; }
.checklist-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0.55rem; margin-top: 1rem; }
.checklist-grid button { min-height: 3.5rem; padding: 0.65rem; color: var(--navy-900); border: 1px solid #bcd0e4; border-radius: 0.75rem; background: #fff; cursor: pointer; font-weight: 800; }
.checklist-grid button.is-active { color: #fff; border-color: var(--green-700); background: var(--green-700); }
.poll-notice { display: grid; gap: 0.25rem; margin-top: 0.8rem; padding: 0.9rem; border-radius: 0.8rem; background: #fff; }
.poll-notice span { color: var(--blue-700); font-size: 0.72rem; font-weight: 850; text-transform: uppercase; }
.feedback-loop { margin: 1.5rem 0; padding: 1.25rem; border: 1px solid #d2c8e8; border-radius: 1.2rem; background: linear-gradient(145deg, #faf7ff, #eee9fa); box-shadow: 0 12px 30px rgba(25,64,102,0.08); }
.feedback-loop figcaption { display: grid; }
.feedback-loop figcaption strong { color: var(--navy-950); font-size: 1.22rem; }
.feedback-loop figcaption span { color: var(--muted); }
.feedback-loop > div { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; align-items: center; gap: 0.4rem; margin-top: 1rem; }
.feedback-loop button { min-height: 4rem; padding: 0.65rem; color: var(--navy-900); border: 1px solid #c8bde2; border-radius: 0.75rem; background: #fff; cursor: pointer; font-weight: 800; }
.feedback-loop button.is-active { color: #fff; border-color: var(--navy-900); background: var(--navy-900); }
.feedback-loop > div > span { color: var(--orange-600); font-weight: 900; }
.vote-lab, .vote-prism, .vote-configuration { margin: 1.5rem 0; padding: 1.25rem; border: 1px solid #c7d6e5; border-radius: 1.2rem; background: linear-gradient(145deg, #f5faff, #e7f1f9); box-shadow: 0 12px 30px rgba(25,64,102,0.08); }
.vote-lab h3, .vote-prism h3, .vote-configuration h3 { margin: 0; color: var(--navy-950); font-size: 1.22rem; }
.vote-lab--resources { background: linear-gradient(145deg, #f3faf6, #e4f2e9); border-color: #b9d6c5; }
.vote-lab--abstention { background: linear-gradient(145deg, #fff9ef, #fff0db); border-color: #e6ca88; }
.vote-lab--volatility { background: linear-gradient(145deg, #faf7ff, #eee9fa); border-color: #d3c8e8; }
.vote-prism .segmented-control { margin-top: 1rem; }
.vote-prism .links-lab__result { margin-top: 0.8rem; }
.vote-configuration { background: linear-gradient(145deg, #f8f7ff, #ebeafa); border-color: #cbc8e4; }
.vote-configuration .checklist-grid button.is-active { color: #fff; border-color: var(--blue-700); background: var(--blue-700); }
.risk-lab, .risk-choice, .risk-sharing, .risk-institutions { margin: 1.5rem 0; padding: 1.25rem; border: 1px solid #c3d8cf; border-radius: 1.2rem; background: linear-gradient(145deg, #f4faf7, #e5f2eb); box-shadow: 0 12px 30px rgba(25,64,102,0.08); }
.risk-lab h3, .risk-choice h3, .risk-sharing h3, .risk-institutions h3 { margin: 0; color: var(--navy-950); font-size: 1.22rem; }
.risk-lab .social-lab__answers { grid-template-columns: repeat(4, 1fr); }
.risk-choice { background: linear-gradient(145deg, #fff9ed, #fff0d5); border-color: #e5c77f; }
.risk-choice__options { display: grid; grid-template-columns: 1fr 1fr; gap: 0.7rem; margin-top: 1rem; }
.risk-choice__options button { display: grid; min-height: 7rem; align-content: center; padding: 1rem; color: var(--navy-900); border: 1px solid #dfc47f; border-radius: 0.85rem; background: #fff; cursor: pointer; text-align: left; }
.risk-choice__options button.is-active { color: #fff; border-color: var(--navy-900); background: var(--navy-900); }
.risk-choice__options span, .risk-choice__options small { color: var(--muted); }
.risk-choice__options button.is-active span, .risk-choice__options button.is-active small { color: #dce7f3; }
.risk-choice__options strong { font-size: 1.05rem; }
.risk-sharing { background: linear-gradient(145deg, #edf8ff, #e2f0f8); border-color: #b8d3e4; }
.risk-lab--strategy { background: linear-gradient(145deg, #f7f5ff, #ece8f8); border-color: #d3c8e8; }
.risk-institutions { background: linear-gradient(145deg, #f7faff, #e9f1f9); border-color: #c4d5e5; }
.risk-institutions .links-lab__choices { grid-template-columns: repeat(3, 1fr); }
.risk-lab--protection { background: linear-gradient(145deg, #fff7f5, #feece8); border-color: #e7beb7; }

.enterprise-lab { margin: 1.5rem 0; padding: 1.25rem; border: 1px solid #c6d4e1; border-radius: 1.2rem; background: linear-gradient(145deg, #f6f9fc, #e8f0f7); box-shadow: 0 12px 30px rgba(25,64,102,0.08); }
.enterprise-lab h3 { margin: 0; color: var(--navy-950); font-size: 1.22rem; }
.enterprise-lab--lifecycle { background: linear-gradient(145deg, #fff9ef, #fff0d8); border-color: #e4c786; }
.enterprise-lab--status { background: linear-gradient(145deg, #f3f9ff, #e4eef8); }
.enterprise-lab--roles { background: linear-gradient(145deg, #f8f5ff, #ece7f8); border-color: #d1c6e4; }
.enterprise-lab--governance { background: linear-gradient(145deg, #f3faf6, #e2f1e8); border-color: #b8d4c3; }
.enterprise-lab--authority { background: linear-gradient(145deg, #fff8f5, #fbeae4); border-color: #e5c0b4; }
.enterprise-lab--relations { background: linear-gradient(145deg, #f4f9fc, #e5f0f5); }
.enterprise-lab--lifecycle .social-lab__answers, .enterprise-lab--roles .social-lab__answers { grid-template-columns: repeat(4, 1fr); }
.enterprise-lab--governance .segmented-control { margin-top: 1rem; }

.quant-lab { margin: 1.5rem 0; padding: 1.25rem; border: 1px solid #c3d6df; border-radius: 1.2rem; background: linear-gradient(145deg, #f4fafc, #e5f1f5); box-shadow: 0 12px 30px rgba(25,64,102,0.08); }
.quant-lab h3 { margin: 0; color: var(--navy-950); font-size: 1.22rem; }
.quant-lab--reference { background: linear-gradient(145deg, #fff9ef, #fff0d7); border-color: #e5c884; }
.quant-lab--calculator { background: linear-gradient(145deg, #f2f9ff, #e2eef8); }
.quant-lab--converter { background: linear-gradient(145deg, #f8f5ff, #ece7f8); border-color: #d1c7e4; }
.quant-lab--reading { background: linear-gradient(145deg, #f3faf6, #e3f1e8); border-color: #b9d5c4; }
.quant-lab--comparison { background: linear-gradient(145deg, #fff7f4, #fceae3); border-color: #e7c0b4; }
.quant-lab--control { background: linear-gradient(145deg, #f6f9fc, #e8f0f6); }
.quant-lab .segmented-control { margin-top: 1rem; }
.quant-inputs { display: grid; grid-template-columns: minmax(8rem, 1fr) auto minmax(8rem, 1fr); align-items: end; gap: 0.8rem; margin: 1rem 0; }
.quant-inputs label { display: grid; gap: 0.35rem; color: var(--blue-700); font-size: 0.78rem; font-weight: 850; letter-spacing: 0.04em; text-transform: uppercase; }
.quant-inputs input { width: 100%; min-height: 3rem; padding: 0.6rem 0.75rem; color: var(--navy-950); border: 1px solid #b8ccdc; border-radius: 0.7rem; background: #fff; font: inherit; font-size: 1.1rem; font-weight: 800; }
.quant-inputs > span { padding-bottom: 0.75rem; color: var(--orange-700); font-size: 1.5rem; font-weight: 900; }
.dual-ranges { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.8rem; margin: 1rem 0; }
.dual-ranges label { display: grid; gap: 0.55rem; padding: 0.9rem; border: 1px solid #c7d7e3; border-radius: 0.8rem; background: #fff; color: var(--navy-900); font-weight: 750; }
.dual-ranges input { width: 100%; accent-color: var(--orange-600); }
.two-way-table-wrap { margin: 1rem 0; overflow-x: auto; }
.two-way-table { width: 100%; border-collapse: separate; border-spacing: 0; overflow: hidden; border: 1px solid rgba(20, 58, 91, 0.16); border-radius: 0.8rem; background: #fff; }
.two-way-table caption { padding: 0 0 0.65rem; color: var(--muted); font-size: 0.85rem; text-align: left; }
.two-way-table th, .two-way-table td { padding: 0.75rem; border-right: 1px solid rgba(20, 58, 91, 0.1); border-bottom: 1px solid rgba(20, 58, 91, 0.1); text-align: center; transition: background 160ms ease, box-shadow 160ms ease; }
.two-way-table th { background: rgba(222, 235, 247, 0.58); font-weight: 750; }
.two-way-table tr:last-child > * { border-bottom: 0; }
.two-way-table tr > *:last-child { border-right: 0; }
.two-way-table .is-highlighted { background: #fff1c9; box-shadow: inset 0 0 0 2px #e8a92e; }
.stacked-chart { display: flex; min-height: 7rem; margin: 1rem 0; overflow: hidden; border-radius: 0.9rem; box-shadow: inset 0 0 0 1px rgba(20, 58, 91, 0.14); }
.stacked-chart button { flex: var(--share); display: grid; place-content: center; gap: 0.2rem; min-width: 0; padding: 0.6rem; border: 0; color: #0b2941; background: #dceaf6; font: inherit; cursor: pointer; }
.stacked-chart button:nth-child(2) { background: #f8d99a; }
.stacked-chart button:nth-child(3) { background: #bfe4d2; }
.stacked-chart button:nth-child(4) { background: #f4c5bd; }
.stacked-chart button.is-active { box-shadow: inset 0 0 0 3px #143a5b; }
.mini-line-chart { width: 100%; height: auto; margin: 1rem 0; border-radius: 0.9rem; background: linear-gradient(180deg, #f8fbfe, #edf5fa); }
.mini-line-chart line { stroke: #698296; stroke-width: 2; }
.mini-line-chart polyline { fill: none; stroke: #e79b24; stroke-width: 7; stroke-linecap: round; stroke-linejoin: round; }
.mini-line-chart circle { fill: #143a5b; stroke: #fff; stroke-width: 3; }
.mini-line-chart text { fill: #536b7d; font-size: 15px; }
.scale-panels { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 1rem 0; }
.scale-panels article { padding: 0.85rem; border: 1px solid #c7d7e3; border-radius: 0.8rem; background: #fff; }
.bar-chart { display: flex; align-items: end; gap: 0.55rem; height: 10rem; margin-top: 0.75rem; border-bottom: 2px solid #698296; background: repeating-linear-gradient(to top, transparent 0 24%, rgba(105,130,150,.12) 25%); }
.bar-chart i { flex: 1; position: relative; min-height: 0.4rem; height: var(--height); border-radius: 0.35rem 0.35rem 0 0; background: #6ea8ce; }
.bar-chart--truncated i { background: #e79b24; }
.bar-chart span { position: absolute; top: -1.25rem; left: 50%; color: #143a5b; font-size: 0.72rem; font-style: normal; font-weight: 800; transform: translateX(-50%); }
.function-chart { width: 100%; height: auto; margin: 1rem 0; border-radius: 0.9rem; background: linear-gradient(180deg, #f8fbfe, #edf5fa); }
.function-chart .axis { stroke: #698296; stroke-width: 3; }
.function-chart .curve { fill: none; stroke: #143a5b; stroke-width: 7; stroke-linecap: round; transition: transform 180ms ease, stroke 180ms ease; transform-box: fill-box; transform-origin: center; }
.function-chart .demand { stroke: #d88018; }
.function-chart .supply { stroke: #2b8666; }
.function-chart .ghost { stroke: #9fb3c2; stroke-dasharray: 10 8; }
.function-chart .cost { stroke: #7b5ca7; }
.function-chart circle { fill: #e79b24; stroke: #fff; stroke-width: 3; transition: cx 180ms ease, cy 180ms ease; }
.function-chart text { fill: #536b7d; font-size: 17px; font-weight: 700; }

.growth-lab { display: grid; gap: 1rem; margin: 1.5rem 0; padding: 1.25rem; border: 1px solid #cfddec; border-radius: 1.2rem; background: linear-gradient(145deg, #f5f9fd, #e8f1f8); box-shadow: 0 12px 30px rgba(25,64,102,0.08); }
.growth-lab h3, .growth-lab p { margin-top: 0; }
.growth-lab__note { margin-bottom: 0; color: var(--muted); font-size: 0.88rem; }
.growth-controls { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem; }
.growth-controls label { display: grid; gap: 0.65rem; padding: 0.85rem; color: var(--navy-950); font-size: 0.85rem; font-weight: 700; border: 1px solid #d8e3ef; border-radius: 0.8rem; background: #fff; }
.growth-controls input { width: 100%; accent-color: var(--orange-600); }
.growth-equation { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 0.65rem; align-items: center; text-align: center; }
.growth-equation > strong { padding: 0.8rem 0.5rem; color: var(--navy-950); border-radius: 0.75rem; background: #fff; }
.growth-lab .causal-chain { gap: 0.75rem; margin-top: 0; }
.growth-lab .causal-chain li { align-content: start; gap: 0.5rem; min-height: 7rem; padding: 0.85rem; text-align: left; }
.growth-lab .causal-chain li span { display: grid; width: 1.65rem; height: 1.65rem; place-items: center; color: #fff; border-radius: 50%; background: var(--blue-700); }
.growth-lab .causal-chain li strong { font-size: 0.88rem; line-height: 1.35; }
.marine-map { background: linear-gradient(145deg, #eef9fb, #d9edf5); }
.marine-map__ocean { position: relative; display: grid; grid-template-columns: auto 1fr auto; align-items: center; min-height: 13rem; overflow: hidden; padding: 1rem; color: #fff; border-radius: 1rem; background: radial-gradient(circle at 50% 50%, rgba(112,224,229,0.58) 0 9%, transparent 10% 24%, rgba(83,190,208,0.42) 25% 29%, transparent 30%), linear-gradient(145deg, #0b5472, #0f7d9c 55%, #083c62); }
.marine-map__land { z-index: 2; max-width: 5rem; padding: 2.6rem 0.75rem; color: #153b2d; font-weight: 800; text-align: center; border-radius: 48% 42% 55% 38%; background: #a8c980; box-shadow: inset 0 0 0 3px rgba(255,255,255,0.2); }
.marine-map__current { justify-self: center; color: rgba(255,255,255,0.5); font-size: 8rem; line-height: 1; transform: rotate(-18deg); }
.marine-map__patch { position: absolute; top: 50%; left: 50%; width: 7rem; padding: 0.55rem; color: #083c62; font-size: 0.75rem; font-weight: 900; text-align: center; text-transform: uppercase; border-radius: 999px; background: rgba(235,251,255,0.9); transform: translate(-50%,-50%); }
.transition-balance { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 0.85rem; align-items: center; }
.transition-balance article { display: grid; gap: 0.55rem; padding: 1rem; border: 1px solid #d8e3ef; border-radius: 0.85rem; background: #fff; }
.transition-balance article i { display: block; width: var(--size); height: 0.75rem; border-radius: 1rem; transition: width 180ms ease; }
.transition-balance__old i { background: #9a5b54; }
.transition-balance__new i { background: #1f8264; }
.transition-balance__arrow { color: var(--orange-600); font-size: 1.5rem; font-weight: 800; }
.impact-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem; }
.impact-grid article { display: grid; gap: 0.35rem; padding: 1rem; border: 1px solid #d8e3ef; border-radius: 0.8rem; background: #fff; }
.impact-grid span { color: var(--muted); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; }
.impact-grid strong { color: var(--navy-950); font-size: 0.98rem; }
.decoupling-verdict { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: 1rem 1.15rem; color: #fff; border-radius: 0.85rem; background: linear-gradient(120deg, #164f48, #287b65); }
.decoupling-verdict span { font-size: 0.78rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.decoupling-verdict strong { font-size: 1.15rem; }
.trade-table { display: grid; overflow: hidden; border: 1px solid #c9d8e5; border-radius: 0.85rem; background: #fff; }
.trade-table > div { display: grid; grid-template-columns: 0.65fr 1fr 1fr; }
.trade-table > div + div { border-top: 1px solid #dce5ed; }
.trade-table span, .trade-table strong { padding: 0.8rem; text-align: center; }
.trade-table > div > * + * { border-left: 1px solid #dce5ed; }
.trade-table > div:first-child { color: #fff; background: var(--blue-700); }
.value-chain { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.6rem; }
.value-chain button { display: grid; gap: 0.45rem; justify-items: center; min-height: 5.5rem; padding: 0.75rem; color: var(--navy-950); border: 1px solid #c9d8e5; border-radius: 0.8rem; background: #fff; font: inherit; font-weight: 750; cursor: pointer; }
.value-chain button span { display: grid; width: 1.65rem; height: 1.65rem; place-items: center; color: #fff; border-radius: 50%; background: #698296; }
.value-chain button.is-active { color: #fff; border-color: var(--blue-700); background: var(--blue-700); }
.value-chain button.is-active span { color: var(--blue-700); background: #fff; }

.crisis-timeline { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; gap: 0.55rem; align-items: center; }
.crisis-timeline article { display: grid; gap: 0.35rem; min-height: 6rem; align-content: center; padding: 0.8rem; text-align: center; border: 1px solid #d5e0e9; border-radius: 0.85rem; background: #fff; }
.crisis-timeline article span { color: var(--muted); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.05em; text-transform: uppercase; }
.crisis-timeline article strong { color: var(--navy-950); font-size: 0.9rem; line-height: 1.35; }
.crisis-timeline > i { color: var(--orange-600); font-size: 1.25rem; font-style: normal; font-weight: 900; }
.bubble-meter { position: relative; height: 2.25rem; margin: 0.25rem 0 0.6rem; border-radius: 2rem; background: linear-gradient(90deg, #dbe9f3, #f5d8a7 75%, #d98b83); }
.bubble-meter::before { content: "Valeur-repère"; position: absolute; top: 2.5rem; left: 25%; color: var(--muted); font-size: 0.72rem; transform: translateX(-50%); }
.bubble-meter i, .bubble-meter b { position: absolute; top: 50%; left: var(--position); display: block; width: 1.1rem; height: 1.1rem; border: 3px solid #fff; border-radius: 50%; box-shadow: 0 2px 8px rgba(14, 43, 67, 0.25); transform: translate(-50%, -50%); transition: left 180ms ease; }
.bubble-meter i { background: var(--green-700); }
.bubble-meter b { width: 1.35rem; height: 1.35rem; background: var(--orange-600); }
.bank-run-balance { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem; }
.bank-run-balance article { display: grid; gap: 0.35rem; padding: 1rem; color: #fff; border-radius: 0.85rem; background: linear-gradient(145deg, #153f60, #216184); }
.bank-run-balance span { font-size: 0.72rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; }
.bank-run-balance strong { color: #ffd08a; font-size: 1.55rem; }
.bank-run-balance small { color: #c9ddec; line-height: 1.35; }
.finance-network { position: relative; isolation: isolate; display: grid; grid-template: repeat(3, 5.4rem) / repeat(3, minmax(5.5rem, 1fr)); gap: 0.45rem; max-width: 34rem; width: 100%; margin: 0 auto; }
.finance-network button { z-index: 2; display: grid; gap: 0.15rem; place-content: center; padding: 0.55rem; color: var(--navy-950); border: 2px solid #a9c3d6; border-radius: 50%; background: #fff; font: inherit; text-align: center; cursor: pointer; box-shadow: 0 6px 18px rgba(22, 62, 91, 0.12); }
.finance-network button small { color: var(--muted); font-size: 0.68rem; }
.finance-network button.is-failed { color: #fff; border-color: #a13d37; background: #a13d37; }
.finance-network button.is-failed small { color: #fff; }
.finance-network [data-bank-node="a"] { grid-area: 1 / 2; }
.finance-network [data-bank-node="b"] { grid-area: 2 / 1; }
.finance-network [data-bank-node="c"] { grid-area: 2 / 3; }
.finance-network [data-bank-node="d"] { grid-area: 3 / 2; }
.finance-network__link { z-index: -1; position: absolute; left: 50%; top: 50%; width: 34%; height: 0.35rem; border-radius: 1rem; background: #9bb6c9; transform-origin: left center; }
.finance-network__link--ab { transform: translate(-40%, -130%) rotate(145deg); }
.finance-network__link--ac { transform: translate(-8%, -130%) rotate(35deg); }
.finance-network__link--bd { transform: translate(-42%, 95%) rotate(35deg); }
.finance-network__link--cd { transform: translate(-8%, 95%) rotate(145deg); }
.solvency-gauge { padding: 0.65rem 0; }
.solvency-gauge > div { position: relative; height: 1.25rem; border-radius: 1rem; background: #dce6ed; }
.solvency-gauge i { display: block; width: var(--size); height: 100%; border-radius: inherit; background: linear-gradient(90deg, #a54e46, #e49a27 48%, #278166); transition: width 180ms ease; }
.solvency-gauge span { position: absolute; top: -1.35rem; left: 50%; color: var(--muted); font-size: 0.7rem; font-weight: 750; transform: translateX(-50%); }
.competence-map { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 0.65rem; align-items: center; }
.competence-map article { display: grid; gap: 0.35rem; min-height: 6.2rem; align-content: center; padding: 0.9rem; text-align: center; border: 1px solid #d2dfe9; border-radius: 0.85rem; background: #fff; }
.competence-map article span { color: var(--muted); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.05em; text-transform: uppercase; }
.competence-map article strong { color: var(--navy-950); font-size: 0.92rem; line-height: 1.35; }
.competence-map > i { color: var(--orange-600); font-size: 1.25rem; font-style: normal; font-weight: 900; }
.coordination-board { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(14rem, 0.75fr); gap: 1rem; align-items: stretch; }
.coordination-board__countries { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.6rem; }
.coordination-board__countries button { display: grid; gap: 0.3rem; min-height: 5.5rem; place-content: center; padding: 0.7rem; color: var(--navy-950); border: 1px solid #c8d8e5; border-radius: 0.8rem; background: #fff; font: inherit; text-align: center; cursor: pointer; }
.coordination-board__countries button small { color: var(--muted); line-height: 1.3; }
.coordination-board__countries button.is-active { color: #fff; border-color: var(--blue-700); background: var(--blue-700); }
.coordination-board__countries button.is-active small { color: #d8e8f6; }
.coordination-board > .segmented-control { align-content: center; }
.profile-factors { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 0.4rem; }
.profile-factors button { min-height: 3rem; padding: 0.45rem; color: var(--navy-950); border: 1px solid #c9d9e5; border-radius: 0.7rem; background: #fff; font: inherit; font-size: 0.75rem; font-weight: 750; cursor: pointer; }
.profile-factors button.is-active { color: #fff; border-color: var(--blue-700); background: var(--blue-700); }
.structure-shift { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.8rem; }
.structure-shift article { display: grid; gap: 0.65rem; padding: 1rem; border: 1px solid #d2dfe9; border-radius: 0.85rem; background: #fff; }
.structure-shift article span { color: var(--muted); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.05em; text-transform: uppercase; }
.structure-shift article i { display: block; width: var(--size); height: 1rem; border-radius: 1rem; background: linear-gradient(90deg, var(--blue-700), #65a98d); transition: width 180ms ease; }
.structure-shift article strong { color: var(--navy-950); font-size: 0.92rem; }
.theory-case { padding: 0.9rem 1rem; border-left: 4px solid var(--orange-600); border-radius: 0.55rem; background: #fff; }
.theory-case p { margin: 0; }
.class-distance-map { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: var(--group-gap, 4.7rem); min-height: 7rem; align-items: center; padding: 1rem; overflow: hidden; border: 1px solid #d2dfe9; border-radius: 0.85rem; background: #fff; transition: gap 180ms ease; }
.class-distance-map > div { display: flex; justify-content: center; gap: var(--point-gap, 0.8rem); transition: gap 180ms ease; }
.class-distance-map i { display: block; width: 2rem; height: 2rem; border-radius: 50%; box-shadow: 0 3px 8px rgba(18, 54, 80, 0.16); }
.class-distance-map [data-class-group-a] i { background: #2a6b99; }
.class-distance-map [data-class-group-b] i { background: #d88424; }
.school-gap-table { display: grid; overflow: hidden; border: 1px solid #c9d8e5; border-radius: 0.85rem; background: #fff; }
.school-gap-table > div { display: grid; grid-template-columns: 1.4fr 1fr 1fr; }
.school-gap-table > div + div { border-top: 1px solid #dce5ed; }
.school-gap-table span, .school-gap-table strong { padding: 0.75rem; text-align: center; }
.school-gap-table > div > * + * { border-left: 1px solid #dce5ed; }
.school-gap-table > div:first-child { color: #fff; background: var(--blue-700); }
.instruction-card { display: grid; gap: 0.55rem; padding: 1rem; border: 1px solid #d0deea; border-radius: 0.85rem; background: #fff; }
.instruction-card > span { color: var(--muted); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.instruction-card > strong { color: var(--navy-950); font-size: 1rem; line-height: 1.45; }
.instruction-card ul { margin: 0; padding-left: 1.2rem; color: var(--muted); }
.trajectory-constellation { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.5rem; }
.trajectory-constellation button { min-height: 4.5rem; padding: 0.65rem; color: var(--navy-950); border: 1px solid #cad9e5; border-radius: 0.8rem; background: #fff; font: inherit; font-size: 0.76rem; font-weight: 750; cursor: pointer; }
.trajectory-constellation button.is-active { color: #fff; border-color: #287d63; background: #287d63; }
.trajectory-meter { height: 1rem; overflow: hidden; border-radius: 1rem; background: #dce7ee; }
.trajectory-meter i { display: block; width: var(--size); height: 100%; border-radius: inherit; background: linear-gradient(90deg, #d18228, #2a8668); transition: width 180ms ease; }
.quality-profile { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }
.quality-profile span { display: grid; gap: 0.35rem; color: var(--navy-950); font-size: 0.8rem; font-weight: 800; }
.quality-profile i { display: block; width: 100%; height: 0.8rem; overflow: hidden; border-radius: 1rem; background: #dce7ee; }
.quality-profile i::after { display: block; width: var(--size); height: 100%; border-radius: inherit; background: linear-gradient(90deg, #d18228, #2a8668); content: ""; transition: width 180ms ease; }

.quiz-question { margin: 0; padding: 1.15rem; border: 1px solid var(--line); border-radius: var(--radius-md); }
.quiz-question + .quiz-question { margin-top: 1rem; }
.quiz-question legend { padding: 0 0.35rem; font-weight: 750; color: var(--navy-900); }
.quiz-choice { display: flex; gap: 0.7rem; align-items: flex-start; margin-top: 0.65rem; padding: 0.75rem; border: 1px solid var(--line); border-radius: var(--radius-sm); cursor: pointer; }
.quiz-choice:hover { background: var(--blue-100); }
.quiz-choice input { margin-top: 0.32rem; accent-color: var(--blue-700); }
.quiz-question.is-correct { border-color: #68bca2; background: var(--green-100); }
.quiz-question.is-incorrect { border-color: #dc9088; background: var(--red-100); }
.quiz-explanation { margin: 0.9rem 0 0; padding-top: 0.8rem; border-top: 1px solid currentColor; }
.quiz-correction-lock { display: flex; gap: 0.6rem; align-items: center; margin: 0.9rem 0 0; padding: 0.75rem 0.85rem; border: 1px dashed #d3a34d; border-radius: var(--radius-sm); background: #fff9eb; color: #6f4b0b; font-size: 0.84rem; }
.quiz-correction-lock > span { display: grid; place-items: center; width: 1.35rem; height: 1.35rem; flex: 0 0 auto; border-radius: 50%; background: #f5a124; color: transparent; }
.quiz-correction-lock > span::before { color: #3a2300; content: "→"; font-size: 0.75rem; }
.quiz-access-note { margin: 1rem 0 1.2rem; padding: 0.9rem 1rem; border-left: 4px solid var(--orange-500); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; background: var(--orange-100); color: #62440f; }

.button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 2.85rem;
  border: 0;
  border-radius: 0.75rem;
  padding: 0.7rem 1rem;
  background: var(--orange-500);
  color: #271700;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}
.button:hover { filter: brightness(0.96); }
.button--secondary { background: var(--navy-900); color: #fff; }
.button--quiet { background: var(--blue-100); color: var(--navy-900); }
.quiz-submit { margin-top: 1.2rem; }

.result-panel { margin-top: 1rem; padding: 1rem 1.1rem; border-radius: var(--radius-md); }
.result-panel--warning { background: var(--orange-100); color: #62440f; }
.result-panel--success { border: 1px solid #bfdfd3; background: #f2fbf7; color: #123f34; }
.result-diagnostic__header { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1rem; align-items: center; }
.result-score { position: relative; display: grid; place-items: center; width: 6.2rem; height: 6.2rem; flex: 0 0 auto; border-radius: 50%; background: conic-gradient(#168065 var(--score), #dcebe5 0); }
.result-score::before { position: absolute; inset: 0.55rem; border-radius: 50%; background: #fff; content: ""; }
.result-score strong, .result-score span { position: relative; z-index: 1; }
.result-score strong { align-self: end; color: var(--navy-950); font-size: 1.3rem; line-height: 1; }
.result-score span { align-self: start; color: var(--muted); font-size: 0.72rem; font-weight: 750; }
.result-diagnostic__copy > span { color: var(--green-700); font-size: 0.7rem; font-weight: 850; letter-spacing: 0.08em; text-transform: uppercase; }
.result-diagnostic__copy h3 { margin: 0.15rem 0 0.35rem; color: var(--navy-950); font-size: 1.15rem; }
.result-diagnostic__copy p { margin: 0; color: #496057; }
.skill-breakdown { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.55rem; margin: 1rem 0 0; padding: 0 !important; list-style: none; }
.skill-breakdown li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.25rem 0.65rem; margin: 0 !important; padding: 0.7rem 0.8rem; border: 1px solid #cfe0da; border-radius: 0.7rem; background: #fff; }
.skill-breakdown span { color: #344d45; font-size: 0.78rem; font-weight: 700; }
.skill-breakdown strong { color: var(--navy-950); font-size: 0.8rem; }
.skill-breakdown i { grid-column: 1 / -1; height: 0.28rem; overflow: hidden; border-radius: 1rem; background: #e3ece9; }
.skill-breakdown i::after { display: block; width: var(--mastery); height: 100%; border-radius: inherit; background: #2a8a6c; content: ""; }
.skill-breakdown li.needs-review i::after { background: #dc8613; }
.result-next { display: inline-flex; margin-top: 1rem; color: var(--navy-900); font-weight: 800; }

.signup-panel { margin-top: 1rem; padding: 1.3rem; background: var(--navy-950); color: #fff; border-radius: var(--radius-md); }
.signup-panel h3 { margin-top: 0; color: #fff; }
.signup-panel p { color: #dce5ef; }
.signup-panel .signup-panel__eyebrow { margin: 0 0 0.35rem; color: #f5bd63; font-size: 0.75rem; font-weight: 850; letter-spacing: 0.08em; text-transform: uppercase; }
.signup-panel .button { text-align: center; }
.signup-panel small { display: block; margin-top: 0.75rem; color: #b9c8d7; }

.review-summary { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.5rem 1rem; padding: 1rem; background: var(--blue-100); border-radius: var(--radius-md); }
.review-summary span { color: var(--muted); }
.card-deck { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1rem; }
.review-card { padding: 1rem; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; }
.review-card h3 { margin-top: 0; font-size: 1rem; }
.card-answer { padding: 0.85rem; background: var(--green-100); border-radius: var(--radius-sm); }
.card-ratings { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.4rem; margin-top: 0.75rem; }
.card-ratings button { min-height: 2.4rem; border: 1px solid var(--line); border-radius: 0.5rem; background: #fff; cursor: pointer; }
.card-ratings button:hover { border-color: var(--blue-700); background: var(--blue-100); }
.card-due { color: var(--muted); font-size: 0.82rem; }

.sources-list li { overflow-wrap: anywhere; }
.next-lesson { display: grid; gap: 0.35rem; padding: 1.2rem; border: 1px solid #b8d3ef; border-radius: var(--radius-md); background: var(--blue-100); }
.next-lesson > span { color: var(--blue-700); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; }
.next-lesson strong, .next-lesson a { color: var(--navy-900); font-size: 1.12rem; font-weight: 800; line-height: 1.35; }
.next-lesson small { color: var(--muted); }
.next-lesson--planned { border-style: dashed; }
.next-lesson--gated { border-color: #f0b44e; background: #fff8e8; }
.next-lesson a.next-lesson__action {
  justify-self: start;
  margin-top: 0.55rem;
  padding: 0.72rem 1rem;
  color: var(--navy-900);
  border-radius: 0.65rem;
  background: var(--orange-500);
  font-size: 0.92rem;
  text-decoration: none;
}
.next-lesson a.next-lesson__action:hover { background: var(--orange-600); }
.learning-journey { padding: 1.15rem; border: 1px solid #c8d7e5; border-radius: var(--radius-md); background: linear-gradient(150deg, #f8fbfe, #eef5fb); }
.learning-journey ol { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem; margin: 0; padding: 0; list-style: none; }
.learning-journey__step { position: relative; z-index: 1; display: grid; align-content: start; gap: 0.25rem; min-height: 8rem; margin: 0 !important; padding: 0.85rem; border: 1px solid #cedbe7; border-radius: 0.8rem; background: #fff; }
.learning-journey__step > span { color: #687c90; font-size: 0.66rem; font-weight: 850; letter-spacing: 0.08em; text-transform: uppercase; }
.learning-journey__step strong, .learning-journey__step a { color: var(--navy-900); font-size: 0.86rem; font-weight: 800; line-height: 1.4; }
.learning-journey__step small { margin-top: auto; color: #795313; font-size: 0.7rem; }
.learning-journey__step--current { border-color: #2e689f; box-shadow: inset 0 0 0 1px #2e689f; }
.learning-journey__step--current > span { color: var(--blue-700); }
.learning-journey__step--locked { border-color: #e4bd72; background: #fffaf0; }
.learning-journey__step--locked::after { position: absolute; top: 0.65rem; right: 0.65rem; width: 1.55rem; height: 1.55rem; border-radius: 50%; background: linear-gradient(#3b2500, #3b2500) center 62% / 0.62rem 0.5rem no-repeat, radial-gradient(circle at 50% 45%, transparent 0 0.16rem, #3b2500 0.17rem 0.23rem, transparent 0.24rem), #f5a124; content: ""; }
.learning-journey__footer { margin: 1rem 0 0; padding-top: 0.85rem; border-top: 1px solid #d5e0ea; color: #516579; font-size: 0.86rem; }
.learning-journey__footer a { color: var(--navy-900); font-weight: 850; }

.conversion-cta {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(19rem, 0.85fr);
  gap: clamp(1.5rem, 5vw, 4rem);
  align-items: center;
  margin: 0 0 4rem;
  padding: clamp(1.5rem, 5vw, 3.5rem);
  color: #fff;
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, #10223d, #1d4c76);
  box-shadow: var(--shadow);
}
.conversion-cta::before { position: absolute; width: 22rem; height: 22rem; left: -12rem; bottom: -16rem; border: 4rem solid rgba(245, 161, 36, 0.1); border-radius: 50%; content: ""; }
.conversion-cta__copy, .conversion-offer { position: relative; z-index: 1; }
.conversion-cta__eyebrow { margin: 0 0 0.5rem; color: #ffd58f; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.conversion-cta h2 { max-width: 15ch; margin: 0; color: #fff; font-size: clamp(2rem, 4.5vw, 3.4rem); line-height: 1.04; letter-spacing: -0.04em; }
.conversion-cta__copy > p:not(.conversion-cta__eyebrow) { max-width: 38rem; color: #dce6f1; font-size: 1.05rem; }
.conversion-cta ul { display: grid; gap: 0.55rem; margin: 1.2rem 0 0; padding: 0; list-style: none; }
.conversion-cta li { display: flex; gap: 0.65rem; color: #f2f6fb; }
.conversion-cta li span { color: #ffd58f; font-weight: 900; }
.conversion-offer { padding: 1.45rem; color: var(--ink); border: 1px solid rgba(255, 255, 255, 0.65); border-radius: var(--radius-md); background: #fff; box-shadow: 0 20px 45px rgba(6, 18, 36, 0.22); }
.conversion-offer__label { display: block; color: var(--blue-700); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; }
.conversion-offer > strong { display: block; margin-top: 0.25rem; color: var(--navy-950); font-size: clamp(1.65rem, 3vw, 2.25rem); line-height: 1.15; }
.conversion-offer > p { margin: 0.45rem 0 1rem; color: var(--muted); font-size: 0.9rem; line-height: 1.5; }
.conversion-offer__primary { width: 100%; }
.conversion-offer__primary span { margin-left: 0.35rem; }
.conversion-offer__secondary { display: block; margin-top: 0.8rem; color: var(--navy-900); font-weight: 750; text-align: center; }
.conversion-offer small { display: block; margin-top: 1rem; padding-top: 0.85rem; color: var(--muted); border-top: 1px solid var(--line); line-height: 1.45; }
.conversion-cta--subscriber { background: linear-gradient(135deg, #103d36, #176c5b); }

.course-hub { width: min(calc(100% - 2rem), var(--content)); margin: 0 auto; padding: 2rem 0 4rem; }
.course-hub__hero { margin-bottom: 1.5rem; padding: clamp(1.5rem, 5vw, 3.5rem); color: #fff; border-radius: var(--radius-lg); background: linear-gradient(140deg, var(--navy-950), #1b4770); box-shadow: var(--shadow); }
.course-hub__hero h1 { max-width: 18ch; margin: 0; font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1.05; letter-spacing: -0.04em; }
.course-hub__hero p { max-width: 48rem; margin: 1rem 0 0; color: #dce6f1; }
.course-hub__section { margin-top: 1.5rem; padding: clamp(1.2rem, 3vw, 2rem); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--paper); }
.course-hub__section h2 { margin: 0 0 0.35rem; color: var(--navy-900); }
.course-hub__section > p { margin-top: 0; color: var(--muted); }
.course-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 1.25rem; }
.course-card { display: flex; min-height: 11rem; flex-direction: column; gap: 0.65rem; padding: 1.15rem; color: var(--ink); border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; text-decoration: none; box-shadow: 0 5px 16px rgba(16, 29, 51, 0.04); }
.course-card:hover { border-color: #9bbce0; box-shadow: 0 10px 24px rgba(16, 29, 51, 0.09); transform: translateY(-2px); }
.course-card--featured { border-color: #efc36f; background: #fffaf0; }
.course-card__meta { color: var(--blue-700); font-size: 0.76rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.course-card strong { color: var(--navy-900); font-size: 1.08rem; line-height: 1.35; }
.course-card small { margin-top: auto; color: var(--muted); }
.course-card__progress { color: var(--green-700); font-weight: 750; }
.course-list { display: grid; gap: 0.65rem; margin-top: 1rem; padding: 0; list-style: none; }
.course-list a { display: flex; justify-content: space-between; gap: 1rem; padding: 0.9rem 1rem; color: var(--navy-900); border: 1px solid var(--line); border-radius: var(--radius-sm); text-decoration: none; }
.course-list a:hover { border-color: #9bbce0; background: var(--blue-100); }
.course-list span { color: var(--muted); font-size: 0.85rem; }

/* Espace élève : navigation latérale et vues de programme */
.learner-layout { min-height: 100vh; padding-left: 16.5rem; background: #eef3f8; }
.learner-sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 40;
  display: flex;
  width: 16.5rem;
  flex-direction: column;
  padding: 1.3rem 1rem 1rem;
  overflow-y: auto;
  color: #e7edf6;
  background:
    radial-gradient(circle at 20% 5%, rgba(58, 123, 178, 0.28), transparent 28%),
    linear-gradient(180deg, #112641 0%, #09182b 72%, #071321 100%);
  box-shadow: 8px 0 28px rgba(6, 18, 36, 0.16);
}
.learner-sidebar__brand { display: flex; align-items: center; gap: 0.7rem; padding: 0.1rem 0.5rem 1.15rem; color: var(--orange-500); font-size: 1.17rem; font-weight: 850; letter-spacing: -0.035em; text-decoration: none; }
.learner-sidebar__brand img { width: 2.85rem; height: 2.85rem; object-fit: contain; }
.learner-sidebar__brand em { color: #fff; font-style: normal; }
.learner-sidebar__profile { display: flex; align-items: center; gap: 0.7rem; margin: 0 0.35rem 1.3rem; padding: 0.85rem; border: 1px solid rgba(255,255,255,0.1); border-radius: 0.9rem; background: rgba(255,255,255,0.06); }
.learner-sidebar__avatar { display: grid; width: 2.25rem; height: 2.25rem; flex: 0 0 auto; place-items: center; color: #382300; border-radius: 50%; background: var(--orange-500); font-weight: 900; }
.learner-sidebar__profile > span:last-child { display: grid; line-height: 1.2; min-width: 0; }
.learner-sidebar__profile small { color: #9fb1c7; font-size: 0.7rem; }
.learner-sidebar__profile strong { overflow: hidden; color: #fff; font-size: 0.9rem; text-overflow: ellipsis; }
.learner-sidebar__nav { display: flex; flex: 1; flex-direction: column; gap: 0.18rem; }
.learner-sidebar__label { margin: 0.9rem 0.65rem 0.35rem; color: #7188a2; font-size: 0.66rem; font-weight: 800; letter-spacing: 0.11em; text-transform: uppercase; }
.learner-sidebar__label--lesson { margin-top: 1.15rem; }
.learner-sidebar__link { display: flex; align-items: center; gap: 0.7rem; min-height: 2.8rem; padding: 0.62rem 0.72rem; color: #c7d3e2; border-radius: 0.7rem; font-size: 0.9rem; font-weight: 650; text-decoration: none; }
.learner-sidebar__link > span { display: grid; width: 1.5rem; height: 1.5rem; place-items: center; color: #9fb1c7; font-size: 1.05rem; }
.learner-sidebar__link:hover { color: #fff; background: rgba(255,255,255,0.08); }
.learner-sidebar__link--active { color: #fff; background: linear-gradient(90deg, rgba(36,92,157,0.92), rgba(36,92,157,0.52)); box-shadow: inset 3px 0 var(--orange-500); }
.learner-sidebar__link--anchor { min-height: 2.2rem; padding: 0.38rem 0.75rem 0.38rem 2.25rem; color: #9fb1c7; font-size: 0.8rem; }
.learner-sidebar__logout { margin-top: 1rem; padding: 0.7rem; color: #9fb1c7; border-top: 1px solid rgba(255,255,255,0.1); font-size: 0.8rem; text-align: center; text-decoration: none; }
.learner-sidebar__logout:hover { color: #fff; }

.learner-main { width: min(100%, 82rem); margin: 0 auto; padding: 1.4rem clamp(1.25rem, 4vw, 3.25rem) 3rem; }
.learner-main > .breadcrumbs { margin-top: 0; }
.learner-hero { position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 2rem; min-height: 16rem; padding: clamp(1.6rem, 4vw, 3.4rem); color: #fff; border-radius: 1.6rem; background: linear-gradient(135deg, #142d4c, #1f5b89); box-shadow: 0 20px 46px rgba(16, 42, 73, 0.18); }
.learner-hero::before { position: absolute; inset: auto -7rem -10rem auto; width: 22rem; height: 22rem; border: 3.7rem solid rgba(255,255,255,0.055); border-radius: 50%; content: ""; }
.learner-hero > * { position: relative; z-index: 1; }
.learner-hero h1 { max-width: 17ch; margin: 0; color: #fff; font-size: clamp(2.15rem, 5vw, 4rem); line-height: 1.02; letter-spacing: -0.045em; }
.learner-hero p:not(.eyebrow) { max-width: 43rem; margin: 1rem 0 0; color: #dce7f3; font-size: 1.04rem; }
.learner-hero > img { width: clamp(6rem, 12vw, 9.3rem); height: clamp(6rem, 12vw, 9.3rem); padding: 0.55rem; object-fit: contain; border: 1px solid rgba(255,255,255,0.16); border-radius: 2rem; background: rgba(255,255,255,0.09); filter: drop-shadow(0 14px 18px rgba(0,0,0,0.18)); }
.learner-hero--ses { background: linear-gradient(125deg, #102740, #164f73 62%, #14705e); }
.eyebrow--dark { margin: 0 0 0.25rem; color: var(--blue-700); }

.learner-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin: 2.2rem 0 1.1rem; }
.learner-section-heading h2 { margin: 0; color: var(--navy-950); font-size: clamp(1.65rem, 3vw, 2.35rem); letter-spacing: -0.035em; }
.learner-section-heading > span { color: var(--muted); font-size: 0.85rem; }
.learner-section-heading > a { color: var(--blue-700); font-size: 0.86rem; font-weight: 750; }
.subject-gallery { margin-top: 0; }
.subject-gallery__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.15rem; }
.subject-tile { position: relative; overflow: hidden; display: block; min-height: 17rem; color: #fff; border-radius: 1.15rem; background: var(--navy-900); box-shadow: 0 10px 28px rgba(16,29,51,0.13); text-decoration: none; }
.subject-tile::after { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 20%, rgba(6,19,34,0.18) 47%, rgba(6,19,34,0.95) 100%); content: ""; }
.subject-tile img { width: 100%; height: 100%; min-height: 17rem; object-fit: cover; transition: transform 0.45s ease, filter 0.45s ease; }
.subject-tile > span { position: absolute; inset: auto 1.15rem 1.05rem; z-index: 2; display: grid; gap: 0.22rem; }
.subject-tile strong { color: #fff; font-size: 1.18rem; line-height: 1.18; text-shadow: 0 2px 12px rgba(0,0,0,0.35); }
.subject-tile small { color: #d7e1ed; line-height: 1.35; }
.subject-tile:hover img { transform: scale(1.055); filter: saturate(1.08); }
.subject-tile:hover { box-shadow: 0 16px 36px rgba(16,29,51,0.2); }
.learner-copyright { margin: 2.5rem 0 0; color: #7d8b9b; font-size: 0.78rem; text-align: center; }

.subject-modules { display: grid; gap: 1rem; }
.subject-module { overflow: hidden; border: 1px solid #d7e0ea; border-radius: 1.15rem; background: #fff; box-shadow: 0 8px 22px rgba(16,29,51,0.055); }
.subject-module summary { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr) 2.4rem; align-items: center; gap: 1rem; min-height: 6.2rem; padding: 0.9rem 1.15rem; cursor: pointer; list-style: none; }
.subject-module summary::-webkit-details-marker { display: none; }
.subject-module summary:hover { background: #f8fafc; }
.subject-module__icon { display: grid; width: 4.2rem; height: 4.2rem; place-items: center; overflow: hidden; border-radius: 1rem; background: #e9f3ff; }
.subject-module__icon img { width: 100%; height: 100%; object-fit: cover; }
.subject-module summary > span:nth-child(2) { display: grid; }
.subject-module summary small { color: var(--blue-700); font-size: 0.7rem; font-weight: 850; letter-spacing: 0.08em; text-transform: uppercase; }
.subject-module summary strong { color: var(--navy-950); font-size: clamp(1.1rem, 2.2vw, 1.42rem); line-height: 1.25; }
.subject-module summary em { margin-top: 0.15rem; color: var(--muted); font-size: 0.78rem; font-style: normal; }
.subject-module__toggle { position: relative; width: 2rem; height: 2rem; border-radius: 50%; background: var(--blue-100); }
.subject-module__toggle::before, .subject-module__toggle::after { position: absolute; left: 50%; top: 50%; width: 0.8rem; height: 2px; background: var(--blue-700); content: ""; transform: translate(-50%, -50%); }
.subject-module__toggle::after { transform: translate(-50%, -50%) rotate(90deg); transition: transform 0.2s ease; }
.subject-module[open] .subject-module__toggle::after { transform: translate(-50%, -50%) rotate(0); }
.subject-module[open] summary { border-bottom: 1px solid var(--line); }
.subject-module__lessons { padding: 0.45rem 1.1rem 1rem; }
.lesson-row { display: grid; grid-template-columns: 2.35rem minmax(0, 1fr) 2rem; align-items: center; gap: 0.9rem; min-height: 5.1rem; padding: 0.72rem 0.7rem; color: var(--ink); border-bottom: 1px solid #e8edf3; text-decoration: none; }
.lesson-row:last-child { border-bottom: 0; }
.lesson-row:hover { margin-inline: -0.2rem; padding-inline: 0.9rem; border-radius: 0.75rem; background: #f0f6fd; }
.lesson-row__number { display: grid; width: 2.2rem; height: 2.2rem; place-items: center; color: var(--blue-700); border: 1px solid #b9d2ec; border-radius: 50%; background: #fff; font-size: 0.82rem; font-weight: 850; }
.lesson-row--primary .lesson-row__number { color: #342000; border-color: var(--orange-500); background: var(--orange-500); }
.lesson-row__copy { display: grid; gap: 0.15rem; min-width: 0; }
.lesson-row__copy small { color: var(--blue-700); font-size: 0.68rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.lesson-row__copy strong { color: var(--navy-900); line-height: 1.35; }
.lesson-row__copy em { color: var(--green-700); font-size: 0.76rem; font-style: normal; font-weight: 700; }
.lesson-row__arrow { color: #8aa2ba; font-size: 1.15rem; text-align: center; }
.subject-module__lessons--compact .lesson-row { min-height: 4.25rem; }

.terminale-evidence-lab__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem; margin: 1rem 0; padding: 0; list-style: none; }
.terminale-evidence-lab__steps li { display: grid; gap: 0.35rem; align-content: start; min-height: 7rem; padding: 0.9rem; border: 1px solid #d8e2ec; border-radius: 0.85rem; background: #fff; }
.terminale-evidence-lab__steps strong { color: var(--navy-900); }
.terminale-evidence-lab__steps span { color: var(--muted); font-size: 0.9rem; line-height: 1.55; }
.terminale-evidence-lab details { margin-top: 0.8rem; padding: 0.75rem 0.9rem; border-radius: 0.75rem; background: #f5f8fb; }
.terminale-evidence-lab summary { cursor: pointer; color: var(--blue-700); font-weight: 800; }
.terminale-evidence-lab details p { margin: 0.65rem 0 0; }

@media (max-width: 700px) {
  .terminale-evidence-lab__steps { grid-template-columns: 1fr; }
  .terminale-evidence-lab__steps li { min-height: 0; }
}

.learner-layout--lesson .site-header { display: none; }
.learner-layout--lesson .page-shell { width: min(calc(100% - 3rem), var(--content)); }
.learner-layout--lesson .hero { margin-top: 0; }
.learner-layout--lesson .site-footer { padding-left: 1.5rem; padding-right: 1.5rem; }

@media (max-width: 70rem) {
  .subject-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 56rem) {
  .learner-layout { padding-left: 0; }
  .learner-sidebar { position: sticky; inset: 0; width: 100%; height: auto; min-height: 4.2rem; flex-direction: row; align-items: center; gap: 0.5rem; padding: 0.55rem 0.7rem; overflow: hidden; }
  .learner-sidebar__brand { padding: 0; }
  .learner-sidebar__brand img { width: 2.55rem; height: 2.55rem; }
  .learner-sidebar__brand span, .learner-sidebar__profile, .learner-sidebar__label, .learner-sidebar__link--anchor, .learner-sidebar__link--tool { display: none; }
  .learner-sidebar__nav { min-width: 0; flex: 1; flex-direction: row; justify-content: flex-start; overflow-x: auto; scrollbar-width: none; }
  .learner-sidebar__nav::-webkit-scrollbar { display: none; }
  .learner-sidebar__nav > .learner-sidebar__link:first-of-type { display: none; }
  .learner-sidebar__link--subject { display: none; }
  .learner-sidebar__link { min-height: 2.4rem; flex: 0 0 auto; padding: 0.45rem 0.55rem; font-size: 0.76rem; }
  .learner-sidebar__link > span { display: none; }
  .learner-sidebar__logout { margin: 0; padding: 0.5rem; border: 0; font-size: 0.72rem; }
  .learner-main { padding: 1rem 1rem 2.5rem; }
  .learner-layout--lesson .page-shell { width: min(calc(100% - 1rem), var(--content)); }
}

.site-footer { padding: 3rem 1rem 1.25rem; background: #09172a; color: #d9e2ee; }
.site-footer__inner { width: min(100%, var(--content)); margin: 0 auto; display: grid; grid-template-columns: minmax(15rem, 0.8fr) minmax(0, 1.2fr); gap: 2.5rem 4rem; }
.site-footer__brand p { max-width: 24rem; color: #9fb0c4; }
.footer-brand { display: inline-flex; align-items: center; gap: 0.65rem; color: var(--orange-500); font-size: 1.35rem; font-weight: 800; letter-spacing: -0.035em; text-decoration: none; }
.footer-brand img { width: 2.75rem; height: 2.75rem; object-fit: contain; }
.footer-brand > span > span { color: #fff; }
.footer-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.footer-links div { display: flex; flex-direction: column; align-items: flex-start; gap: 0.5rem; }
.footer-links strong { margin-bottom: 0.2rem; color: #fff; }
.footer-links a { color: #b8c6d7; text-decoration: none; }
.footer-links a:hover { color: #fff; text-decoration: underline; }
.site-footer__bottom { grid-column: 1 / -1; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.75rem; padding-top: 1.2rem; color: #8496aa; border-top: 1px solid rgba(255, 255, 255, 0.12); font-size: 0.82rem; }

@media (max-width: 54rem) {
  .hero__layout { grid-template-columns: 1fr; }
  .content-grid { grid-template-columns: 1fr; }
  .toc { position: static; order: -1; }
  .toc__toggle { display: flex; }
  .toc--enhanced.is-collapsed .toc__content { display: none; }
  .card-deck { grid-template-columns: 1fr; }
  .conversion-cta { grid-template-columns: 1fr; }
  .site-footer__inner { grid-template-columns: 1fr; }
  .course-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 36rem) {
  .growth-controls, .impact-grid { grid-template-columns: 1fr; }
  .value-chain { grid-template-columns: 1fr 1fr; }
  .crisis-timeline { grid-template-columns: 1fr; }
  .crisis-timeline > i { justify-self: center; transform: rotate(90deg); }
  .bank-run-balance { grid-template-columns: 1fr; }
  .finance-network { grid-template: repeat(3, 4.8rem) / repeat(3, minmax(4.5rem, 1fr)); }
  .competence-map { grid-template-columns: 1fr; }
  .competence-map > i { justify-self: center; transform: rotate(90deg); }
  .coordination-board { grid-template-columns: 1fr; }
  .coordination-board__countries { grid-template-columns: 1fr; }
  .profile-factors { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .profile-factors button:last-child { grid-column: 1 / -1; }
  .structure-shift { grid-template-columns: 1fr; }
  .trajectory-constellation { grid-template-columns: 1fr 1fr; }
  .trajectory-constellation button:last-child { grid-column: 1 / -1; }
  .quality-profile { grid-template-columns: 1fr; }
  .growth-equation { grid-template-columns: 1fr; text-align: left; }
  .growth-equation > span:nth-of-type(2), .growth-equation > span:nth-of-type(4) { display: none; }
  .transition-balance { grid-template-columns: 1fr; }
  .transition-balance__arrow { justify-self: center; transform: rotate(90deg); }
  .decoupling-verdict { align-items: flex-start; flex-direction: column; }
  .scale-panels { grid-template-columns: 1fr; }
  .stacked-chart { min-height: 9rem; }
  .site-header__inner { align-items: flex-start; flex-direction: column; justify-content: center; padding: 0.75rem 0; gap: 0.55rem; }
  .brand img { width: 2.2rem; height: 2.2rem; }
  .brand { font-size: 1.2rem; }
  .header-nav { width: 100%; justify-content: flex-start; gap: 0.15rem; overflow-x: auto; padding-bottom: 0.15rem; }
  .header-nav a { flex: 0 0 auto; padding: 0.42rem 0.55rem; font-size: 0.78rem; }
  .header-nav__user { display: none; }
  .hero { border-radius: var(--radius-md); }
  .hero--learning-path { padding: 1.25rem; }
  .hero--learning-path h1 { max-width: 19ch; font-size: 2.1rem; line-height: 1.03; }
  .learning-method { gap: 0.2rem 0.4rem; font-size: 0.72rem; }
  .learning-method li { gap: 0.4rem; }
  .learning-method li:not(:last-child)::after { display: inline; content: "→"; }
  .hero-proofs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero-actions .button { min-width: 0; padding-inline: 0.65rem; font-size: 0.76rem; }
  .page-shell { width: min(calc(100% - 1rem), var(--content)); }
  .section-card { border-radius: var(--radius-md); }
  .result-diagnostic__header { grid-template-columns: 1fr; }
  .result-score { width: 5.7rem; height: 5.7rem; }
  .skill-breakdown { grid-template-columns: 1fr; }
  .learning-journey ol { grid-template-columns: 1fr; }
  .learning-journey__step { min-height: 0; }
  .card-ratings { grid-template-columns: repeat(2, 1fr); }
  .button { width: 100%; }
  .concept-map__track { grid-template-columns: 1fr; }
  .concept-map__arrow { transform: rotate(90deg); justify-self: center; }
  .economy-lab__heading { flex-direction: column; }
  .segmented-control { width: 100%; }
  .segmented-control button { flex: 1; }
  .segmented-control button { min-width: 0; overflow-wrap: anywhere; }
  .relative-lab .segmented-control { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .relative-lab .segmented-control button { min-width: 0; padding-inline: 0.45rem; overflow-wrap: normal; word-break: normal; hyphens: none; }
  .relative-lab .segmented-control button:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .economy-lab__metrics, .strategy-lab__choices, .policy-challenge__answers { grid-template-columns: 1fr; }
  .goods-lab__answers, .seller-pool, .intervention-map > div { grid-template-columns: 1fr; }
  .finance-flow > div, .finance-choice > div { grid-template-columns: 1fr; }
  .finance-flow > div > span { justify-self: center; transform: rotate(90deg); }
  .goods-lab > .button { width: 100%; }
  .money-challenge__answers, .balance-pair, .money-ledger, .transmission-chain { grid-template-columns: 1fr; }
  .money-challenge > .button { width: 100%; }
  .lifecycle-lab__controls { display: grid; grid-template-columns: 1fr; width: 100%; }
  .transmission-chain { gap: 1.2rem; }
  .transmission-chain li:not(:last-child)::after { right: 50%; top: auto; bottom: -1.2rem; transform: translateX(50%) rotate(90deg); }
  .social-lab__answers, .life-course-track, .life-course-result, .constellation-lab__choices, .trajectory-clues { grid-template-columns: 1fr; }
  .social-lab > .button { width: 100%; }
  .trajectory-clues { gap: 1.2rem; }
  .trajectory-clues li { min-height: 0; }
  .trajectory-clues li:not(:last-child)::after { right: 50%; top: auto; bottom: -1.2rem; transform: translateX(50%) rotate(90deg); }
  .links-lab__choices, .links-lab__result, .fragility-lab__choices, .solidarity-grid { grid-template-columns: 1fr; }
  .deviance-process .segmented-control, .career-track, .measurement-lab__lenses { grid-template-columns: 1fr; }
  .career-track article { min-height: 0; }
  .career-track article:not(:last-child)::after { right: 50%; top: auto; bottom: -1rem; transform: translateX(50%) rotate(90deg); }
  .checklist-grid { grid-template-columns: 1fr 1fr; }
  .feedback-loop > div { grid-template-columns: 1fr; }
  .feedback-loop > div > span { transform: rotate(90deg); text-align: center; }
  .risk-lab .social-lab__answers, .risk-choice__options, .risk-institutions .links-lab__choices { grid-template-columns: 1fr; }
  .enterprise-lab .social-lab__answers, .enterprise-lab .links-lab__result { grid-template-columns: 1fr; }
  .quant-lab .social-lab__answers, .quant-lab .measurement-lab__lenses, .quant-lab .causal-chain { grid-template-columns: 1fr; }
  .quant-inputs { grid-template-columns: 1fr; }
  .dual-ranges { grid-template-columns: 1fr; }
  .quant-inputs > span { padding: 0; text-align: center; transform: rotate(90deg); }
  .pcs-lab__path { grid-template-columns: 1fr; }
  .pcs-lab__path i { transform: rotate(90deg); }
  .pcs-lab > .button { width: 100%; }
  .causal-chain { grid-template-columns: 1fr; gap: 1.2rem; }
  .causal-chain li:not(:last-child)::after { right: 50%; top: auto; bottom: -1.2rem; transform: translateX(50%) rotate(90deg); }
  .payoff-matrix > div { grid-template-columns: 5.4rem repeat(2, 1fr); }
  .payoff-matrix span, .payoff-matrix strong { padding: 0.4rem; font-size: 0.7rem; }
  .footer-links { grid-template-columns: 1fr 1fr; }
  .footer-links div:last-child { grid-column: 1 / -1; }
  .course-grid { grid-template-columns: 1fr; }
  .course-hub { width: min(calc(100% - 1rem), var(--content)); }
}

.news-anatomy {
  display: grid;
  grid-template-columns: minmax(13rem, 0.72fr) minmax(0, 1.28fr);
  align-items: center;
  gap: 1.25rem;
}

.news-anatomy__visual {
  padding: 0.8rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: #fff;
}

.news-anatomy__visual img {
  display: block;
  width: 100%;
  height: auto;
}

.five-w-orbit {
  display: grid;
  grid-template-areas:
    ". who ."
    "where scene when"
    ". what ."
    ". why .";
  grid-template-columns: repeat(3, minmax(5.4rem, 1fr));
  gap: 0.55rem;
  align-items: center;
  max-width: 39rem;
  margin-inline: auto;
  padding: 1rem;
  border: 1px solid #cbdce7;
  border-radius: 1.2rem;
  background: radial-gradient(circle at center, #fff 0 21%, #eef6f4 22% 42%, #f7fafc 43% 100%);
}

.five-w-orbit button {
  min-height: 3.2rem;
  padding: 0.55rem;
  color: var(--navy-950);
  border: 1px solid #b9d0dc;
  border-radius: 999px;
  background: #fff;
  font: inherit;
  font-weight: 850;
  letter-spacing: 0.04em;
  cursor: pointer;
}

.five-w-orbit button.is-active { color: #fff; border-color: #287d63; background: #287d63; }
.five-w-orbit__who { grid-area: who; }
.five-w-orbit__where { grid-area: where; }
.five-w-orbit__when { grid-area: when; }
.five-w-orbit__what { grid-area: what; }
.five-w-orbit__why { grid-area: why; }
.five-w-orbit__scene { grid-area: scene; display: grid; place-items: center; min-height: 5.4rem; color: #fff; border-radius: 50%; background: var(--blue-700); box-shadow: 0 0.7rem 1.5rem rgba(25, 76, 112, 0.2); }
.five-w-orbit__scene span { font-size: 0.62rem; font-weight: 800; letter-spacing: 0.14em; }
.five-w-orbit__scene strong { font-size: 1.35rem; }

.event-chain {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.2rem;
}

.event-chain button {
  position: relative;
  display: grid;
  gap: 0.35rem;
  min-height: 5.2rem;
  place-content: center;
  padding: 0.7rem;
  color: var(--navy-950);
  border: 1px solid #c8d8e5;
  border-radius: 0.85rem;
  background: #fff;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 800;
  text-align: center;
  cursor: pointer;
}

.event-chain button span { color: var(--orange-600); font-size: 1.15rem; }
.event-chain button.is-active { color: #fff; border-color: var(--blue-700); background: var(--blue-700); }
.event-chain button.is-active span { color: #ffd194; }
.event-chain button:not(:last-child)::after { position: absolute; top: 50%; right: -1rem; color: var(--orange-600); font-size: 1.1rem; content: "→"; transform: translateY(-50%); }

.register-scale { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.4rem; padding: 0.45rem; border-radius: 999px; background: linear-gradient(90deg, #e9f6f1, #eef3f7 50%, #f7eee4); }
.register-scale button { min-height: 3.4rem; padding: 0.55rem; color: var(--navy-950); border: 1px solid transparent; border-radius: 999px; background: transparent; font: inherit; font-size: 0.72rem; font-weight: 800; cursor: pointer; }
.register-scale button.is-active { color: #fff; border-color: var(--blue-700); background: var(--blue-700); box-shadow: 0 0.35rem 0.8rem rgba(25, 76, 112, 0.18); }

.argument-chain { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.45rem; }
.argument-chain button { display: grid; gap: 0.25rem; min-height: 4.8rem; place-content: center; padding: 0.65rem; color: var(--navy-950); border: 1px solid #c8d8e5; background: #fff; font: inherit; font-weight: 800; cursor: pointer; }
.argument-chain button:first-child { border-radius: 1rem 0.35rem 0.35rem 1rem; }
.argument-chain button:last-child { border-radius: 0.35rem 1rem 1rem 0.35rem; }
.argument-chain button span { color: var(--orange-600); font-size: 1.05rem; }
.argument-chain button.is-active { color: #fff; border-color: #287d63; background: #287d63; }
.argument-chain button.is-active span { color: #ffe0aa; }

.dialogue-stage { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; align-items: start; padding: 1rem; border-radius: 1rem; background: linear-gradient(180deg, #edf5fa, #fff); }
.dialogue-stage article { position: relative; padding: 1rem; border-radius: 1rem 1rem 1rem 0.2rem; background: #fff; box-shadow: 0 0.45rem 1rem rgba(25, 76, 112, 0.12); }
.dialogue-stage article:last-child { margin-top: 2rem; border-radius: 1rem 1rem 0.2rem; background: #e8f5f0; }
.dialogue-stage span { display: block; margin-bottom: 0.4rem; color: var(--muted); font-size: 0.68rem; font-weight: 850; letter-spacing: 0.04em; text-transform: uppercase; }
.dialogue-stage p { margin: 0; color: var(--navy-950); font-weight: 750; line-height: 1.5; }

.message-frame { display: grid; grid-template-columns: 5rem minmax(0, 1fr); overflow: hidden; border: 1px solid #c9d8e5; border-radius: 0.9rem; background: #fff; }
.message-frame > * { padding: 0.7rem 0.8rem; border-bottom: 1px solid #dce6ed; }
.message-frame > *:nth-last-child(-n + 2) { border-bottom: 0; }
.message-frame span { color: var(--muted); font-size: 0.66rem; font-weight: 850; letter-spacing: 0.08em; }
.message-frame strong { color: var(--navy-950); font-size: 0.82rem; overflow-wrap: anywhere; }

.revision-stack { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0.35rem; align-items: end; }
.revision-stack button { display: grid; gap: 0.25rem; min-height: calc(3.4rem + var(--lift, 0rem)); place-content: center; padding: 0.5rem; color: var(--navy-950); border: 1px solid #c8d8e5; border-radius: 0.7rem; background: #fff; font: inherit; font-size: 0.68rem; font-weight: 800; cursor: pointer; }
.revision-stack button:nth-child(2) { --lift: 0.25rem; }
.revision-stack button:nth-child(3) { --lift: 0.5rem; }
.revision-stack button:nth-child(4) { --lift: 0.75rem; }
.revision-stack button:nth-child(5) { --lift: 1rem; }
.revision-stack button:nth-child(6) { --lift: 1.25rem; }
.revision-stack button span { color: var(--orange-600); font-size: 0.9rem; }
.revision-stack button.is-active { color: #fff; border-color: var(--blue-700); background: var(--blue-700); }
.revision-stack button.is-active span { color: #ffd194; }

.uk-nations-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.55rem; padding: 0.8rem; border-radius: 1rem; background: linear-gradient(135deg, #e9f2f8, #f8f2e9); }
.uk-nations-grid button { min-height: 4rem; padding: 0.6rem; color: var(--navy-950); border: 1px solid #bdd0dd; border-radius: 0.8rem; background: rgba(255, 255, 255, 0.88); font: inherit; font-size: 0.76rem; font-weight: 850; cursor: pointer; }
.uk-nations-grid button.is-active { color: #fff; border-color: var(--blue-700); background: var(--blue-700); }

.landmark-atlas figure { margin: 0; overflow: hidden; border: 1px solid #c9d8e5; border-radius: 1rem; background: #fff; }
.landmark-atlas figure img { display: block; width: 100%; height: auto; }
.landmark-atlas figcaption { padding: 0.65rem 0.8rem; color: var(--muted); border-top: 1px solid #dce6ed; font-size: 0.68rem; line-height: 1.45; }

.portrait-investigation__layout { display: grid; grid-template-columns: minmax(12rem, 0.72fr) minmax(0, 1.28fr); gap: 1rem; align-items: start; }
.portrait-investigation figure { margin: 0; overflow: hidden; border: 1px solid #c9d8e5; border-radius: 1rem; background: #fff; }
.portrait-investigation figure img { display: block; width: 100%; height: auto; aspect-ratio: 960 / 1199; object-fit: cover; }
.portrait-investigation figcaption { padding: 0.7rem 0.8rem; color: var(--muted); border-top: 1px solid #dce6ed; font-size: 0.68rem; line-height: 1.45; }
.portrait-investigation__layout > div { min-width: 0; }
.image-reading-lab__layout, .image-composition-lab__layout { display: grid; grid-template-columns: minmax(13rem, 0.72fr) minmax(0, 1.28fr); gap: 1rem; align-items: start; }
.image-reading-lab figure, .image-composition-lab figure, .image-version-pair figure { margin: 0; overflow: hidden; border: 1px solid #c9d8e5; border-radius: 1rem; background: #fff; box-shadow: 0 0.6rem 1.5rem rgba(25, 64, 102, 0.1); }
.image-reading-lab figure img, .image-composition-lab figure img, .image-version-pair figure img { display: block; width: 100%; height: auto; aspect-ratio: 821 / 1024; object-fit: cover; }
.image-reading-lab figcaption, .image-composition-lab figcaption, .image-version-pair figcaption { padding: 0.7rem 0.8rem; color: var(--muted); border-top: 1px solid #dce6ed; font-size: 0.68rem; line-height: 1.45; }
.image-reading-lab__layout > div, .image-composition-lab__layout > div { min-width: 0; }
.image-composition-frame { position: relative; }
.image-composition-frame svg { position: absolute; inset: 0 0 auto; width: 100%; height: auto; aspect-ratio: 821 / 1024; pointer-events: none; }
.image-composition-frame svg g { opacity: 0; fill: none; stroke: #ffae2b; stroke-linecap: round; stroke-linejoin: round; stroke-width: 8; filter: drop-shadow(0 1px 2px rgba(10, 32, 52, 0.8)); transition: opacity 180ms ease; vector-effect: non-scaling-stroke; }
.image-composition-frame[data-active-lens="frame"] [data-photo-overlay="frame"], .image-composition-frame[data-active-lens="triangle"] [data-photo-overlay="triangle"], .image-composition-frame[data-active-lens="gaze"] [data-photo-overlay="gaze"], .image-composition-frame[data-active-lens="hands"] [data-photo-overlay="hands"], .image-composition-frame[data-active-lens="faces"] [data-photo-overlay="faces"], .image-composition-frame[data-active-lens="depth"] [data-photo-overlay="depth"] { opacity: 1; }
.image-composition-frame [data-photo-overlay="depth"] { fill: rgba(38, 127, 177, 0.12); stroke: #61c5ef; }
.image-composition-lab .segmented-control { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; }
.image-composition-lab .segmented-control button { min-width: 0; padding-inline: 0.55rem; overflow-wrap: anywhere; }
.image-version-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.7rem; }
.oral-exam-flow { display: grid; grid-template-columns: 1.35fr repeat(3, minmax(0, 0.8fr)) 1.35fr; gap: 0.45rem; align-items: stretch; }
.oral-exam-flow button, .oral-score-strip button, .oral-rehearsal-loop button { min-width: 0; padding: 0.75rem 0.55rem; color: var(--navy-950); border: 1px solid #c8d8e5; border-radius: 0.8rem; background: #fff; font: inherit; cursor: pointer; }
.oral-exam-flow button { display: grid; gap: 0.28rem; place-content: center; text-align: center; }
.oral-exam-flow button span { color: var(--orange-600); font-size: 0.72rem; font-weight: 900; }
.oral-exam-flow button strong { font-size: 0.75rem; overflow-wrap: anywhere; }
.oral-exam-flow button.is-active, .oral-score-strip button.is-active, .oral-rehearsal-loop button.is-active { color: #fff; border-color: var(--blue-700); background: var(--blue-700); box-shadow: 0 0.5rem 1.1rem rgba(25, 76, 112, 0.16); }
.oral-exam-flow button.is-active span { color: #ffd194; }
.oral-revision-stack button { overflow-wrap: anywhere; }
.oral-prep-sheet { display: grid; grid-template-columns: 1fr 1fr; gap: 0.55rem; margin-bottom: 0.85rem; padding: 1.1rem; border: 1px solid #c8d8e5; border-radius: 0.25rem 1rem 1rem 0.25rem; background: repeating-linear-gradient(#fff, #fff 1.85rem, #dfe9f1 1.9rem); box-shadow: -0.35rem 0 #e5a449, 0 0.55rem 1.3rem rgba(25, 64, 102, 0.1); }
.oral-prep-sheet span { min-height: 2.7rem; padding: 0.7rem; color: var(--navy-950); border: 1px dashed #9db6c8; border-radius: 0.55rem; background: rgba(255, 255, 255, 0.9); font-size: 0.72rem; font-weight: 800; }
.oral-prep-sheet__title, .oral-prep-sheet__wide { grid-column: 1 / -1; }
.oral-prep-sheet__title { min-height: 0 !important; color: var(--orange-700) !important; border: 0 !important; background: transparent !important; font-size: 0.68rem !important; letter-spacing: 0.08em; text-transform: uppercase; }
.oral-score-strip { display: grid; grid-template-columns: 1fr 4fr 1fr; gap: 0.45rem; }
.oral-score-strip button { display: grid; gap: 0.25rem; min-height: 5rem; place-content: center; font-size: 0.72rem; font-weight: 850; text-align: center; }
.oral-score-strip button span { color: var(--orange-600); font-size: 1.35rem; font-weight: 950; }
.oral-score-strip button.is-active span, .oral-rehearsal-loop button.is-active span { color: #ffd194; }
.oral-dialogue { margin-bottom: 0.85rem; }
.oral-rehearsal-loop { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.45rem; }
.oral-rehearsal-loop button { display: grid; gap: 0.25rem; min-height: 4.2rem; place-content: center; font-size: 0.7rem; font-weight: 850; text-align: center; overflow-wrap: anywhere; }
.oral-rehearsal-loop button span { color: var(--orange-600); font-size: 0.9rem; font-weight: 950; }
.word-dissection { display: grid; grid-template-columns: minmax(4.5rem, 0.75fr) minmax(8rem, 1.5fr) minmax(4.5rem, 0.75fr); gap: 0.35rem; margin-bottom: 0.8rem; padding: 1rem; border-radius: 1rem; background: linear-gradient(135deg, #eaf3f9, #fff8ec); }
.word-dissection > * { display: grid; min-height: 4.2rem; place-content: center; padding: 0.65rem; border: 1px solid #bdd0dd; border-radius: 0.75rem; background: #fff; text-align: center; overflow-wrap: anywhere; }
.word-dissection span { color: var(--orange-700); font-weight: 900; }
.word-dissection strong { color: var(--navy-950); font-size: 1.15rem; }
.word-family-tree { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; padding: 0.8rem 0; }
.word-family-tree::before { position: absolute; top: 50%; right: 6%; left: 6%; height: 0.18rem; background: #bdcedb; content: ""; transform: translateY(-50%); }
.word-family-tree button, .lexical-network-map button { position: relative; display: grid; gap: 0.3rem; min-width: 0; min-height: 4.6rem; place-content: center; padding: 0.65rem; color: var(--navy-950); border: 1px solid #c8d8e5; border-radius: 0.8rem; background: #fff; font: inherit; font-size: 0.74rem; font-weight: 850; text-align: center; cursor: pointer; overflow-wrap: anywhere; }
.word-family-tree button span, .lexical-network-map button span { color: var(--orange-700); font-size: 0.62rem; letter-spacing: 0.06em; text-transform: uppercase; }
.word-family-tree button.is-active, .lexical-network-map button.is-active { color: #fff; border-color: var(--blue-700); background: var(--blue-700); box-shadow: 0 0.45rem 1.1rem rgba(25, 76, 112, 0.16); }
.word-family-tree button.is-active span, .lexical-network-map button.is-active span { color: #ffd194; }
.context-sentence { margin: 0 0 0.8rem; padding: 1rem 1.1rem; color: var(--navy-950); border-left: 0.28rem solid var(--orange-600); border-radius: 0 0.9rem 0.9rem 0; background: #fffaf2; font-family: Georgia, "Times New Roman", serif; font-size: 1.05rem; line-height: 1.6; }
.lexical-network-map { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.45rem; }
.word-value-scale { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.agreement-feature-board { display: grid; grid-template-columns: 0.8fr 1fr 1.2fr 1fr; gap: 0.35rem; margin-bottom: 0.85rem; padding: 1rem; border-radius: 1rem; background: linear-gradient(135deg, #eaf3f9, #fff7e8); }
.agreement-feature-board > * { position: relative; display: grid; min-height: 4.5rem; place-content: center; padding: 0.65rem; color: var(--navy-950); border: 1px solid #bdd0dd; border-radius: 0.75rem; background: #fff; font-size: 0.95rem; font-weight: 850; text-align: center; overflow-wrap: anywhere; }
.agreement-feature-board > *:not(:last-child)::after { position: absolute; top: 50%; right: -0.37rem; z-index: 1; color: var(--orange-700); content: "→"; font-weight: 950; transform: translate(50%, -50%); }
.agreement-feature-board strong { color: #fff; border-color: var(--blue-700); background: var(--blue-700); }
.agreement-chain-track { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.35rem; margin: -0.2rem 0 0.85rem; }
.agreement-chain-track span { padding: 0.45rem; color: var(--muted); border-bottom: 0.18rem solid #d9a04e; font-size: 0.62rem; font-weight: 850; letter-spacing: 0.05em; text-align: center; text-transform: uppercase; }
.subject-wire { display: grid; grid-template-columns: minmax(0, 1.5fr) 4.2rem minmax(0, 0.85fr); gap: 0.45rem; align-items: stretch; margin-bottom: 0.85rem; }
.subject-wire > * { display: grid; min-height: 4.2rem; place-content: center; padding: 0.65rem; border: 1px solid #bfd2df; border-radius: 0.8rem; background: #fff; text-align: center; overflow-wrap: anywhere; }
.subject-wire span { position: relative; color: var(--orange-700); border-style: dashed; font-size: 0.72rem; font-weight: 950; text-transform: uppercase; }
.subject-wire span::before, .subject-wire span::after { position: absolute; top: 50%; color: var(--orange-700); content: "→"; font-size: 1.1rem; transform: translateY(-50%); }
.subject-wire span::before { left: -0.55rem; }
.subject-wire span::after { right: -0.55rem; }
.subject-wire strong:last-child { color: #fff; border-color: #287d63; background: #287d63; }
.agreement-before-after { display: grid; grid-template-columns: 1fr 1fr; gap: 0.65rem; margin-bottom: 0.85rem; }
.agreement-before-after article { position: relative; display: grid; gap: 0.45rem; min-height: 7rem; align-content: center; padding: 1rem; border: 1px solid #c6d7e3; border-radius: 0.9rem; background: #fff; }
.agreement-before-after article:first-child::after { position: absolute; top: 50%; right: -0.34rem; z-index: 1; display: grid; width: 1.7rem; height: 1.7rem; place-content: center; color: #fff; border-radius: 50%; background: var(--orange-600); content: "→"; transform: translate(50%, -50%); }
.agreement-before-after span { color: var(--orange-700); font-size: 0.66rem; font-weight: 900; letter-spacing: 0.06em; text-transform: uppercase; }
.agreement-before-after strong { color: var(--navy-950); font-family: Georgia, "Times New Roman", serif; font-size: 1rem; line-height: 1.45; }
.collective-balance { display: grid; grid-template-columns: 5rem minmax(0, 1fr) 5rem; gap: 0.45rem; align-items: center; margin-bottom: 0.85rem; padding: 1rem; border-radius: 1rem; background: linear-gradient(90deg, #e7f2f8, #fff, #fff2df); }
.collective-balance span { color: var(--muted); font-size: 0.64rem; font-weight: 900; letter-spacing: 0.06em; text-align: center; text-transform: uppercase; }
.collective-balance strong { min-height: 4.4rem; display: grid; place-content: center; padding: 0.75rem; color: var(--navy-950); border: 1px solid #c3d5e1; border-radius: 0.8rem; background: #fff; font-family: Georgia, "Times New Roman", serif; text-align: center; }
.agreement-radar { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.5rem; margin-bottom: 0.85rem; }
.agreement-radar button { display: grid; grid-template-columns: 1.8rem minmax(0, 1fr); gap: 0.4rem; min-height: 3.7rem; align-items: center; padding: 0.55rem; color: var(--navy-950); border: 1px solid #c7d7e3; border-radius: 2rem 0.8rem 0.8rem 2rem; background: #fff; font: inherit; font-size: 0.72rem; font-weight: 850; text-align: left; cursor: pointer; }
.agreement-radar button span { display: grid; width: 1.8rem; height: 1.8rem; place-content: center; color: #fff; border-radius: 50%; background: var(--orange-600); }
.agreement-radar button.is-active { color: #fff; border-color: var(--blue-700); background: var(--blue-700); box-shadow: 0 0.45rem 1.1rem rgba(25, 76, 112, 0.16); }
.verb-coordinate-board { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.45rem; margin-bottom: 0.85rem; }
.verb-coordinate-board span { display: grid; gap: 0.35rem; min-height: 5.2rem; place-content: center; padding: 0.65rem; border: 1px solid #c5d7e2; border-radius: 0.85rem; background: linear-gradient(145deg, #fff, #eef6fa); text-align: center; }
.verb-coordinate-board small { color: var(--orange-700); font-size: 0.62rem; font-weight: 900; letter-spacing: 0.06em; text-transform: uppercase; }
.verb-coordinate-board strong { color: var(--navy-950); font-size: 0.8rem; overflow-wrap: anywhere; }
.temporal-axis, .collective-balance { position: relative; }
.temporal-axis { display: grid; grid-template-columns: 4rem minmax(0, 1fr) 4rem; gap: 0.45rem; align-items: center; margin-bottom: 0.85rem; padding: 1rem; border-radius: 1rem; background: linear-gradient(90deg, #e7f2f8, #fff, #fff1dd); }
.temporal-axis span { color: var(--muted); font-size: 0.65rem; font-weight: 900; text-align: center; text-transform: uppercase; }
.temporal-axis strong { display: grid; min-height: 4.3rem; place-content: center; padding: 0.7rem; border: 1px solid #c4d6e1; border-radius: 0.8rem; background: #fff; text-align: center; }
.aspect-camera { display: grid; grid-template-columns: 1fr 1.5fr 1fr; gap: 0.35rem; margin-bottom: 0.85rem; padding: 1rem; border-radius: 1rem; background: #eaf3f9; }
.aspect-camera > * { display: grid; min-height: 4.3rem; place-content: center; padding: 0.6rem; border: 1px dashed #aebfca; border-radius: 0.75rem; background: #fff; text-align: center; }
.aspect-camera strong { color: #fff; border-style: solid; border-color: var(--blue-700); background: var(--blue-700); }
.modal-compass { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.4rem; margin-bottom: 0.85rem; }
.modal-compass button { min-height: 4.5rem; padding: 0.55rem; color: var(--navy-950); border: 1px solid #c6d7e2; border-radius: 50%; background: #fff; font: inherit; font-size: 0.68rem; font-weight: 850; cursor: pointer; }
.modal-compass button.is-active { color: #fff; border-color: #287d63; background: #287d63; }
.narrative-layers, .concordance-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 0.65rem; margin-bottom: 0.85rem; }
.narrative-layers > *, .concordance-pair > * { display: grid; min-height: 6rem; place-content: center; padding: 0.85rem; border: 1px solid #c5d6e2; border-radius: 0.9rem; background: #fff; font-family: Georgia, "Times New Roman", serif; text-align: center; }
.narrative-layers strong, .concordance-pair strong { color: #fff; border-color: var(--blue-700); background: var(--blue-700); }
.proposition-scan, .articulation-rail { display: grid; grid-template-columns: minmax(0, 1fr) 4rem minmax(0, 1fr); gap: 0.4rem; align-items: stretch; margin-bottom: 0.85rem; }
.proposition-scan > *, .articulation-rail > * { display: grid; min-height: 4.4rem; place-content: center; padding: 0.65rem; border: 1px solid #c3d5e1; border-radius: 0.8rem; background: #fff; text-align: center; overflow-wrap: anywhere; }
.proposition-scan span:nth-child(2), .articulation-rail strong { color: #fff; border-color: var(--orange-700); background: var(--orange-700); font-weight: 950; }
.connector-prism { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; margin-bottom: 0.85rem; padding: 1rem; border-radius: 1rem; background: linear-gradient(135deg, #eaf3f9, #fff4e4); }
.connector-prism > * { display: grid; min-height: 4.6rem; place-content: center; padding: 0.7rem; border: 1px solid #c4d6e2; border-radius: 0.8rem; background: #fff; text-align: center; }
.connector-prism strong { color: #fff; border-color: var(--blue-700); background: var(--blue-700); }
.subordinate-slot { display: grid; grid-template-columns: 1fr 1.4fr 1fr; gap: 0.4rem; margin-bottom: 0.85rem; padding: 1rem; border: 1px solid #c7d8e3; border-radius: 1rem; background: #eef6fa; }
.subordinate-slot > * { display: grid; min-height: 4.5rem; place-content: center; padding: 0.65rem; border-radius: 0.75rem; background: #fff; text-align: center; }
.subordinate-slot strong { color: #fff; background: #287d63; }
.subordinate-slot span:last-child { color: var(--orange-700); border: 1px dashed #d79a45; font-size: 0.7rem; font-weight: 900; text-transform: uppercase; }
.introducer-compare, .rewrite-pair { display: grid; grid-template-columns: 1.5fr 1fr; gap: 0.55rem; margin-bottom: 0.85rem; }
.introducer-compare > *, .rewrite-pair > * { display: grid; min-height: 5.5rem; place-content: center; padding: 0.8rem; border: 1px solid #c5d7e2; border-radius: 0.9rem; background: #fff; text-align: center; }
.introducer-compare strong, .rewrite-pair strong { color: #fff; border-color: var(--blue-700); background: var(--blue-700); }
.relative-fusion-chain { display: grid; grid-template-columns: 1fr 1fr 1.25fr; gap: 0.45rem; margin-bottom: 0.85rem; }
.relative-fusion-chain > * { display: grid; min-height: 6rem; place-content: center; padding: 0.75rem; border: 1px solid #c4d6e2; border-radius: 0.85rem; background: #fff; text-align: center; }
.relative-fusion-chain strong { color: #fff; border-color: #287d63; background: #287d63; }
.relative-function-bridge { display: grid; grid-template-columns: 1fr 5rem 1.35fr; gap: 0.45rem; align-items: stretch; margin-bottom: 0.85rem; padding: 1rem; border-radius: 1rem; background: linear-gradient(135deg, #eaf3f9, #fff4e4); }
.relative-function-bridge > * { display: grid; min-height: 4.8rem; place-content: center; padding: 0.7rem; border-radius: 0.8rem; background: #fff; text-align: center; overflow-wrap: anywhere; }
.relative-function-bridge strong { color: #fff; background: var(--orange-700); font-size: 1.15rem; }
.relative-preposition-path { display: grid; grid-template-columns: 1fr 4rem 1fr 1.7fr; gap: 0.4rem; margin-bottom: 0.85rem; }
.relative-preposition-path > * { display: grid; min-height: 4.8rem; place-content: center; padding: 0.65rem; border: 1px solid #c4d6e2; border-radius: 0.75rem; background: #fff; text-align: center; overflow-wrap: anywhere; }
.relative-preposition-path strong { color: #fff; border-color: var(--blue-700); background: var(--blue-700); font-size: 1.1rem; }
.relative-preposition-path span:nth-child(3) { color: #fff; border-color: #287d63; background: #287d63; font-weight: 900; }
.relative-nature-gate { display: grid; grid-template-columns: 1.6fr 1fr; gap: 0.55rem; margin-bottom: 0.85rem; }
.relative-nature-gate > * { display: grid; min-height: 5.4rem; place-content: center; padding: 0.8rem; border: 1px solid #c5d7e2; border-radius: 0.9rem; background: #fff; text-align: center; }
.relative-nature-gate strong { color: #fff; background: var(--blue-700); }
.relative-scope-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 0.55rem; margin-bottom: 0.85rem; padding: 1rem; border-radius: 1rem; background: #eef6fa; }
.relative-scope-pair > * { display: grid; min-height: 6rem; place-content: center; padding: 0.75rem; border-radius: 0.85rem; background: #fff; text-align: center; }
.relative-scope-pair strong { border: 2px dashed var(--orange-700); color: var(--orange-700); }
.relative-agreement-track { display: grid; grid-template-columns: 1fr 4rem 1fr; gap: 0.45rem; margin-bottom: 0.85rem; }
.relative-agreement-track > * { display: grid; min-height: 4.8rem; place-content: center; padding: 0.7rem; border: 1px solid #c4d6e2; border-radius: 0.8rem; background: #fff; text-align: center; overflow-wrap: anywhere; }
.relative-agreement-track strong { color: #fff; background: #287d63; }
.geography-lab { background: linear-gradient(145deg, #f6fbf8, #f2f7fb 62%, #fff8ec); }
.environment-layer-stack { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.4rem; margin-bottom: 0.85rem; padding: 0.8rem; border-radius: 1rem; background: linear-gradient(135deg, #dfeee7, #e8f1f7); }
.environment-layer-stack > * { display: grid; min-height: 6.2rem; place-content: center; padding: 0.65rem; border: 1px solid #bfd2cb; border-radius: 0.8rem; background: #fff; color: var(--navy-950); font-size: 0.77rem; font-weight: 850; line-height: 1.4; text-align: center; overflow-wrap: anywhere; }
.environment-layer-stack strong { color: #fff; border-color: #287d63; background: #287d63; }
.global-change-web, .actor-scale-map { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; align-items: stretch; margin-bottom: 0.85rem; }
.global-change-web > *, .actor-scale-map > * { position: relative; display: grid; min-height: 5.5rem; place-content: center; padding: 0.75rem; border: 1px solid #bed1d9; border-radius: 0.9rem; background: #fff; text-align: center; overflow-wrap: anywhere; }
.global-change-web > *:not(:last-child)::after, .actor-scale-map > *:not(:last-child)::after { position: absolute; top: 50%; right: -0.72rem; z-index: 1; color: var(--orange-700); content: "→"; font-size: 1.15rem; font-weight: 950; transform: translate(50%, -50%); }
.global-change-web strong, .actor-scale-map strong { color: #fff; border-color: var(--blue-700); background: var(--blue-700); }
.risk-equation { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 0.85fr); gap: 0.35rem; align-items: center; margin-bottom: 0.85rem; padding: 0.9rem; border-radius: 1rem; background: #e9f3f0; }
.risk-equation span { display: grid; min-height: 5.4rem; place-content: center; padding: 0.6rem; border: 1px solid #bfd3cd; border-radius: 0.8rem; background: #fff; color: var(--navy-950); font-size: 0.76rem; font-weight: 850; line-height: 1.45; text-align: center; overflow-wrap: anywhere; }
.risk-equation span:last-child { color: #fff; border-color: var(--orange-700); background: var(--orange-700); }
.risk-equation b { color: var(--orange-700); font-size: 1.15rem; text-align: center; }
.risk-resource-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 0.7rem; margin-bottom: 0.85rem; }
.risk-resource-switch article { display: grid; gap: 0.45rem; min-height: 7rem; align-content: center; padding: 1rem; border: 1px solid #bfd3cd; border-radius: 0.95rem; background: #fff; }
.risk-resource-switch article:first-child { border-top: 0.3rem solid #287d63; }
.risk-resource-switch article:last-child { border-top: 0.3rem solid var(--orange-600); }
.risk-resource-switch span { color: var(--muted); font-size: 0.65rem; font-weight: 900; letter-spacing: 0.06em; text-transform: uppercase; }
.risk-resource-switch strong { color: var(--navy-950); line-height: 1.45; }
.geographic-compass { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.4rem; margin-bottom: 0.85rem; }
.geographic-compass button { min-height: 4.5rem; padding: 0.55rem; color: var(--navy-950); border: 1px solid #bfd3cd; border-radius: 3rem; background: #fff; font: inherit; font-size: 0.69rem; font-weight: 850; cursor: pointer; }
.geographic-compass button.is-active { color: #fff; border-color: #287d63; background: #287d63; box-shadow: 0 0.45rem 1.1rem rgba(31, 101, 80, 0.18); }
.france-atlas-layout, .guyane-cross-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(18rem, 0.9fr); gap: 1rem; align-items: start; }
.france-atlas-layout figure, .guyane-cross-layout figure { margin: 0; overflow: hidden; border: 1px solid #bfd1d9; border-radius: 1rem; background: #fff; box-shadow: 0 0.65rem 1.4rem rgba(26, 66, 88, 0.11); }
.france-atlas-layout img, .guyane-cross-layout img { display: block; width: 100%; height: auto; background: #e8f3f8; }
.france-atlas-layout figcaption, .guyane-cross-layout figcaption { padding: 0.62rem 0.75rem; color: var(--muted); font-size: 0.68rem; line-height: 1.45; }
.france-profile-board { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.4rem; margin-bottom: 0.85rem; padding: 0.75rem; border-radius: 1rem; background: linear-gradient(135deg, #dfeee7, #e7f1f7); }
.france-profile-board > * { display: grid; min-height: 6rem; place-content: center; padding: 0.62rem; border: 1px solid #bed2cb; border-radius: 0.78rem; background: #fff; color: var(--navy-950); font-size: 0.73rem; font-weight: 830; line-height: 1.42; text-align: center; overflow-wrap: anywhere; }
.france-profile-board strong { color: #fff; border-color: #287d63; background: #287d63; }
.guyane-cross-section, .arbitration-casefile { display: grid; grid-template-columns: 1fr 1.2fr 1fr; gap: 0.45rem; margin-bottom: 0.85rem; }
.guyane-cross-section > *, .arbitration-casefile > * { display: grid; min-height: 5.2rem; place-content: center; padding: 0.65rem; border: 1px solid #bdd1ca; border-radius: 0.82rem; background: #fff; color: var(--navy-950); text-align: center; overflow-wrap: anywhere; }
.guyane-cross-section strong, .arbitration-casefile strong { color: #fff; border-color: var(--blue-700); background: var(--blue-700); }
.valorization-balance { display: grid; grid-template-columns: 1fr 1.15fr 1fr; gap: 0.45rem; align-items: center; margin-bottom: 0.85rem; padding: 0.9rem; border-radius: 1rem; background: linear-gradient(90deg, #e1f1e9, #fff, #fff0df); }
.valorization-balance > * { display: grid; min-height: 5.6rem; place-content: center; padding: 0.7rem; border: 1px solid #c2d4d5; border-radius: 0.85rem; background: #fff; color: var(--navy-950); text-align: center; overflow-wrap: anywhere; }
.valorization-balance strong { color: #fff; border-color: var(--orange-700); background: var(--orange-700); }
.protection-purpose-card { display: grid; grid-template-columns: minmax(8rem, 0.55fr) minmax(0, 1.45fr); gap: 0.55rem; margin-bottom: 0.85rem; }
.protection-purpose-card > * { display: grid; min-height: 5.5rem; place-content: center; padding: 0.75rem; border: 1px solid #bfd2cb; border-radius: 0.9rem; background: #fff; color: var(--navy-950); text-align: center; }
.protection-purpose-card span { color: #fff; border-color: #287d63; background: #287d63; font-weight: 900; }
.demography-lab { background: linear-gradient(145deg, #f4f9fc, #f8fbf5 62%, #fff7eb); }
.demographic-equation { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr); gap: 0.35rem; align-items: center; margin-bottom: 0.85rem; padding: 0.85rem; border-radius: 1rem; background: #e8f2f7; }
.demographic-equation span { display: grid; min-height: 5.4rem; place-content: center; padding: 0.6rem; border: 1px solid #bed1dc; border-radius: 0.8rem; background: #fff; color: var(--navy-950); font-size: 0.72rem; line-height: 1.4; text-align: center; }
.demographic-equation span:last-child { color: #fff; border-color: #287d63; background: #287d63; }
.demographic-equation b { color: var(--orange-700); font-size: 1.1rem; }
.demographic-curve { margin-bottom: 0.85rem; padding: 0.75rem; border: 1px solid #c4d6df; border-radius: 1rem; background: #fff; }
.demographic-curve svg { display: block; width: 100%; height: auto; max-height: 14rem; }
.demographic-curve path { fill: none; stroke-linecap: round; stroke-width: 6; }
.demographic-curve .curve-axis { stroke: #9eb1bd; stroke-width: 2; }
.demographic-curve .curve-birth { stroke: var(--orange-600); }
.demographic-curve .curve-death { stroke: #287d63; }
.demographic-curve > div { display: flex; gap: 1rem; justify-content: center; color: var(--orange-700); font-size: 0.7rem; font-weight: 850; }
.demographic-curve > div strong { color: #287d63; }
.demographic-curve small { display: block; margin-top: 0.45rem; color: var(--muted); text-align: center; }
.age-pyramid-visual { display: grid; grid-template-columns: minmax(0, 1fr) 3.4rem minmax(0, 1fr); gap: 0.4rem; align-items: end; margin-bottom: 0.85rem; padding: 1rem; border-radius: 1rem; background: #e8f2f7; }
.age-pyramid-visual > div { display: grid; gap: 0.3rem; align-content: end; }
.age-pyramid-visual i { display: block; width: var(--w); height: 1.05rem; border-radius: 0.25rem; background: var(--blue-700); }
.age-pyramid-visual .pyramid-left i { margin-left: auto; background: #287d63; }
.age-pyramid-visual > span { color: var(--muted); font-size: 0.6rem; font-weight: 850; line-height: 1.7; text-align: center; text-transform: uppercase; }
.demographic-comparison { display: grid; grid-template-columns: 0.75fr repeat(3, 1fr) 1.25fr; gap: 0.35rem; margin-bottom: 0.85rem; }
.demographic-comparison > * { display: grid; min-height: 5.6rem; place-content: center; padding: 0.58rem; border: 1px solid #c1d3de; border-radius: 0.78rem; background: #fff; color: var(--navy-950); font-size: 0.69rem; line-height: 1.4; text-align: center; overflow-wrap: anywhere; }
.demographic-comparison > :first-child, .demographic-comparison strong { color: #fff; border-color: var(--blue-700); background: var(--blue-700); font-weight: 900; }
.demographic-needs, .demographic-policy-chain { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.5rem; margin-bottom: 0.85rem; }
.demographic-needs > *, .demographic-policy-chain > * { display: grid; min-height: 5rem; place-content: center; padding: 0.65rem; border: 1px solid #bfd2d9; border-radius: 0.82rem; background: #fff; color: var(--navy-950); text-align: center; overflow-wrap: anywhere; }
.demographic-needs strong, .demographic-policy-chain strong { color: #fff; border-color: #287d63; background: #287d63; }
.development-lab { background: linear-gradient(145deg, #f7f4eb, #f0f7f4 52%, #eef4fa); }
.indicator-passport { display: grid; grid-template-columns: 0.8fr 1fr 0.8fr 1fr 1.15fr; gap: 0.38rem; margin-bottom: 0.85rem; padding: 0.7rem; border: 1px solid #d6c7a9; border-radius: 1rem; background: linear-gradient(120deg, #fff8e9, #edf6f2); }
.indicator-passport > span { display: grid; gap: 0.35rem; min-height: 6.4rem; align-content: center; padding: 0.7rem; border: 1px solid #d9d4c7; border-radius: 0.75rem; background: #fff; text-align: center; }
.indicator-passport > span:first-child { color: #fff; border-color: var(--orange-700); background: var(--orange-700); }
.indicator-passport small, .trajectory-file small { color: inherit; opacity: 0.72; font-size: 0.58rem; font-weight: 900; letter-spacing: 0.07em; text-transform: uppercase; }
.indicator-passport strong { font-size: 0.72rem; line-height: 1.4; overflow-wrap: anywhere; }
.distribution-stage { display: grid; grid-template-columns: 1fr 1fr; gap: 0.8rem; margin-bottom: 0.85rem; }
.distribution-stage > div { display: flex; gap: 0.35rem; height: 10.5rem; align-items: end; padding: 1rem 0.8rem 2rem; border: 1px solid #c8d7d0; border-radius: 1rem; background: repeating-linear-gradient(to top, #eef4f1 0, #eef4f1 1px, transparent 1px, transparent 2rem), #fff; position: relative; }
.distribution-stage span { display: grid; flex: 1; min-width: 0; height: 4rem; place-content: end center; padding-bottom: 0.35rem; color: #fff; border-radius: 0.4rem 0.4rem 0 0; background: #287d63; font-size: 0.65rem; font-weight: 900; transition: height 180ms ease; }
.distribution-stage > div:nth-child(2) span { background: var(--orange-700); }
.distribution-stage > div:nth-child(2) span:nth-of-type(1) { height: 1.5rem; }
.distribution-stage > div:nth-child(2) span:nth-of-type(2) { height: 2.3rem; }
.distribution-stage > div:nth-child(2) span:nth-of-type(3) { height: 3.1rem; }
.distribution-stage > div:nth-child(2) span:nth-of-type(4) { height: 3.9rem; }
.distribution-stage > div:nth-child(2) span:nth-of-type(5) { height: 8rem; }
.distribution-stage small { position: absolute; right: 0.8rem; bottom: 0.55rem; left: 0.8rem; color: var(--muted); font-size: 0.62rem; font-weight: 900; text-align: center; text-transform: uppercase; }
.scale-tunnel { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; align-items: center; margin-bottom: 0.85rem; padding: 0.8rem; border-radius: 1rem; background: #e7f0ec; }
.scale-tunnel > * { display: grid; min-height: 7.5rem; place-content: center; margin-inline: -0.25rem; padding: 0.55rem; border: 2px solid #fff; border-radius: 50%; color: #fff; background: #365d78; box-shadow: 0 0.45rem 1rem rgba(26, 61, 83, 0.14); font-size: 0.72rem; font-weight: 850; text-align: center; }
.scale-tunnel > :nth-child(2) { min-height: 6.5rem; background: #287d63; }
.scale-tunnel > :nth-child(3) { min-height: 5.5rem; background: #bc7628; }
.scale-tunnel > :nth-child(4) { min-height: 4.6rem; background: #8e4e32; }
.trajectory-file { margin-bottom: 0.85rem; overflow: hidden; border: 1px solid #c7d6cf; border-radius: 1rem; background: #fff; box-shadow: 0 0.65rem 1.4rem rgba(26, 66, 88, 0.09); }
.trajectory-file header { display: grid; grid-template-columns: minmax(7rem, 0.35fr) minmax(0, 1.65fr); gap: 0.7rem; align-items: center; padding: 0.8rem; color: #fff; background: linear-gradient(110deg, #294f69, #287d63); }
.trajectory-file header span { font-size: 1rem; font-weight: 950; }
.trajectory-file header strong { font-size: 0.77rem; line-height: 1.45; }
.trajectory-file > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.55rem; padding: 0.8rem; }
.trajectory-file > div > span { display: grid; gap: 0.3rem; align-content: start; padding: 0.75rem; border-radius: 0.75rem; background: #f2f6f4; }
.trajectory-file > div strong { color: var(--navy-950); font-size: 0.72rem; line-height: 1.45; overflow-wrap: anywhere; }
.strategy-chain, .brief-ribbon { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.38rem; margin-bottom: 0.85rem; }
.strategy-chain > *, .brief-ribbon > * { position: relative; display: grid; min-height: 5.6rem; place-content: center; padding: 0.65rem; border: 1px solid #c8d7d0; border-radius: 0.75rem; background: #fff; color: var(--navy-950); font-size: 0.7rem; font-weight: 850; line-height: 1.42; text-align: center; overflow-wrap: anywhere; }
.strategy-chain > *:not(:last-child)::after, .brief-ribbon > *:not(:last-child)::after { position: absolute; top: 50%; right: -0.3rem; z-index: 2; color: var(--orange-700); content: "→"; font-weight: 950; transform: translate(50%, -50%); }
.strategy-chain strong { color: #fff; border-color: #287d63; background: #287d63; }
.brief-ribbon { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.brief-ribbon > * { min-height: 4.6rem; }
.brief-ribbon strong { color: #fff; border-color: var(--orange-700); background: var(--orange-700); }
.france-inequality-lab { background: linear-gradient(145deg, #f1f7f9, #f4f8f2 55%, #fff7e9); }
.france-balance-console { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.45rem; margin-bottom: 0.85rem; padding: 0.8rem; border-radius: 1rem; background: linear-gradient(110deg, #dfeef4, #e7f1eb); }
.france-balance-console > span { display: grid; gap: 0.35rem; min-height: 6.2rem; place-content: center; padding: 0.65rem; border: 1px solid #bfd1d5; border-radius: 0.78rem; background: #fff; text-align: center; }
.france-balance-console > span:nth-child(3) { color: #fff; border-color: #9d4f3b; background: #9d4f3b; }
.france-balance-console small, .inequality-lenses small { color: inherit; opacity: 0.72; font-size: 0.58rem; font-weight: 900; letter-spacing: 0.05em; text-transform: uppercase; }
.france-balance-console strong { font-size: 0.85rem; }
.age-territory-mosaic { display: grid; grid-template-columns: 0.65fr 1.15fr 1fr 1.2fr; gap: 0.4rem; margin-bottom: 0.85rem; padding: 0.75rem; border-radius: 1rem; background: #e5f0ed; }
.age-territory-mosaic > * { display: grid; min-height: 6rem; place-content: center; padding: 0.65rem; border: 1px solid #c1d3cd; border-radius: 0.78rem; background: #fff; color: var(--navy-950); font-size: 0.72rem; line-height: 1.42; text-align: center; overflow-wrap: anywhere; }
.age-territory-mosaic > :first-child { color: #fff; border-color: var(--blue-700); background: var(--blue-700); font-size: 0.9rem; font-weight: 950; }
.age-territory-mosaic strong { color: #fff; border-color: #287d63; background: #287d63; }
.inequality-lenses { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.42rem; margin-bottom: 0.85rem; }
.inequality-lenses > span { display: grid; gap: 0.35rem; min-height: 6rem; align-content: center; padding: 0.75rem; border: 1px solid #c4d5d7; border-radius: 0.85rem; background: #fff; text-align: center; }
.inequality-lenses > span:nth-child(2) { color: #fff; border-color: #287d63; background: #287d63; }
.inequality-lenses strong { font-size: 0.72rem; line-height: 1.42; overflow-wrap: anywhere; }
.service-catchment { display: grid; grid-template-columns: 1fr 1fr 1.2fr 1fr; gap: 0.38rem; align-items: center; margin-bottom: 0.85rem; padding: 0.85rem; border-radius: 1rem; background: radial-gradient(circle at 58% 50%, #d8ebe4, #edf4f7 56%, #fff8ea); }
.service-catchment > * { display: grid; min-height: 6rem; place-content: center; padding: 0.65rem; border: 2px solid #fff; border-radius: 50%; background: #fff; box-shadow: 0 0.45rem 1rem rgba(33, 74, 91, 0.12); color: var(--navy-950); font-size: 0.69rem; line-height: 1.45; text-align: center; overflow-wrap: anywhere; }
.service-catchment > strong { min-height: 7.2rem; color: #fff; background: #287d63; }
.actor-lever-card { display: grid; grid-template-columns: 0.7fr 1.35fr 0.95fr; gap: 0.45rem; margin-bottom: 0.85rem; }
.actor-lever-card > * { display: grid; min-height: 5.8rem; place-content: center; padding: 0.7rem; border: 1px solid #c4d5d1; border-radius: 0.82rem; background: #fff; color: var(--navy-950); font-size: 0.72rem; line-height: 1.45; text-align: center; overflow-wrap: anywhere; }
.actor-lever-card > :first-child { color: #fff; border-color: var(--blue-700); background: var(--blue-700); font-weight: 900; }
.actor-lever-card strong { color: #fff; border-color: #287d63; background: #287d63; }
.policy-audit-chain { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0.32rem; margin-bottom: 0.85rem; }
.policy-audit-chain > * { position: relative; display: grid; min-height: 5rem; place-content: center; padding: 0.5rem; border: 1px solid #c3d4d0; border-radius: 0.72rem; background: #fff; color: var(--navy-950); font-size: 0.66rem; font-weight: 850; text-align: center; overflow-wrap: anywhere; }
.policy-audit-chain > *:not(:last-child)::after { position: absolute; top: 50%; right: -0.25rem; z-index: 2; color: var(--orange-700); content: "→"; font-weight: 950; transform: translate(50%, -50%); }
.policy-audit-chain strong { color: #fff; border-color: var(--orange-700); background: var(--orange-700); }
.mobility-lab { background: linear-gradient(145deg, #eef6f8, #f1f7f2 58%, #fff5e7); }
.mobility-passport, .door-chain, .corridor-scale, .mobility-impact-ledger { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.38rem; margin-bottom: 0.85rem; }
.mobility-passport > *, .door-chain > *, .corridor-scale > *, .mobility-impact-ledger > * { display: grid; min-height: 5.6rem; place-content: center; padding: 0.62rem; border: 1px solid #c2d4d8; border-radius: 0.78rem; background: #fff; color: var(--navy-950); font-size: 0.69rem; line-height: 1.42; text-align: center; overflow-wrap: anywhere; }
.mobility-passport strong, .door-chain strong, .corridor-scale strong, .mobility-impact-ledger strong { color: #fff; border-color: #287d63; background: #287d63; }
.corridor-scale, .mobility-impact-ledger { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.network-topology { display: grid; grid-template-columns: 1fr 2rem 1.3fr 2rem 1fr; gap: 0.35rem; align-items: center; margin-bottom: 0.85rem; padding: 0.9rem; border-radius: 1rem; background: #e4eff3; }
.network-topology > span, .network-topology > strong { display: grid; min-height: 5rem; place-content: center; padding: 0.65rem; border-radius: 0.8rem; background: #fff; text-align: center; }
.network-topology > strong { color: #fff; background: var(--blue-700); }
.network-topology i { height: 0.3rem; background: var(--orange-600); }
.network-topology small { grid-column: 1 / -1; color: var(--muted); font-weight: 850; text-align: center; }
.mobility-arbitration { display: grid; grid-template-columns: 1fr 1.4fr 0.8fr; gap: 0.45rem; margin-bottom: 0.85rem; }
.mobility-arbitration > * { display: grid; min-height: 5.6rem; place-content: center; padding: 0.7rem; border: 1px solid #c3d5d1; border-radius: 0.82rem; background: #fff; color: var(--navy-950); font-size: 0.72rem; line-height: 1.45; text-align: center; }
.mobility-arbitration strong { color: #fff; border-color: var(--orange-700); background: var(--orange-700); }
.migration-lab { background: linear-gradient(150deg, #f7fbfc, #f1f7f4); }
.migration-status-deck, .migration-measure-console, .migration-effects-ledger { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.42rem; margin-bottom: 0.85rem; }
.migration-status-deck > *, .migration-measure-console > *, .migration-effects-ledger > * { display: grid; min-height: 5.7rem; place-content: center; padding: 0.68rem; border: 1px solid #bdd3d8; border-radius: 0.82rem; background: #fff; color: var(--navy-950); font-size: 0.7rem; line-height: 1.45; text-align: center; overflow-wrap: anywhere; }
.migration-status-deck strong, .migration-measure-console strong, .migration-effects-ledger strong { color: #fff; border-color: #276f70; background: #276f70; }
.migration-causality-web { display: grid; grid-template: "motive outcome constraint" 1fr "resource outcome network" 1fr / 1fr 1.15fr 1fr; gap: 0.48rem; margin-bottom: 0.85rem; }
.migration-causality-web > * { display: grid; min-height: 5.1rem; place-content: center; padding: 0.68rem; border: 1px solid #c5d7d9; border-radius: 50% 50% 0.9rem 0.9rem; background: #fff; font-size: 0.7rem; line-height: 1.42; text-align: center; }
.migration-causality-web > *:nth-child(1) { grid-area: motive; }
.migration-causality-web > *:nth-child(2) { grid-area: resource; }
.migration-causality-web > *:nth-child(3) { grid-area: outcome; border-radius: 50%; color: #fff; background: var(--orange-700); }
.migration-causality-web > *:nth-child(4) { grid-area: constraint; }
.migration-causality-web > *:nth-child(5) { grid-area: network; }
.migration-route-map { display: grid; grid-template-columns: 1fr 1.4rem 1fr 1.4rem 1.15fr 1.4rem 1fr 1.4rem 1fr; gap: 0.22rem; align-items: center; margin-bottom: 0.85rem; }
.migration-route-map > span, .migration-route-map > strong { display: grid; min-height: 5.7rem; place-content: center; padding: 0.58rem; border: 1px solid #c3d6d8; border-radius: 0.8rem; background: #fff; font-size: 0.67rem; line-height: 1.42; text-align: center; overflow-wrap: anywhere; }
.migration-route-map > strong { color: #fff; border-color: #276f70; background: #276f70; }
.migration-route-map i { height: 0.22rem; border-radius: 1rem; background: linear-gradient(90deg, #d6842c, #276f70); }
.migration-claim-strip { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0.34rem; margin-bottom: 0.85rem; }
.migration-claim-strip > * { position: relative; display: grid; min-height: 5.6rem; place-content: center; padding: 0.58rem; border: 1px solid #c4d6d8; border-radius: 0.75rem; background: #fff; font-size: 0.65rem; line-height: 1.42; text-align: center; overflow-wrap: anywhere; }
.migration-claim-strip > *:not(:last-child)::after { position: absolute; top: 50%; right: -0.33rem; z-index: 1; width: 0.34rem; height: 0.12rem; background: var(--orange-600); content: ""; }
.migration-claim-strip strong { color: #fff; border-color: #276f70; background: #276f70; }
.tourism-lab { background: linear-gradient(145deg, #fffaf3, #f3f9f8); }
.tourism-passport { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.42rem; margin-bottom: 0.85rem; }
.tourism-passport > *, .tourism-indicator-board > *, .tourism-value-chain > *, .tourism-transition-budget > * { display: grid; min-height: 5.5rem; place-content: center; padding: 0.65rem; border: 1px solid #d5c9b3; border-radius: 0.82rem; background: #fff; color: var(--navy-950); font-size: 0.69rem; line-height: 1.43; text-align: center; overflow-wrap: anywhere; }
.tourism-passport strong, .tourism-indicator-board strong, .tourism-value-chain strong, .tourism-transition-budget strong { color: #fff; border-color: #bb6b2a; background: #bb6b2a; }
.tourism-indicator-board { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.42rem; margin-bottom: 0.85rem; }
.tourism-system-map { display: grid; grid-template-columns: 1fr 1.1rem 1fr 1.1rem 1fr 1.1rem 1fr; gap: 0.25rem; align-items: center; margin-bottom: 0.85rem; }
.tourism-system-map > span, .tourism-system-map > strong { display: grid; min-height: 5.7rem; place-content: center; padding: 0.6rem; border: 1px solid #c7d5d3; border-radius: 0.82rem; background: #fff; font-size: 0.68rem; line-height: 1.43; text-align: center; }
.tourism-system-map > strong { color: #fff; border-color: #287d63; background: #287d63; }
.tourism-system-map i { height: 0.22rem; border-radius: 1rem; background: linear-gradient(90deg, #d6852d, #287d63); }
.seasonality-pulse { display: flex; height: 8rem; align-items: end; gap: 0.28rem; padding: 0.8rem 0.8rem 0; border: 1px solid #c7d9dc; border-radius: 1rem 1rem 0.35rem 0.35rem; background: linear-gradient(#f7fbfc 0 68%, #dcebed 68%); }
.seasonality-pulse i { flex: 1; height: var(--h); min-height: 0.45rem; border-radius: 0.35rem 0.35rem 0 0; background: linear-gradient(#e8a154, #bd6928); }
.seasonality-diagnosis { display: grid; grid-template-columns: 0.8fr 1.4fr 1fr; gap: 0.4rem; margin: 0.42rem 0 0.85rem; }
.seasonality-diagnosis > * { display: grid; min-height: 4.6rem; place-content: center; padding: 0.6rem; border: 1px solid #d4c6b1; border-radius: 0.75rem; background: #fff; font-size: 0.69rem; text-align: center; }
.seasonality-diagnosis strong { color: #fff; border-color: #bb6b2a; background: #bb6b2a; }
.tourism-value-chain, .tourism-transition-budget { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.38rem; margin-bottom: 0.85rem; }
.tourism-value-chain > *:not(:last-child), .tourism-transition-budget > *:not(:last-child) { position: relative; }
.tourism-value-chain > *:not(:last-child)::after { position: absolute; top: 50%; right: -0.4rem; z-index: 1; width: 0.4rem; height: 0.14rem; background: #287d63; content: ""; }
.southern-africa-lab { background: linear-gradient(145deg, #fbf8ee, #f1f7ef); }
.southern-scope-rings { position: relative; min-height: 14rem; margin-bottom: 0.85rem; }
.southern-scope-rings > * { position: absolute; display: grid; place-content: start center; padding: 0.75rem; border: 2px solid #7c9a62; border-radius: 50%; background: rgba(255, 255, 255, 0.78); color: var(--navy-950); font-size: 0.7rem; text-align: center; }
.southern-scope-rings > span:first-child { inset: 0 4%; }
.southern-scope-rings > strong { inset: 2.7rem 20%; color: #fff; border-color: #bd6c2a; background: rgba(189, 108, 42, 0.88); }
.southern-scope-rings > span:last-child { inset: 5.4rem 36%; place-content: center; border-color: #fff; background: #287d63; color: #fff; }
.southern-transect { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; margin-bottom: 0.85rem; overflow: hidden; border: 1px solid #bdcdbb; border-radius: 1rem; }
.southern-transect > * { display: grid; min-height: 7rem; place-content: center; padding: 0.55rem; color: #fff; font-size: 0.67rem; line-height: 1.4; text-align: center; }
.southern-transect > *:nth-child(1) { background: #2d6f85; }
.southern-transect > *:nth-child(2) { background: #bd7b35; }
.southern-transect > *:nth-child(3) { background: #9f8c47; }
.southern-transect > *:nth-child(4) { background: #596f4b; }
.southern-transect > *:nth-child(5) { background: #357d66; }
.southern-water-basin { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.42rem; margin-bottom: 0.85rem; }
.southern-water-basin > *, .southern-extractive-chain > *, .southern-arbitration-grid > * { display: grid; min-height: 5.6rem; place-content: center; padding: 0.65rem; border: 1px solid #bfd2cd; border-radius: 0.8rem; background: #fff; color: var(--navy-950); font-size: 0.68rem; line-height: 1.43; text-align: center; overflow-wrap: anywhere; }
.southern-water-basin strong, .southern-extractive-chain strong, .southern-arbitration-grid strong { color: #fff; border-color: #287d63; background: #287d63; }
.southern-extractive-chain { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0.32rem; margin-bottom: 0.85rem; }
.southern-extractive-chain > *:not(:last-child) { position: relative; }
.southern-extractive-chain > *:not(:last-child)::after { position: absolute; top: 50%; right: -0.34rem; z-index: 1; width: 0.34rem; height: 0.13rem; background: #bd6c2a; content: ""; }
.southern-conservation-mosaic { display: grid; grid-template-columns: 1fr 0.9fr 1fr; gap: 0.42rem; margin-bottom: 0.85rem; }
.southern-conservation-mosaic > * { display: grid; min-height: 5.8rem; place-content: center; padding: 0.65rem; border: 1px solid #b8cfae; border-radius: 1rem; background: #fff; font-size: 0.69rem; line-height: 1.43; text-align: center; }
.southern-conservation-mosaic strong { color: #fff; border-color: #507a43; background: #507a43; }
.southern-conservation-mosaic > *:last-child { grid-column: 1 / -1; min-height: 4.3rem; border-style: dashed; }
.southern-arbitration-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.38rem; margin-bottom: 0.85rem; }
.mobility-atlas-lab { position: relative; overflow: hidden; background: linear-gradient(145deg, #f4f8f6, #fff8ec); }
.mobility-atlas-lab::before { position: absolute; top: -4rem; right: -4rem; width: 12rem; height: 12rem; border: 1px dashed rgba(40, 125, 99, 0.2); border-radius: 50%; box-shadow: 0 0 0 2.2rem rgba(40, 125, 99, 0.035), 0 0 0 4.4rem rgba(189, 108, 42, 0.028); content: ""; pointer-events: none; }
.mobility-atlas-lab > * { position: relative; }
.mobility-passport-lab .mobility-passport { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mobility-passport-lab .mobility-passport > * { min-height: 4.8rem; border-style: dashed; }
.mobility-passport-lab .mobility-passport strong { border-style: solid; background: linear-gradient(135deg, #1e6171, #287d63); }
.mobility-route { display: grid; grid-template-columns: 1fr 1.2rem 1fr 1.2rem 1fr 1.2rem 1fr; align-items: center; gap: 0.2rem; margin-bottom: 0.85rem; padding: 1rem 0.65rem; border-radius: 1rem; background: linear-gradient(145deg, rgba(255,255,255,0.88), rgba(232,242,238,0.92)); box-shadow: inset 0 0 0 1px #bdd3cc; }
.mobility-route > span, .mobility-route > strong { display: grid; min-height: 5.4rem; place-content: center; padding: 0.55rem; border: 1px solid #afc9c0; border-radius: 50%; background: #fff; color: var(--navy-950); font-size: 0.67rem; line-height: 1.4; text-align: center; }
.mobility-route > strong { color: #fff; border-color: #ba6a29; background: #ba6a29; }
.mobility-route i { height: 0.18rem; background: repeating-linear-gradient(90deg, #287d63 0 0.45rem, transparent 0.45rem 0.7rem); }
.multilocal-places { display: grid; grid-template-columns: 1fr 0.8fr 1fr; gap: 0.55rem; align-items: stretch; margin-bottom: 0.85rem; }
.multilocal-places article { display: grid; gap: 0.45rem; min-height: 8rem; align-content: center; padding: 0.8rem; border: 1px solid #b9d0c8; border-radius: 1.1rem; background: #fff; text-align: center; }
.multilocal-places article > span { color: #1f6b5b; font-size: 0.72rem; font-weight: 850; }
.multilocal-places article > strong { color: var(--navy-950); font-size: 0.69rem; line-height: 1.48; }
.multilocal-loop { display: grid; place-content: center; gap: 0.25rem; color: #8a4c20; text-align: center; }
.multilocal-loop span { font-size: 0.66rem; font-weight: 800; }
.multilocal-loop b { font-size: 2.7rem; line-height: 1; }
.arrival-neighborhood { display: grid; grid-template: "land home route" auto "services work route" auto / 1fr 1fr 1.1fr; gap: 0.42rem; margin-bottom: 0.85rem; }
.arrival-neighborhood > * { display: grid; min-height: 4.8rem; place-content: center; padding: 0.65rem; border: 1px solid #c3d5cd; border-radius: 0.8rem; background: #fff; color: var(--navy-950); font-size: 0.68rem; line-height: 1.43; text-align: center; }
.arrival-neighborhood > *:nth-child(1) { grid-area: land; }
.arrival-neighborhood > *:nth-child(2) { grid-area: home; }
.arrival-neighborhood > *:nth-child(3) { grid-area: route; color: #fff; border-color: #287d63; background: linear-gradient(180deg, #287d63, #1f6370); }
.arrival-neighborhood > *:nth-child(4) { grid-area: services; }
.arrival-neighborhood > *:nth-child(5) { grid-area: work; }
.rights-checkpoints { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.32rem; margin-bottom: 0.85rem; padding: 0.7rem; border: 1px solid #d4c6af; border-radius: 1rem; background: #fffdf8; }
.rights-checkpoints > * { position: relative; display: grid; min-height: 5.2rem; place-content: center; padding: 0.55rem; border: 1px solid #cbbd9f; border-radius: 0.65rem 0.65rem 1.2rem 1.2rem; background: #fff; color: var(--navy-950); font-size: 0.67rem; text-align: center; }
.rights-checkpoints > *:not(:last-child)::after { position: absolute; top: 50%; right: -0.34rem; z-index: 1; width: 0.34rem; height: 0.16rem; background: #b66b2d; content: ""; }
.rights-checkpoints strong { color: #fff; border-color: #1f6970; background: #1f6970; }
.mobility-audit-track { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.4rem; margin-bottom: 0.85rem; counter-reset: audit; }
.mobility-audit-track > * { display: grid; min-height: 4.9rem; place-content: center; padding: 0.65rem; border: 1px solid #bcd0c9; border-radius: 0.8rem; background: #fff; color: var(--navy-950); font-size: 0.67rem; line-height: 1.42; text-align: center; }
.mobility-audit-track strong { color: #fff; border-color: #b96a29; background: #b96a29; }
.transition-control-lab { position: relative; overflow: hidden; border-color: #263f54; background: linear-gradient(145deg, #eef4f5, #fff9ed); box-shadow: 0 14px 34px rgba(22, 50, 68, 0.12); }
.transition-control-lab h3::before { display: inline-block; width: 0.7rem; height: 0.7rem; margin-right: 0.5rem; border: 2px solid #fff; border-radius: 50%; background: #2c8b70; box-shadow: 0 0 0 2px #2c8b70; content: ""; }
.transition-vector { display: grid; grid-template: "demography urban production" auto "energy urban environment" auto / 1fr 1.05fr 1fr; gap: 0.42rem; margin-bottom: 0.85rem; }
.transition-vector > * { display: grid; min-height: 4.8rem; place-content: center; padding: 0.65rem; border: 1px solid #b7ccd0; border-radius: 0.8rem; background: #fff; color: var(--navy-950); font-size: 0.68rem; line-height: 1.43; text-align: center; }
.transition-vector > *:nth-child(1) { grid-area: demography; }
.transition-vector > *:nth-child(2) { grid-area: production; }
.transition-vector > *:nth-child(3) { grid-area: urban; color: #fff; border-color: #1d6170; background: linear-gradient(180deg, #1f6f72, #1e4e66); }
.transition-vector > *:nth-child(4) { grid-area: energy; }
.transition-vector > *:nth-child(5) { grid-area: environment; }
.development-prism { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.36rem; margin-bottom: 0.85rem; padding: 0.85rem; clip-path: polygon(3% 0, 97% 0, 100% 50%, 97% 100%, 3% 100%, 0 50%); background: #193e55; }
.development-prism > * { display: grid; min-height: 5.5rem; place-content: center; padding: 0.55rem; border-radius: 0.65rem; background: #fff; color: var(--navy-950); font-size: 0.66rem; line-height: 1.4; text-align: center; }
.development-prism strong { color: #fff; background: #b86a2b; }
.demographic-window { display: grid; grid-template-columns: 0.8fr 1.2fr 1fr 0.8fr; align-items: end; gap: 0.4rem; margin-bottom: 0.85rem; padding: 1rem 0.8rem 0.75rem; border-bottom: 0.35rem solid #1f6870; border-radius: 1rem 1rem 0.35rem 0.35rem; background: linear-gradient(#f9fcfc, #e3efed); }
.demographic-window > * { display: grid; min-height: 4.8rem; place-content: center; padding: 0.55rem; border: 1px solid #b6cec8; border-radius: 2rem 2rem 0.55rem 0.55rem; background: #fff; color: var(--navy-950); font-size: 0.66rem; line-height: 1.42; text-align: center; }
.demographic-window strong { min-height: 8rem; color: #fff; border-color: #b76a2c; background: linear-gradient(#d9863b, #a95524); }
.structural-value-chain, .energy-service-circuit { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.32rem; margin-bottom: 0.85rem; }
.structural-value-chain > *, .energy-service-circuit > * { position: relative; display: grid; min-height: 5.4rem; place-content: center; padding: 0.6rem; border: 1px solid #bacdca; border-radius: 0.72rem; background: #fff; color: var(--navy-950); font-size: 0.66rem; line-height: 1.42; text-align: center; }
.structural-value-chain > *:not(:last-child)::after, .energy-service-circuit > *:not(:last-child)::after { position: absolute; top: 50%; right: -0.34rem; z-index: 1; width: 0.34rem; height: 0.16rem; background: #b86a2b; content: ""; }
.structural-value-chain strong, .energy-service-circuit strong { color: #fff; border-color: #1f6870; background: #1f6870; }
.energy-service-circuit { padding: 0.7rem; border: 1px solid #b8ced0; border-radius: 1rem; background: repeating-linear-gradient(0deg, rgba(30, 90, 104, 0.04) 0 1px, transparent 1px 1.2rem), #fafdfe; }
.transition-portfolio { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.42rem; margin-bottom: 0.85rem; padding: 0.75rem; border: 1px solid #b8ccc9; border-radius: 1rem; background: #f8fbfa; }
.transition-portfolio > * { display: grid; min-height: 4.8rem; place-content: center; padding: 0.6rem; border: 1px solid #c1d2cf; border-radius: 0.75rem; background: #fff; color: var(--navy-950); font-size: 0.67rem; line-height: 1.42; text-align: center; }
.transition-portfolio strong { color: #fff; border-color: #b96a2a; background: #b96a2a; }
.real-number-lab { position: relative; overflow: hidden; border-color: #c4c0df; background: linear-gradient(145deg, #f8f7ff, #f0f7fb); }
.number-set-nesting { position: relative; min-height: 15rem; margin-bottom: 0.85rem; }
.number-set-nesting > * { position: absolute; display: grid; align-content: start; justify-content: center; padding-top: 0.4rem; border: 2px solid #6c67a8; border-radius: 1.2rem; background: rgba(255,255,255,0.5); color: #302d67; font-size: 0.72rem; text-align: center; }
.number-set-nesting > *:nth-child(1) { inset: 0; }
.number-set-nesting > *:nth-child(2) { inset: 2.1rem 8%; border-color: #377d91; }
.number-set-nesting > *:nth-child(3) { inset: 4.2rem 17%; border-color: #31826c; }
.number-set-nesting > *:nth-child(4) { inset: 6.3rem 27%; border-color: #c47a2f; }
.number-set-nesting > *:nth-child(5) { inset: 8.4rem 38% 0; place-content: center; color: #fff; border-color: #9b4e36; background: #9b4e36; }
.proof-track { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.38rem; margin-bottom: 0.85rem; }
.proof-track > * { position: relative; display: grid; min-height: 5.8rem; place-content: center; padding: 0.65rem; border: 1px solid #c9c6df; border-radius: 0.8rem; background: #fff; color: var(--navy-950); font-size: 0.67rem; line-height: 1.43; text-align: center; }
.proof-track > *:not(:last-child)::after { position: absolute; top: 50%; right: -0.4rem; z-index: 1; width: 0.4rem; height: 0.16rem; background: #726dae; content: ""; }
.proof-track strong { color: #fff; border-color: #a24f39; background: #a24f39; }
.interval-registers { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.42rem; margin-bottom: 0.85rem; }
.interval-registers > * { display: grid; min-height: 5.4rem; place-content: center; padding: 0.65rem; border: 1px solid #c1cadb; border-radius: 0.75rem; background: #fff; color: var(--navy-950); font-size: 0.69rem; line-height: 1.45; text-align: center; }
.interval-registers strong { color: #fff; border-color: #397486; background: #397486; font-size: 0.82rem; }
.interval-registers > *:last-child { color: #a04f34; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 1rem; font-weight: 850; }
.interval-operation-lines { display: grid; gap: 0.38rem; margin-bottom: 0.85rem; padding: 0.8rem; border: 1px solid #c9c7df; border-radius: 1rem; background: #fff; }
.interval-operation-lines > * { padding: 0.75rem; border-radius: 0.65rem; background: #f0f3fa; color: #2f4160; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.72rem; text-align: center; }
.interval-operation-lines strong { color: #fff; background: #6a65a4; }
.distance-ruler { position: relative; display: grid; grid-template-columns: 1fr 1.1fr 1fr; gap: 0.4rem; align-items: center; margin-bottom: 0.85rem; padding: 1.3rem 0.8rem; border-radius: 1rem; background: linear-gradient(#f9fbfd 0 49%, #6b67a7 49% 51%, #f9fbfd 51%); }
.distance-ruler > * { display: grid; min-height: 4.8rem; place-content: center; padding: 0.6rem; border: 1px solid #c8c6df; border-radius: 50%; background: #fff; color: var(--navy-950); font-size: 0.68rem; text-align: center; }
.distance-ruler strong { color: #fff; border-color: #a95537; background: #a95537; }
.bracketing-sweep { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.38rem; margin-bottom: 0.85rem; padding: 0.75rem; border: 1px solid #c5c5de; border-radius: 1rem; background: repeating-linear-gradient(90deg, rgba(80,83,145,.07) 0 1px, transparent 1px 2rem), #fff; }
.bracketing-sweep > * { display: grid; min-height: 5.2rem; place-content: center; padding: 0.6rem; border: 1px solid #d0cee2; border-radius: 0.75rem; background: rgba(255,255,255,0.94); color: var(--navy-950); font-size: 0.67rem; line-height: 1.43; text-align: center; }
.bracketing-sweep strong { color: #fff; border-color: #397486; background: #397486; }
.arithmetic-lab { position: relative; overflow: hidden; border-color: #b9ccca; background: repeating-linear-gradient(0deg, rgba(31, 104, 112, 0.055) 0 1px, transparent 1px 1.55rem), repeating-linear-gradient(90deg, rgba(31, 104, 112, 0.045) 0 1px, transparent 1px 1.55rem), linear-gradient(145deg, #f8fcfb, #fff9ef); }
.arithmetic-lab h3::before { display: inline-grid; width: 1.55rem; height: 1.55rem; margin-right: 0.5rem; place-content: center; color: #fff; border-radius: 0.4rem; background: #246e70; content: "k"; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.75rem; vertical-align: middle; }
.arithmetic-equation { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 0.42rem; align-items: center; margin-bottom: 0.85rem; padding: 1rem; border: 1px solid #abc6c3; border-radius: 1rem; background: rgba(255,255,255,0.94); }
.arithmetic-equation > * { display: grid; min-height: 4.4rem; place-content: center; padding: 0.6rem; color: var(--navy-950); border-radius: 0.75rem; background: #e7f1ef; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: clamp(0.82rem, 2vw, 1.08rem); text-align: center; }
.arithmetic-equation strong, .arithmetic-equation b { min-height: auto; padding: 0.2rem; background: transparent; }
.arithmetic-equation > span:last-child { color: #fff; background: #b7662b; }
.euclidean-strip, .prime-gates, .parity-forms, .proof-workbench, .fraction-audit { display: grid; gap: 0.4rem; margin-bottom: 0.85rem; padding: 0.75rem; border: 1px solid #b8ccc9; border-radius: 1rem; background: rgba(255,255,255,0.92); }
.euclidean-strip { grid-template-columns: 0.7fr 1.6fr 0.7fr; }
.prime-gates { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.parity-forms { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.proof-workbench, .fraction-audit { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.euclidean-strip > *, .prime-gates > *, .parity-forms > *, .proof-workbench > *, .fraction-audit > * { display: grid; min-height: 4.9rem; place-content: center; padding: 0.6rem; color: var(--navy-950); border: 1px solid #c3d2d0; border-radius: 0.72rem; background: #fff; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.68rem; line-height: 1.42; text-align: center; }
.euclidean-strip strong, .prime-gates strong, .parity-forms strong, .proof-workbench strong, .fraction-audit strong { color: #fff; border-color: #246e70; background: #246e70; }
.euclidean-strip > span:last-child, .prime-gates > span:last-child, .fraction-audit > span:last-child { color: #8d411f; border-color: #dcad87; background: #fff4e9; font-weight: 850; }
.proof-workbench > * { position: relative; }
.proof-workbench > *:not(:last-child)::after { position: absolute; top: 50%; right: -0.42rem; z-index: 1; width: 0.42rem; height: 0.14rem; background: #b7662b; content: ""; }
.algebra-studio { position: relative; overflow: hidden; color: #eefaf5; border-color: #244f50; background: radial-gradient(circle at 88% 12%, rgba(220,170,74,.14), transparent 24%), repeating-linear-gradient(0deg, rgba(255,255,255,.035) 0 1px, transparent 1px 1.6rem), linear-gradient(145deg, #173f40, #102f37); box-shadow: 0 15px 34px rgba(15, 47, 52, 0.2); }
.algebra-studio h3, .algebra-studio .economy-lab__result { color: #f8fbf8; }
.algebra-studio h3::before { display: inline-grid; width: 1.65rem; height: 1.65rem; margin-right: 0.48rem; place-content: center; color: #173f40; border-radius: 50%; background: #e6bd67; content: "x"; font-family: Georgia, serif; font-size: 0.9rem; font-style: italic; vertical-align: middle; }
.algebra-studio .segmented-control { border-color: rgba(232,245,241,.18); background: rgba(7,30,34,.45); }
.algebra-studio .segmented-control button { color: #dcebe7; }
.algebra-studio .segmented-control button.is-active { color: #173f40; background: #e6bd67; }
.algebra-studio .impact-grid article { border-color: rgba(222,240,235,.2); background: rgba(255,255,255,.94); }
.domain-passport, .expression-switchyard, .identity-bench, .formula-machine, .comparison-scale, .solution-audit-line { display: grid; gap: 0.42rem; margin-bottom: 0.9rem; padding: 0.78rem; border: 1px solid rgba(223,241,235,.25); border-radius: 1rem; background: rgba(5,26,30,.55); }
.domain-passport, .expression-switchyard, .identity-bench, .formula-machine, .comparison-scale { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.solution-audit-line { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.domain-passport > *, .expression-switchyard > *, .identity-bench > *, .formula-machine > *, .comparison-scale > *, .solution-audit-line > * { position: relative; display: grid; min-height: 5.5rem; place-content: center; padding: 0.65rem; color: #173f40; border: 1px solid #d8e2dc; border-radius: 0.72rem; background: #f7f4e8; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.68rem; line-height: 1.43; text-align: center; }
.domain-passport > *:not(:last-child)::after, .expression-switchyard > *:not(:last-child)::after, .identity-bench > *:not(:last-child)::after, .formula-machine > *:not(:last-child)::after, .comparison-scale > *:not(:last-child)::after, .solution-audit-line > *:not(:last-child)::after { position: absolute; top: 50%; right: -0.43rem; z-index: 1; width: 0.43rem; height: 0.15rem; background: #e6bd67; content: ""; }
.domain-passport strong, .expression-switchyard strong, .identity-bench strong, .formula-machine strong, .comparison-scale strong, .solution-audit-line strong { color: #fff; border-color: #b65f32; background: #b65f32; }
.domain-passport > span:nth-child(2), .formula-machine > span:nth-child(3), .solution-audit-line > span:nth-child(2) { color: #ffe9af; border-color: #476d68; background: #315b58; }
.identity-bench > span:nth-child(2) { color: #153c3d; background: #e7d18f; }
.comparison-scale > span:nth-child(2) { border-style: dashed; }
.solution-audit-line > span:last-child { color: #16604e; border-color: #9ac4b4; background: #effaf5; font-weight: 850; }
.geometry-workshop { position: relative; overflow: hidden; border-color: #9db6cb; background: repeating-linear-gradient(0deg, rgba(45,94,132,.075) 0 1px, transparent 1px 1.35rem), repeating-linear-gradient(90deg, rgba(45,94,132,.06) 0 1px, transparent 1px 1.35rem), linear-gradient(145deg, #f8fbfe, #eef5f8); box-shadow: 0 14px 32px rgba(31, 74, 105, 0.14); }
.geometry-workshop h3::before { display: inline-block; width: 0; height: 0; margin-right: 0.55rem; border-right: 0.7rem solid transparent; border-bottom: 1.2rem solid #d97832; border-left: 0.7rem solid transparent; content: ""; vertical-align: -0.1rem; }
.geometry-evidence-board, .geometry-method-compass, .projection-stage, .coordinate-console, .measure-mosaic, .geometry-proof-chain { display: grid; gap: 0.42rem; margin-bottom: 0.88rem; padding: 0.76rem; border: 1px solid #acc2d2; border-radius: 1rem; background: rgba(255,255,255,.84); }
.geometry-evidence-board, .projection-stage, .coordinate-console, .measure-mosaic, .geometry-proof-chain { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.geometry-method-compass { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.geometry-evidence-board > *, .geometry-method-compass > *, .projection-stage > *, .coordinate-console > *, .measure-mosaic > *, .geometry-proof-chain > * { position: relative; display: grid; min-height: 5.3rem; place-content: center; padding: 0.62rem; color: var(--navy-950); border: 1px solid #bfd0dc; border-radius: 0.68rem; background: #fff; font-size: 0.67rem; line-height: 1.43; text-align: center; }
.geometry-evidence-board > *:not(:last-child)::after, .geometry-method-compass > *:not(:last-child)::after, .projection-stage > *:not(:last-child)::after, .coordinate-console > *:not(:last-child)::after, .measure-mosaic > *:not(:last-child)::after, .geometry-proof-chain > *:not(:last-child)::after { position: absolute; top: 50%; right: -0.43rem; z-index: 1; width: 0.43rem; height: 1px; background: #d97832; content: ""; }
.geometry-evidence-board strong, .geometry-method-compass strong, .projection-stage strong, .coordinate-console strong, .measure-mosaic strong, .geometry-proof-chain strong { color: #fff; border-color: #2d6d8a; background: #2d6d8a; }
.geometry-evidence-board > span:last-child, .coordinate-console > span:last-child, .measure-mosaic > span:last-child, .geometry-proof-chain > span:last-child { color: #8b431f; border-style: dashed; border-color: #dca67e; background: #fff8ee; font-weight: 800; }
.projection-stage { padding-top: 1.1rem; background: linear-gradient(168deg, transparent 0 49%, rgba(45,109,138,.14) 49.3% 50%, transparent 50.3%), rgba(255,255,255,.86); }
.coordinate-console { background: repeating-linear-gradient(0deg, rgba(45,109,138,.08) 0 1px, transparent 1px 1rem), repeating-linear-gradient(90deg, rgba(45,109,138,.08) 0 1px, transparent 1px 1rem), #fff; }
.vector-field-lab { position: relative; overflow: hidden; color: #eafaff; border-color: #315a79; background: radial-gradient(circle at 84% 14%, rgba(83,224,216,.2), transparent 26%), repeating-linear-gradient(0deg, rgba(127,203,221,.08) 0 1px, transparent 1px 1.3rem), repeating-linear-gradient(90deg, rgba(127,203,221,.08) 0 1px, transparent 1px 1.3rem), linear-gradient(145deg, #071c31, #123b55); box-shadow: 0 16px 34px rgba(4,27,47,.22); }
.vector-field-lab h3 { color: #fff; }
.vector-field-lab h3::before { display: inline-block; width: 1.25rem; height: .18rem; margin-right: .48rem; background: #5ce1d6; box-shadow: .9rem 0 0 -.02rem #5ce1d6; content: ""; transform: rotate(-28deg); vertical-align: .22rem; }
.vector-field-lab h3::after { display: inline-block; width: 0; height: 0; margin-left: -.12rem; border-top: .3rem solid transparent; border-bottom: .3rem solid transparent; border-left: .48rem solid #5ce1d6; content: ""; transform: rotate(-28deg); vertical-align: .07rem; }
.vector-field-lab .impact-grid article { border-color: rgba(130,220,225,.24); background: rgba(255,255,255,.96); }
.vector-translation-board, .vector-route-chain, .vector-coordinate-grid, .vector-scalar-dial, .vector-metric-panel, .vector-determinant-board { display: grid; gap: .44rem; margin-bottom: .9rem; padding: .78rem; border: 1px solid rgba(115,213,219,.28); border-radius: 1rem; background: rgba(2,18,33,.52); }
.vector-translation-board, .vector-coordinate-grid, .vector-scalar-dial, .vector-metric-panel, .vector-determinant-board { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.vector-route-chain { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.vector-translation-board > *, .vector-route-chain > *, .vector-coordinate-grid > *, .vector-scalar-dial > *, .vector-metric-panel > *, .vector-determinant-board > * { position: relative; display: grid; min-height: 5.4rem; place-content: center; padding: .64rem; color: #123247; border: 1px solid #b6d8df; border-radius: .7rem; background: #f4fbfb; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .68rem; line-height: 1.44; text-align: center; }
.vector-translation-board > *:not(:last-child)::after, .vector-route-chain > *:not(:last-child)::after, .vector-coordinate-grid > *:not(:last-child)::after, .vector-scalar-dial > *:not(:last-child)::after, .vector-metric-panel > *:not(:last-child)::after, .vector-determinant-board > *:not(:last-child)::after { position: absolute; top: 50%; right: -.44rem; z-index: 1; width: .46rem; height: .16rem; border-radius: 1rem; background: #ed9c56; content: ""; }
.vector-translation-board > *:not(:last-child)::before, .vector-route-chain > *:not(:last-child)::before, .vector-coordinate-grid > *:not(:last-child)::before, .vector-scalar-dial > *:not(:last-child)::before, .vector-metric-panel > *:not(:last-child)::before, .vector-determinant-board > *:not(:last-child)::before { position: absolute; top: calc(50% - .18rem); right: -.45rem; z-index: 2; width: 0; height: 0; border-top: .25rem solid transparent; border-bottom: .25rem solid transparent; border-left: .35rem solid #ed9c56; content: ""; }
.vector-translation-board strong, .vector-route-chain strong, .vector-coordinate-grid strong, .vector-scalar-dial strong, .vector-metric-panel strong, .vector-determinant-board strong { color: #062d38; border-color: #57d8cf; background: #77eee1; }
.vector-coordinate-grid { background: repeating-linear-gradient(0deg, rgba(93,221,216,.12) 0 1px, transparent 1px 1rem), repeating-linear-gradient(90deg, rgba(93,221,216,.12) 0 1px, transparent 1px 1rem), rgba(2,18,33,.62); }
.vector-determinant-board strong { color: #fff; border-color: #ca6b58; background: #aa4c46; }
.analytic-line-lab { position: relative; overflow: hidden; border-color: #a8bdd0; background: repeating-linear-gradient(0deg, rgba(37,91,137,.075) 0 1px, transparent 1px 1.15rem), repeating-linear-gradient(90deg, rgba(37,91,137,.075) 0 1px, transparent 1px 1.15rem), linear-gradient(145deg, #fcfdff, #edf4fa); box-shadow: 0 15px 33px rgba(25,63,97,.15); }
.analytic-line-lab::before { position: absolute; top: 1.7rem; right: -3rem; width: 12rem; height: .24rem; border-radius: 1rem; background: linear-gradient(90deg, #d3564d, #e9974f); box-shadow: 0 0 0 .3rem rgba(211,86,77,.08); content: ""; transform: rotate(-27deg); }
.analytic-line-lab h3 { position: relative; z-index: 1; }
.analytic-line-lab h3::before { display: inline-grid; width: 1.35rem; height: 1.35rem; margin-right: .48rem; place-content: center; color: #fff; border-radius: 50%; background: #265f8d; content: "d"; font-family: Georgia, serif; font-size: .76rem; font-style: italic; vertical-align: .08rem; }
.line-equation-scope, .line-duality-board, .line-form-switch, .line-construction-chain, .line-graph-board, .line-position-board { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .43rem; margin-bottom: .9rem; padding: .78rem; border: 1px solid #b9cad9; border-radius: 1rem; background: rgba(255,255,255,.88); }
.line-equation-scope > *, .line-duality-board > *, .line-form-switch > *, .line-construction-chain > *, .line-graph-board > *, .line-position-board > * { position: relative; display: grid; min-height: 5.35rem; place-content: center; padding: .64rem; color: #18384f; border: 1px solid #c4d2dd; border-radius: .7rem; background: #fff; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .67rem; line-height: 1.44; text-align: center; }
.line-equation-scope > *:not(:last-child)::after, .line-duality-board > *:not(:last-child)::after, .line-form-switch > *:not(:last-child)::after, .line-construction-chain > *:not(:last-child)::after, .line-graph-board > *:not(:last-child)::after, .line-position-board > *:not(:last-child)::after { position: absolute; top: 50%; right: -.43rem; z-index: 2; width: .43rem; height: 1px; background: #d3564d; content: ""; }
.line-equation-scope strong, .line-duality-board strong, .line-form-switch strong, .line-construction-chain strong, .line-graph-board strong, .line-position-board strong { color: #fff; border-color: #265f8d; background: #265f8d; }
.line-equation-scope > span:nth-child(4), .line-construction-chain > span:nth-child(4), .line-position-board > span:nth-child(4) { color: #7b321f; border-style: dashed; border-color: #dfaa86; background: #fff7ee; }
.line-duality-board { background: linear-gradient(90deg, rgba(211,86,77,.055) 0 49.8%, rgba(38,95,141,.07) 50.2% 100%), rgba(255,255,255,.9); }
.line-graph-board { background: repeating-linear-gradient(0deg, rgba(38,95,141,.09) 0 1px, transparent 1px .9rem), repeating-linear-gradient(90deg, rgba(38,95,141,.09) 0 1px, transparent 1px .9rem), #fff; }
.analytic-line-lab .impact-grid article { border-color: #c1d0dc; background: rgba(255,255,255,.97); }
.function-atlas-lab { position: relative; overflow: hidden; border-color: #baa9d0; background: radial-gradient(circle at 88% 12%, rgba(228,144,92,.18), transparent 25%), repeating-linear-gradient(0deg, rgba(88,67,129,.055) 0 1px, transparent 1px 1.2rem), linear-gradient(145deg, #fcfaff, #f2edf8); box-shadow: 0 15px 34px rgba(67,45,104,.15); }
.function-atlas-lab::before { position: absolute; top: -4.2rem; right: -1rem; width: 10rem; height: 10rem; border: .28rem solid rgba(106,70,151,.18); border-radius: 50%; content: ""; }
.function-atlas-lab h3 { position: relative; z-index: 1; }
.function-atlas-lab h3::before { display: inline-grid; min-width: 1.55rem; height: 1.35rem; margin-right: .48rem; place-content: center; color: #fff; border-radius: .42rem; background: linear-gradient(135deg, #67459a, #a24d78); content: "ƒ"; font-family: Georgia, serif; font-size: .88rem; font-style: italic; vertical-align: .08rem; }
.function-passport-deck, .function-shape-switch, .square-root-mirror, .reciprocal-branch-board, .power-order-track, .reference-solution-router { position: relative; z-index: 1; display: grid; gap: .43rem; margin-bottom: .9rem; padding: .78rem; border: 1px solid #cbbddd; border-radius: 1rem; background: rgba(255,255,255,.9); }
.function-passport-deck { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.function-shape-switch, .square-root-mirror, .reciprocal-branch-board, .power-order-track, .reference-solution-router { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.function-passport-deck > *, .function-shape-switch > *, .square-root-mirror > *, .reciprocal-branch-board > *, .power-order-track > *, .reference-solution-router > * { position: relative; display: grid; min-height: 5.4rem; place-content: center; padding: .64rem; color: #392e53; border: 1px solid #d5cbe0; border-radius: .72rem; background: #fff; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .66rem; line-height: 1.44; text-align: center; }
.function-passport-deck > *:not(:last-child)::after, .function-shape-switch > *:not(:last-child)::after, .square-root-mirror > *:not(:last-child)::after, .reciprocal-branch-board > *:not(:last-child)::after, .power-order-track > *:not(:last-child)::after, .reference-solution-router > *:not(:last-child)::after { position: absolute; top: 50%; right: -.43rem; z-index: 2; width: .43rem; height: .16rem; border-radius: 1rem; background: #df8759; content: ""; }
.function-passport-deck strong, .function-shape-switch strong, .square-root-mirror strong, .reciprocal-branch-board strong, .power-order-track strong, .reference-solution-router strong { color: #fff; border-color: #67459a; background: #67459a; }
.function-passport-deck > span:nth-child(2), .square-root-mirror > span:last-child, .reciprocal-branch-board > span:nth-child(2), .reference-solution-router > span:nth-child(2) { color: #6b3925; border-style: dashed; border-color: #dfaa87; background: #fff7ed; }
.function-shape-switch { background: linear-gradient(150deg, transparent 0 48%, rgba(162,77,120,.13) 48.4% 49.4%, transparent 49.8%), rgba(255,255,255,.94); }
.square-root-mirror { background: linear-gradient(90deg, rgba(103,69,154,.07) 0 49.6%, rgba(223,135,89,.08) 50.4% 100%), #fff; }
.reciprocal-branch-board { background: radial-gradient(circle at 20% 75%, rgba(103,69,154,.09), transparent 21%), radial-gradient(circle at 80% 25%, rgba(162,77,120,.09), transparent 21%), #fff; }
.power-order-track { background: linear-gradient(90deg, rgba(103,69,154,.05), rgba(223,135,89,.09)), #fff; }
.function-atlas-lab .impact-grid article { border-color: #d0c4dc; background: rgba(255,255,255,.97); }
.representation-studio { position: relative; overflow: hidden; border-color: #9fc7bd; background: linear-gradient(135deg, rgba(40,129,111,.08) 25%, transparent 25%) 0 0/1.4rem 1.4rem, linear-gradient(315deg, rgba(40,129,111,.055) 25%, transparent 25%) 0 0/1.4rem 1.4rem, linear-gradient(145deg, #f8fffc, #edf7f3); box-shadow: 0 15px 34px rgba(24,91,78,.14); }
.representation-studio h3::before { display: inline-grid; min-width: 1.65rem; height: 1.35rem; margin-right: .48rem; place-content: center; color: #fff; border-radius: .38rem; background: #287f6d; content: "x↦y"; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .57rem; vertical-align: .08rem; }
.representation-contract, .representation-reading-route, .curve-membership-probe, .representation-translation-chain, .domain-intersection-board, .function-method-router { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .43rem; margin-bottom: .9rem; padding: .78rem; border: 1px solid #b4d2ca; border-radius: 1rem; background: rgba(255,255,255,.92); }
.representation-contract > *, .representation-reading-route > *, .curve-membership-probe > *, .representation-translation-chain > *, .domain-intersection-board > *, .function-method-router > * { position: relative; display: grid; min-height: 5.35rem; place-content: center; padding: .64rem; color: #21483f; border: 1px solid #c4d9d3; border-radius: .7rem; background: #fff; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .66rem; line-height: 1.44; text-align: center; }
.representation-contract > *:not(:last-child)::after, .representation-reading-route > *:not(:last-child)::after, .curve-membership-probe > *:not(:last-child)::after, .representation-translation-chain > *:not(:last-child)::after, .domain-intersection-board > *:not(:last-child)::after, .function-method-router > *:not(:last-child)::after { position: absolute; top: 50%; right: -.43rem; z-index: 2; width: .43rem; height: .16rem; border-radius: 1rem; background: #d58a4b; content: ""; }
.representation-contract strong, .representation-reading-route strong, .curve-membership-probe strong, .representation-translation-chain strong, .domain-intersection-board strong, .function-method-router strong { color: #fff; border-color: #287f6d; background: #287f6d; }
.representation-contract > span:nth-child(2), .curve-membership-probe > span:nth-child(2), .domain-intersection-board > span:nth-child(2), .domain-intersection-board > span:nth-child(3) { color: #744321; border-style: dashed; border-color: #dfb184; background: #fff8ed; }
.representation-reading-route { background: linear-gradient(90deg, rgba(40,127,109,.07), rgba(213,138,75,.08)), #fff; }
.curve-membership-probe { background: repeating-linear-gradient(0deg, rgba(40,127,109,.07) 0 1px, transparent 1px 1rem), repeating-linear-gradient(90deg, rgba(40,127,109,.07) 0 1px, transparent 1px 1rem), #fff; }
.representation-translation-chain > span:nth-child(2), .representation-translation-chain > span:nth-child(3), .representation-translation-chain > span:nth-child(4) { background: #f2faf7; }
.representation-studio .impact-grid article { border-color: #bcd5ce; background: rgba(255,255,255,.97); }
.variation-observatory { position: relative; overflow: hidden; border-color: #9bbbd3; background: repeating-linear-gradient(0deg, rgba(42,91,126,.055) 0 1px, transparent 1px 1.25rem), repeating-linear-gradient(90deg, rgba(42,91,126,.045) 0 1px, transparent 1px 1.25rem), linear-gradient(145deg, #f7fbff, #eef5fa); box-shadow: 0 15px 34px rgba(35,77,107,.14); }
.variation-observatory::after { position: absolute; top: -3.4rem; right: -2rem; width: 11rem; height: 7rem; border-bottom: .34rem solid rgba(217,126,62,.25); border-left: .34rem solid transparent; border-radius: 0 0 0 70%; content: ""; transform: rotate(-12deg); pointer-events: none; }
.variation-observatory h3 { position: relative; z-index: 1; }
.variation-observatory h3::before { display: inline-grid; min-width: 2rem; height: 1.35rem; margin-right: .48rem; place-content: center; color: #fff; border-radius: .38rem; background: linear-gradient(135deg, #2a5b7e, #d97e3e); content: "↘↗"; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .68rem; vertical-align: .08rem; }
.order-pair-board, .variation-table-workbench, .extremum-interval-board, .affine-variation-gauge, .variation-proof-chain, .window-proof-audit { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .43rem; margin-bottom: .9rem; padding: .78rem; border: 1px solid #b8ccdc; border-radius: 1rem; background: rgba(255,255,255,.93); }
.order-pair-board > *, .variation-table-workbench > *, .extremum-interval-board > *, .affine-variation-gauge > *, .variation-proof-chain > *, .window-proof-audit > * { position: relative; display: grid; min-height: 5.45rem; place-content: center; padding: .64rem; color: #25465e; border: 1px solid #c5d6e2; border-radius: .72rem; background: #fff; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .66rem; line-height: 1.44; text-align: center; }
.order-pair-board > *:not(:last-child)::after, .variation-table-workbench > *:not(:last-child)::after, .extremum-interval-board > *:not(:last-child)::after, .affine-variation-gauge > *:not(:last-child)::after, .variation-proof-chain > *:not(:last-child)::after, .window-proof-audit > *:not(:last-child)::after { position: absolute; top: 50%; right: -.43rem; z-index: 2; width: .43rem; height: .16rem; border-radius: 1rem; background: #d97e3e; content: ""; }
.order-pair-board strong, .variation-table-workbench strong, .extremum-interval-board strong, .affine-variation-gauge strong, .variation-proof-chain strong, .window-proof-audit strong { color: #fff; border-color: #2a5b7e; background: #2a5b7e; }
.variation-table-workbench { background: linear-gradient(180deg, rgba(42,91,126,.07) 0 49.5%, rgba(217,126,62,.08) 50.5% 100%), #fff; }
.variation-table-workbench > span:nth-child(2), .variation-table-workbench > strong { border-radius: .35rem; }
.extremum-interval-board > span:nth-child(3), .window-proof-audit > span:nth-child(4) { color: #7a4521; border-style: dashed; border-color: #e1b18d; background: #fff8ef; }
.affine-variation-gauge { background: linear-gradient(160deg, transparent 0 47%, rgba(217,126,62,.16) 47.4% 48.4%, transparent 48.8%), #fff; }
.variation-proof-chain > span:nth-child(3) { color: #244f3f; border-color: #a9cfbe; background: #f0faf5; }
.window-proof-audit { background: radial-gradient(circle at 22% 68%, rgba(42,91,126,.1), transparent 21%), linear-gradient(90deg, rgba(42,91,126,.04), rgba(217,126,62,.07)), #fff; }
.variation-observatory .impact-grid article { border-color: #bfd0dc; background: rgba(255,255,255,.97); }
.data-observatory { position: relative; overflow: hidden; border-color: #a5c7c2; background: linear-gradient(90deg, rgba(24,112,103,.045) 1px, transparent 1px) 0 0/1.1rem 1.1rem, linear-gradient(rgba(24,112,103,.045) 1px, transparent 1px) 0 0/1.1rem 1.1rem, linear-gradient(145deg, #f7fcfb, #eef7f5); box-shadow: 0 15px 34px rgba(25,91,84,.14); }
.data-observatory::before { position: absolute; top: -2.8rem; right: -2.4rem; width: 9rem; height: 9rem; border: 1.2rem solid rgba(222,166,63,.12); border-radius: 50%; content: ""; pointer-events: none; }
.data-observatory h3 { position: relative; z-index: 1; }
.data-observatory h3::before { display: inline-grid; min-width: 1.9rem; height: 1.35rem; margin-right: .48rem; place-content: center; color: #fff; border-radius: .38rem; background: linear-gradient(135deg, #187067, #c88b29); content: "%σ"; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .62rem; vertical-align: .08rem; }
.population-funnel, .evolution-ledger, .grouped-data-contract, .mean-balance-board, .quantile-cumulative-board, .statistical-profile-board { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .43rem; margin-bottom: .9rem; padding: .78rem; border: 1px solid #b6d0cc; border-radius: 1rem; background: rgba(255,255,255,.94); }
.population-funnel > *, .evolution-ledger > *, .grouped-data-contract > *, .mean-balance-board > *, .quantile-cumulative-board > *, .statistical-profile-board > * { position: relative; display: grid; min-height: 5.5rem; place-content: center; padding: .64rem; color: #204c47; border: 1px solid #c4d8d5; border-radius: .72rem; background: #fff; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .66rem; line-height: 1.44; text-align: center; }
.population-funnel > *:not(:last-child)::after, .evolution-ledger > *:not(:last-child)::after, .grouped-data-contract > *:not(:last-child)::after, .mean-balance-board > *:not(:last-child)::after, .quantile-cumulative-board > *:not(:last-child)::after, .statistical-profile-board > *:not(:last-child)::after { position: absolute; top: 50%; right: -.43rem; z-index: 2; width: .43rem; height: .16rem; border-radius: 1rem; background: #dba13b; content: ""; }
.population-funnel strong, .evolution-ledger strong, .grouped-data-contract strong, .mean-balance-board strong, .quantile-cumulative-board strong, .statistical-profile-board strong { color: #fff; border-color: #187067; background: #187067; }
.population-funnel > span:nth-child(1) { grid-row: span 1; border-width: .18rem; }
.population-funnel > span:nth-child(2), .population-funnel > span:nth-child(3) { transform: scale(.96); }
.grouped-data-contract { background: repeating-linear-gradient(90deg, rgba(24,112,103,.08) 0 18%, transparent 18% 20%), #fff; }
.grouped-data-contract strong, .statistical-profile-board > span:nth-child(4) { border-style: dashed; border-color: #d8a24c; }
.mean-balance-board { background: linear-gradient(165deg, transparent 0 48%, rgba(219,161,59,.14) 48.4% 49.2%, transparent 49.6%), #fff; }
.quantile-cumulative-board { background: linear-gradient(90deg, rgba(24,112,103,.05), rgba(219,161,59,.1)), #fff; }
.statistical-profile-board > span:first-child { box-shadow: inset 0 .28rem #4a91a7; }
.statistical-profile-board > span:nth-child(2) { box-shadow: inset 0 .28rem #d68b3d; }
.data-observatory .impact-grid article { border-color: #bfd4d1; background: rgba(255,255,255,.97); }
.art-white-panel { position: relative; min-height: 12rem; overflow: hidden; border: 0.75rem solid #e7e2d8; border-radius: 0.35rem; background: linear-gradient(135deg, #fff 0%, #f7f7f3 48%, #fdfdfb 100%); box-shadow: inset 0 0 0 1px #c9c7c0, 0 0.7rem 1.8rem rgba(31, 52, 70, 0.12); }
.art-white-panel span { position: absolute; left: 12%; width: 76%; height: 1px; background: rgba(142, 151, 155, 0.24); transform: rotate(-8deg); }
.art-white-panel span:nth-child(1) { top: 32%; }
.art-white-panel span:nth-child(2) { top: 50%; transform: rotate(5deg); }
.art-white-panel span:nth-child(3) { top: 68%; transform: rotate(-3deg); }

.landmark-timeline { position: relative; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0.4rem; padding-top: 1.2rem; }
.landmark-timeline::before { position: absolute; top: 0.45rem; right: 0; left: 0; height: 0.2rem; border-radius: 1rem; background: linear-gradient(90deg, #d58a2d, #287d63); content: ""; }
.landmark-timeline button { position: relative; display: grid; gap: 0.3rem; min-height: 4.5rem; place-content: center; padding: 0.55rem; color: var(--navy-950); border: 1px solid #c8d8e5; border-radius: 0.75rem; background: #fff; font: inherit; font-size: 0.68rem; font-weight: 800; cursor: pointer; }
.landmark-timeline button::before { position: absolute; top: -1.15rem; left: 50%; width: 0.65rem; height: 0.65rem; border: 2px solid #fff; border-radius: 50%; background: var(--orange-600); box-shadow: 0 0 0 1px #c87520; content: ""; transform: translateX(-50%); }
.landmark-timeline button span { color: var(--muted); font-size: 0.62rem; }
.landmark-timeline button.is-active { color: #fff; border-color: #287d63; background: #287d63; }
.landmark-timeline button.is-active span { color: #dff3ec; }

.symbol-cards { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.45rem; }
.symbol-cards button { display: grid; gap: 0.35rem; min-height: 5.4rem; place-content: center; padding: 0.65rem; color: var(--navy-950); border: 1px solid #cad9e5; border-radius: 0.8rem; background: #fff; font: inherit; text-align: center; cursor: pointer; }
.symbol-cards button span { font-size: 0.72rem; font-weight: 850; }
.symbol-cards button strong { color: var(--muted); font-size: 0.65rem; line-height: 1.35; }
.symbol-cards button.is-active { color: #fff; border-color: var(--blue-700); background: var(--blue-700); }
.symbol-cards button.is-active strong { color: #dbeaf5; }

.poem-excerpt { margin: 0; padding: 1rem 1.1rem; white-space: pre-line; color: var(--navy-950); border-left: 0.28rem solid var(--orange-600); border-radius: 0 0.9rem 0.9rem 0; background: #fffaf2; font-family: Georgia, "Times New Roman", serif; font-size: clamp(0.94rem, 1.6vw, 1.08rem); line-height: 1.7; }
.primary-text { margin: 0 0 1rem; padding: 1rem 1.1rem; color: var(--navy-950); border-left: 0.28rem solid var(--orange-600); border-radius: 0 0.9rem 0.9rem 0; background: #fffaf2; font-family: Georgia, "Times New Roman", serif; font-size: clamp(0.94rem, 1.6vw, 1.08rem); line-height: 1.7; }
.primary-text cite { display: block; margin-top: 0.7rem; color: var(--slate-600); font-family: var(--font-sans); font-size: 0.84rem; font-style: normal; }
.sonnet-lab .source-note { margin: -0.2rem 0 0; color: var(--muted); font-size: 0.72rem; line-height: 1.45; }

@media (max-width: 760px) {
  .news-anatomy { grid-template-columns: 1fr; }
  .news-anatomy__visual { max-width: 22rem; margin-inline: auto; }
  .five-w-orbit { grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 0.7rem; }
  .five-w-orbit button { min-height: 2.8rem; font-size: 0.72rem; }
  .five-w-orbit__scene { min-height: 4.5rem; }
  .event-chain { grid-template-columns: 1fr; gap: 1.2rem; }
  .event-chain button { min-height: 0; }
  .event-chain button:not(:last-child)::after { top: auto; right: 50%; bottom: -1.15rem; transform: translateX(50%) rotate(90deg); }
  .register-scale { grid-template-columns: 1fr 1fr; border-radius: 1rem; }
  .register-scale button:last-child { grid-column: 1 / -1; }
  .argument-chain { grid-template-columns: 1fr 1fr; }
  .argument-chain button, .argument-chain button:first-child, .argument-chain button:last-child { min-height: 3.8rem; border-radius: 0.75rem; }
  .dialogue-stage { grid-template-columns: 1fr; gap: 0.7rem; }
  .dialogue-stage article:last-child { margin-top: 0; margin-left: 1rem; }
  .message-frame { grid-template-columns: 4.4rem minmax(0, 1fr); }
  .revision-stack { grid-template-columns: 1fr 1fr; align-items: stretch; }
  .revision-stack button { min-height: 3.6rem; }
  .uk-nations-grid { grid-template-columns: 1fr 1fr; }
  .portrait-investigation__layout { grid-template-columns: 1fr; }
  .portrait-investigation figure { max-width: 22rem; margin-inline: auto; }
  .image-reading-lab__layout, .image-composition-lab__layout { grid-template-columns: 1fr; }
  .image-reading-lab figure, .image-composition-lab figure { width: min(100%, 22rem); margin-inline: auto; }
  .image-composition-lab .segmented-control { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .image-version-pair { grid-template-columns: 1fr 1fr; gap: 0.45rem; }
  .image-version-pair figcaption { padding: 0.55rem; font-size: 0.6rem; }
  .oral-exam-flow { grid-template-columns: 1fr 1fr; }
  .oral-exam-flow button:first-child, .oral-exam-flow button:last-child { grid-column: 1 / -1; }
  .oral-score-strip { grid-template-columns: 1fr 2fr 1fr; }
  .oral-score-strip button { padding-inline: 0.35rem; font-size: 0.64rem; }
  .oral-rehearsal-loop { grid-template-columns: 1fr 1fr; }
  .oral-rehearsal-loop button:last-child { grid-column: 1 / -1; }
  .word-family-tree { grid-template-columns: 1fr 1fr; gap: 0.55rem; }
  .word-family-tree::before { display: none; }
  .lexical-network-map { grid-template-columns: 1fr 1fr; }
  .lexical-network-map button:last-child { grid-column: 1 / -1; }
  .word-value-scale { grid-template-columns: 1fr 1fr; }
  .word-value-scale button:last-child { grid-column: 1 / -1; }
  .agreement-feature-board { grid-template-columns: 1fr 1fr; }
  .agreement-feature-board > *:not(:last-child)::after { display: none; }
  .agreement-chain-track { grid-template-columns: 1fr 1fr; }
  .subject-wire { grid-template-columns: 1fr; }
  .subject-wire span { min-height: 2.4rem; }
  .subject-wire span::before, .subject-wire span::after { display: none; }
  .agreement-before-after { grid-template-columns: 1fr; }
  .agreement-before-after article:first-child::after { top: auto; right: 50%; bottom: -0.34rem; transform: translate(50%, 50%) rotate(90deg); }
  .collective-balance { grid-template-columns: 1fr 1fr; }
  .collective-balance strong { grid-column: 1 / -1; grid-row: 1; }
  .agreement-radar { grid-template-columns: 1fr 1fr; }
  .verb-coordinate-board { grid-template-columns: 1fr 1fr; }
  .temporal-axis, .aspect-camera { grid-template-columns: 1fr; }
  .modal-compass { grid-template-columns: 1fr 1fr; }
  .modal-compass button { min-height: 3.8rem; border-radius: 0.8rem; }
  .modal-compass button:last-child { grid-column: 1 / -1; }
  .narrative-layers, .concordance-pair { grid-template-columns: 1fr; }
  .proposition-scan, .articulation-rail, .subordinate-slot { grid-template-columns: 1fr; }
  .proposition-scan span:nth-child(2), .articulation-rail strong { min-height: 2.5rem; }
  .connector-prism, .introducer-compare, .rewrite-pair { grid-template-columns: 1fr; }
  .relative-fusion-chain, .relative-function-bridge, .relative-preposition-path, .relative-nature-gate, .relative-scope-pair, .relative-agreement-track { grid-template-columns: 1fr; }
  .relative-function-bridge strong, .relative-agreement-track strong { min-height: 2.8rem; }
  .environment-layer-stack { grid-template-columns: 1fr 1fr; }
  .environment-layer-stack > * { min-height: 4.8rem; }
  .environment-layer-stack strong:last-child { grid-column: 1 / -1; }
  .global-change-web, .actor-scale-map { grid-template-columns: 1fr; gap: 1rem; }
  .global-change-web > *:not(:last-child)::after, .actor-scale-map > *:not(:last-child)::after { top: auto; right: 50%; bottom: -0.86rem; transform: translate(50%, 50%) rotate(90deg); }
  .risk-equation { grid-template-columns: 1fr; }
  .risk-equation b { line-height: 1; transform: rotate(90deg); }
  .risk-equation span { min-height: 3.8rem; }
  .geographic-compass { grid-template-columns: 1fr 1fr; }
  .geographic-compass button { min-height: 3.8rem; border-radius: 0.8rem; }
  .geographic-compass button:last-child { grid-column: 1 / -1; }
  .geography-lab .segmented-control { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .geography-lab .segmented-control button { min-width: 0; padding-inline: 0.45rem; overflow-wrap: normal; word-break: normal; hyphens: none; }
  .geography-lab .segmented-control button:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .france-atlas-layout, .guyane-cross-layout { grid-template-columns: 1fr; }
  .france-profile-board { grid-template-columns: 1fr 1fr; }
  .france-profile-board > * { min-height: 4.7rem; }
  .france-profile-board > *:last-child { grid-column: 1 / -1; }
  .guyane-cross-section, .arbitration-casefile, .valorization-balance { grid-template-columns: 1fr; }
  .guyane-cross-section > *, .arbitration-casefile > *, .valorization-balance > * { min-height: 3.9rem; }
  .protection-purpose-card { grid-template-columns: 1fr; }
  .protection-purpose-card > * { min-height: 4.2rem; }
  .demographic-equation { grid-template-columns: 1fr; }
  .demographic-equation b { line-height: 1; text-align: center; }
  .demographic-equation span { min-height: 3.8rem; }
  .demographic-comparison { grid-template-columns: 1fr 1fr; }
  .demographic-comparison > :first-child, .demographic-comparison > :last-child { grid-column: 1 / -1; }
  .demographic-comparison > * { min-height: 4.2rem; }
  .demographic-needs, .demographic-policy-chain { grid-template-columns: 1fr; }
  .demographic-needs > *, .demographic-policy-chain > * { min-height: 4rem; }
  .indicator-passport { grid-template-columns: 1fr 1fr; }
  .indicator-passport > span { min-height: 4.8rem; }
  .indicator-passport > span:last-child { grid-column: 1 / -1; }
  .distribution-stage { grid-template-columns: 1fr; }
  .scale-tunnel { grid-template-columns: 1fr 1fr; gap: 0.45rem; }
  .scale-tunnel > * { min-height: 4.5rem !important; margin: 0; border-radius: 0.8rem; }
  .trajectory-file header, .trajectory-file > div { grid-template-columns: 1fr; }
  .strategy-chain, .brief-ribbon { grid-template-columns: 1fr 1fr; }
  .strategy-chain > *:not(:last-child)::after, .brief-ribbon > *:not(:last-child)::after { display: none; }
  .brief-ribbon > *:last-child { grid-column: 1 / -1; }
  .france-balance-console, .inequality-lenses { grid-template-columns: 1fr 1fr; }
  .france-balance-console > span, .inequality-lenses > span { min-height: 4.6rem; }
  .age-territory-mosaic, .service-catchment, .actor-lever-card { grid-template-columns: 1fr; }
  .age-territory-mosaic > *, .service-catchment > *, .service-catchment > strong, .actor-lever-card > * { min-height: 4rem; border-radius: 0.8rem; }
  .policy-audit-chain { grid-template-columns: 1fr 1fr; }
  .policy-audit-chain > *:not(:last-child)::after { display: none; }
  .mobility-passport, .door-chain, .corridor-scale, .mobility-impact-ledger { grid-template-columns: 1fr 1fr; }
  .mobility-passport > *:last-child, .door-chain > *:last-child { grid-column: 1 / -1; }
  .network-topology, .mobility-arbitration { grid-template-columns: 1fr; }
  .network-topology i { width: 0.3rem; height: 1.5rem; margin: auto; }
  .migration-status-deck, .migration-measure-console, .migration-effects-ledger { grid-template-columns: 1fr 1fr; }
  .migration-causality-web { grid-template: "outcome outcome" auto "motive constraint" auto "resource network" auto / 1fr 1fr; }
  .migration-causality-web > * { min-height: 4.6rem; border-radius: 0.8rem; }
  .migration-causality-web > *:nth-child(3) { border-radius: 1rem; }
  .migration-route-map { grid-template-columns: 1fr; }
  .migration-route-map i { width: 0.25rem; height: 1rem; margin: auto; }
  .migration-route-map > span, .migration-route-map > strong { min-height: 4.3rem; }
  .migration-claim-strip { grid-template-columns: 1fr 1fr; }
  .migration-claim-strip > *:not(:last-child)::after { display: none; }
  .tourism-passport, .tourism-indicator-board { grid-template-columns: 1fr 1fr; }
  .tourism-system-map { grid-template-columns: 1fr; }
  .tourism-system-map i { width: 0.25rem; height: 1rem; margin: auto; }
  .seasonality-diagnosis { grid-template-columns: 1fr; }
  .tourism-value-chain, .tourism-transition-budget { grid-template-columns: 1fr 1fr; }
  .tourism-value-chain > *:not(:last-child)::after { display: none; }
  .tourism-value-chain > *:last-child, .tourism-transition-budget > *:last-child { grid-column: 1 / -1; }
  .southern-scope-rings { min-height: 12rem; }
  .southern-scope-rings > span:first-child { inset: 0; }
  .southern-scope-rings > strong { inset: 2.4rem 12%; }
  .southern-scope-rings > span:last-child { inset: 4.8rem 25%; }
  .southern-transect { grid-template-columns: 1fr; }
  .southern-transect > * { min-height: 3.8rem; }
  .southern-water-basin, .southern-arbitration-grid { grid-template-columns: 1fr 1fr; }
  .southern-extractive-chain { grid-template-columns: 1fr 1fr; }
  .southern-extractive-chain > *:not(:last-child)::after { display: none; }
  .southern-conservation-mosaic { grid-template-columns: 1fr; }
  .southern-conservation-mosaic > *:last-child { grid-column: auto; }
  .southern-arbitration-grid > *:last-child { grid-column: 1 / -1; }
  .mobility-passport-lab .mobility-passport { grid-template-columns: 1fr 1fr; }
  .mobility-route { grid-template-columns: 1fr; }
  .mobility-route i { width: 0.22rem; height: 1rem; margin: auto; }
  .mobility-route > span, .mobility-route > strong { min-height: 4.3rem; border-radius: 0.85rem; }
  .multilocal-places { grid-template-columns: 1fr; }
  .multilocal-loop { min-height: 5rem; }
  .arrival-neighborhood { grid-template: "land home" auto "route route" auto "services work" auto / 1fr 1fr; }
  .rights-checkpoints { grid-template-columns: 1fr 1fr; }
  .rights-checkpoints > *:not(:last-child)::after { display: none; }
  .rights-checkpoints > *:last-child { grid-column: 1 / -1; }
  .mobility-audit-track { grid-template-columns: 1fr 1fr; }
  .transition-vector { grid-template: "demography production" auto "urban urban" auto "energy environment" auto / 1fr 1fr; }
  .development-prism { grid-template-columns: 1fr 1fr; clip-path: none; border-radius: 1rem; }
  .development-prism > *:last-child { grid-column: 1 / -1; }
  .demographic-window { grid-template-columns: 1fr 1fr; align-items: stretch; }
  .demographic-window strong { min-height: 5rem; }
  .structural-value-chain, .energy-service-circuit { grid-template-columns: 1fr; }
  .structural-value-chain > *:not(:last-child)::after, .energy-service-circuit > *:not(:last-child)::after { display: none; }
  .transition-portfolio { grid-template-columns: 1fr 1fr; }
  .number-set-nesting { min-height: 13rem; }
  .number-set-nesting > *:nth-child(2) { inset: 1.8rem 5%; }
  .number-set-nesting > *:nth-child(3) { inset: 3.6rem 11%; }
  .number-set-nesting > *:nth-child(4) { inset: 5.4rem 18%; }
  .number-set-nesting > *:nth-child(5) { inset: 7.2rem 28% 0; }
  .proof-track, .interval-registers, .bracketing-sweep { grid-template-columns: 1fr 1fr; }
  .proof-track > *:not(:last-child)::after { display: none; }
  .distance-ruler { grid-template-columns: 1fr; background: #f9fbfd; }
  .distance-ruler > * { min-height: 4rem; border-radius: 0.8rem; }
  .arithmetic-equation { grid-template-columns: 1fr auto 1fr; }
  .arithmetic-equation > span:last-child { grid-column: 1 / -1; }
  .euclidean-strip { grid-template-columns: 1fr; }
  .prime-gates, .parity-forms { grid-template-columns: 1fr 1fr; }
  .proof-workbench, .fraction-audit { grid-template-columns: 1fr 1fr; }
  .proof-workbench > *:not(:last-child)::after { display: none; }
  .proof-workbench > *:last-child, .fraction-audit > *:last-child { grid-column: 1 / -1; }
  .domain-passport, .expression-switchyard, .identity-bench, .formula-machine, .comparison-scale, .solution-audit-line { grid-template-columns: 1fr 1fr; }
  .domain-passport > *:not(:last-child)::after, .expression-switchyard > *:not(:last-child)::after, .identity-bench > *:not(:last-child)::after, .formula-machine > *:not(:last-child)::after, .comparison-scale > *:not(:last-child)::after, .solution-audit-line > *:not(:last-child)::after { display: none; }
  .solution-audit-line > *:last-child { grid-column: 1 / -1; }
  .geometry-evidence-board, .geometry-method-compass, .projection-stage, .coordinate-console, .measure-mosaic, .geometry-proof-chain { grid-template-columns: 1fr 1fr; }
  .geometry-evidence-board > *:not(:last-child)::after, .geometry-method-compass > *:not(:last-child)::after, .projection-stage > *:not(:last-child)::after, .coordinate-console > *:not(:last-child)::after, .measure-mosaic > *:not(:last-child)::after, .geometry-proof-chain > *:not(:last-child)::after { display: none; }
  .geometry-evidence-board > *:last-child, .projection-stage > *:last-child, .coordinate-console > *:last-child, .measure-mosaic > *:last-child, .geometry-proof-chain > *:last-child { grid-column: 1 / -1; }
  .vector-translation-board, .vector-route-chain, .vector-coordinate-grid, .vector-scalar-dial, .vector-metric-panel, .vector-determinant-board { grid-template-columns: 1fr 1fr; }
  .vector-translation-board > *:not(:last-child)::after, .vector-route-chain > *:not(:last-child)::after, .vector-coordinate-grid > *:not(:last-child)::after, .vector-scalar-dial > *:not(:last-child)::after, .vector-metric-panel > *:not(:last-child)::after, .vector-determinant-board > *:not(:last-child)::after, .vector-translation-board > *:not(:last-child)::before, .vector-route-chain > *:not(:last-child)::before, .vector-coordinate-grid > *:not(:last-child)::before, .vector-scalar-dial > *:not(:last-child)::before, .vector-metric-panel > *:not(:last-child)::before, .vector-determinant-board > *:not(:last-child)::before { display: none; }
  .vector-translation-board > *:last-child, .vector-coordinate-grid > *:last-child, .vector-scalar-dial > *:last-child, .vector-metric-panel > *:last-child, .vector-determinant-board > *:last-child { grid-column: 1 / -1; }
  .line-equation-scope, .line-duality-board, .line-form-switch, .line-construction-chain, .line-graph-board, .line-position-board { grid-template-columns: 1fr 1fr; }
  .line-equation-scope > *:not(:last-child)::after, .line-duality-board > *:not(:last-child)::after, .line-form-switch > *:not(:last-child)::after, .line-construction-chain > *:not(:last-child)::after, .line-graph-board > *:not(:last-child)::after, .line-position-board > *:not(:last-child)::after { display: none; }
  .line-equation-scope > *:last-child, .line-duality-board > *:last-child, .line-form-switch > *:last-child, .line-construction-chain > *:last-child, .line-graph-board > *:last-child, .line-position-board > *:last-child { grid-column: 1 / -1; }
  .function-passport-deck, .function-shape-switch, .square-root-mirror, .reciprocal-branch-board, .power-order-track, .reference-solution-router { grid-template-columns: 1fr 1fr; }
  .function-passport-deck > *:not(:last-child)::after, .function-shape-switch > *:not(:last-child)::after, .square-root-mirror > *:not(:last-child)::after, .reciprocal-branch-board > *:not(:last-child)::after, .power-order-track > *:not(:last-child)::after, .reference-solution-router > *:not(:last-child)::after { display: none; }
  .function-shape-switch > *:last-child, .square-root-mirror > *:last-child, .reciprocal-branch-board > *:last-child, .power-order-track > *:last-child, .reference-solution-router > *:last-child { grid-column: 1 / -1; }
  .representation-contract, .representation-reading-route, .curve-membership-probe, .representation-translation-chain, .domain-intersection-board, .function-method-router { grid-template-columns: 1fr 1fr; }
  .representation-contract > *:not(:last-child)::after, .representation-reading-route > *:not(:last-child)::after, .curve-membership-probe > *:not(:last-child)::after, .representation-translation-chain > *:not(:last-child)::after, .domain-intersection-board > *:not(:last-child)::after, .function-method-router > *:not(:last-child)::after { display: none; }
  .representation-contract > *:last-child, .representation-reading-route > *:last-child, .curve-membership-probe > *:last-child, .representation-translation-chain > *:last-child, .domain-intersection-board > *:last-child, .function-method-router > *:last-child { grid-column: 1 / -1; }
  .order-pair-board, .variation-table-workbench, .extremum-interval-board, .affine-variation-gauge, .variation-proof-chain, .window-proof-audit { grid-template-columns: 1fr 1fr; }
  .order-pair-board > *:not(:last-child)::after, .variation-table-workbench > *:not(:last-child)::after, .extremum-interval-board > *:not(:last-child)::after, .affine-variation-gauge > *:not(:last-child)::after, .variation-proof-chain > *:not(:last-child)::after, .window-proof-audit > *:not(:last-child)::after { display: none; }
  .order-pair-board > *:last-child, .variation-table-workbench > *:last-child, .extremum-interval-board > *:last-child, .affine-variation-gauge > *:last-child, .variation-proof-chain > *:last-child, .window-proof-audit > *:last-child { grid-column: 1 / -1; }
  .population-funnel, .evolution-ledger, .grouped-data-contract, .mean-balance-board, .quantile-cumulative-board, .statistical-profile-board { grid-template-columns: 1fr 1fr; }
  .population-funnel > *:not(:last-child)::after, .evolution-ledger > *:not(:last-child)::after, .grouped-data-contract > *:not(:last-child)::after, .mean-balance-board > *:not(:last-child)::after, .quantile-cumulative-board > *:not(:last-child)::after, .statistical-profile-board > *:not(:last-child)::after { display: none; }
  .population-funnel > *:last-child, .evolution-ledger > *:last-child, .grouped-data-contract > *:last-child, .mean-balance-board > *:last-child, .quantile-cumulative-board > *:last-child, .statistical-profile-board > *:last-child { grid-column: 1 / -1; }
  .landmark-timeline { grid-template-columns: 1fr 1fr; gap: 0.55rem; padding-top: 0; }
  .landmark-timeline::before, .landmark-timeline button::before { display: none; }
  .symbol-cards { grid-template-columns: 1fr 1fr; }
  .symbol-cards button:last-child { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

@media print {
  .site-header, .toc, .quiz-submit, .signup-panel, .card-ratings, .card-reveal, .site-footer { display: none !important; }
  body { background: #fff; }
  .page-shell { width: 100%; }
  .hero { color: #000; background: #fff; box-shadow: none; border: 1px solid #777; }
  .section-card { break-inside: avoid; box-shadow: none; }
}
.subject-module__group-title {
  margin: 1rem 1rem 0.35rem;
  color: var(--navy-950);
  font-size: 0.92rem;
  line-height: 1.35;
}

.subject-module__group-title:not(:first-child) {
  margin-top: 1.65rem;
}

.probability-lab { background: linear-gradient(145deg, #f5f8ff, #e8effa); border-color: #c6d4e7; }
.probability-lab--diagnostic { background: linear-gradient(145deg, #fff8f5, #f8e9e4); border-color: #e5c1b5; }
.probability-board { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.7rem; margin: 1rem 0; }
.probability-board > span, .probability-board > strong { display: grid; min-height: 4.2rem; place-content: center; padding: 0.8rem; border: 1px solid #ccd9e7; border-radius: 0.8rem; background: #fff; color: var(--navy-950); text-align: center; }
.probability-board > strong { color: #fff; border-color: var(--blue-700); background: var(--blue-700); }
.probability-board--tree { position: relative; }
.probability-board--tree::before { content: "×"; position: absolute; inset: 50% auto auto 50%; z-index: 2; display: grid; width: 2rem; height: 2rem; place-items: center; color: #fff; border-radius: 50%; background: var(--orange-600); transform: translate(-50%, -50%); font-weight: 900; }
.sampling-lab { background: linear-gradient(145deg, #f2fbf8, #e3f2ec); border-color: #bdd7cc; }
.sampling-lab--bias { background: linear-gradient(145deg, #fff9ef, #f7edd6); border-color: #e1c98f; }
.sampling-lab--code { background: linear-gradient(145deg, #f6f7fb, #e9edf5); border-color: #cbd2df; }
.sampling-board { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.7rem; margin: 1rem 0; }
.sampling-board > span, .sampling-board > strong, .sampling-code > * { display: grid; min-height: 4rem; place-content: center; padding: 0.8rem; border: 1px solid #c7dbd3; border-radius: 0.8rem; background: #fff; color: var(--navy-950); text-align: center; }
.sampling-board > strong { color: #fff; border-color: #287b65; background: #287b65; }
.sampling-dots { display: grid; gap: 0.65rem; margin: 1rem 0; text-align: center; }
.sampling-dots span, .sampling-dots strong { padding: 0.8rem; border-radius: 999px; background: #fff; color: var(--navy-950); }
.sampling-dots strong { color: #fff; background: #287b65; }
.sampling-code { display: grid; grid-template-columns: 1fr 1fr; gap: 0.7rem; margin: 1rem 0; }
.sampling-code code { color: #eef8ff; border-color: #24394d; background: #183047; font-size: 1rem; text-align: left; }
.sampling-code strong { color: #fff; border-color: #287b65; background: #287b65; }
.logic-lab { background: linear-gradient(145deg, #f8f5ff, #ede8f7); border-color: #d2c7e3; }
.logic-lab--implication { background: linear-gradient(145deg, #f1f8ff, #e5eef8); border-color: #c4d5e6; }
.logic-lab--proof { background: linear-gradient(145deg, #fff8ee, #f8ecd5); border-color: #e2c991; }
.logic-board { display: grid; grid-template-columns: 1fr auto 1fr; gap: 0.65rem; align-items: stretch; margin: 1rem 0; }
.logic-board > span, .logic-board > strong { display: grid; min-height: 4.2rem; place-content: center; padding: 0.8rem; border: 1px solid #d4cbe5; border-radius: 0.8rem; background: #fff; color: var(--navy-950); text-align: center; }
.logic-board > strong { grid-column: 1 / -1; color: #fff; border-color: #6f5795; background: #6f5795; }
.python-lab { border-color: #9ac7bd; background: linear-gradient(145deg, #f2fbf8, #fff); }
.python-board { display: grid; grid-template-columns: 1.35fr 1fr; gap: 0.75rem; margin: 1rem 0; }
.python-board > code { grid-row: span 2; display: block; min-height: 8rem; padding: 1rem; border-radius: 0.8rem; color: #ecfff9; background: #163c38; white-space: pre-wrap; }
.python-board > span, .python-board > strong { display: grid; place-content: center; min-height: 3.6rem; padding: 0.75rem; border: 1px solid #b8d8d1; border-radius: 0.8rem; background: #fff; text-align: center; }
.python-board > strong { color: #fff; border-color: #287568; background: #287568; }
.python-function-lab { border-color: #b8c9e1; background: linear-gradient(145deg, #f4f7fc, #fff); }
.python-function-board { display: grid; grid-template-columns: 1.4fr 1fr; gap: 0.75rem; margin: 1rem 0; }
.python-function-board > code { grid-row: span 2; display: block; min-height: 8rem; padding: 1rem; border-radius: 0.8rem; color: #f1f6ff; background: #20344f; white-space: pre-wrap; }
.python-function-board > span, .python-function-board > strong { display: grid; place-content: center; min-height: 3.7rem; padding: 0.75rem; border: 1px solid #c8d4e5; border-radius: 0.8rem; background: #fff; text-align: center; }
.python-function-board > strong { color: #fff; border-color: #496f9f; background: #496f9f; }
.math-history-lab { border-color: #d8c89f; background: linear-gradient(145deg, #fffaf0, #fff); }
.math-history-board { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; margin: 1rem 0; }
.math-history-board > span, .math-history-board > strong { display: grid; min-height: 4.3rem; place-content: center; padding: 0.85rem; border: 1px solid #ded1af; border-radius: 0.8rem; color: var(--navy-950); background: #fff; text-align: center; }
.math-history-board > strong { grid-column: 1 / -1; color: #fff; border-color: #816b3e; background: #816b3e; }
.matter-lab, .solution-lab { border-color: #a9d3d6; background: linear-gradient(145deg, #f1fbfc, #fff); }
.solution-lab { border-color: #b8cfe5; background: linear-gradient(145deg, #f4f8fd, #fff); }
.matter-board { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; margin: 1rem 0; }
.matter-board > span, .matter-board > strong { display: grid; min-height: 4.2rem; place-content: center; padding: 0.8rem; border: 1px solid #bdd8da; border-radius: 0.8rem; background: #fff; text-align: center; }
.matter-board > strong { grid-column: 1 / -1; color: #fff; border-color: #347c82; background: #347c82; }
.social-graph { margin: 1rem 0; padding: 0.8rem; border: 1px solid #c9dcdd; border-radius: 1rem; background: linear-gradient(145deg, #f4fbfb, #fff); }
.social-graph svg { display: block; width: 100%; height: auto; }
.social-graph figcaption { margin-top: 0.35rem; color: var(--muted); text-align: center; }
.micro-lab { border-color: #c6badf; background: linear-gradient(145deg, #f8f5fd, #fff); }
.micro-board { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; margin: 1rem 0; }
.micro-board > span, .micro-board > strong { display: grid; min-height: 4.2rem; place-content: center; padding: 0.8rem; border: 1px solid #d2c9e3; border-radius: 0.8rem; background: #fff; text-align: center; }
.micro-board > strong { grid-column: 1 / -1; color: #fff; border-color: #6d5894; background: #6d5894; }
.thermal-lab { border-color: #efc7a8; background: linear-gradient(145deg, #fff7ef, #fff); }
.thermal-board { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; margin: 1rem 0; }
.thermal-board > span, .thermal-board > strong { display: grid; min-height: 4.2rem; place-content: center; padding: 0.8rem; border: 1px solid #ecd0b9; border-radius: 0.8rem; background: #fff; text-align: center; }
.thermal-board > strong { grid-column: 1 / -1; color: #fff; border-color: #a25f31; background: #a25f31; }
.biology-lab { border-color: #a8ccb8; background: linear-gradient(145deg, #f1faf4, #fff); }
.biology-board { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; margin: 1rem 0; }
.biology-board > span, .biology-board > strong { display: grid; min-height: 4.2rem; place-content: center; padding: 0.8rem; border: 1px solid #bed9c8; border-radius: 0.8rem; background: #fff; color: var(--navy-950); text-align: center; }
.biology-board > strong { grid-column: 1 / -1; color: #fff; border-color: #39775a; background: #39775a; }
.biology-scale-chain { display: flex; flex-wrap: wrap; gap: 0.45rem; align-items: center; justify-content: center; margin: 1rem 0; padding: 1rem; border-radius: 1rem; background: #e2f2e8; }
.biology-scale-chain span { padding: 0.55rem 0.7rem; border: 1px solid #9bc5aa; border-radius: 999px; background: #fff; font-weight: 750; }
.biology-scale-chain i { color: #39775a; font-size: 1.3rem; font-style: normal; font-weight: 900; }
.biology-tissue-map { display: block; width: 100%; height: auto; margin: 1rem 0; border: 1px solid #b8d4c2; border-radius: 1rem; background: #f8fcf9; }
.gene-switchboard { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; margin: 1rem 0; }
.gene-switchboard article { display: grid; gap: 0.55rem; padding: 1rem; border: 1px solid #b5d2c0; border-radius: 1rem; background: #fff; }
.gene-switchboard span { color: #315b46; font-weight: 800; }
.gene-switchboard b { letter-spacing: 0.14em; }
.gene-switchboard small { line-height: 1.5; }
.dna-ladder { display: grid; grid-template-columns: 1fr auto 1fr; gap: 0.4rem 0.8rem; width: min(22rem, 100%); margin: 1rem auto; padding: 1rem; border-inline: 0.55rem solid #48765f; border-radius: 1rem; background: #f7fcf8; text-align: center; }
.dna-ladder span { padding: 0.35rem; border-radius: 999px; color: #173f40; background: #dbeee2; font-weight: 850; }
.dna-ladder i { align-self: center; color: #8b5d34; font-style: normal; }
@media (max-width: 640px) { .gene-switchboard, .biology-board { grid-template-columns: 1fr; } .biology-board > strong { grid-column: auto; } }
.metabolic-ledger, .experiment-pair, .metabolic-branch, .photosynthesis-flow, .metabolic-network { display: grid; gap: 0.7rem; margin: 1rem 0; padding: 1rem; border: 1px solid #afd1bc; border-radius: 1rem; background: #eaf6ee; }
.metabolic-ledger { grid-template-columns: 1fr auto 1fr; align-items: center; text-align: center; }
.metabolic-ledger article, .experiment-pair article { display: grid; gap: 0.35rem; padding: 0.75rem; border-radius: 0.8rem; background: #fff; }
.metabolic-ledger article:last-child { grid-column: 1 / -1; }
.metabolic-ledger i { color: #39775a; font-style: normal; font-weight: 850; }
.metabolic-pathway { display: grid; grid-template-columns: auto auto auto auto auto; gap: 0.55rem; align-items: center; justify-content: center; margin: 1rem 0; padding: 1.1rem; border: 1px solid #a9cbb5; border-radius: 1rem; background: #f3faf5; }
.metabolic-pathway span, .metabolic-pathway strong { display: grid; width: 3rem; height: 3rem; place-items: center; border-radius: 50%; background: #fff; color: #244f3a; }
.metabolic-pathway strong { color: #fff; background: #39775a; }
.metabolic-pathway i { color: #6f5637; font-style: normal; font-weight: 750; }
.metabolic-pathway small { grid-column: 1 / -1; text-align: center; }
.experiment-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.metabolic-branch { grid-template-columns: 1fr 1.5fr; align-items: center; }
.metabolic-branch strong { grid-row: span 2; display: grid; min-height: 5.2rem; place-content: center; border-radius: 50%; color: #fff; background: #39775a; }
.metabolic-branch span, .photosynthesis-flow span, .photosynthesis-flow strong, .metabolic-network > * { padding: 0.7rem; border-radius: 0.75rem; background: #fff; text-align: center; }
.photosynthesis-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.photosynthesis-flow strong { grid-column: 1 / -1; color: #fff; background: #39775a; }
.metabolic-network { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.metabolic-network strong { grid-column: 1 / -1; color: #fff; background: #39775a; }
@media (max-width: 640px) { .metabolic-ledger, .experiment-pair, .photosynthesis-flow, .metabolic-network { grid-template-columns: 1fr; } .metabolic-ledger article:last-child, .photosynthesis-flow strong, .metabolic-network strong { grid-column: auto; } .metabolic-pathway { grid-template-columns: auto auto auto; } .metabolic-pathway small { grid-column: 1 / -1; } }
.biodiversity-landscape { display: grid; grid-template-columns: 1.1fr 1.4fr 1fr; min-height: 10rem; overflow: hidden; margin: 1rem 0; border: 1px solid #a9c9b2; border-radius: 1rem; }
.biodiversity-landscape span { display: grid; place-content: end center; padding: 1rem 0.65rem; color: #173f40; font-weight: 800; text-align: center; }
.bio-pond { background: radial-gradient(circle at 30% 35%, #d7f7ff 0 8%, transparent 9%), linear-gradient(#b6e7f2, #6fb5c8); }
.bio-meadow { background: radial-gradient(circle at 25% 60%, #ffd46c 0 4%, transparent 5%), radial-gradient(circle at 70% 45%, #e58aad 0 4%, transparent 5%), linear-gradient(#dff0bc, #8fbe68); }
.bio-hedge { background: radial-gradient(circle at 50% 35%, #4e865a 0 30%, transparent 31%), linear-gradient(#b7d5a7, #5f8f62); }
.sampling-curve { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.55rem; align-items: end; min-height: 10rem; margin: 1rem 0; padding: 1rem; border-left: 0.25rem solid #39775a; border-bottom: 0.25rem solid #39775a; background: #eef7f1; }
.sampling-curve span { display: grid; place-content: center; padding: 0.65rem; border-radius: 0.7rem 0.7rem 0 0; color: #fff; background: #5b9877; text-align: center; }
.sampling-curve span:nth-child(1) { min-height: 3.2rem; } .sampling-curve span:nth-child(2) { min-height: 5.5rem; } .sampling-curve span:nth-child(3) { min-height: 6.3rem; }
.sampling-curve strong { grid-column: 1 / -1; text-align: center; }
@media (max-width: 640px) { .biodiversity-landscape { grid-template-columns: 1fr; } .sampling-curve { grid-template-columns: 1fr; align-items: stretch; } .sampling-curve span { min-height: auto !important; border-radius: 0.7rem; } }
.crisis-curve { display: grid; grid-template-columns: 1.2fr 0.75fr 1.2fr; gap: 0.5rem; align-items: end; min-height: 10rem; margin: 1rem 0; padding: 1rem; border-bottom: 0.3rem solid #39775a; background: #edf6f0; }
.crisis-curve > * { display: grid; place-content: center; padding: 0.75rem; border-radius: 0.75rem 0.75rem 0 0; color: #fff; background: #5c9474; text-align: center; }
.crisis-curve strong { min-height: 3rem; background: #9a564f; } .crisis-curve span:first-child { min-height: 7rem; } .crisis-curve span:last-child { min-height: 5rem; }
@media (max-width: 640px) { .crisis-curve { grid-template-columns: 1fr; align-items: stretch; } .crisis-curve > * { min-height: auto !important; border-radius: 0.75rem; } }
.allele-copy-ledger { display: grid; grid-template-columns: repeat(3, auto auto minmax(2.8rem, 1fr)); gap: 0.45rem; align-items: center; margin: 1rem 0; padding: 1rem; border: 1px solid #a9c9b2; border-radius: 1rem; background: #eef7f1; }
.allele-copy-ledger span { display: grid; width: 2.25rem; height: 2.25rem; place-items: center; border-radius: 50%; color: #fff; font-weight: 850; }
.allele-copy-ledger b { color: #173f40; } .allele-a { background: #39775a; } .allele-b { background: #9a6256; }
.allele-draw, .drift-trajectories { display: grid; grid-template-columns: 1fr auto 1fr; gap: 0.8rem; align-items: center; margin: 1rem 0; }
.allele-draw article, .drift-trajectories article { display: grid; gap: 0.5rem; padding: 0.9rem; border: 1px solid #b8d2c1; border-radius: 0.9rem; background: #f3faf5; }
.allele-draw i, .selection-evidence-chain i, .speciation-gate i { color: #39775a; font-style: normal; font-weight: 900; text-align: center; }
.drift-trajectories { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.drift-trajectories span { position: relative; overflow: hidden; padding: 0.45rem 0.55rem; border-radius: 0.5rem; background: linear-gradient(90deg, #70a989 var(--drift), #ead9d2 var(--drift)); color: #173f40; font-size: 0.85rem; font-weight: 750; }
.selection-evidence-chain, .speciation-gate { display: grid; grid-template-columns: 1fr auto 1fr auto 1.3fr auto 1.2fr; gap: 0.55rem; align-items: center; margin: 1rem 0; }
.selection-evidence-chain span, .selection-evidence-chain strong, .speciation-gate span, .speciation-gate strong { padding: 0.75rem 0.55rem; border-radius: 0.75rem; background: #eef7f1; color: #173f40; text-align: center; }
.selection-evidence-chain strong, .speciation-gate strong { color: #fff; background: #39775a; }
@media (max-width: 640px) { .allele-copy-ledger { grid-template-columns: auto auto 1fr; } .allele-draw, .drift-trajectories, .selection-evidence-chain, .speciation-gate { grid-template-columns: 1fr; } .allele-draw i, .selection-evidence-chain i, .speciation-gate i { transform: rotate(90deg); } }
.communication-chain { display: grid; grid-template-columns: repeat(4, 1fr auto) 1fr; gap: 0.45rem; align-items: center; margin: 1rem 0; }
.communication-chain span, .communication-chain strong { padding: 0.7rem 0.45rem; border-radius: 0.75rem; background: #eef7f1; color: #173f40; text-align: center; }
.communication-chain strong { color: #fff; background: #39775a; } .communication-chain i { color: #39775a; font-style: normal; font-weight: 900; }
.signal-modalities { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.55rem; margin: 1rem 0; }
.signal-modalities span { padding: 0.8rem 0.5rem; border: 1px solid #abcbb5; border-radius: 999px; background: #f3faf5; color: #214f3b; font-weight: 800; text-align: center; }
.signal-test-pair { margin: 1rem 0; } .signal-test-pair article { display: grid; gap: 0.35rem; padding: 0.85rem; border: 1px solid #b6d0bd; border-radius: 0.8rem; background: #f3faf5; }
.peacock-observatory { overflow: hidden; margin: 1rem 0; border: 1px solid #a8c7b2; border-radius: 1rem; background: radial-gradient(circle at 50% 55%, #f4f0d2, #d7eadc 58%, #b4d2bd); }
.peacock-observatory svg { display: block; width: 100%; height: auto; max-height: 27rem; }
.peacock-observatory figcaption { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.55rem; padding: 0.8rem; background: #173f40; color: #fff; }
.peacock-observatory figcaption > * { padding: 0.35rem; text-align: center; }
.signal-isolation-map { display: grid; grid-template-columns: 1fr auto 1fr; gap: 0.75rem; align-items: center; margin: 1rem 0; }
.signal-isolation-map article { display: grid; gap: 0.4rem; padding: 0.9rem; border: 1px solid #aac9b3; border-radius: 0.9rem; background: #f3faf5; text-align: center; }
.signal-isolation-map i { color: #8c5b4d; font-style: normal; font-weight: 850; text-align: center; }
@media (max-width: 640px) { .communication-chain, .signal-modalities, .peacock-observatory figcaption, .signal-isolation-map { grid-template-columns: 1fr; } .communication-chain i { transform: rotate(90deg); text-align: center; } [data-peacock-tradeoff] .segmented-control { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); } [data-peacock-tradeoff] .segmented-control button { overflow-wrap: normal; word-break: normal; hyphens: none; } }
.coastal-landscape-observatory { overflow: hidden; margin: 1rem 0; border: 1px solid #9dbfc2; border-radius: 1rem; background: #d9eef3; }
.coastal-landscape-observatory svg { display: block; width: 100%; height: auto; }
.coast-callouts path { fill: none; stroke: #173f40; stroke-width: 3; stroke-dasharray: 7 5; }
.coast-callouts text { fill: #173f40; font-size: 21px; font-weight: 850; }
.coastal-landscape-observatory figcaption { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.65rem; padding: 0.85rem 1rem; color: #fff; background: #173f40; }
.erosion-process-chain { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1.15fr; gap: 0.5rem; align-items: center; margin: 1rem 0; }
.erosion-process-chain span, .erosion-process-chain strong { padding: 0.75rem 0.55rem; border: 1px solid #b4cfbe; border-radius: 0.75rem; color: #173f40; background: #f0f8f3; text-align: center; }
.erosion-process-chain strong { color: #fff; border-color: #39775a; background: #39775a; }
.erosion-process-chain i { color: #39775a; font-style: normal; font-weight: 900; text-align: center; }
.rock-weathering-scene { display: grid; grid-template-columns: 1fr auto 1fr; gap: 0.8rem; align-items: center; margin: 1rem 0; }
.rock-weathering-scene article { display: grid; gap: 0.55rem; place-items: center; padding: 0.9rem; border: 1px solid #b8d0c0; border-radius: 0.9rem; background: #f4faf6; text-align: center; }
.rock-weathering-scene > i { color: #2c7484; font-style: normal; font-weight: 850; }
.rock-sample { display: block; width: 6rem; height: 5rem; clip-path: polygon(12% 13%, 77% 2%, 97% 34%, 86% 88%, 21% 100%, 0 59%); }
.rock-sample--granite { background: radial-gradient(circle at 20% 30%, #262a30 0 5%, transparent 6%), radial-gradient(circle at 67% 65%, #efe8db 0 8%, transparent 9%), radial-gradient(circle at 74% 22%, #a66d63 0 7%, transparent 8%), #b8aaa1; }
.rock-sample--limestone { background: repeating-linear-gradient(8deg, #d8d0b8 0 13px, #bdb394 14px 17px); }
.weathering-factor-matrix { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.65rem; margin: 1rem 0; }
.weathering-factor-matrix span { padding: 0.85rem; border: 1px solid #bad2c2; border-radius: 0.8rem; color: #173f40; background: linear-gradient(145deg, #fff, #e7f3eb); font-weight: 800; text-align: center; }
.river-load-lab { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 0.7rem; align-items: center; margin: 1rem 0; }
.river-load-lab article { display: grid; gap: 0.5rem; place-items: center; text-align: center; }
.river-load-lab > i { color: #2b7281; font-style: normal; font-weight: 850; text-align: center; }
.lab-vessel { position: relative; display: block; width: 4.4rem; height: 5.6rem; overflow: hidden; border: 0.22rem solid #56747a; border-top: 0; border-radius: 0 0 1rem 1rem; background: linear-gradient(to top, #78b5c2 0 64%, transparent 65%); }
.lab-vessel--turbid { background: radial-gradient(circle at 28% 55%, #7b633f 0 4%, transparent 5%), radial-gradient(circle at 67% 70%, #745a37 0 5%, transparent 6%), linear-gradient(to top, #9d8963 0 64%, transparent 65%); }
.lab-vessel--clear { background: linear-gradient(to top, #b9e3e8 0 64%, transparent 65%); }
.lab-vessel--residue { background: linear-gradient(to top, #d8d0ae 0 11%, transparent 12%); }
.stream-sediment-profile { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.4rem 0.75rem; align-items: end; margin: 1rem 0; padding: 1rem; border-radius: 1rem; background: linear-gradient(#d9edf1 0 48%, #b2d8df 49% 65%, #d8c59f 66%); text-align: center; }
.stream-arrow { grid-column: 1 / -1; justify-self: stretch; padding: 0.5rem; border-radius: 999px; color: #fff; background: linear-gradient(90deg, #225f76, #78aeb8); font-weight: 850; }
.grain { justify-self: center; display: block; border-radius: 50%; background: #69594b; box-shadow: inset -0.25rem -0.25rem 0 #4d4138; }
.grain--boulder { width: 4.5rem; height: 3.7rem; }.grain--pebble { width: 3rem; height: 2.5rem; }.grain--sand { width: 1.3rem; height: 1.3rem; }.grain--silt { width: 0.45rem; height: 0.45rem; }
.stream-sediment-profile small { color: #3f382f; font-weight: 800; }
.landscape-time-pair { display: grid; grid-template-columns: 1fr auto 1fr; gap: 0.75rem; align-items: center; margin: 1rem 0; }
.landscape-time-pair article { display: grid; gap: 0.6rem; padding: 0.9rem; border: 1px solid #b6d0bf; border-radius: 0.9rem; background: #f1f8f3; text-align: center; }
.landscape-time-pair > i { color: #39775a; font-style: normal; font-weight: 850; }
.cliff-line { display: block; height: 6.2rem; border-bottom: 0.8rem solid #d7c49e; background: linear-gradient(90deg, transparent 0 32%, #9a7251 33% 61%, transparent 62%); clip-path: polygon(0 0, 67% 0, 70% 20%, 62% 44%, 64% 68%, 57% 100%, 0 100%); }
.cliff-line--b { background: linear-gradient(90deg, transparent 0 22%, #9a7251 23% 51%, transparent 52%); }
@media (max-width: 640px) {
  .erosion-process-chain, .rock-weathering-scene, .river-load-lab, .landscape-time-pair { grid-template-columns: 1fr; }
  .erosion-process-chain i, .river-load-lab > i { transform: rotate(90deg); }
  .rock-weathering-scene > i, .landscape-time-pair > i { text-align: center; }
  .weathering-factor-matrix { grid-template-columns: 1fr; }
  .stream-sediment-profile { gap: 0.35rem; padding: 0.75rem 0.45rem; }
  .grain--boulder { width: 3.2rem; height: 2.7rem; }.grain--pebble { width: 2.2rem; height: 1.8rem; }
  [data-landscape-passport] .segmented-control, [data-erosion-process] .segmented-control, [data-rock-weathering] .segmented-control, [data-weathering-factor] .segmented-control, [data-river-load] .segmented-control, [data-stream-transport] .segmented-control, [data-landscape-change] .segmented-control { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  [data-landscape-passport] .segmented-control button, [data-erosion-process] .segmented-control button, [data-rock-weathering] .segmented-control button, [data-weathering-factor] .segmented-control button, [data-river-load] .segmented-control button, [data-stream-transport] .segmented-control button, [data-landscape-change] .segmented-control button { overflow-wrap: normal; word-break: normal; hyphens: none; }
}
.sediment-matter-tray, .weathering-factor-matrix { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.65rem; margin: 1rem 0; }
.sediment-matter-tray span { display: grid; min-height: 4.4rem; place-items: center; padding: 0.7rem; border-radius: 0.85rem; color: #173f40; font-weight: 850; text-align: center; }
.sediment-grain-dot { background: radial-gradient(circle, #7b644d 0 8%, transparent 9%), #eee3d1; background-size: 22px 22px; }.sediment-ion-dot { background: radial-gradient(circle, #3984a0 0 4%, transparent 5%), #dff2f5; background-size: 18px 18px; }.sediment-organic-dot { background: radial-gradient(ellipse, #6e9254 0 14%, transparent 15%), #e9f1dd; background-size: 36px 24px; }.sediment-crystal-dot { background: linear-gradient(135deg, transparent 35%, #d9c47f 36% 64%, transparent 65%), #f7f0d5; background-size: 25px 25px; }
.deposition-flume { position: relative; display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 0.55rem; align-items: center; overflow: hidden; margin: 1rem 0; padding: 1rem 1rem 3.3rem; border-radius: 1rem; color: #173f40; background: linear-gradient(#e5f3f5 0 56%, #86bfca 57% 72%, #d7c39d 73%); text-align: center; }
.deposition-flume i { color: #2a7180; font-style: normal; font-weight: 900; }.deposition-flume strong { color: #fff; }.flume-grains { position: absolute; right: 8%; bottom: 0.7rem; display: flex; gap: 0.55rem; align-items: end; }.flume-grains b { display: block; width: 1rem; height: 1rem; border-radius: 50%; background: #69594b; }.flume-grains b:nth-child(2) { width: .8rem; height: .8rem; }.flume-grains b:nth-child(n+3) { width: .42rem; height: .42rem; }
.grain-passport-visual { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: end; justify-content: center; margin: 1rem 0; padding: 1rem; border-radius: 1rem; background: #eee5d5; }.grain-passport-visual .gp { display: block; border-radius: 50%; background: #80684e; }.gp--1 { width: 4rem; height: 3.5rem; border-radius: 38% 62% 44% 56% !important; }.gp--2 { width: 3rem; height: 3rem; }.gp--3 { width: 2rem; height: 1.8rem; }.gp--4 { width: 1.1rem; height: 1.1rem; }.gp--5 { width: .55rem; height: .55rem; }.grain-passport-visual span { flex-basis: 100%; color: #4e4438; font-weight: 850; text-align: center; }
.sedimentary-structure-cut { position: relative; min-height: 11rem; overflow: hidden; margin: 1rem 0; border: 1px solid #b8cdbf; border-radius: 1rem; background: #f5edda; }.sedimentary-structure-cut span { position: absolute; left: 0; right: 0; height: 1.1rem; background: #a97b50; }.sedimentary-structure-cut span:nth-child(1) { bottom: 1rem; }.sedimentary-structure-cut span:nth-child(2) { bottom: 3rem; }.sedimentary-structure-cut span:nth-child(3) { bottom: 5rem; }.sedimentary-structure-cut span:nth-child(4) { bottom: 7rem; }.sedimentary-structure-cut i { position: absolute; width: 10rem; height: .65rem; bottom: 3.2rem; left: 22%; background: #d4b077; transform: rotate(-18deg); }.sedimentary-structure-cut i:nth-of-type(2) { left: 45%; bottom: 4.2rem; }.sedimentary-structure-cut i:nth-of-type(3) { left: 66%; bottom: 5rem; }
.detrital-rock-slides { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.7rem; margin: 1rem 0; }.rock-slide { display: grid; min-height: 8rem; place-items: end center; padding: 0.7rem; border: 1px solid #b5cbbd; border-radius: 0.9rem; color: #fff; text-align: center; }.rock-slide--conglomerate { background: radial-gradient(ellipse at 25% 30%, #75614c 0 11%, transparent 12%), radial-gradient(ellipse at 70% 60%, #89715a 0 15%, transparent 16%), #c4a67d; }.rock-slide--sandstone { background: radial-gradient(circle, #8a6a49 0 7%, transparent 8%), #d6b987; background-size: 18px 18px; }.rock-slide--fine { background: repeating-linear-gradient(0deg, #756b5d 0 3px, #908675 4px 7px); }
.diagenesis-press { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 0.6rem; align-items: center; margin: 1rem 0; }.diagenesis-press article { display: grid; gap: 0.45rem; text-align: center; }.diagenesis-press > i { color: #39775a; font-style: normal; font-weight: 850; }.pore-sample { display: block; min-height: 6rem; border: 1px solid #aebfaf; border-radius: 0.8rem; }.pore-sample--loose { background: radial-gradient(circle, #80664b 0 17%, transparent 18%), #d8eff2; background-size: 44px 44px; }.pore-sample--compact { background: radial-gradient(circle, #80664b 0 25%, transparent 26%), #b6dce2; background-size: 40px 34px; }.pore-sample--cement { background: radial-gradient(circle, #80664b 0 28%, #d6c48f 29% 40%, transparent 41%), #d9d0a9; background-size: 40px 34px; }
.facies-evidence-fan { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.5rem; margin: 1rem 0; }.facies-evidence-fan span, .facies-evidence-fan strong { padding: 0.75rem 0.4rem; border-radius: 0.7rem; background: #edf7f0; color: #173f40; text-align: center; }.facies-evidence-fan strong { grid-column: 1 / -1; color: #fff; background: #39775a; }
@media (max-width: 640px) { .sediment-matter-tray, .detrital-rock-slides, .facies-evidence-fan { grid-template-columns: 1fr; }.facies-evidence-fan strong { grid-column: auto; }.deposition-flume, .diagenesis-press { grid-template-columns: 1fr; }.deposition-flume { padding-bottom: 3.2rem; }.diagenesis-press > i { max-width: 100%; text-align: center; overflow-wrap: anywhere; }.sedimentary-structure-cut i { width: 7rem; } [data-sediment-matter] .segmented-control, [data-deposition-energy] .segmented-control, [data-grain-passport] .segmented-control, [data-sedimentary-structure] .segmented-control, [data-detrital-rock] .segmented-control, [data-diagenesis] .segmented-control, [data-sedimentary-facies] .segmented-control { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.resource-origin-deck { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.7rem; margin: 1rem 0; }.resource-origin-deck article { display: grid; gap: 0.4rem; padding: 0.75rem; border: 1px solid #b6cdbd; border-radius: 0.9rem; background: #f4faf6; text-align: center; }.resource-scene { display: block; min-height: 6.5rem; border-radius: 0.7rem; }.resource-scene--river { background: radial-gradient(ellipse at 30% 70%, #77624c 0 8%, transparent 9%), radial-gradient(ellipse at 70% 76%, #8b7458 0 10%, transparent 11%), linear-gradient(#d8eef1 0 45%, #5394a5 46% 70%, #cbb184 71%); }.resource-scene--quarry { background: linear-gradient(145deg, transparent 0 38%, #9a7657 39% 50%, #c49a6b 51% 62%, #806247 63%), #dcecef; }.resource-scene--recycled { background: linear-gradient(45deg, transparent 40%, #78838a 41% 58%, transparent 59%), linear-gradient(-45deg, transparent 42%, #a28d75 43% 58%, transparent 59%), #e9eceb; background-size: 38px 38px; }
.aggregate-life-chain { display: grid; grid-template-columns: repeat(5, 1fr auto) 1.45fr; gap: 0.4rem; align-items: center; margin: 1rem 0; }.aggregate-life-chain span, .aggregate-life-chain strong { padding: 0.7rem 0.45rem; border: 1px solid #b5cdbd; border-radius: 0.7rem; color: #173f40; background: #eef7f1; text-align: center; }.aggregate-life-chain strong { color: #fff; border-color: #39775a; background: #39775a; }.aggregate-life-chain i { color: #39775a; font-style: normal; font-weight: 900; }
.human-erosion-transect { overflow: hidden; margin: 1rem 0; border: 1px solid #a9c4bc; border-radius: 1rem; background: #dff1f3; }.human-erosion-transect svg { display: block; width: 100%; height: auto; }.human-erosion-transect figcaption { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1.15fr; gap: 0.5rem; align-items: center; padding: 0.75rem; color: #fff; background: #173f40; text-align: center; }.human-erosion-transect figcaption i { color: #f3a326; font-style: normal; font-weight: 900; }
.soil-cover-pair { display: grid; grid-template-columns: 1fr auto 1fr; gap: 0.8rem; align-items: center; margin: 1rem 0; }.soil-cover-pair article { display: grid; gap: 0.5rem; text-align: center; }.soil-pan { display: block; min-height: 7rem; border: 0.2rem solid #8e7659; border-radius: 0.8rem; transform: perspective(18rem) rotateX(12deg); }.soil-pan--bare { background: repeating-linear-gradient(8deg, #9b724c 0 8px, #a9825d 9px 15px); }.soil-pan--covered { background: radial-gradient(ellipse at 30% 70%, #477847 0 12%, transparent 13%), radial-gradient(ellipse at 65% 40%, #5b8b50 0 15%, transparent 16%), #8c704f; background-size: 44px 35px; }.rain-control { color: #3b8191; font-size: 1.6rem; font-weight: 900; text-align: center; }.rain-control small { display: block; color: #173f40; font-size: 0.75rem; }
.erosion-risk-matrix { display: grid; grid-template-columns: 1fr auto 1.2fr auto 1.2fr auto 1.35fr; gap: 0.45rem; align-items: center; margin: 1rem 0; }.erosion-risk-matrix span, .erosion-risk-matrix strong { padding: 0.75rem 0.45rem; border-radius: 0.75rem; background: #edf7f0; color: #173f40; text-align: center; }.erosion-risk-matrix strong { color: #fff; background: #39775a; }.erosion-risk-matrix b, .erosion-risk-matrix i { color: #8c5b4d; font-style: normal; text-align: center; }
.management-portfolio { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.65rem; margin: 1rem 0; }.management-portfolio article { display: grid; gap: 0.35rem; min-height: 6rem; place-content: center; padding: 0.75rem; border: 1px solid #b3cdbb; border-radius: 0.85rem; background: linear-gradient(145deg, #fff, #e5f2e9); color: #173f40; text-align: center; }.management-portfolio span { color: #39775a; font-weight: 800; }
.intervention-evidence-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.65rem; margin: 1rem 0; }.intervention-evidence-grid span, .intervention-evidence-grid strong { padding: 0.9rem; border: 1px solid #b4ccbc; border-radius: 0.8rem; background: #f2f9f4; color: #173f40; text-align: center; }.intervention-evidence-grid strong { grid-column: 1 / -1; color: #fff; border-color: #39775a; background: #39775a; }
@media (max-width: 640px) { .resource-origin-deck, .aggregate-life-chain, .human-erosion-transect figcaption, .soil-cover-pair, .erosion-risk-matrix, .management-portfolio { grid-template-columns: 1fr; }.aggregate-life-chain i, .human-erosion-transect figcaption i, .erosion-risk-matrix b, .erosion-risk-matrix i { text-align: center; transform: rotate(90deg); }.soil-cover-pair .rain-control { transform: none; }.intervention-evidence-grid { grid-template-columns: 1fr; }.intervention-evidence-grid strong { grid-column: auto; } [data-erosion-resource] .segmented-control, [data-aggregate-lifecycle] .segmented-control, [data-human-pressure] .segmented-control, [data-soil-cover] .segmented-control, [data-erosion-risk] .segmented-control, [data-erosion-management] .segmented-control, [data-erosion-intervention] .segmented-control { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); } [data-human-pressure] .segmented-control { grid-template-columns: 1fr; } }
.agro-boundary-map { overflow: hidden; margin: 1rem 0; border: 1px solid #aac7b6; border-radius: 1rem; background: #eef7f1; }.agro-boundary-map svg { display: block; width: 100%; height: auto; }.agro-boundary-map figcaption { display: grid; grid-template-columns: repeat(3, 1fr) 1.3fr; gap: 0.5rem; padding: 0.75rem; color: #173f40; text-align: center; }.agro-boundary-map figcaption strong { color: #fff; padding: 0.4rem; border-radius: 0.5rem; background: #39775a; }
.agro-biomass-router { display: grid; grid-template-columns: 1.2fr auto 1.2fr repeat(3, 1fr); gap: 0.55rem; align-items: center; margin: 1rem 0; }.agro-biomass-router span, .agro-biomass-router strong { min-height: 4.7rem; display: grid; place-items: center; padding: 0.65rem; border: 1px solid #b4cdb9; border-radius: 0.8rem; background: #eef7f1; color: #173f40; text-align: center; }.agro-biomass-router strong { color: #fff; background: #39775a; }.agro-biomass-router i { color: #f3a326; font-style: normal; font-weight: 900; }
.agro-nutrient-ledger { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.65rem; margin: 1rem 0; }.agro-nutrient-ledger article { display: grid; gap: 0.35rem; padding: 0.8rem; border: 1px solid #b1c9b7; border-radius: 0.85rem; background: linear-gradient(145deg,#fff,#e9f4eb); text-align: center; }.agro-nutrient-ledger strong { grid-column: 1 / -1; padding: 0.75rem; border-radius: 0.75rem; color: #fff; background: #173f40; text-align: center; }
.agro-yield-formula { display: grid; gap: 0.8rem; margin: 1rem 0; padding: 1rem; border: 1px solid #b3cbbb; border-radius: 0.9rem; background: #f3f9f4; text-align: center; }.agro-yield-formula > span { font-size: 1.08rem; font-weight: 800; }.agro-yield-formula > div { display: flex; flex-wrap: wrap; gap: 0.65rem; justify-content: center; align-items: center; }.agro-yield-formula b, .agro-yield-formula strong { padding: 0.55rem 0.75rem; border-radius: 0.65rem; background: #fff; }.agro-yield-formula strong { color: #fff; background: #39775a; }.agro-yield-formula i { color: #f3a326; font-style: normal; font-weight: 900; }
.agro-trophic-transfer { display: grid; grid-template-columns: 1fr auto 1fr auto 1.25fr; gap: 0.55rem; align-items: center; margin: 1rem 0; }.agro-trophic-transfer span, .agro-trophic-transfer strong { min-height: 4rem; display: grid; place-items: center; padding: 0.65rem; border: 1px solid #b4cdb9; border-radius: 0.75rem; background: #edf7f0; text-align: center; }.agro-trophic-transfer strong { color: #fff; background: #39775a; }.agro-trophic-transfer i { color: #f3a326; font-style: normal; font-weight: 900; }.agro-trophic-transfer small { grid-column: 1 / -1; padding: 0.8rem 0.5rem; border-radius: 0.7rem; background: #fff; font-size: 1rem; text-align: center; }.agro-trophic-transfer small .math-expression { font-size: 1.3rem; }
.agro-model-passport { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.55rem; margin: 1rem 0; }.agro-model-passport span, .agro-model-passport strong { padding: 0.75rem 0.5rem; border: 1px solid #b7cdbb; border-radius: 0.75rem; background: #eef7f1; color: #173f40; text-align: center; }.agro-model-passport strong { grid-column: 1 / -1; color: #fff; background: #39775a; }
.agro-terroir-board { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0.5rem; margin: 1rem 0; }.agro-terroir-board span, .agro-terroir-board strong { padding: 0.8rem 0.45rem; border-radius: 0.75rem; background: #edf7f0; color: #173f40; text-align: center; }.agro-terroir-board strong { grid-column: 1 / -1; color: #fff; background: #173f40; }
@media (max-width: 640px) { .agro-boundary-map figcaption, .agro-biomass-router, .agro-nutrient-ledger, .agro-trophic-transfer, .agro-model-passport, .agro-terroir-board { grid-template-columns: 1fr; }.agro-biomass-router i, .agro-trophic-transfer i { text-align: center; transform: rotate(90deg); }.agro-nutrient-ledger strong, .agro-trophic-transfer small, .agro-model-passport strong, .agro-terroir-board strong { grid-column: auto; } [data-agro-boundary] .segmented-control, [data-agro-biomass] .segmented-control, [data-agro-ledger] .segmented-control, [data-agro-yield] .segmented-control, [data-agro-ecological-yield] .segmented-control, [data-agro-model] .segmented-control, [data-agro-terroir] .segmented-control { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.soil-profile-observatory { overflow: hidden; margin: 1rem 0; border: 1px solid #b89f78; border-radius: 1rem; background: #f7f0e5; }
.soil-profile-observatory svg { display: block; width: 100%; height: auto; }
.soil-profile-observatory figcaption { display: grid; grid-template-columns: 1fr auto 1fr auto 1.5fr; gap: .55rem; align-items: center; padding: .8rem; color: #3f3329; text-align: center; }
.soil-profile-observatory figcaption span, .soil-profile-observatory figcaption strong { padding: .55rem; border-radius: .6rem; background: #fff; }
.soil-profile-observatory figcaption strong { color: #fff; background: #526b3f; }
.soil-profile-observatory figcaption i, .root-solution-map i, .mineral-growth-pair > i, .soil-organic-ledger > i { color: #d9851c; font-style: normal; font-weight: 900; }
.soil-formation-matrix { display: grid; grid-template-columns: repeat(5, 1fr); gap: .55rem; margin: 1rem 0; }
.soil-formation-matrix span, .soil-formation-matrix strong { display: grid; min-height: 4rem; place-items: center; padding: .65rem; border: 1px solid #c8b89d; border-radius: .75rem; background: #f7f1e6; color: #493a2e; text-align: center; }
.soil-formation-matrix strong { grid-column: 1 / -1; color: #fff; background: #526b3f; }
.soil-property-bench { display: grid; grid-template-columns: repeat(3, 1fr); gap: .7rem; margin: 1rem 0; }
.soil-property-bench article { display: grid; gap: .55rem; min-width: 0; padding: .8rem; border: 1px solid #c9b99f; border-radius: .85rem; background: linear-gradient(145deg,#fff,#f3eadc); text-align: center; }
.soil-property-bench article > span { min-height: 5.5rem; border-radius: .65rem; background-color: #e9ddc9; }
.soil-particles { background-image: radial-gradient(circle at 20% 32%,#806b52 0 7px,transparent 8px),radial-gradient(circle at 61% 23%,#b59870 0 4px,transparent 5px),radial-gradient(circle at 76% 67%,#655343 0 10px,transparent 11px),radial-gradient(circle at 38% 72%,#9d815e 0 5px,transparent 6px); background-size: 55px 45px; }
.soil-aggregates { background-image: radial-gradient(ellipse at 25% 40%,#735943 0 14px,transparent 15px),radial-gradient(ellipse at 68% 61%,#967552 0 18px,transparent 19px),radial-gradient(ellipse at 85% 18%,#604c3b 0 11px,transparent 12px); background-size: 92px 72px; }
.soil-water-scale { display: grid; place-items: center; border: 2px solid #82a8af; color: #315e66; font-weight: 900; }
.soil-property-bench small { min-width: 0; overflow-wrap: anywhere; }
.soil-property-bench small .math-expression { max-width: 100%; font-size: 1rem; }
.root-solution-map { display: grid; grid-template-columns: 1.25fr auto 1fr auto 1.25fr; gap: .55rem; align-items: center; margin: 1rem 0; }
.root-solution-map span, .root-solution-map strong { display: grid; min-height: 4.5rem; place-items: center; padding: .65rem; border: 1px solid #abc2a7; border-radius: .75rem; background: #eff6e9; text-align: center; }
.root-solution-map strong { color: #fff; background: #526b3f; }
.root-solution-map small { grid-column: 1 / -1; padding: .75rem; border-radius: .7rem; background: #eaf4f5; color: #315e66; font-size: 1rem; font-weight: 800; text-align: center; }
.mineral-growth-pair { display: grid; grid-template-columns: 1fr auto 1fr; gap: .75rem; align-items: center; margin: 1rem 0; }
.mineral-growth-pair article { display: grid; gap: .45rem; justify-items: center; padding: .8rem; border: 1px solid #bdc9a8; border-radius: .85rem; background: #f3f7ea; text-align: center; }
.mineral-growth-pair > i { max-width: 8rem; text-align: center; }
.plant-pot { position: relative; display: block; width: 5.5rem; height: 6.5rem; }
.plant-pot::before { position: absolute; left: 1.1rem; bottom: 0; width: 3.3rem; height: 2.6rem; border-radius: .35rem .35rem 1.2rem 1.2rem; background: #a56e46; content: ""; }
.plant-pot::after { position: absolute; left: 2.65rem; bottom: 2.2rem; width: .35rem; height: 3.8rem; border-radius: 1rem; background: #4f7d3e; box-shadow: -1.1rem -1.15rem 0 -.25rem #6ea14f, 1rem -2rem 0 -.15rem #6ea14f; content: ""; transform-origin: bottom; }
.plant-pot--deficient::after { height: 2.2rem; background: #8c8842; box-shadow: -.8rem -.5rem 0 -.28rem #b0a446, .7rem -1rem 0 -.25rem #b0a446; }
.soil-food-web { display: grid; grid-template-columns: repeat(4, 1fr); gap: .55rem; margin: 1rem 0; }
.soil-food-web strong, .soil-food-web span, .soil-food-web i { display: grid; place-items: center; min-height: 4rem; padding: .65rem; border-radius: .7rem; background: #f4ecdf; color: #493a2e; text-align: center; }
.soil-food-web strong { grid-column: 1 / -1; color: #fff; background: #526b3f; }
.soil-food-web span { border: 1px solid #c9b79a; }
.soil-food-web i { grid-column: 1 / -1; min-height: auto; color: #315e66; background: #e8f2f2; font-style: normal; font-weight: 800; }
.soil-organic-ledger { display: grid; grid-template-columns: 1.2fr auto 1.2fr repeat(4, 1fr); gap: .5rem; align-items: center; margin: 1rem 0; }
.soil-organic-ledger span, .soil-organic-ledger strong { display: grid; min-height: 4.6rem; place-items: center; padding: .6rem; border: 1px solid #c5b496; border-radius: .7rem; background: #f5eddf; text-align: center; }
.soil-organic-ledger strong { color: #fff; background: #526b3f; }
.soil-organic-ledger small { grid-column: 1 / -1; padding: .7rem; border-radius: .65rem; background: #fff; color: #755834; font-size: 1rem; text-align: center; }
@media (max-width: 640px) {
  .soil-profile-observatory figcaption, .soil-formation-matrix, .soil-property-bench, .root-solution-map, .mineral-growth-pair, .soil-food-web, .soil-organic-ledger { grid-template-columns: 1fr; }
  .soil-profile-observatory figcaption i, .root-solution-map i, .soil-organic-ledger > i { transform: rotate(90deg); }
  .soil-formation-matrix strong, .root-solution-map small, .soil-food-web strong, .soil-food-web i, .soil-organic-ledger small { grid-column: auto; }
  .mineral-growth-pair > i { max-width: none; }
  [data-soil-profile] .segmented-control, [data-soil-formation] .segmented-control, [data-soil-properties] .segmented-control, [data-soil-nutrition] .segmented-control, [data-soil-growth-experiment] .segmented-control, [data-soil-food-web] .segmented-control, [data-soil-organic-ledger] .segmented-control { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.sustainability-dashboard { display: grid; grid-template-columns: repeat(5, 1fr); gap: .55rem; margin: 1rem 0; }
.sustainability-dashboard span, .sustainability-dashboard strong { display: grid; min-height: 4.4rem; place-items: center; padding: .65rem; border: 1px solid #a8c4ad; border-radius: .75rem; background: #edf6ed; color: #173f40; text-align: center; }
.sustainability-dashboard strong { grid-column: 1 / -1; min-height: auto; color: #fff; background: linear-gradient(90deg,#315e66,#39775a); }
.impact-evidence-chain { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1.25fr; gap: .5rem; align-items: center; margin: 1rem 0; }
.impact-evidence-chain span, .impact-evidence-chain strong { display: grid; min-height: 4rem; place-items: center; padding: .65rem; border: 1px solid #b4c8b2; border-radius: .7rem; background: #eff7ed; text-align: center; }
.impact-evidence-chain strong { color: #fff; background: #39775a; }
.impact-evidence-chain i, .nitrogen-balance-map > i, .adaptive-management-cycle > i { color: #d9851c; font-style: normal; font-weight: 900; text-align: center; }
.impact-evidence-chain small { grid-column: 1 / -1; padding: .8rem; border-radius: .7rem; background: #fff; font-size: 1rem; text-align: center; }
.impact-evidence-chain small .math-expression { font-size: 1.12rem; }
.nitrogen-balance-map { display: grid; grid-template-columns: 1.25fr auto 1.5fr repeat(4, 1fr); gap: .5rem; align-items: center; margin: 1rem 0; }
.nitrogen-balance-map span, .nitrogen-balance-map strong { display: grid; min-height: 4.5rem; place-items: center; padding: .6rem; border: 1px solid #aebf9d; border-radius: .7rem; background: #f1f5e7; text-align: center; }
.nitrogen-balance-map strong { color: #fff; background: #526b3f; }
.nitrogen-balance-map small { grid-column: 1 / -1; padding: .75rem; border-radius: .65rem; background: #e8f2f2; color: #315e66; font-size: 1rem; font-weight: 800; text-align: center; }
.crop-protection-stair { display: grid; grid-template-columns: repeat(4, 1fr); gap: .55rem; align-items: end; margin: 1rem 0; }
.crop-protection-stair span, .crop-protection-stair strong, .crop-protection-stair i { display: grid; place-items: center; padding: .65rem; border-radius: .7rem; color: #173f40; background: #edf6ed; text-align: center; }
.crop-protection-stair span:nth-child(1) { min-height: 3.6rem; }
.crop-protection-stair span:nth-child(2) { min-height: 4.5rem; background: #e1efdf; }
.crop-protection-stair span:nth-child(3) { min-height: 5.4rem; background: #d3e8d0; }
.crop-protection-stair strong { min-height: 6.3rem; color: #fff; background: #39775a; }
.crop-protection-stair i { grid-column: 1 / -1; color: #754c15; background: #fff1d6; font-style: normal; font-weight: 800; }
.agro-landscape-map { overflow: hidden; margin: 1rem 0; border: 1px solid #a8c2ad; border-radius: 1rem; background: #eaf4ed; }
.agro-landscape-map svg { display: block; width: 100%; height: auto; }
.agro-landscape-map figcaption { padding: .75rem; color: #173f40; font-weight: 800; text-align: center; }
.agro-tradeoff-board { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: .55rem; align-items: center; margin: 1rem 0; }
.agro-tradeoff-board b, .agro-tradeoff-board strong, .agro-tradeoff-board span, .agro-tradeoff-board i { min-width: 0; padding: .6rem; border-radius: .6rem; text-align: center; }
.agro-tradeoff-board b, .agro-tradeoff-board strong { color: #fff; background: #173f40; }
.agro-tradeoff-board span { border: 1px solid #b4c7b1; background: #f2f7ed; }
.agro-tradeoff-board i { position: relative; height: 1.8rem; overflow: hidden; border: 1px solid #b5c8b4; background: #fff; }
.agro-tradeoff-board i::before { position: absolute; inset: 0 auto 0 0; width: var(--score); border-radius: .5rem; background: linear-gradient(90deg,#88ad67,#39775a); content: ""; }
.agro-tradeoff-board small { grid-column: 1 / -1; padding: .7rem; border-radius: .65rem; color: #754c15; background: #fff1d6; font-size: 1rem; text-align: center; }
.adaptive-management-cycle { display: grid; grid-template-columns: repeat(7, auto); gap: .5rem; align-items: center; margin: 1rem 0; }
.adaptive-management-cycle span, .adaptive-management-cycle strong { display: grid; min-height: 4.4rem; place-items: center; padding: .65rem; border: 1px solid #aec5b1; border-radius: .75rem; background: #eff7ed; color: #173f40; text-align: center; }
.adaptive-management-cycle strong { grid-column: 1 / -1; min-height: auto; color: #fff; background: #315e66; }
@media (max-width: 640px) {
  .sustainability-dashboard, .impact-evidence-chain, .nitrogen-balance-map, .crop-protection-stair, .adaptive-management-cycle { grid-template-columns: 1fr; }
  .sustainability-dashboard strong, .impact-evidence-chain small, .nitrogen-balance-map small, .crop-protection-stair i, .adaptive-management-cycle strong { grid-column: auto; }
  .impact-evidence-chain > i, .nitrogen-balance-map > i, .adaptive-management-cycle > i { transform: rotate(90deg); }
  .crop-protection-stair span, .crop-protection-stair strong { min-height: auto !important; }
  .agro-tradeoff-board { grid-template-columns: 1.25fr .8fr .8fr; gap: .35rem; }
  .agro-tradeoff-board b, .agro-tradeoff-board strong, .agro-tradeoff-board span, .agro-tradeoff-board i { padding: .45rem .3rem; font-size: .82rem; }
  [data-agro-sustainability] .segmented-control, [data-agro-impact-chain] .segmented-control, [data-agro-nitrogen] .segmented-control, [data-agro-protection] .segmented-control, [data-agro-diversity] .segmented-control, [data-agro-tradeoff] .segmented-control, [data-agro-adaptive] .segmented-control { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.sex-level-passport { display: grid; grid-template-columns: repeat(3, 1fr); gap: .6rem; margin: 1rem 0; }
.sex-level-passport span, .sex-level-passport strong { display: grid; min-height: 4.2rem; place-items: center; padding: .65rem; border: 1px solid #b9b9d2; border-radius: .75rem; background: #f2f2fa; color: #303657; text-align: center; }
.sex-level-passport strong { grid-column: 1 / -1; min-height: auto; color: #fff; background: #4c557d; }
.fertilization-chromosome-builder { display: grid; grid-template-columns: 1fr auto 1fr auto 1.35fr; gap: .6rem; align-items: center; margin: 1rem 0; }
.fertilization-chromosome-builder article { display: grid; gap: .45rem; min-height: 7rem; place-items: center; padding: .75rem; border: 1px solid #b9bfd9; border-radius: .85rem; background: #f4f4fb; text-align: center; }
.fertilization-chromosome-builder article strong { display: grid; width: 3.4rem; height: 3.4rem; place-items: center; border-radius: 50%; color: #fff; background: #4c557d; font-size: 1.5rem; }
.fertilization-chromosome-builder article span { font-weight: 800; }
.fertilization-chromosome-builder > i, .gonad-pathway-map > i, .hormone-target-chain > i, .puberty-axis-map > i, .puberty-development-timeline > i { color: #d9851c; font-style: normal; font-weight: 900; text-align: center; }
.fertilization-chromosome-builder small { grid-column: 1 / -1; padding: .7rem; border-radius: .65rem; background: #e9f2f4; color: #315e66; font-size: 1rem; text-align: center; }
.gonad-pathway-map { display: grid; grid-template-columns: 1fr auto auto 1fr; gap: .6rem; align-items: center; margin: 1rem 0; }
.gonad-pathway-map > strong { grid-column: 1 / -1; padding: .8rem; border-radius: .75rem; color: #fff; background: #4c557d; text-align: center; }
.gonad-pathway-map > span { display: grid; min-height: 5.5rem; place-items: center; padding: .75rem; border: 1px solid #b9bfd9; border-radius: .8rem; background: #f3f3fa; text-align: center; }
.gonad-pathway-map > span:first-of-type { grid-column: 1 / 3; }
.gonad-pathway-map > span:last-of-type { grid-column: 3 / 5; }
.gonad-pathway-map small { grid-column: 1 / -1; padding: .7rem; border-radius: .65rem; color: #754c15; background: #fff1d6; font-size: 1rem; text-align: center; }
.hormone-target-chain, .puberty-axis-map { display: grid; grid-template-columns: 1fr auto 1.2fr auto 1.25fr auto 1fr; gap: .5rem; align-items: center; margin: 1rem 0; }
.hormone-target-chain span, .hormone-target-chain strong, .puberty-axis-map span, .puberty-axis-map strong { display: grid; min-height: 4.8rem; place-items: center; padding: .65rem; border: 1px solid #b8bfd6; border-radius: .75rem; background: #f3f3fa; color: #303657; text-align: center; }
.hormone-target-chain strong, .puberty-axis-map strong { color: #fff; background: #4c557d; }
.hormone-target-chain small { grid-column: 1 / -1; padding: .7rem; border-radius: .65rem; background: #e9f2f4; color: #315e66; font-size: 1rem; text-align: center; }
.puberty-axis-map span small, .puberty-axis-map strong small { display: block; margin-top: .35rem; color: inherit; }
.puberty-development-timeline { display: grid; grid-template-columns: 1fr auto 1.35fr auto 1fr auto 1.25fr; gap: .5rem; align-items: center; margin: 1rem 0; }
.puberty-development-timeline span, .puberty-development-timeline strong { display: grid; min-height: 5.3rem; place-items: center; padding: .65rem; border: 1px solid #b9bfd4; border-radius: .75rem; background: #f3f3fa; color: #303657; text-align: center; }
.puberty-development-timeline strong { color: #fff; background: #4c557d; }
.puberty-development-timeline small { display: block; margin-top: .35rem; color: inherit; }
.sex-variation-audit { display: grid; grid-template-columns: repeat(5, 1fr); gap: .55rem; margin: 1rem 0; }
.sex-variation-audit span, .sex-variation-audit strong { display: grid; min-height: 4.5rem; place-items: center; padding: .65rem; border: 1px solid #b9bfd5; border-radius: .75rem; background: #f3f3fa; color: #303657; text-align: center; }
.sex-variation-audit strong { grid-column: 1 / -1; min-height: auto; color: #fff; background: #4c557d; }
@media (max-width: 640px) {
  .sex-level-passport, .fertilization-chromosome-builder, .gonad-pathway-map, .hormone-target-chain, .puberty-axis-map, .puberty-development-timeline, .sex-variation-audit { grid-template-columns: 1fr; }
  .sex-level-passport strong, .fertilization-chromosome-builder small, .gonad-pathway-map > strong, .gonad-pathway-map > span:first-of-type, .gonad-pathway-map > span:last-of-type, .gonad-pathway-map small, .hormone-target-chain small, .sex-variation-audit strong { grid-column: auto; }
  .fertilization-chromosome-builder > i, .gonad-pathway-map > i, .hormone-target-chain > i, .puberty-axis-map > i, .puberty-development-timeline > i { transform: rotate(90deg); }
  .fertilization-chromosome-builder article, .hormone-target-chain span, .hormone-target-chain strong, .puberty-axis-map span, .puberty-axis-map strong, .puberty-development-timeline span, .puberty-development-timeline strong { min-height: auto; }
  [data-sex-levels] .segmented-control, [data-sex-fertilization] .segmented-control, [data-sex-sry] .segmented-control, [data-sex-hormone] .segmented-control, [data-sex-puberty-axis] .segmented-control, [data-sex-puberty-timeline] .segmented-control, [data-sex-variation] .segmented-control { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.pleasure-level-compass { display: grid; grid-template-columns: 1fr auto 1.2fr auto 1.25fr auto 1fr auto 1fr; gap: .45rem; align-items: center; margin: 1rem 0; }
.pleasure-level-compass span, .pleasure-level-compass strong { display: grid; min-height: 4.4rem; place-items: center; padding: .65rem; border: 1px solid #b8bfd6; border-radius: .75rem; background: #f2f3fa; color: #303657; text-align: center; }
.pleasure-level-compass strong { color: #fff; background: #4c557d; }
.pleasure-level-compass i, .sensory-brain-route > i { color: #d9851c; font-style: normal; font-weight: 900; text-align: center; }
.pleasure-level-compass small { grid-column: 1 / -1; padding: .7rem; border-radius: .65rem; background: #e8f2f4; color: #315e66; font-size: 1rem; text-align: center; }
.sensory-brain-route { display: grid; grid-template-columns: 1fr auto 1fr auto 1.25fr auto 1fr auto 1fr; gap: .45rem; align-items: center; margin: 1rem 0; }
.sensory-brain-route span, .sensory-brain-route strong { display: grid; min-height: 5rem; place-items: center; padding: .65rem; border: 1px solid #b8bfd6; border-radius: .75rem; background: #f3f3fa; color: #303657; text-align: center; }
.sensory-brain-route strong { color: #fff; background: #4c557d; }
.sensory-brain-route small, .consent-level-gates small, .brain-imaging-audit strong small { display: block; margin-top: .3rem; color: inherit; }
.reward-network-map { overflow: hidden; margin: 1rem 0; border: 1px solid #b6bdd4; border-radius: 1rem; background: linear-gradient(145deg,#fafaff,#eef2f8); }
.reward-network-map svg { display: block; width: 100%; height: auto; }
.reward-network-map figcaption { padding: .7rem; color: #303657; font-weight: 800; text-align: center; }
.dopamine-learning-track { display: grid; grid-template-columns: repeat(3, 1fr); gap: .65rem; margin: 1rem 0; }
.dopamine-learning-track article { display: grid; gap: .55rem; align-content: start; min-width: 0; padding: .8rem; border: 1px solid #b8bfd6; border-radius: .85rem; background: #f3f3fa; color: #303657; text-align: center; }
.dopamine-learning-track article span { min-height: 2.8rem; }
.dopamine-learning-track article i { position: relative; display: block; height: 4rem; overflow: hidden; border-radius: .6rem; background: repeating-linear-gradient(90deg,#e1e4f0 0 1px,transparent 1px 12%); }
.dopamine-learning-track article i::before { position: absolute; inset: auto 8% 0; height: var(--pulse); border-radius: .45rem .45rem 0 0; background: linear-gradient(#f6b548,#d9851c); content: ""; }
.dopamine-learning-track strong { grid-column: 1 / -1; padding: .75rem; border-radius: .7rem; color: #fff; background: #4c557d; text-align: center; }
.experience-factor-mixer { display: grid; grid-template-columns: repeat(5, 1fr); gap: .55rem; margin: 1rem 0; }
.experience-factor-mixer span, .experience-factor-mixer strong { display: grid; min-height: 4.5rem; place-items: center; padding: .65rem; border: 1px solid #b9bfd5; border-radius: .75rem; background: #f3f3fa; color: #303657; text-align: center; }
.experience-factor-mixer span:nth-child(2), .experience-factor-mixer span:nth-child(4) { background: #eef6f5; }
.experience-factor-mixer strong { grid-column: 1 / -1; min-height: auto; color: #fff; background: linear-gradient(90deg,#4c557d,#315e66); }
.consent-level-gates { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1.4fr; gap: .5rem; align-items: center; margin: 1rem 0; }
.consent-level-gates span, .consent-level-gates strong { display: grid; min-height: 5rem; place-items: center; padding: .65rem; border: 1px solid #b7bdd3; border-radius: .75rem; background: #f3f3fa; color: #303657; text-align: center; }
.consent-level-gates strong { color: #fff; background: #315e66; }
.consent-level-gates b { color: #d9851c; font-size: 1.4rem; text-align: center; }
.consent-level-gates i { grid-column: 1 / -1; padding: .75rem; border-radius: .7rem; color: #754c15; background: #fff1d6; font-style: normal; font-weight: 800; text-align: center; }
.brain-imaging-audit { display: grid; grid-template-columns: 1fr auto 1fr auto 1.15fr; gap: .6rem; align-items: center; margin: 1rem 0; }
.brain-imaging-audit > div, .brain-imaging-audit > strong { display: grid; place-items: center; min-width: 0; padding: .65rem; border: 1px solid #b7bed5; border-radius: .85rem; background: #f3f3fa; color: #303657; text-align: center; }
.brain-imaging-audit svg { display: block; width: 100%; height: auto; }
.brain-imaging-audit svg path { fill: #e7eaf4; stroke: #4c557d; stroke-width: 6; }
.brain-imaging-audit svg circle { fill: #e49a2d; opacity: .84; }
.brain-imaging-audit > span { color: #d9851c; font-size: 1.35rem; font-weight: 900; text-align: center; }
.brain-imaging-audit > strong { min-height: 7rem; color: #fff; background: #4c557d; }
@media (max-width: 640px) {
  .pleasure-level-compass, .sensory-brain-route, .dopamine-learning-track, .experience-factor-mixer, .consent-level-gates, .brain-imaging-audit { grid-template-columns: 1fr; }
  .pleasure-level-compass small, .dopamine-learning-track strong, .experience-factor-mixer strong, .consent-level-gates i { grid-column: auto; }
  .pleasure-level-compass i, .sensory-brain-route > i { transform: rotate(90deg); }
  .pleasure-level-compass span, .pleasure-level-compass strong, .sensory-brain-route span, .sensory-brain-route strong, .consent-level-gates span, .consent-level-gates strong { min-height: auto; }
  [data-pleasure-levels] .segmented-control, [data-pleasure-sensory-route] .segmented-control, [data-pleasure-reward-network] .segmented-control, [data-pleasure-dopamine] .segmented-control, [data-pleasure-context] .segmented-control, [data-pleasure-consent] .segmented-control, [data-pleasure-imaging] .segmented-control { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.reproductive-axis-map { display: grid; grid-template-columns: 1fr auto 1fr auto 1.25fr auto 1fr; gap: .5rem; align-items: center; margin: 1rem 0; }
.reproductive-axis-map span, .reproductive-axis-map strong { display: grid; min-height: 5rem; place-items: center; padding: .65rem; border: 1px solid #aebfcf; border-radius: .75rem; background: #edf4f5; color: #264c58; text-align: center; }
.reproductive-axis-map strong { color: #fff; background: #315e66; }
.reproductive-axis-map small, .testis-parallel-output small, .synthetic-hormone-router small, .amp-pathway small { display: block; margin-top: .3rem; color: inherit; }
.reproductive-axis-map i, .amp-pathway i { color: #d9851c; font-style: normal; font-weight: 900; text-align: center; }
.reproductive-axis-map b, .amp-pathway b { grid-column: 1 / -1; padding: .72rem; border-radius: .65rem; color: #754c15; background: #fff1d6; text-align: center; }
.testis-parallel-output { display: grid; grid-template-columns: 1fr auto auto 1fr; gap: .6rem; align-items: center; margin: 1rem 0; }
.testis-parallel-output > strong { grid-column: 1 / -1; padding: .8rem; border-radius: .75rem; color: #fff; background: #315e66; text-align: center; }
.testis-parallel-output > i { color: #d9851c; font-style: normal; font-weight: 900; text-align: center; }
.testis-parallel-output article { display: grid; gap: .35rem; min-height: 6rem; place-items: center; padding: .75rem; border: 1px solid #aec4cb; border-radius: .8rem; background: #eef5f5; color: #264c58; text-align: center; }
.testis-parallel-output article:first-of-type { grid-column: 1 / 3; }
.testis-parallel-output article:last-of-type { grid-column: 3 / 5; }
.testis-parallel-output em { grid-column: 1 / -1; padding: .7rem; border-radius: .65rem; background: #fff; color: #315e66; font-style: normal; text-align: center; }
.cycle-synchronizer { display: grid; grid-template-columns: .75fr repeat(3, 1fr); gap: .45rem; margin: 1rem 0; }
.cycle-synchronizer > * { display: grid; min-height: 3.8rem; place-items: center; padding: .55rem; border-radius: .65rem; text-align: center; }
.cycle-synchronizer > strong { color: #fff; background: #315e66; }
.cycle-synchronizer > b { color: #fff; background: #4c557d; }
.cycle-synchronizer > b:first-child { background: transparent; }
.cycle-synchronizer > span { border: 1px solid #b3c6ce; background: #eef5f5; color: #264c58; }
.cycle-synchronizer > span:nth-of-type(4), .cycle-synchronizer > span:nth-of-type(5), .cycle-synchronizer > span:nth-of-type(6) { background: #f2f2fa; color: #303657; }
.cycle-evidence-graph { overflow: hidden; margin: 1rem 0; border: 1px solid #b1c3ce; border-radius: 1rem; background: linear-gradient(145deg,#f8fbfb,#eef3f8); }
.cycle-evidence-graph svg { display: block; width: 100%; height: auto; }
.cycle-evidence-graph .cycle-axis { fill: none; stroke: #607484; stroke-width: 5; }
.cycle-evidence-graph .cycle-lh { fill: none; stroke: #d9851c; stroke-width: 9; }
.cycle-evidence-graph .cycle-prog { fill: none; stroke: #4c557d; stroke-width: 9; }
.cycle-evidence-graph .cycle-event { fill: none; stroke: #315e66; stroke-width: 4; stroke-dasharray: 10 8; }
.cycle-evidence-graph text { fill: #334854; }
.cycle-evidence-graph .cycle-label-lh { fill: #a25f16; }
.cycle-evidence-graph .cycle-label-prog { fill: #4c557d; }
.cycle-evidence-graph figcaption { padding: .72rem; color: #315e66; font-weight: 800; text-align: center; }
.synthetic-hormone-router { display: grid; grid-template-columns: repeat(4, 1fr); gap: .55rem; margin: 1rem 0; }
.synthetic-hormone-router strong, .synthetic-hormone-router span, .synthetic-hormone-router b { display: grid; place-items: center; padding: .7rem; border-radius: .75rem; text-align: center; }
.synthetic-hormone-router strong { grid-column: 1 / -1; color: #fff; background: #315e66; }
.synthetic-hormone-router span { min-height: 5rem; border: 1px solid #afc3cc; background: #eef5f5; color: #264c58; }
.synthetic-hormone-router b { grid-column: 1 / -1; color: #754c15; background: #fff1d6; }
.contraception-purpose-matrix { display: grid; grid-template-columns: repeat(2, 1fr); gap: .65rem; margin: 1rem 0; }
.contraception-purpose-matrix article { display: grid; gap: .4rem; min-width: 0; padding: .8rem; border: 1px solid #b1c4cc; border-radius: .85rem; background: #eef5f5; color: #264c58; }
.contraception-purpose-matrix article b { color: #173f40; }
.contraception-purpose-matrix article small { padding-top: .45rem; border-top: 1px solid #cad9dd; color: #315e66; font-size: .92rem; font-weight: 750; }
.contraception-purpose-matrix > strong { grid-column: 1 / -1; padding: .75rem; border-radius: .7rem; color: #fff; background: linear-gradient(90deg,#315e66,#4c557d); text-align: center; }
.amp-pathway { display: grid; grid-template-columns: 1fr auto 1.3fr auto 1.25fr auto 1fr; gap: .5rem; align-items: center; margin: 1rem 0; }
.amp-pathway span, .amp-pathway strong { display: grid; min-height: 5.2rem; place-items: center; padding: .65rem; border: 1px solid #afc2cc; border-radius: .75rem; background: #eef5f5; color: #264c58; text-align: center; }
.amp-pathway strong { color: #fff; background: #315e66; }
@media (max-width: 640px) {
  .reproductive-axis-map, .testis-parallel-output, .cycle-synchronizer, .synthetic-hormone-router, .contraception-purpose-matrix, .amp-pathway { grid-template-columns: 1fr; }
  .reproductive-axis-map b, .testis-parallel-output > strong, .testis-parallel-output article:first-of-type, .testis-parallel-output article:last-of-type, .testis-parallel-output em, .synthetic-hormone-router strong, .synthetic-hormone-router b, .contraception-purpose-matrix > strong, .amp-pathway b { grid-column: auto; }
  .reproductive-axis-map i, .testis-parallel-output > i, .amp-pathway i { transform: rotate(90deg); }
  .reproductive-axis-map span, .reproductive-axis-map strong, .testis-parallel-output article, .cycle-synchronizer > *, .synthetic-hormone-router span, .amp-pathway span, .amp-pathway strong { min-height: auto; }
  .cycle-synchronizer > b:first-child { display: none; }
  [data-hormone-axis] .segmented-control, [data-hormone-testis] .segmented-control, [data-hormone-cycle-sync] .segmented-control, [data-hormone-cycle-evidence] .segmented-control, [data-hormone-synthetic] .segmented-control, [data-hormone-contraception] .segmented-control, [data-hormone-amp] .segmented-control { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.pathogen-passport, .transmission-chain-map, .hiv-prevention-router, .malaria-cycle-map { display: grid; grid-template-columns: 1fr auto 1fr auto 1.15fr auto 1fr; gap: .5rem; align-items: center; margin: 1rem 0; }
.transmission-chain-map { grid-template-columns: 1fr auto 1fr auto 1.2fr auto 1fr auto 1fr; }
.pathogen-passport article, .pathogen-passport strong, .transmission-chain-map span, .transmission-chain-map strong, .hiv-prevention-router article, .hiv-prevention-router strong, .malaria-cycle-map article, .malaria-cycle-map strong { display: grid; gap: .28rem; min-height: 5.3rem; place-items: center; padding: .7rem; border: 1px solid #9fbfc1; border-radius: .8rem; background: #edf6f3; color: #244d50; text-align: center; }
.pathogen-passport strong, .transmission-chain-map strong, .hiv-prevention-router strong, .malaria-cycle-map strong { color: #fff; background: #2f6263; }
.pathogen-passport i, .transmission-chain-map i, .hiv-prevention-router i, .malaria-cycle-map i { color: #d9851c; font-style: normal; font-weight: 900; text-align: center; }
.pathogen-passport small, .transmission-chain-map b, .hiv-prevention-router em, .malaria-cycle-map small { grid-column: 1 / -1; padding: .72rem; border-radius: .65rem; background: #fff1d6; color: #754c15; font-style: normal; font-weight: 800; text-align: center; }
.infection-state-matrix { display: grid; grid-template-columns: repeat(3, 1fr); gap: .65rem; margin: 1rem 0; }
.infection-state-matrix article { display: grid; gap: .38rem; min-width: 0; padding: .8rem; border: 1px solid #a8c3c5; border-radius: .85rem; background: #edf6f3; color: #244d50; text-align: center; }
.infection-state-matrix article span { font-size: 1.05rem; font-weight: 800; }
.infection-state-matrix article small { padding-top: .4rem; border-top: 1px solid #c8dada; }
.infection-state-matrix > strong { grid-column: 1 / -1; padding: .78rem; border-radius: .7rem; color: #fff; background: linear-gradient(90deg,#2f6263,#4c557d); text-align: center; }
.transmission-route-board { display: grid; grid-template-columns: repeat(3, 1fr); gap: .65rem; margin: 1rem 0; }
.transmission-route-board article, .transmission-route-board strong { display: grid; gap: .4rem; min-width: 0; padding: .82rem; border: 1px solid #a8c3c5; border-radius: .85rem; background: #edf6f3; color: #244d50; text-align: center; }
.transmission-route-board strong { color: #fff; background: #2f6263; }
.transmission-route-board em { grid-column: 1 / -1; padding: .72rem; border-radius: .65rem; background: #fff1d6; color: #754c15; font-style: normal; font-weight: 800; text-align: center; }
.hiv-prevention-router { grid-template-columns: 1fr auto 1fr auto 1fr auto 1.2fr; }
.hiv-prevention-router article span, .hiv-prevention-router strong span, .malaria-cycle-map article span, .malaria-cycle-map strong span { font-size: .93rem; }
.malaria-cycle-map { grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; }
.epidemic-factor-dashboard { display: grid; gap: .7rem; margin: 1rem 0; }
.epidemic-factor-dashboard section { display: grid; grid-template-columns: repeat(4, 1fr); gap: .55rem; }
.epidemic-factor-dashboard section:last-of-type { grid-template-columns: repeat(5, 1fr); }
.epidemic-factor-dashboard article, .epidemic-factor-dashboard span { display: grid; gap: .25rem; min-width: 0; place-items: center; padding: .72rem; border: 1px solid #a8c3c5; border-radius: .75rem; background: #edf6f3; color: #244d50; text-align: center; }
.epidemic-factor-dashboard > strong { padding: .68rem; border-radius: .65rem; color: #fff; background: #4c557d; text-align: center; }
.epidemic-factor-dashboard > em { padding: .72rem; border-radius: .65rem; background: #fff1d6; color: #754c15; font-style: normal; font-weight: 800; text-align: center; }
@media (max-width: 640px) {
  .pathogen-passport, .transmission-chain-map, .infection-state-matrix, .transmission-route-board, .hiv-prevention-router, .malaria-cycle-map, .epidemic-factor-dashboard section, .epidemic-factor-dashboard section:last-of-type { grid-template-columns: 1fr; }
  .pathogen-passport small, .transmission-chain-map b, .infection-state-matrix > strong, .transmission-route-board em, .hiv-prevention-router em, .malaria-cycle-map small { grid-column: auto; }
  .pathogen-passport i, .transmission-chain-map i, .hiv-prevention-router i, .malaria-cycle-map i { transform: rotate(90deg); }
  .pathogen-passport article, .pathogen-passport strong, .transmission-chain-map span, .transmission-chain-map strong, .hiv-prevention-router article, .hiv-prevention-router strong, .malaria-cycle-map article, .malaria-cycle-map strong { min-height: auto; }
  [data-pathogen-passport] .segmented-control, [data-pathogen-chain] .segmented-control, [data-pathogen-states] .segmented-control, [data-pathogen-route] .segmented-control, [data-pathogen-hiv] .segmented-control, [data-pathogen-malaria] .segmented-control, [data-pathogen-climate] .segmented-control { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.microbiota-site-map { display: grid; grid-template-columns: repeat(4, 1fr); gap: .6rem; margin: 1rem 0; }
.microbiota-site-map article, .microbiota-site-map strong { display: grid; gap: .35rem; min-width: 0; place-items: center; padding: .78rem; border: 1px solid #a9bda9; border-radius: .85rem; background: #f0f6ee; color: #315344; text-align: center; }
.microbiota-site-map strong { color: #fff; background: #3f6c58; }
.microbiota-site-map small { grid-column: 1 / -1; padding: .72rem; border-radius: .65rem; color: #574f2d; background: #f7f2d7; font-weight: 800; text-align: center; }
.microbiota-relationship-passport, .microbiota-development-timeline, .microbiota-fiber-chain, .microbiota-evidence-ladder { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; gap: .5rem; align-items: center; margin: 1rem 0; }
.microbiota-development-timeline, .microbiota-fiber-chain, .microbiota-evidence-ladder { grid-template-columns: 1fr auto 1fr auto 1.1fr auto 1fr auto 1fr; }
.microbiota-relationship-passport span, .microbiota-development-timeline span, .microbiota-development-timeline strong, .microbiota-fiber-chain span, .microbiota-fiber-chain strong, .microbiota-evidence-ladder span, .microbiota-evidence-ladder strong { display: grid; gap: .28rem; min-height: 5rem; place-items: center; padding: .68rem; border: 1px solid #a8bda9; border-radius: .78rem; background: #f0f6ee; color: #315344; text-align: center; }
.microbiota-relationship-passport i, .microbiota-development-timeline i, .microbiota-fiber-chain i, .microbiota-evidence-ladder i, .microbiota-barrier-map i { color: #d9851c; font-style: normal; font-weight: 900; text-align: center; }
.microbiota-relationship-passport strong, .microbiota-development-timeline b, .microbiota-fiber-chain b, .microbiota-evidence-ladder b { grid-column: 1 / -1; padding: .72rem; border-radius: .65rem; color: #fff; background: linear-gradient(90deg,#3f6c58,#4c557d); text-align: center; }
.microbiota-development-timeline strong, .microbiota-fiber-chain strong, .microbiota-evidence-ladder strong { color: #fff; background: #3f6c58; }
.microbiota-barrier-map { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: .6rem; align-items: center; margin: 1rem 0; }
.microbiota-barrier-map article, .microbiota-barrier-map strong { display: grid; gap: .35rem; min-height: 6rem; place-items: center; padding: .78rem; border: 1px solid #a7bca8; border-radius: .85rem; background: #f0f6ee; color: #315344; text-align: center; }
.microbiota-barrier-map strong { color: #fff; background: #3f6c58; }
.microbiota-barrier-map em { grid-column: 1 / -1; padding: .72rem; border-radius: .65rem; color: #754c15; background: #fff1d6; font-style: normal; font-weight: 800; text-align: center; }
.microbiota-recovery-chart { overflow: hidden; margin: 1rem 0; border: 1px solid #a9bda9; border-radius: 1rem; background: linear-gradient(145deg,#fbfcf8,#eef4ee); }
.microbiota-recovery-chart svg { display: block; width: 100%; height: auto; }
.microbiota-chart-axis { fill: none; stroke: #66766c; stroke-width: 5; }
.microbiota-chart-exposure { fill: #f3c878; opacity: .32; }
.microbiota-chart-composition { fill: none; stroke: #4c557d; stroke-width: 9; }
.microbiota-chart-function { fill: none; stroke: #3f6c58; stroke-width: 9; }
.microbiota-recovery-chart text { fill: #394b41; }
.microbiota-label-composition { fill: #4c557d !important; }
.microbiota-label-function { fill: #3f6c58 !important; }
.microbiota-recovery-chart figcaption { padding: .72rem; color: #315344; font-weight: 800; text-align: center; }
@media (max-width: 640px) {
  .microbiota-site-map, .microbiota-relationship-passport, .microbiota-development-timeline, .microbiota-fiber-chain, .microbiota-barrier-map, .microbiota-evidence-ladder { grid-template-columns: 1fr; }
  .microbiota-site-map small, .microbiota-relationship-passport strong, .microbiota-development-timeline b, .microbiota-fiber-chain b, .microbiota-barrier-map em, .microbiota-evidence-ladder b { grid-column: auto; }
  .microbiota-development-timeline i, .microbiota-fiber-chain i, .microbiota-evidence-ladder i { transform: rotate(90deg); }
  .microbiota-relationship-passport span, .microbiota-development-timeline span, .microbiota-development-timeline strong, .microbiota-fiber-chain span, .microbiota-fiber-chain strong, .microbiota-barrier-map article, .microbiota-barrier-map strong, .microbiota-evidence-ladder span, .microbiota-evidence-ladder strong { min-height: auto; }
  [data-microbiota-sites] .segmented-control, [data-microbiota-relationship] .segmented-control, [data-microbiota-development] .segmented-control, [data-microbiota-fiber] .segmented-control, [data-microbiota-barrier] .segmented-control, [data-microbiota-perturbation] .segmented-control, [data-microbiota-evidence] .segmented-control { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.chemical-identity-passport, .chemical-origin-timeline, .carbon-dating-chain { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: .55rem; align-items: center; margin: 1rem 0; }
.chemical-origin-timeline, .carbon-dating-chain { grid-template-columns: 1fr auto 1fr auto 1.1fr auto 1fr auto 1fr; }
.chemical-identity-passport article, .chemical-origin-timeline span, .chemical-origin-timeline strong, .carbon-dating-chain span, .carbon-dating-chain strong { display: grid; gap: .28rem; min-height: 5.2rem; place-items: center; padding: .72rem; border: 1px solid #aeb8cb; border-radius: .82rem; background: #f1f4fa; color: #334b69; text-align: center; }
.chemical-identity-passport i, .chemical-origin-timeline i, .carbon-dating-chain i, .radioactive-scale-board i { color: #d9851c; font-style: normal; font-weight: 900; text-align: center; }
.chemical-identity-passport small, .chemical-origin-timeline b, .carbon-dating-chain b { grid-column: 1 / -1; padding: .72rem; border-radius: .68rem; color: #fff; background: linear-gradient(90deg,#384f72,#6b4f78); font-weight: 800; text-align: center; }
.chemical-origin-timeline strong, .carbon-dating-chain strong { color: #fff; background: #384f72; }
.chemical-abundance-board { display: grid; grid-template-columns: repeat(3, 1fr); gap: .72rem; margin: 1rem 0; }
.chemical-abundance-board article { display: grid; gap: .55rem; min-width: 0; padding: .8rem; border: 1px solid #abb7ca; border-radius: .9rem; background: #f4f6fb; }
.chemical-abundance-board article b { color: #334b69; text-align: center; }
.chemical-abundance-board article span { position: relative; overflow: hidden; padding: .52rem .64rem; border-radius: .55rem; background: #e2e7f1; color: #24364e; font-weight: 800; isolation: isolate; }
.chemical-abundance-board article span::before { position: absolute; z-index: -1; inset: 0 auto 0 0; width: var(--abundance); content: ""; background: linear-gradient(90deg,#f1bd62,#df8b29); opacity: .62; }
.chemical-abundance-board > strong { grid-column: 1 / -1; padding: .72rem; border-radius: .65rem; color: #fff; background: #384f72; text-align: center; }
.nuclear-reaction-board { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin: 1rem 0; }
.nuclear-reaction-board article { display: grid; gap: .7rem; min-width: 0; place-items: center; padding: .85rem; border: 1px solid #aab7ca; border-radius: .9rem; background: #f2f5fb; color: #334b69; text-align: center; }
.nuclear-reaction-board math { max-width: 100%; overflow-x: auto; font-size: clamp(1rem,2.2vw,1.45rem); }
.nuclear-reaction-board article span { font-weight: 800; }
.nuclear-reaction-board article small { color: #5b6575; }
.nuclear-reaction-board > strong { grid-column: 1 / -1; padding: .72rem; border-radius: .65rem; color: #fff; background: #384f72; text-align: center; }
.radioactive-scale-board { display: grid; grid-template-columns: 1fr auto 1fr auto 1.25fr; gap: .6rem; align-items: center; margin: 1rem 0; }
.radioactive-scale-board article, .radioactive-scale-board > strong { display: grid; gap: .45rem; min-width: 0; min-height: 7.2rem; place-items: center; padding: .75rem; border: 1px solid #aeb8cb; border-radius: .88rem; background: #f2f5fb; color: #334b69; text-align: center; }
.radioactive-scale-board > strong { color: #fff; background: #384f72; }
.radioactive-scale-board svg { width: 100%; height: auto; }
.radioactive-dots { max-width: 10rem; overflow-wrap: anywhere; color: #6b4f78; letter-spacing: .18rem; }
.half-life-board { display: grid; gap: .9rem; margin: 1rem 0; }
.half-life-formula { display: grid; place-items: center; padding: .8rem; border-radius: .75rem; background: #384f72; color: #fff; font-size: 1.16rem; }
.half-life-board ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .65rem; margin: 0; padding: 0; list-style: none; }
.half-life-board li { position: relative; display: grid; gap: .3rem; min-height: 7.1rem; align-content: end; overflow: hidden; padding: .75rem; border: 1px solid #aeb8cb; border-radius: .8rem; background: #f2f5fb; color: #334b69; text-align: center; isolation: isolate; }
.half-life-board li::before { position: absolute; z-index: -1; inset: auto 0 0; height: var(--remaining); content: ""; background: linear-gradient(180deg,#f5ce7c,#e99b38); opacity: .62; }
.half-life-board > strong { padding: .68rem; border-radius: .65rem; color: #674311; background: #fff0d1; text-align: center; }

@media (max-width: 640px) {
  .chemical-identity-passport, .chemical-origin-timeline, .carbon-dating-chain, .chemical-abundance-board, .nuclear-reaction-board, .radioactive-scale-board, .half-life-board ol { grid-template-columns: 1fr; }
  .chemical-identity-passport small, .chemical-origin-timeline b, .carbon-dating-chain b, .chemical-abundance-board > strong, .nuclear-reaction-board > strong { grid-column: auto; }
  .chemical-identity-passport i, .chemical-origin-timeline i, .carbon-dating-chain i, .radioactive-scale-board i { transform: rotate(90deg); }
  .chemical-identity-passport article, .chemical-origin-timeline span, .chemical-origin-timeline strong, .carbon-dating-chain span, .carbon-dating-chain strong, .radioactive-scale-board article, .radioactive-scale-board > strong { min-height: auto; }
  [data-chemical-identity] .segmented-control, [data-chemical-abundance] .segmented-control, [data-chemical-origin] .segmented-control, [data-chemical-reaction] .segmented-control, [data-chemical-random] .segmented-control, [data-chemical-half-life] .segmented-control, [data-chemical-dating] .segmented-control { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.crystal-order-map, .nacl-cube-model, .cooling-texture-lab { overflow: hidden; margin: 1rem 0; border: 1px solid #aab9c7; border-radius: 1rem; background: linear-gradient(145deg,#fbfcfe,#edf2f6); }
.crystal-order-map svg, .nacl-cube-model svg, .cooling-texture-lab svg { display: block; width: 100%; height: auto; }
.crystal-order-map figcaption, .nacl-cube-model figcaption, .cooling-texture-lab figcaption { padding: .72rem; color: #31465e; font-weight: 800; text-align: center; }
.nacl-ion-layer, .nacl-cell-edges { transition: opacity .22s ease, filter .22s ease; }
.nacl-cube-model[data-view="front"] .nacl-back-layer, .nacl-cube-model[data-view="front"] .nacl-depth-layer, .nacl-cube-model[data-view="back"] .nacl-front-layer, .nacl-cube-model[data-view="back"] .nacl-depth-layer { opacity: .2; }
.nacl-cube-model[data-view="depth"] .nacl-front-layer, .nacl-cube-model[data-view="depth"] .nacl-back-layer { opacity: .28; }
.nacl-cube-model[data-view="depth"] .nacl-depth-layer { filter: drop-shadow(0 0 8px rgba(215,138,47,.55)); }
.nacl-cube-model[data-view="model"] .nacl-ion-layer { opacity: .28; }
.nacl-cube-model[data-view="model"] .nacl-cell-edges { stroke: #172e49; stroke-width: 8; }
.unit-cell-sharing-board, .polymorph-biocrystal-board { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .65rem; margin: 1rem 0; }
.unit-cell-sharing-board article, .polymorph-biocrystal-board article, .polymorph-biocrystal-board strong { display: grid; gap: .38rem; min-width: 0; place-items: center; padding: .78rem; border: 1px solid #aab9c7; border-radius: .82rem; background: #eef3f7; color: #31465e; text-align: center; }
.unit-cell-sharing-board article strong { width: 100%; padding-top: .45rem; border-top: 1px solid #c2ccd5; color: #365a75; }
.unit-cell-sharing-board em, .polymorph-biocrystal-board em { grid-column: 1 / -1; padding: .72rem; border-radius: .66rem; background: #fff0d1; color: #6c4715; font-style: normal; font-weight: 800; text-align: center; }
.polymorph-biocrystal-board strong { color: #fff; background: #3f6684; }
.crystal-density-ledger { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .7rem; margin: 1rem 0; }
.crystal-density-ledger article, .crystal-density-ledger strong { display: grid; gap: .45rem; min-width: 0; place-items: center; padding: .82rem; border: 1px solid #aab9c7; border-radius: .86rem; background: #eef3f7; color: #31465e; text-align: center; }
.crystal-density-ledger strong { color: #fff; background: #3f6684; }
.crystal-density-ledger math { max-width: 100%; overflow-x: auto; }
.crystal-density-ledger em { grid-column: 1 / -1; padding: .72rem; border-radius: .66rem; color: #fff; background: linear-gradient(90deg,#3f6684,#5c5479); font-style: normal; font-weight: 800; text-align: center; }
.crystal-scale-ladder { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr auto 1fr; gap: .5rem; align-items: center; margin: 1rem 0; }
.crystal-scale-ladder span, .crystal-scale-ladder strong { display: grid; gap: .28rem; min-width: 0; min-height: 5.2rem; place-items: center; padding: .68rem; border: 1px solid #aab9c7; border-radius: .8rem; background: #eef3f7; color: #31465e; text-align: center; }
.crystal-scale-ladder strong { color: #fff; background: #3f6684; }
.crystal-scale-ladder i { color: #d78a2f; font-style: normal; font-weight: 900; text-align: center; }
.crystal-scale-ladder b { grid-column: 1 / -1; padding: .72rem; border-radius: .66rem; color: #fff; background: linear-gradient(90deg,#3f6684,#5c5479); text-align: center; }

@media (max-width: 640px) {
  .unit-cell-sharing-board, .polymorph-biocrystal-board, .crystal-density-ledger, .crystal-scale-ladder { grid-template-columns: 1fr; }
  .unit-cell-sharing-board em, .polymorph-biocrystal-board em, .crystal-density-ledger em, .crystal-scale-ladder b { grid-column: auto; }
  .crystal-scale-ladder i { transform: rotate(90deg); }
  .crystal-scale-ladder span, .crystal-scale-ladder strong { min-height: auto; }
  [data-crystal-order] .segmented-control, [data-crystal-nacl] .segmented-control, [data-crystal-sharing] .segmented-control, [data-crystal-density] .segmented-control, [data-crystal-scale] .segmented-control, [data-crystal-polymorph] .segmented-control, [data-crystal-cooling] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
}

.cell-theory-timeline { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; gap: .55rem; align-items: center; margin: 1rem 0; }
.cell-theory-timeline article, .cell-theory-timeline strong { display: grid; gap: .35rem; min-width: 0; min-height: 7rem; place-items: center; padding: .78rem; border: 1px solid #9fb9be; border-radius: .9rem; background: #eef6f5; color: #294a54; text-align: center; }
.cell-theory-timeline strong { color: #fff; background: linear-gradient(145deg,#315f68,#4f4f78); }
.cell-theory-timeline i { color: #cf7b24; font-style: normal; font-weight: 900; }
.cell-theory-timeline em { grid-column: 1 / -1; padding: .72rem; border-radius: .68rem; color: #65410e; background: #fff0cd; font-style: normal; font-weight: 800; text-align: center; }
.cell-scale-ruler { position: relative; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .25rem; margin: 1rem 0; padding-top: 1.8rem; }
.cell-scale-ruler::before { position: absolute; inset: .55rem 4% auto; height: .36rem; border-radius: 999px; content: ""; background: linear-gradient(90deg,#d17d2c,#5691a0,#424c75); }
.cell-scale-ruler article, .cell-scale-ruler strong { display: grid; gap: .35rem; min-width: 0; min-height: 6.2rem; place-items: center; padding: .72rem .5rem; border-left: 1px solid #9fb9be; border-radius: .6rem; background: #eef6f5; color: #294a54; text-align: center; }
.cell-scale-ruler strong { color: #fff; background: #3e6872; }
.cell-scale-ruler math { max-width: 100%; overflow-x: auto; }
.cell-scale-ruler em { grid-column: 1 / -1; padding: .72rem; border-radius: .68rem; color: #fff; background: #4f4f78; font-style: normal; font-weight: 800; text-align: center; }
.cell-diversity-passport { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; margin: 1rem 0; }
.cell-card { position: relative; display: grid; gap: .5rem; min-width: 0; min-height: 11rem; place-items: center; overflow: hidden; padding: 4.2rem .8rem .8rem; border: 1px solid #9fb9be; border-radius: 1rem; background: #eef6f5; color: #294a54; text-align: center; }
.cell-card::before { position: absolute; top: .8rem; width: 3.1rem; height: 3.1rem; border: .35rem solid #477783; border-radius: 50%; content: ""; background: radial-gradient(circle at 65% 40%,#d68a32 0 18%,#dfeef0 20% 100%); }
.cell-card--bacterium::before { width: 4rem; border-radius: 55% 45% 58% 42%; background: repeating-linear-gradient(35deg,#dfeef0 0 8px,#c9dde0 8px 15px); }
.cell-card--plant::before { border-radius: .4rem; box-shadow: inset 0 0 0 .42rem #729151; }
.cell-diversity-passport > strong { grid-column: 1 / -1; padding: .75rem; border-radius: .7rem; color: #fff; background: linear-gradient(90deg,#315f68,#4f4f78); text-align: center; }
.cell-exchange-ledger { display: grid; grid-template-columns: 1.1fr auto 1.15fr 1.1fr auto 1.1fr; gap: .55rem; align-items: center; margin: 1rem 0; }
.cell-exchange-ledger span, .cell-exchange-ledger strong { display: grid; gap: .35rem; min-width: 0; min-height: 7.5rem; place-items: center; padding: .75rem; border: 1px solid #9fb9be; border-radius: .9rem; background: #eef6f5; color: #294a54; text-align: center; }
.cell-exchange-ledger strong { color: #fff; background: #3e6872; }
.cell-exchange-ledger i { color: #cf7b24; font-style: normal; font-weight: 900; text-align: center; }
.cell-exchange-ledger em { grid-column: 1 / -1; padding: .7rem; border-radius: .66rem; color: #65410e; background: #fff0cd; font-style: normal; font-weight: 800; text-align: center; }
.cell-membrane-model { overflow: hidden; margin: 1rem 0; border: 1px solid #9fb9be; border-radius: 1rem; background: #eaf2f4; }
.cell-membrane-model svg { display: block; width: 100%; height: auto; }
.cell-membrane-model figcaption { padding: .75rem; color: #294a54; background: #f7fbfb; font-weight: 800; text-align: center; }
.plant-osmosis-pair { display: grid; grid-template-columns: 1fr auto 1fr; gap: .8rem; align-items: center; margin: 1rem 0; }
.plant-osmosis-pair article { display: grid; gap: .6rem; min-width: 0; place-items: center; padding: .8rem; border: 1px solid #9fb9be; border-radius: 1rem; color: #294a54; background: #eef6f5; text-align: center; }
.plant-osmosis-pair > strong { color: #3e6872; text-align: center; }
.plant-osmosis-pair > strong small { display: block; font-size: .72rem; }
.plant-cell { position: relative; display: block; width: min(100%,12rem); aspect-ratio: 1.3; border: .48rem solid #728b55; border-radius: .65rem; background: #dfeaec; }
.plant-cell i { position: absolute; inset: .45rem; border: .22rem solid #3e6872; border-radius: .45rem; background: radial-gradient(circle at 68% 42%,#d58a32 0 11%,transparent 12%),#badcdf; }
.plant-cell--plasmolysed i { inset: 1.2rem 1.45rem; border-radius: 42% 58% 46% 54%; }
.plant-osmosis-pair em { grid-column: 1 / -1; padding: .7rem; border-radius: .66rem; color: #fff; background: #4f4f78; font-style: normal; font-weight: 800; text-align: center; }
.exogenous-effect-chain { display: grid; grid-template-columns: 1fr auto 1fr auto 1.15fr auto 1fr; gap: .55rem; align-items: center; margin: 1rem 0; }
.exogenous-effect-chain span, .exogenous-effect-chain strong { display: grid; gap: .35rem; min-width: 0; min-height: 7rem; place-items: center; padding: .72rem; border: 1px solid #9fb9be; border-radius: .85rem; background: #eef6f5; color: #294a54; text-align: center; }
.exogenous-effect-chain strong { color: #fff; background: #3e6872; }
.exogenous-effect-chain i { color: #cf7b24; font-style: normal; font-weight: 900; }
.exogenous-effect-chain em { grid-column: 1 / -1; padding: .7rem; border-radius: .66rem; color: #65410e; background: #fff0cd; font-style: normal; font-weight: 800; text-align: center; }
.virus-criteria-matrix { display: grid; grid-template-columns: 1.15fr .75fr 1.5fr; gap: .12rem; overflow: hidden; margin: 1rem 0; border: 1px solid #9fb9be; border-radius: 1rem; background: #9fb9be; }
.virus-criteria-matrix > * { display: grid; min-width: 0; min-height: 3.5rem; place-items: center; margin: 0; padding: .66rem; background: #eef6f5; color: #294a54; text-align: center; }
.virus-criteria-matrix > b { color: #fff; background: #3e6872; }
.virus-criteria-matrix > i { color: #915215; background: #fff0cd; font-style: normal; font-weight: 900; }
.virus-criteria-matrix > strong { grid-column: 1 / -1; color: #fff; background: #4f4f78; }

@media (max-width: 640px) {
  .cell-theory-timeline, .cell-scale-ruler, .cell-diversity-passport, .cell-exchange-ledger, .plant-osmosis-pair, .exogenous-effect-chain { grid-template-columns: 1fr; }
  .cell-theory-timeline em, .cell-scale-ruler em, .cell-diversity-passport > strong, .cell-exchange-ledger em, .plant-osmosis-pair em, .exogenous-effect-chain em { grid-column: auto; }
  .cell-theory-timeline i, .cell-exchange-ledger i, .exogenous-effect-chain i { transform: rotate(90deg); }
  .cell-theory-timeline article, .cell-theory-timeline strong, .cell-scale-ruler article, .cell-scale-ruler strong, .cell-exchange-ledger span, .cell-exchange-ledger strong, .exogenous-effect-chain span, .exogenous-effect-chain strong { min-height: auto; }
  .cell-scale-ruler { padding-top: 0; }
  .cell-scale-ruler::before { display: none; }
  .virus-criteria-matrix { grid-template-columns: .9fr .7fr 1.2fr; font-size: .82rem; }
  .virus-criteria-matrix > * { padding: .5rem .35rem; overflow-wrap: anywhere; }
  [data-cell-theory] .segmented-control, [data-cell-scale] .segmented-control, [data-cell-invariant] .segmented-control, [data-cell-ledger] .segmented-control, [data-cell-membrane] .segmented-control, [data-cell-osmosis] .segmented-control, [data-cell-exogenous] .segmented-control, [data-cell-virus] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
}

.solar-mass-ledger { display: grid; grid-template-columns: 1fr auto 1fr auto 1.2fr; gap: .6rem; align-items: center; margin: 1rem 0; }
.solar-mass-ledger article, .solar-mass-ledger strong { display: grid; gap: .45rem; min-width: 0; min-height: 8rem; place-items: center; padding: .78rem; border: 1px solid #b9a477; border-radius: .9rem; background: #fff7df; color: #51411f; text-align: center; }
.solar-mass-ledger strong { color: #fff; background: linear-gradient(145deg,#8e5b2d,#514a71); }
.solar-mass-ledger i { color: #d17b24; font-style: normal; font-weight: 900; }
.solar-mass-ledger math { max-width: 100%; overflow-x: auto; }
.solar-layer-model, .blackbody-spectrum-chart, .solar-incidence-model { overflow: hidden; margin: 1rem 0; border: 1px solid #b9a477; border-radius: 1rem; background: #fffaf0; }
.solar-layer-model svg, .blackbody-spectrum-chart svg, .solar-incidence-model svg { display: block; width: 100%; height: auto; }
.solar-layer-model figcaption, .blackbody-spectrum-chart figcaption, .solar-incidence-model figcaption { padding: .74rem; color: #51411f; background: #fffaf0; font-weight: 800; text-align: center; }
.wien-unit-chain { display: grid; grid-template-columns: 1fr auto 1fr auto 1.35fr; gap: .55rem; align-items: center; margin: 1rem 0; }
.wien-unit-chain span, .wien-unit-chain strong { display: grid; min-width: 0; min-height: 6.6rem; place-items: center; padding: .74rem; border: 1px solid #b9a477; border-radius: .86rem; background: #fff7df; color: #51411f; text-align: center; }
.wien-unit-chain strong { color: #fff; background: #514a71; }
.wien-unit-chain i { color: #d17b24; font-style: normal; font-weight: 900; }
.wien-unit-chain em { grid-column: 1 / -1; padding: .7rem; border-radius: .66rem; color: #fff; background: #8e5b2d; font-style: normal; font-weight: 800; text-align: center; }
.wien-unit-chain math { max-width: 100%; overflow-x: auto; }
.stefan-fourth-board { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .65rem; align-items: end; margin: 1rem 0; }
.stefan-fourth-board > strong, .stefan-fourth-board > em { grid-column: 1 / -1; padding: .72rem; border-radius: .66rem; color: #fff; background: #514a71; font-style: normal; font-weight: 800; text-align: center; }
.stefan-fourth-board article { position: relative; display: grid; min-height: 11rem; align-content: end; overflow: hidden; padding: .75rem; border: 1px solid #b9a477; border-radius: .85rem; background: #fff7df; color: #51411f; text-align: center; isolation: isolate; }
.stefan-fourth-board article::before { position: absolute; z-index: -1; inset: auto 0 0; height: var(--solar-power); content: ""; background: linear-gradient(180deg,#ffd46f,#df8629); opacity: .72; }
.stefan-fourth-board article b { font-size: 1.1rem; }
.stefan-fourth-board article span { font-weight: 900; }
.solar-triad-board { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .72rem; margin: 1rem 0; }
.solar-triad-board article { display: grid; gap: .45rem; min-width: 0; min-height: 7rem; place-items: center; padding: .78rem; border: 1px solid #b9a477; border-radius: .9rem; background: #fff7df; color: #51411f; text-align: center; }
.solar-triad-board > strong { grid-column: 1 / -1; padding: .72rem; border-radius: .68rem; color: #fff; background: linear-gradient(90deg,#8e5b2d,#514a71); text-align: center; }
.uv-index-gate { display: grid; gap: .75rem; margin: 1rem 0; }
.uv-index-gate > div { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); overflow: hidden; border-radius: .9rem; }
.uv-index-gate span { display: grid; gap: .25rem; min-width: 0; place-items: center; padding: .85rem .3rem; color: #fff; background: var(--uv); font-size: 1.2rem; font-weight: 900; text-align: center; }
.uv-index-gate span small { font-size: .72rem; }
.uv-index-gate strong, .uv-index-gate em { padding: .72rem; border-radius: .66rem; color: #51411f; background: #fff0c9; font-style: normal; font-weight: 800; text-align: center; }
.uv-index-gate em { color: #fff; background: #514a71; }

@media (max-width: 640px) {
  .solar-mass-ledger, .wien-unit-chain, .stefan-fourth-board, .solar-triad-board { grid-template-columns: 1fr; }
  .solar-mass-ledger i, .wien-unit-chain i { transform: rotate(90deg); }
  .solar-mass-ledger article, .solar-mass-ledger strong, .wien-unit-chain span, .wien-unit-chain strong, .solar-triad-board article { min-height: auto; }
  .wien-unit-chain em, .stefan-fourth-board > strong, .stefan-fourth-board > em, .solar-triad-board > strong { grid-column: auto; }
  .stefan-fourth-board article { min-height: 6.8rem; }
  .uv-index-gate > div { grid-template-columns: repeat(5,minmax(4rem,1fr)); overflow-x: auto; }
  [data-solar-fusion] .segmented-control, [data-solar-layers] .segmented-control, [data-solar-spectrum] .segmented-control, [data-solar-wien] .segmented-control, [data-solar-stefan] .segmented-control, [data-solar-incidence] .segmented-control, [data-solar-triad] .segmented-control, [data-solar-uv] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
}

.radiative-geometry-ledger { display: grid; grid-template-columns: 1fr auto 1.25fr auto 1fr; gap: .58rem; align-items: center; margin: 1rem 0; }
.radiative-geometry-ledger article, .radiative-geometry-ledger strong { display: grid; gap: .4rem; min-width: 0; min-height: 8rem; place-items: center; padding: .78rem; border: 1px solid #91aeb9; border-radius: .9rem; color: #294757; background: #edf6f7; text-align: center; }
.radiative-geometry-ledger strong { color: #fff; background: linear-gradient(145deg,#326571,#514b72); }
.radiative-geometry-ledger i { color: #d17d27; font-style: normal; font-weight: 900; }
.radiative-geometry-ledger em { grid-column: 1 / -1; padding: .72rem; border-radius: .68rem; color: #fff; background: #514b72; font-style: normal; font-weight: 800; text-align: center; }
.radiative-geometry-ledger math { max-width: 100%; overflow-x: auto; }
.albedo-partition-board { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .7rem; margin: 1rem 0; }
.albedo-partition-board > strong, .albedo-partition-board > em { grid-column: 1 / -1; padding: .72rem; border-radius: .68rem; color: #fff; background: #326571; font-style: normal; font-weight: 800; text-align: center; }
.albedo-partition-board > div { grid-column: 1 / -1; display: grid; grid-template-columns: 30fr 70fr; min-height: 8rem; overflow: hidden; border: 1px solid #91aeb9; border-radius: 1rem; }
.albedo-partition-board span { display: grid; gap: .3rem; min-width: 0; place-items: center; padding: .7rem; color: #294757; background: #e8f1f4; text-align: center; }
.albedo-partition-board span:first-child { color: #fff; background: #7897a5; }
.albedo-partition-board article { display: grid; min-width: 0; place-items: center; padding: .75rem; border: 1px solid #91aeb9; border-radius: .8rem; color: #294757; background: #edf6f7; }
.albedo-partition-board math { max-width: 100%; overflow-x: auto; }
.radiative-spectrum-passport { display: grid; grid-template-columns: 1fr auto 1fr; gap: .75rem; align-items: center; margin: 1rem 0; }
.radiative-spectrum-passport article { display: grid; gap: .45rem; min-width: 0; min-height: 9.5rem; place-items: center; padding: .8rem; border: 1px solid #91aeb9; border-radius: 1rem; color: #294757; background: #edf6f7; text-align: center; }
.radiative-spectrum-passport article:first-child { background: linear-gradient(145deg,#fff4c7,#f2d497); }
.radiative-spectrum-passport i { color: #d17d27; font-style: normal; font-weight: 900; text-align: center; }
.radiative-spectrum-passport em { grid-column: 1 / -1; padding: .72rem; border-radius: .68rem; color: #fff; background: #514b72; font-style: normal; font-weight: 800; text-align: center; }
.atmospheric-opacity-chart, .greenhouse-flux-model { overflow: hidden; margin: 1rem 0; border: 1px solid #91aeb9; border-radius: 1rem; background: #f8fbfc; }
.atmospheric-opacity-chart svg, .greenhouse-flux-model svg { display: block; width: 100%; height: auto; }
.atmospheric-opacity-chart figcaption, .greenhouse-flux-model figcaption { padding: .74rem; color: #294757; background: #edf6f7; font-weight: 800; text-align: center; }
.radiative-boundary-board, .radiative-parameter-router { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .72rem; margin: 1rem 0; }
.radiative-boundary-board article, .radiative-parameter-router article { display: grid; gap: .42rem; min-width: 0; min-height: 9rem; place-items: center; padding: .78rem; border: 1px solid #91aeb9; border-radius: .9rem; color: #294757; background: #edf6f7; text-align: center; }
.radiative-boundary-board strong, .radiative-parameter-router em { grid-column: 1 / -1; padding: .72rem; border-radius: .68rem; color: #fff; background: linear-gradient(90deg,#326571,#514b72); font-style: normal; font-weight: 800; text-align: center; }
.radiative-parameter-router article:nth-child(1) strong { color: #376b78; }
.radiative-parameter-router article:nth-child(2) strong, .radiative-parameter-router article:nth-child(3) strong { color: #9b5f20; }
.radiative-balance-scale { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .7rem; margin: 1rem 0; }
.radiative-balance-scale > strong, .radiative-balance-scale > em { grid-column: 1 / -1; padding: .72rem; border-radius: .68rem; color: #fff; background: #514b72; font-style: normal; font-weight: 800; text-align: center; }
.radiative-balance-scale article { display: grid; gap: .35rem; min-width: 0; min-height: 8.6rem; place-items: center; padding: .78rem; border: 1px solid #91aeb9; border-radius: .9rem; color: #294757; background: #edf6f7; text-align: center; transform: rotate(var(--tilt)); }
.radiative-balance-scale article:nth-of-type(1) { background: #fff0d0; }
.radiative-balance-scale article:nth-of-type(3) { background: #e5f0f6; }

@media (max-width: 640px) {
  .radiative-geometry-ledger, .radiative-spectrum-passport, .radiative-boundary-board, .radiative-parameter-router, .radiative-balance-scale { grid-template-columns: 1fr; }
  .radiative-geometry-ledger i, .radiative-spectrum-passport i { transform: rotate(90deg); }
  .radiative-geometry-ledger article, .radiative-geometry-ledger strong, .radiative-spectrum-passport article, .radiative-boundary-board article, .radiative-parameter-router article, .radiative-balance-scale article { min-height: auto; }
  .radiative-geometry-ledger em, .radiative-spectrum-passport em, .radiative-boundary-board strong, .radiative-parameter-router em, .radiative-balance-scale > strong, .radiative-balance-scale > em { grid-column: auto; }
  .albedo-partition-board { grid-template-columns: 1fr; }
  .albedo-partition-board > strong, .albedo-partition-board > em, .albedo-partition-board > div { grid-column: auto; }
  .albedo-partition-board > div { grid-template-columns: 1fr; min-height: auto; }
  .radiative-balance-scale article { transform: none; }
  [data-radiative-interception] .segmented-control, [data-radiative-albedo] .segmented-control, [data-radiative-spectrum] .segmented-control, [data-radiative-opacity] .segmented-control, [data-radiative-greenhouse] .segmented-control, [data-radiative-boundary] .segmented-control, [data-radiative-balance] .segmented-control, [data-radiative-parameters] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
}

.photo-light-budget { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .72rem; margin: 1rem 0; }
.photo-light-budget > strong, .photo-light-budget > em { grid-column: 1 / -1; padding: .72rem; border-radius: .7rem; color: #fff; background: linear-gradient(90deg,#386b48,#4f587b); font-style: normal; font-weight: 850; text-align: center; }
.photo-light-budget > div { grid-column: 1 / -1; display: grid; grid-template-columns: 18fr 12fr 70fr; min-height: 8rem; overflow: hidden; border: 1px solid #8fb494; border-radius: 1rem; }
.photo-light-budget > div span, .photo-light-budget article { display: grid; gap: .3rem; min-width: 0; place-items: center; padding: .7rem; color: #294f37; background: #edf7ed; text-align: center; }
.photo-light-budget > div span:nth-child(1) { background: #dcebd7; }
.photo-light-budget > div span:nth-child(2) { background: #f4f0ce; }
.photo-light-budget > div span:nth-child(3) { color: #fff; background: linear-gradient(145deg,#4f855b,#386b48); }
.photo-light-budget article { min-height: 7rem; border: 1px solid #8fb494; border-radius: .9rem; }
.photo-spectrum-chart { overflow: hidden; margin: 1rem 0; border: 1px solid #8fb494; border-radius: 1rem; background: #fbfdf8; }
.photo-spectrum-chart svg { display: block; width: 100%; height: auto; }
.photo-spectrum-chart figcaption { padding: .74rem; color: #294f37; background: #edf7ed; font-weight: 800; text-align: center; }
.engelmann-evidence-board { display: grid; gap: .65rem; margin: 1rem 0; padding: .85rem; border: 1px solid #8fb494; border-radius: 1rem; background: #fbfdf8; }
.engelmann-spectrum, .engelmann-filament, .engelmann-bacteria { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); overflow: hidden; border-radius: .72rem; }
.engelmann-spectrum span { min-width: 0; padding: .6rem .25rem; color: #fff; background: var(--engelmann-color,#5372a8); font-size: .8rem; font-weight: 850; text-align: center; }
.engelmann-spectrum span:nth-child(1) { --engelmann-color:#674d91; }.engelmann-spectrum span:nth-child(2) { --engelmann-color:#3f71ad; }.engelmann-spectrum span:nth-child(3) { --engelmann-color:#55945f; }.engelmann-spectrum span:nth-child(4) { --engelmann-color:#cf792f; }.engelmann-spectrum span:nth-child(5) { --engelmann-color:#ae4242; }
.engelmann-filament { grid-template-columns: repeat(6,1fr); padding: .55rem; border: 2px solid #5e8b52; border-radius: 2rem; background: #a9cb73; }
.engelmann-filament i { min-height: 2.2rem; border-right: 2px solid #739d57; }
.engelmann-filament i:last-child { border-right: 0; }
.engelmann-bacteria { align-items: center; color: #35405a; font-size: 1.35rem; letter-spacing: .16rem; text-align: center; }
.engelmann-evidence-board > strong, .engelmann-evidence-board > em { padding: .66rem; border-radius: .66rem; color: #fff; background: #386b48; font-style: normal; text-align: center; }
.engelmann-evidence-board > em { background: #4f587b; }
.photo-equation-ledger, .photo-coupling-map, .photo-productivity-ledger { display: grid; grid-template-columns: 1fr auto 1fr auto 1.2fr; gap: .58rem; align-items: center; margin: 1rem 0; }
.photo-equation-ledger > strong, .photo-productivity-ledger > strong, .photo-equation-ledger > em, .photo-coupling-map > em, .photo-productivity-ledger > em { grid-column: 1 / -1; padding: .72rem; border-radius: .68rem; color: #fff; background: #4f587b; font-style: normal; font-weight: 850; text-align: center; }
.photo-equation-ledger article, .photo-coupling-map article, .photo-coupling-map > strong, .photo-productivity-ledger article { display: grid; gap: .4rem; min-width: 0; min-height: 8rem; place-items: center; padding: .72rem; border: 1px solid #8fb494; border-radius: .9rem; color: #294f37; background: #edf7ed; text-align: center; }
.photo-coupling-map > strong { color: #fff; background: #4f855b; }
.photo-equation-ledger i, .photo-coupling-map i, .photo-productivity-ledger i { color: #d17d27; font-style: normal; font-weight: 900; text-align: center; }
.photo-equation-ledger math, .photo-productivity-ledger math, .nutrition-dashboard math { max-width: 100%; overflow-x: auto; }
.trophic-two-lane { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: .6rem; align-items: center; margin: 1rem 0; }
.trophic-two-lane > strong { display: grid; min-width: 0; min-height: 5.5rem; place-items: center; padding: .7rem; border: 1px solid #8fb494; border-radius: .86rem; color: #294f37; background: #edf7ed; text-align: center; }
.trophic-two-lane > i { color: #d17d27; font-style: normal; font-weight: 900; }
.trophic-lane, .trophic-two-lane > em { grid-column: 1 / -1; display: grid; grid-template-columns: 7rem 1fr; gap: .75rem; align-items: center; padding: .72rem; border-radius: .72rem; color: #294f37; background: #dcebd7; }
.trophic-lane--energy { color: #553f23; background: #fff0ce; }
.trophic-two-lane > em { display: block; color: #fff; background: #4f587b; font-style: normal; font-weight: 800; text-align: center; }
.nutrition-dashboard { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .68rem; margin: 1rem 0; }
.nutrition-dashboard > strong, .nutrition-dashboard > em { grid-column: 1 / -1; padding: .72rem; border-radius: .68rem; color: #fff; background: #4f587b; font-style: normal; font-weight: 850; text-align: center; }
.nutrition-dashboard article { display: grid; gap: .38rem; min-width: 0; min-height: 8rem; place-items: center; padding: .7rem; border: 1px solid #8fb494; border-radius: .88rem; color: #294f37; background: #edf7ed; text-align: center; }
.nutrition-dashboard article:nth-of-type(2), .nutrition-dashboard article:nth-of-type(4) { background: #fff7df; }

@media (max-width: 640px) {
  .photo-light-budget, .photo-equation-ledger, .photo-coupling-map, .photo-productivity-ledger, .nutrition-dashboard { grid-template-columns: 1fr; }
  .trophic-two-lane { display: flex; flex-direction: column; align-items: stretch; }
  .photo-light-budget > strong, .photo-light-budget > em, .photo-light-budget > div, .photo-equation-ledger > strong, .photo-equation-ledger > em, .photo-coupling-map > em, .photo-productivity-ledger > strong, .photo-productivity-ledger > em, .trophic-lane, .trophic-two-lane > em, .nutrition-dashboard > strong, .nutrition-dashboard > em { grid-column: auto; }
  .photo-light-budget > div { grid-template-columns: 1fr; min-height: auto; }
  .photo-equation-ledger article, .photo-coupling-map article, .photo-coupling-map > strong, .photo-productivity-ledger article, .trophic-two-lane > strong, .nutrition-dashboard article { min-height: auto; }
  .photo-equation-ledger i, .photo-coupling-map i, .photo-productivity-ledger i { transform: rotate(90deg); }
  .trophic-two-lane > i { display: block; align-self: center; min-height: 1.2rem; line-height: 1; transform: rotate(90deg); }
  .trophic-lane { grid-template-columns: 1fr; text-align: center; }
  .engelmann-spectrum, .engelmann-bacteria { grid-template-columns: repeat(5,minmax(3.8rem,1fr)); overflow-x: auto; }
  [data-photo-light-budget] .segmented-control, [data-photo-spectrum] .segmented-control, [data-photo-engelmann] .segmented-control, [data-photo-equation] .segmented-control, [data-photo-coupling] .segmented-control, [data-photo-productivity] .segmented-control, [data-photo-trophic] .segmented-control, [data-photo-nutrition] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
}

.energy-chain-passport, .calorific-value-bench, .energy-claim-audit { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; gap: .55rem; align-items: center; margin: 1rem 0; }
.energy-chain-passport article, .energy-chain-passport > strong, .calorific-value-bench article, .calorific-value-bench > strong, .energy-claim-audit > span, .energy-claim-audit > strong, .energy-claim-audit > b { display: grid; gap: .38rem; min-width: 0; min-height: 7.5rem; place-items: center; padding: .72rem; border: 1px solid #b9a36f; border-radius: .88rem; color: #4f431f; background: #fff8df; text-align: center; }
.energy-chain-passport > strong, .energy-claim-audit > strong { color: #fff; background: #52617e; }
.energy-chain-passport > i, .calorific-value-bench > i, .energy-claim-audit > i { color: #d17d27; font-style: normal; font-weight: 900; text-align: center; }
.energy-chain-passport > em, .calorific-value-bench > em, .energy-claim-audit > em { grid-column: 1 / -1; padding: .72rem; border-radius: .68rem; color: #fff; background: #52617e; font-style: normal; font-weight: 850; text-align: center; }
.energy-origin-map { overflow: hidden; margin: 1rem 0; border: 1px solid #b9a36f; border-radius: 1rem; background: #fffdf6; }
.energy-origin-map svg { display: block; width: 100%; height: auto; }
.energy-origin-map figcaption { padding: .72rem; color: #4f431f; background: #fff4cf; font-weight: 800; text-align: center; }
.energy-timescale-board { display: grid; gap: .7rem; margin: 1rem 0; }
.energy-timescale-board article { display: grid; grid-template-columns: 7rem 1fr 12rem; gap: .7rem; align-items: center; min-width: 0; padding: .72rem; border: 1px solid #b9a36f; border-radius: .85rem; color: #4f431f; background: #fffdf6; }
.energy-timescale-board article span { position: relative; z-index: 0; min-width: 0; padding: .62rem; overflow: hidden; border-radius: .55rem; background: #eef4e9; }
.energy-timescale-board article span::before { position: absolute; z-index: -1; inset: 0 auto 0 0; width: var(--energy-time); content: ""; background: #c8dfb9; }
.energy-timescale-board > strong { padding: .72rem; border-radius: .68rem; color: #fff; background: linear-gradient(90deg,#52617e,#627447); text-align: center; }
.fossil-evidence-chain { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; gap: .5rem; align-items: center; margin: 1rem 0; }
.fossil-evidence-chain > span { display: grid; min-width: 0; min-height: 6.8rem; place-items: center; padding: .7rem; border: 1px solid #9b8a70; border-radius: .85rem; color: #4d402f; background: #f5eee2; text-align: center; }
.fossil-evidence-chain > i { color: #d17d27; font-style: normal; font-weight: 900; }
.fossil-evidence-chain > strong, .fossil-evidence-chain > em { grid-column: 1 / -1; padding: .7rem; border-radius: .66rem; color: #fff; background: #765f43; font-style: normal; text-align: center; }
.fossil-evidence-chain > em { background: #52617e; }
.biomass-carbon-ledger { display: grid; gap: .7rem; margin: 1rem 0; }
.biomass-carbon-ledger > strong, .biomass-carbon-ledger > em { padding: .72rem; border-radius: .68rem; color: #fff; background: #50784f; font-style: normal; font-weight: 850; text-align: center; }
.biomass-carbon-ledger > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .7rem; }
.biomass-carbon-ledger article { display: grid; gap: .38rem; min-height: 8rem; place-items: center; padding: .72rem; border: 1px solid #8bac7f; border-radius: .9rem; color: #315335; background: #eef7ea; text-align: center; }
.biomass-carbon-ledger > em { background: #52617e; }
.calorific-value-bench { grid-template-columns: 1.15fr 1fr auto 1fr auto 1.35fr; }
.calorific-value-bench > strong { min-height: 6rem; color: #fff; background: #52617e; }
.calorific-value-bench math { max-width: 100%; overflow-x: auto; }
.energy-criteria-passport { display: grid; grid-template-columns: .8fr repeat(3,minmax(0,1fr)); gap: 1px; overflow: hidden; margin: 1rem 0; border: 1px solid #b9a36f; border-radius: .9rem; background: #b9a36f; }
.energy-criteria-passport > * { min-width: 0; padding: .68rem; color: #4f431f; background: #fffdf6; font-style: normal; text-align: center; }
.energy-criteria-passport > b, .energy-criteria-passport > strong { color: #fff; background: #52617e; }
.energy-criteria-passport > span { font-weight: 850; background: #fff0bd; text-align: left; }
.energy-criteria-passport > em { grid-column: 1 / -1; color: #fff; background: #627447; font-weight: 850; }
.energy-claim-audit { grid-template-columns: 1.15fr auto 1fr auto 1.1fr auto 1.1fr auto 1fr; }
.energy-claim-audit > span, .energy-claim-audit > strong, .energy-claim-audit > b { min-height: 6.5rem; }
.earth-evidence-wheel { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .65rem; margin: 1rem 0; }
.earth-evidence-wheel > strong, .earth-evidence-wheel > em { grid-column: 1 / -1; padding: .72rem; border-radius: .72rem; color: #fff; background: #52617e; text-align: center; font-style: normal; }
.earth-evidence-wheel article { display: grid; gap: .35rem; min-height: 7.4rem; place-content: center; padding: .72rem; border: 1px solid #8bac7f; border-radius: 50% 50% .9rem .9rem; color: #315335; background: #eef7ea; text-align: center; }
.earth-evidence-wheel article b { color: #8c3f20; text-transform: uppercase; letter-spacing: .06em; }
.earth-evidence-wheel > em { background: #627447; font-weight: 850; }
.earth-model-stack { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); align-items: end; gap: .75rem; margin: 1rem 0; }
.earth-model-stack article { display: grid; place-content: center; gap: .35rem; min-height: 7rem; padding: .72rem; border: 2px solid #52617e; color: #34405d; background: #f7f8fc; text-align: center; }
.earth-model-stack__plane { border-radius: .35rem; }
.earth-model-stack__sphere { border-radius: 50%; }
.earth-model-stack__ellipsoid { border-radius: 50%; transform: scaleX(1.05) scaleY(.9); }
.earth-model-stack__ellipsoid > * { transform: scaleX(.95) scaleY(1.1); }
.earth-model-stack__geoid { border-radius: 54% 46% 58% 42% / 43% 57% 45% 55%; background: #edf5fb !important; }
.earth-model-stack > em { grid-column: 1 / -1; padding: .72rem; border-radius: .72rem; color: #fff; background: #627447; text-align: center; font-style: normal; font-weight: 850; }
.eratosthenes-shadow-lab, .earth-horizon-lab, .triangulation-chain-lab, .earth-coordinate-globe, .earth-route-comparator { display: grid; gap: .8rem; margin: 1rem 0; }
.eratosthenes-shadow-lab svg, .earth-horizon-lab svg, .triangulation-chain-lab svg, .earth-coordinate-globe svg, .earth-route-comparator svg { display: block; width: 100%; height: auto; max-height: 24rem; padding: .5rem; border: 1px solid #b9a36f; border-radius: .9rem; background: #fffdf6; }
.eratosthenes-shadow-lab > strong, .earth-horizon-lab > strong, .triangulation-chain-lab > strong { justify-self: center; padding: .7rem 1rem; border-radius: .72rem; color: #fff; background: #52617e; font-size: 1.08rem; }
.eratosthenes-shadow-lab > div, .earth-horizon-lab > div, .triangulation-chain-lab > div, .earth-route-comparator > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .65rem; align-items: center; text-align: center; }
.eratosthenes-shadow-lab > div > *, .earth-horizon-lab > div > *, .triangulation-chain-lab > div > *, .earth-route-comparator > div > * { min-width: 0; padding: .65rem; border: 1px solid #8bac7f; border-radius: .7rem; color: #315335; background: #eef7ea; font-style: normal; }
.eratosthenes-shadow-lab > em, .earth-horizon-lab > em, .triangulation-chain-lab > em, .earth-route-comparator > em { padding: .7rem; border-radius: .72rem; color: #fff; background: #627447; text-align: center; font-style: normal; font-weight: 850; }
.earth-radius-bench { display: grid; grid-template-columns: 1.35fr 1fr auto 1fr; gap: .7rem; align-items: stretch; margin: 1rem 0; }
.earth-radius-bench > strong, .earth-radius-bench article, .earth-radius-bench > i { display: grid; place-content: center; min-width: 0; padding: .78rem; border: 1px solid #b9a36f; border-radius: .8rem; text-align: center; }
.earth-radius-bench > strong { color: #fff; background: #52617e; }
.earth-radius-bench article { gap: .35rem; color: #5a481b; background: #fff7d9; }
.earth-radius-bench > i { border: 0; color: #c25a2b; font-style: normal; font-weight: 900; }
.earth-radius-bench > strong:nth-of-type(2), .earth-radius-bench > em { grid-column: 1 / -1; }
.earth-radius-bench > em { padding: .7rem; border-radius: .72rem; color: #fff; background: #627447; text-align: center; font-style: normal; font-weight: 850; }
.earth-coordinate-globe { grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); align-items: center; }
.earth-coordinate-globe > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; }
.earth-coordinate-globe article { display: grid; gap: .3rem; min-width: 0; padding: .72rem; border: 1px solid #8bac7f; border-radius: .72rem; color: #315335; background: #eef7ea; text-align: center; }
.earth-coordinate-globe > em { grid-column: 1 / -1; padding: .7rem; border-radius: .72rem; color: #fff; background: #627447; text-align: center; font-style: normal; font-weight: 850; }
.age-time-telescope { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .72rem; align-items: end; margin: 1rem 0; }
.age-time-telescope article, .age-time-telescope > strong { position: relative; display: grid; gap: .35rem; place-content: end center; min-height: 11rem; padding: .75rem; overflow: hidden; border: 1px solid #8da2b7; border-radius: .85rem; color: #34405d; background: #eef3f7; text-align: center; }
.age-time-telescope article::before, .age-time-telescope > strong::before { position: absolute; z-index: 0; inset: auto 0 0; height: var(--age-depth); content: ""; background: linear-gradient(0deg,#52617e,#b8ccd8); }
.age-time-telescope article > *, .age-time-telescope > strong > * { position: relative; z-index: 1; padding: .22rem .4rem; border-radius: .35rem; background: rgb(255 255 255 / .84); }
.age-time-telescope > strong { border-color: #b86c2b; background: #fff1df; }
.age-time-telescope > strong::before { background: linear-gradient(0deg,#8c3f20,#e0a357); }
.age-time-telescope > em { grid-column: 1 / -1; display: grid; gap: .25rem; padding: .75rem; border-radius: .72rem; color: #fff; background: #627447; text-align: center; font-style: normal; font-weight: 850; }
.age-time-telescope > em small { font-weight: 600; }
.age-evidence-passport { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 1px; overflow: hidden; margin: 1rem 0; border: 1px solid #b9a36f; border-radius: .9rem; background: #b9a36f; }
.age-evidence-passport > * { min-width: 0; padding: .7rem; color: #4c421f; background: #fffdf6; text-align: center; }
.age-evidence-passport > b { color: #fff; background: #52617e; text-transform: uppercase; letter-spacing: .04em; }
.age-evidence-passport > strong { color: #fff; background: #8c5a2f; }
.age-evidence-passport > em { grid-column: 1 / -1; color: #fff; background: #627447; font-style: normal; font-weight: 850; }
.buffon-cooling-lab { display: grid; grid-template-columns: minmax(0,1.3fr) 1fr auto 1fr; gap: .7rem; align-items: center; margin: 1rem 0; }
.buffon-cooling-lab > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; }
.buffon-cooling-lab article { display: grid; gap: .45rem; min-height: 10rem; place-items: center; padding: .65rem; border: 1px solid #bd8257; border-radius: .85rem; color: #6a371e; background: #fff0df; text-align: center; }
.buffon-cooling-lab article i { width: var(--ball-size); height: var(--ball-size); border-radius: 50%; background: radial-gradient(circle at 35% 30%,#ffd37a,#c25027 68%,#71321f); box-shadow: 0 0 1rem rgb(194 80 39 / .28); }
.buffon-cooling-lab > strong, .buffon-cooling-lab > span { padding: .75rem; border-radius: .75rem; text-align: center; }
.buffon-cooling-lab > strong { color: #fff; background: #52617e; }
.buffon-cooling-lab > span { color: #8c3f20; font-weight: 900; }
.buffon-cooling-lab > em { grid-column: 1 / -1; padding: .72rem; border-radius: .72rem; color: #fff; background: #627447; font-style: normal; font-weight: 850; text-align: center; }
.sediment-archive-lab { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.2fr); gap: .9rem; align-items: stretch; margin: 1rem 0; }
.sediment-column { display: grid; overflow: hidden; border: 3px solid #765f43; border-radius: .7rem .7rem 1.25rem 1.25rem; background: #f5eee2; }
.sediment-column > * { display: grid; min-height: 3.2rem; place-items: center; padding: .55rem; color: #4d402f; border-bottom: 1px solid rgb(77 64 47 / .32); text-align: center; }
.sediment-column > span:nth-child(1) { background: #d8dfcb; }
.sediment-column > span:nth-child(2) { background: #f2d8a7; }
.sediment-column > i { border-block: 5px wavy #8c3f20; color: #fff; background: #8c5a2f; font-style: normal; font-weight: 850; }
.sediment-column > span:nth-child(4) { background: #dbc29e; }
.sediment-column > span:nth-child(5) { background: #a79b8a; }
.sediment-ledger { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .7rem; align-content: center; }
.sediment-ledger > strong, .sediment-ledger > em { grid-column: 1 / -1; padding: .72rem; border-radius: .72rem; color: #fff; background: #52617e; text-align: center; }
.sediment-ledger article { display: grid; gap: .3rem; place-items: center; padding: .75rem; border: 1px solid #b9a36f; border-radius: .75rem; color: #4f431f; background: #fff7d9; text-align: center; }
.sediment-ledger > em { background: #627447; font-style: normal; font-weight: 850; }
.darwin-kelvin-debate { display: grid; grid-template-columns: 1fr auto 1fr; gap: .75rem; align-items: center; margin: 1rem 0; }
.darwin-kelvin-debate article { display: grid; gap: .55rem; min-height: 13rem; align-content: center; padding: .85rem; border: 2px solid #8bac7f; border-radius: 1rem; color: #315335; background: #eef7ea; text-align: center; }
.darwin-kelvin-debate article:last-of-type { border-color: #8da2b7; color: #34405d; background: #eef3f7; }
.darwin-kelvin-debate article b { text-transform: uppercase; letter-spacing: .04em; }
.darwin-kelvin-debate article span { padding: .45rem; border-radius: .45rem; background: rgb(255 255 255 / .72); }
.darwin-kelvin-debate > i { color: #8c3f20; font-style: normal; font-weight: 900; text-align: center; }
.darwin-kelvin-debate > em { grid-column: 1 / -1; padding: .72rem; border-radius: .72rem; color: #fff; background: #627447; font-style: normal; font-weight: 850; text-align: center; }
.kelvin-thermal-model { margin: 1rem 0; }
.kelvin-thermal-model svg { display: block; width: 100%; height: auto; max-height: 24rem; padding: .5rem; border: 1px solid #b9a36f; border-radius: .9rem; background: #fffdf6; }
.kelvin-thermal-model figcaption { padding: .72rem; border-radius: 0 0 .72rem .72rem; color: #fff; background: #52617e; text-align: center; font-weight: 800; }
.radiometric-double-role { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; margin: 1rem 0; }
.radiometric-double-role > article { display: grid; grid-template-columns: 1fr auto 1fr; gap: .4rem; align-items: center; min-width: 0; padding: .72rem; border: 1px solid #8da2b7; border-radius: .85rem; color: #34405d; background: #eef3f7; text-align: center; }
.radiometric-double-role > article b, .radiometric-double-role > article small { grid-column: 1 / -1; }
.radiometric-double-role > figure { grid-column: 1 / -1; margin: 0; }
.radiometric-double-role svg { display: block; width: 100%; max-height: 18rem; padding: .45rem; border: 1px solid #b9a36f; border-radius: .85rem; background: #fffdf6; }
.radiometric-double-role figcaption { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center; padding: .65rem; color: #4f431f; background: #fff7d9; }
.radiometric-double-role > em { grid-column: 1 / -1; padding: .72rem; border-radius: .72rem; color: #fff; background: #627447; font-style: normal; font-weight: 850; text-align: center; }
.meteorite-convergence { display: grid; gap: .75rem; margin: 1rem 0; }
.meteorite-convergence > div { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .65rem; }
.meteorite-convergence article { display: grid; gap: .35rem; min-height: 9rem; place-content: center; padding: .7rem; border: 1px solid #8da2b7; border-radius: 50% 50% .85rem .85rem; color: #34405d; background: #eef3f7; text-align: center; }
.meteorite-convergence article:nth-child(4) { border-color: #bd8257; color: #6a371e; background: #fff0df; }
.meteorite-convergence > strong, .meteorite-convergence > em { display: grid; gap: .3rem; padding: .75rem; border-radius: .72rem; color: #fff; background: #52617e; text-align: center; }
.meteorite-convergence > strong small { font-weight: 600; }
.meteorite-convergence > em { background: #627447; font-style: normal; font-weight: 850; }

.universe-sun, .universe-earth, .universe-moon, .universe-jupiter { display: inline-block; border-radius: 50%; }
.universe-sun { width: 3.5rem; height: 3.5rem; background: radial-gradient(circle at 35% 30%,#fff2a0,#ecaa2f 64%,#bf6827); box-shadow: 0 0 1.15rem rgb(236 170 47 / .48); }
.universe-earth { width: 3.1rem; height: 3.1rem; background: radial-gradient(circle at 35% 35%,#9edb9a 0 20%,#4c91b5 22% 63%,#255c7c 65%); }
.universe-moon { width: 2.4rem; height: 2.4rem; background: radial-gradient(circle at 35% 30%,#f3f0e8,#b9b8b1 68%,#777b82); }
.universe-jupiter { width: 4.5rem; height: 4.5rem; background: repeating-linear-gradient(0deg,#d7a875 0 .45rem,#f0d2aa .45rem .9rem,#9d6146 .9rem 1.12rem); }
.universe-frame-stage { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .72rem; align-items: center; margin: 1rem 0; }
.universe-frame-stage article { display: grid; gap: .4rem; min-height: 9rem; place-items: center; padding: .72rem; border: 1px solid #829bb0; border-radius: 1rem; color: #34405d; background: #eef3f7; text-align: center; }
.universe-frame-stage > strong, .universe-frame-stage > i { padding: .62rem; color: #fff; border-radius: .7rem; background: #52617e; text-align: center; }
.universe-frame-stage > i { color: #8c3f20; background: transparent; font-style: normal; font-weight: 900; }
.universe-frame-stage > em, .universe-model-ledger > em, .galileo-evidence-gate > em, .earth-orbit-track > em, .moon-phase-lab > em, .moon-sync-turntable > em, .habitable-zone-gate > em, .water-reserve-funnel > em { grid-column: 1 / -1; padding: .72rem; border-radius: .72rem; color: #fff; background: #627447; text-align: center; font-style: normal; font-weight: 850; }
.universe-model-ledger { display: grid; grid-template-columns: .75fr repeat(3,minmax(0,1fr)); gap: 1px; overflow: hidden; margin: 1rem 0; border: 1px solid #b9a36f; border-radius: .9rem; background: #b9a36f; }
.universe-model-ledger > * { min-width: 0; padding: .68rem; background: #fffdf6; text-align: center; }
.universe-model-ledger > span { color: #fff; background: #52617e; font-weight: 850; }
.universe-model-ledger > b { color: #6a371e; background: #fff0df; }
.universe-model-ledger > i { color: #34405d; font-style: normal; }
.universe-model-ledger > strong { color: #315335; background: #eef7ea; }
.galileo-evidence-gate { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .72rem; align-items: stretch; margin: 1rem 0; }
.galileo-evidence-gate article { grid-column: span 2; display: grid; gap: .55rem; min-height: 12rem; place-items: center; padding: .8rem; border: 1px solid #829bb0; border-radius: 1rem; color: #34405d; background: #eef3f7; text-align: center; }
.galileo-evidence-gate article > div { display: flex; gap: .5rem; align-items: center; justify-content: center; }
.moon-dot { width: .7rem; height: .7rem; border-radius: 50%; background: #8c7561; }
.venus-phases i { width: 2.3rem; height: 2.3rem; border: 2px solid #9b805b; border-radius: 50%; background: #e8d3a4; }
.venus-phases i:nth-child(1) { background: #3d4656; }
.venus-phases i:nth-child(2) { background: linear-gradient(90deg,#3d4656 50%,#e8d3a4 50%); }
.venus-phases i:nth-child(3) { background: radial-gradient(circle at 38% 50%,#e8d3a4 0 55%,#3d4656 57%); }
.galileo-evidence-gate > strong, .galileo-evidence-gate > span { padding: .68rem; border-radius: .72rem; text-align: center; }
.galileo-evidence-gate > strong { color: #fff; background: #52617e; }
.galileo-evidence-gate > span { color: #315335; border: 1px solid #8bac7f; background: #eef7ea; }
.earth-orbit-track, .moon-phase-lab, .moon-sync-turntable, .habitable-zone-gate, .water-reserve-funnel { display: grid; gap: .78rem; margin: 1rem 0; }
.earth-orbit-track svg, .moon-phase-lab svg { display: block; width: 100%; max-height: 25rem; padding: .4rem; border: 1px solid #b9a36f; border-radius: .9rem; background: #fffdf6; }
.earth-orbit-track > div { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .5rem; align-items: center; }
.earth-orbit-track > div > * { min-width: 0; padding: .58rem; border-radius: .65rem; color: #34405d; background: #eef3f7; text-align: center; font-style: normal; }
.earth-orbit-track > div > i { color: #8c3f20; background: transparent; font-weight: 900; }
.moon-phase-lab > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .65rem; }
.moon-phase-lab article { display: grid; gap: .3rem; padding: .7rem; border: 1px solid #829bb0; border-radius: .75rem; color: #34405d; background: #eef3f7; text-align: center; }
.moon-sync-turntable > div { position: relative; min-height: 26rem; border: 1px solid #829bb0; border-radius: 50%; background: radial-gradient(circle,#edf5fb 0 18%,transparent 19%),#fffdf6; }
.moon-sync-turntable > div > .universe-earth { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); }
.moon-position { position: absolute; display: grid; gap: .2rem; place-items: center; color: #34405d; text-align: center; }
.moon-position span { position: relative; width: 3rem; height: 3rem; border-radius: 50%; background: #c8c8c2; box-shadow: inset -1rem 0 #777b82; }
.moon-position span::after { position: absolute; top: 50%; left: .15rem; width: .75rem; height: .75rem; border-radius: 50%; content: ""; background: #c06b32; transform: translateY(-50%); }
.moon-position--top { top: 1rem; left: 50%; transform: translateX(-50%) rotate(90deg); }
.moon-position--top > * { transform: rotate(-90deg); }
.moon-position--right { top: 50%; right: 1rem; transform: translateY(-50%) rotate(180deg); }
.moon-position--right > * { transform: rotate(-180deg); }
.moon-position--bottom { bottom: 1rem; left: 50%; transform: translateX(-50%) rotate(270deg); }
.moon-position--bottom > * { transform: rotate(-270deg); }
.moon-position--left { top: 50%; left: 1rem; transform: translateY(-50%); }
.moon-sync-turntable > strong, .water-reserve-funnel > strong { justify-self: center; padding: .72rem 1rem; border-radius: .72rem; color: #fff; background: #52617e; text-align: center; }
.habitable-zone-gate > div { display: grid; grid-template-columns: 1fr 1.25fr 1fr; gap: .5rem; align-items: center; min-height: 12rem; padding: 1rem; border: 1px solid #829bb0; border-radius: 1rem; background: linear-gradient(90deg,#f6c281 0 30%,#b6d6a3 31% 67%,#bad4e4 68%); text-align: center; }
.habitable-zone-gate > div .universe-sun { grid-row: 1 / 3; justify-self: center; }
.habitable-zone-gate > div strong { grid-row: 1; grid-column: 2; color: #315335; }
.habitable-zone-gate > div .zone-too-hot { grid-column: 1; }
.habitable-zone-gate > div .zone-too-cold { grid-row: 2; grid-column: 3; }
.exo { width: 2.4rem; height: 2.4rem; justify-self: center; border-radius: 50%; background: radial-gradient(circle at 35% 30%,#9bc48f,#4f8058); }
.exo--one { grid-row: 2; grid-column: 2; }
.exo--two { grid-row: 1; grid-column: 3; background: radial-gradient(circle at 35% 30%,#d5e5ef,#7096ad); }
.habitable-zone-gate ol { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .55rem; margin: 0; padding: 0; list-style: none; }
.habitable-zone-gate li { display: grid; gap: .32rem; place-items: center; min-width: 0; padding: .62rem; border: 1px solid #8bac7f; border-radius: .72rem; color: #315335; background: #eef7ea; text-align: center; }
.habitable-zone-gate li b { display: grid; width: 1.8rem; height: 1.8rem; place-items: center; border-radius: 50%; color: #fff; background: #627447; }
.water-reserve-funnel { justify-items: center; }
.water-reserve-funnel article { display: flex; width: var(--water-width); min-width: 13rem; gap: .8rem; align-items: center; justify-content: space-between; padding: .72rem; border: 1px solid #6793ae; border-radius: .72rem; color: #244f68; background: linear-gradient(90deg,#e8f4fa,#c7e3ef); }
.water-reserve-funnel article:nth-child(3), .water-reserve-funnel article:nth-child(4) { min-width: min(100%,21rem); }

.season-timescale { display: grid; grid-template-columns: repeat(7,auto); gap: .55rem; align-items: center; margin: 1rem 0; }
.season-timescale article { display: grid; gap: .3rem; min-width: 0; min-height: 7rem; place-content: center; padding: .7rem; border: 1px solid #829bb0; border-radius: 1rem; color: #34405d; background: #eef3f7; text-align: center; }
.season-timescale article b { color: #8c3f20; font-size: 1.2rem; }
.season-timescale > i { color: #8c3f20; font-style: normal; font-weight: 900; }
.season-timescale > em, .terminator-lab > em, .season-calendar-wheel > em, .daylight-latitude-board > em, .solar-height-bench > em, .season-hypothesis-audit > em, .season-lag-chart > em { grid-column: 1 / -1; padding: .72rem; border-radius: .72rem; color: #fff; background: #627447; text-align: center; font-style: normal; font-weight: 850; }
.terminator-lab { display: grid; grid-template-columns: 1.1fr repeat(2,minmax(0,1fr)); gap: .75rem; align-items: center; margin: 1rem 0; }
.terminator-lab article { display: grid; gap: .35rem; min-height: 8rem; place-content: center; padding: .75rem; border: 1px solid #829bb0; border-radius: .9rem; color: #34405d; background: #eef3f7; text-align: center; }
.heritage-season-globe { position: relative; width: min(100%,14rem); aspect-ratio: 1; justify-self: center; overflow: hidden; border: .32rem solid #dceaf1; border-radius: 50%; background: url("/modules/cycles-de-la-terre/Peters_projection,_white_&_grey.png") 0 50% / 250% 100%, #286b98; box-shadow: inset -2.4rem 0 2.4rem rgb(12 22 42 / .7), 0 .8rem 1.7rem rgb(32 57 75 / .2); animation: heritageSeasonRotate 16s linear infinite; transform: rotate(-23.4deg); }
.heritage-season-globe::before { position: absolute; inset: -8% 47% -8% -10%; z-index: 1; content: ""; background: linear-gradient(90deg,rgb(255 235 156 / .28),transparent); }
.heritage-season-globe::after { position: absolute; top: -9%; bottom: -9%; left: 50%; width: .18rem; z-index: 2; content: ""; border-radius: 1rem; background: #c06b32; box-shadow: 0 0 0 .1rem rgb(255 255 255 / .7); }
.heritage-season-globe span { position: absolute; inset: 49% 0 auto; z-index: 2; height: .12rem; background: rgb(255 255 255 / .7); }
@keyframes heritageSeasonRotate { to { background-position: 250% 50%; } }
.season-orbit-lab { overflow: hidden; }
.season-orbit-stage { position: relative; display: grid; min-height: 31rem; place-items: center; margin: 1rem 0; border: 1px solid #b9a36f; border-radius: 1.2rem; background: radial-gradient(circle at center,#fff7d9 0 15%,transparent 15.5%),radial-gradient(circle at 25% 30%,rgb(255 255 255 / .92) 0 .12rem,transparent .15rem),radial-gradient(circle at 74% 64%,rgb(255 255 255 / .8) 0 .1rem,transparent .14rem),#1f2d47; background-size: auto,4.8rem 4.8rem,5.9rem 5.9rem,auto; }
.season-orbit-stage > .universe-sun { position: relative; z-index: 3; width: 4.4rem; height: 4.4rem; }
.season-orbit-ring { position: absolute; inset: 8% 5%; border: .18rem solid #8aa1b5; border-radius: 50%; box-shadow: 0 0 0 .08rem rgb(255 255 255 / .28); }
.season-orbit-ring article { --season-angle: 150deg; position: absolute; top: 50%; left: 50%; display: grid; width: 4.8rem; height: 4.8rem; place-items: center; transform: translate(-50%,-50%) rotate(var(--season-angle)) translateX(min(31vw,17rem)) rotate(calc(-1 * var(--season-angle))); transition: transform .35s ease; }
.season-orbit-ring article span { position: relative; display: block; width: 3.7rem; height: 3.7rem; border: .18rem solid #dceaf1; border-radius: 50%; background: url("/modules/cycles-de-la-terre/Peters_projection,_white_&_grey.png") 30% 50% / 250% 100%, #286b98; box-shadow: inset -1.15rem 0 1.25rem rgb(12 22 42 / .62), 0 .35rem .8rem rgb(0 0 0 / .35); }
.season-orbit-ring article span::after { position: absolute; top: -24%; bottom: -24%; left: 50%; width: .15rem; content: ""; border-radius: 1rem; background: #e8b36a; transform: translateX(-50%) rotate(-23.4deg); box-shadow: 0 0 0 .06rem rgb(34 44 63 / .6); }
.season-controls { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)) auto; gap: .8rem; align-items: end; margin: 1rem 0; }
.season-controls label { display: grid; gap: .35rem; color: #34405d; font-weight: 800; }
.season-controls input { width: 100%; accent-color: #b45e2d; }
.season-readout { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .65rem; }
.season-readout article { display: grid; gap: .28rem; min-width: 0; padding: .68rem; border: 1px solid #829bb0; border-radius: .75rem; color: #34405d; background: #eef3f7; text-align: center; }
.season-readout strong { color: #8c3f20; }
.season-calendar-wheel { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .7rem; margin: 1rem 0; }
.season-calendar-wheel article { display: grid; gap: .4rem; min-height: 9rem; place-content: center; padding: .7rem; border: 1px solid #b9a36f; border-radius: 50% 50% .9rem .9rem; color: #34405d; background: #fffdf6; text-align: center; }
.season-calendar-wheel article:nth-child(2) { color: #6a371e; background: #fff0df; }
.season-calendar-wheel article:nth-child(4) { color: #244f68; background: #e8f4fa; }
.daylight-latitude-board { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .7rem; margin: 1rem 0; }
.daylight-latitude-board article { position: relative; display: grid; grid-template-columns: auto 1fr; gap: .7rem; overflow: hidden; min-height: 5.5rem; align-items: center; padding: .8rem; border: 1px solid #829bb0; border-radius: .85rem; color: #fff; background: linear-gradient(90deg,#e7aa39 var(--day-share),#26344a 0); }
.daylight-latitude-board article::after { position: absolute; top: 0; bottom: 0; left: var(--day-share); width: .14rem; content: ""; background: #fff; }
.daylight-latitude-board article b, .daylight-latitude-board article span { position: relative; z-index: 1; text-shadow: 0 1px 2px rgb(0 0 0 / .7); }
.daylight-latitude-board article span { justify-self: end; text-align: right; }
.solar-height-bench { display: grid; gap: .8rem; margin: 1rem 0; }
.solar-height-bench > strong { justify-self: center; max-width: 100%; padding: .7rem 1rem; overflow-x: auto; border: 1px solid #b9a36f; border-radius: .72rem; color: #34405d; background: #fffdf6; }
.solar-height-bench > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; }
.solar-beam { position: relative; display: grid; gap: .35rem; min-height: 11rem; align-content: end; overflow: hidden; padding: .85rem; border: 1px solid #829bb0; border-radius: .95rem; color: #34405d; background: #eef3f7; text-align: center; }
.solar-beam::before { position: absolute; top: .5rem; left: 50%; width: 2.8rem; height: 7.5rem; content: ""; background: linear-gradient(90deg,rgb(235 177 57 / .16),rgb(235 177 57 / .78),rgb(235 177 57 / .16)); transform-origin: 50% 100%; }
.solar-beam--high::before { transform: translateX(-50%); }
.solar-beam--low::before { transform: translateX(-50%) rotate(58deg); }
.solar-beam::after { position: absolute; right: 10%; bottom: 3rem; left: 10%; height: .24rem; content: ""; border-radius: 50%; background: #627447; }
.season-hypothesis-audit { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; margin: 1rem 0; }
.season-hypothesis-audit article { display: grid; gap: .45rem; min-height: 9rem; place-content: center; padding: .8rem; border: 1px solid #bb765d; border-radius: .95rem; color: #6a371e; background: #fff0df; text-align: center; }
.season-hypothesis-audit article:nth-child(2) { border-color: #8bac7f; color: #315335; background: #eef7ea; }
.season-hypothesis-audit strong { padding-top: .4rem; border-top: 1px solid currentColor; }
.season-lag-chart { display: grid; gap: .75rem; margin: 1rem 0; }
.season-lag-chart svg { display: block; width: 100%; height: auto; padding: .45rem; border: 1px solid #b9a36f; border-radius: .9rem; background: #fffdf6; }
.season-lag-chart > strong { justify-self: center; max-width: 100%; padding: .7rem 1rem; overflow-x: auto; border-radius: .72rem; color: #fff; background: #52617e; }

.sound-wave-studio, .sound-period-ruler, .sound-harmonic-builder, .sound-timbre-fingerprint, .sound-decibel-ladder, .sound-string-workbench, .sound-interval-gate, .sound-scale-comparator { display: grid; gap: .75rem; margin: 1rem 0; }
.sound-wave-studio > em, .sound-period-ruler > em, .sound-harmonic-builder > em, .sound-timbre-fingerprint > em, .sound-decibel-ladder > em, .sound-string-workbench > em, .sound-interval-gate > em, .sound-scale-comparator > em { grid-column: 1 / -1; padding: .72rem; border-radius: .72rem; color: #fff; background: #627447; text-align: center; font-style: normal; font-weight: 850; }
.sound-wave-studio svg, .sound-period-ruler svg { display: block; width: 100%; height: auto; padding: .45rem; border: 1px solid #9a88ad; border-radius: .95rem; color: #34405d; background: linear-gradient(#fbf9ff,#f1edf7); }
.sound-axis { fill: none; stroke: #8a96a5; stroke-width: 2; }
.sound-wave { fill: none; stroke-width: 6; stroke-linecap: round; }
.sound-wave--pure { stroke: #4d7f9d; }
.sound-wave--composite { stroke: #9b5b83; }
.sound-wave-studio[data-sound-wave-mode="pure"] .sound-wave--composite, .sound-wave-studio[data-sound-wave-mode="composite"] .sound-wave--pure { opacity: .22; }
.sound-wave-studio > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)) auto; gap: .75rem; align-items: end; }
.sound-wave-studio label { display: grid; gap: .32rem; color: #34405d; font-weight: 800; }
.sound-wave-studio input { width: 100%; accent-color: #8f527a; }
.sound-wave-studio > p { margin: 0; padding: .68rem; border: 1px solid #9a88ad; border-radius: .72rem; color: #523b61; background: #f6f0fa; text-align: center; font-weight: 800; }
.sound-period-ruler > strong, .sound-harmonic-builder > strong, .sound-scale-comparator > strong { justify-self: center; max-width: 100%; padding: .68rem 1rem; overflow-x: auto; border: 1px solid #b9a36f; border-radius: .72rem; color: #34405d; background: #fffdf6; }
.sound-period-ruler > div { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: .55rem; align-items: center; }
.sound-period-ruler > div > * { padding: .6rem; border-radius: .65rem; color: #34405d; background: #eef3f7; text-align: center; font-style: normal; }
.sound-period-ruler > div > i { color: #8c3f20; background: transparent; font-weight: 900; }
.harmonic-bars { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .75rem; min-height: 17rem; align-items: end; padding: 1rem; border: 1px solid #829bb0; border-radius: .95rem; background: linear-gradient(to top,rgb(77 127 157 / .08) 1px,transparent 1px),#fff; background-size: 100% 25%; }
.harmonic-bars article { display: grid; height: var(--harmonic); min-height: 4.5rem; align-content: start; padding: .58rem .3rem; border-radius: .65rem .65rem .2rem .2rem; color: #fff; background: linear-gradient(#9b5b83,#52617e); text-align: center; }
.harmonic-bars article span { font-size: .76rem; }
.sound-timbre-fingerprint { grid-template-columns: repeat(2,minmax(0,1fr)); }
.sound-timbre-fingerprint article { display: grid; gap: .45rem; min-width: 0; padding: .75rem; border: 1px solid #9a88ad; border-radius: .9rem; color: #34405d; background: #f6f0fa; text-align: center; }
.timbre-spectrum { display: flex; height: 10rem; gap: .65rem; align-items: end; justify-content: space-around; padding: .6rem; border-bottom: .18rem solid #52617e; }
.timbre-spectrum i { width: 12%; border-radius: .35rem .35rem 0 0; background: #4d7f9d; }
.timbre-spectrum--fork i:nth-child(1) { height: 92%; }.timbre-spectrum--fork i:nth-child(2) { height: 12%; }.timbre-spectrum--fork i:nth-child(3) { height: 5%; }.timbre-spectrum--fork i:nth-child(4) { height: 2%; }.timbre-spectrum--fork i:nth-child(5) { height: 1%; }
.timbre-spectrum--piano i:nth-child(1) { height: 84%; }.timbre-spectrum--piano i:nth-child(2) { height: 66%; }.timbre-spectrum--piano i:nth-child(3) { height: 47%; }.timbre-spectrum--piano i:nth-child(4) { height: 32%; }.timbre-spectrum--piano i:nth-child(5) { height: 19%; }
.sound-timbre-fingerprint > strong { grid-column: 1 / -1; justify-self: center; padding: .65rem 1rem; border-radius: .7rem; color: #fff; background: #52617e; }
.sound-decibel-ladder > div { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .65rem; align-items: end; }
.sound-decibel-ladder article { display: grid; gap: .32rem; min-height: calc(6rem + var(--step,0rem)); place-content: center; padding: .62rem; border: 1px solid #829bb0; border-radius: .8rem .8rem .2rem .2rem; color: #34405d; background: linear-gradient(#eef3f7,#dce8f0); text-align: center; }
.sound-decibel-ladder article:nth-child(2) { --step:1.4rem; }.sound-decibel-ladder article:nth-child(3) { --step:2.8rem; }.sound-decibel-ladder article:nth-child(4) { --step:4.2rem; }
.sound-decibel-ladder article strong { color: #8c3f20; }
.sound-decibel-ladder > p { display: flex; flex-wrap: wrap; gap: .7rem; align-items: center; justify-content: center; margin: 0; }
.sound-decibel-ladder > p > * { max-width: 100%; padding: .65rem; overflow-x: auto; border-radius: .7rem; color: #fff; background: #52617e; }
.sound-decibel-ladder > p i { color: #8c3f20; background: transparent; font-style: normal; font-weight: 900; }
.sound-string-workbench { grid-template-columns: repeat(2,minmax(0,1fr)); }
.string-case { display: grid; grid-template-columns: 1fr auto; gap: .45rem; align-items: center; padding: .75rem; border: 1px solid #b88862; border-radius: .9rem; color: #5c402c; background: #fff5e8; }
.string-case span { grid-column: 1 / -1; height: .34rem; border-radius: 1rem; background: #7a5740; box-shadow: 0 -.5rem 0 -.12rem #c68b52,0 .5rem 0 -.12rem #c68b52; }
.string-case--short span { width: 58%; justify-self: center; }
.string-case small { justify-self: end; }
.sound-string-workbench > div { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3,1fr auto); gap: .5rem; align-items: center; }
.sound-string-workbench > div > * { padding: .6rem; border-radius: .65rem; color: #34405d; background: #eef3f7; text-align: center; font-style: normal; }
.sound-string-workbench > div i { color: #fff; background: #52617e; font-weight: 900; }
.sound-interval-gate { grid-template-columns: repeat(5,auto); align-items: center; }
.sound-interval-gate article { display: grid; gap: .28rem; min-width: 7rem; padding: .75rem; border: 1px solid #9a88ad; border-radius: 50%; color: #523b61; background: #f6f0fa; text-align: center; }
.sound-interval-gate > i { color: #8c3f20; font-style: normal; font-weight: 900; text-align: center; }
.sound-interval-gate > strong { grid-column: 1 / -1; justify-self: center; max-width: 100%; padding: .68rem 1rem; overflow-x: auto; border-radius: .7rem; color: #fff; background: #52617e; }
.scale-keyboard { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: .22rem; min-height: 11rem; align-items: end; padding: .75rem; border: 1px solid #9a88ad; border-radius: .95rem; background: #2a3346; }
.scale-keyboard i { display: grid; height: calc(4.8rem + var(--degree) * .34rem); min-width: 0; place-items: end center; padding: .35rem .1rem; border-radius: .35rem .35rem .15rem .15rem; color: #34405d; background: #f9f6ee; font-style: normal; box-shadow: inset 0 -.3rem #d8d1c3; }
.scale-keyboard i:nth-child(2), .scale-keyboard i:nth-child(4), .scale-keyboard i:nth-child(7), .scale-keyboard i:nth-child(9), .scale-keyboard i:nth-child(11) { color: #fff; background: #596177; box-shadow: inset 0 -.3rem #343b4d; }
.sound-scale-comparator > div:last-of-type { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .7rem; }
.sound-scale-comparator article { display: grid; gap: .3rem; padding: .72rem; border: 1px solid #9a88ad; border-radius: .8rem; color: #523b61; background: #f6f0fa; text-align: center; }

.audio-digitizer, .audio-sampling-ruler, .audio-nyquist-gate, .audio-quantization-grid, .audio-binary-decoder, .audio-size-calculator, .audio-compression-audit, .audio-scenario-matrix { display: grid; gap: .78rem; margin: 1rem 0; }
.audio-digitizer > em, .audio-sampling-ruler > em, .audio-nyquist-gate > em, .audio-quantization-grid > em, .audio-binary-decoder > em, .audio-size-calculator > em, .audio-compression-audit > em, .audio-scenario-matrix > em { grid-column: 1 / -1; padding: .72rem; border-radius: .72rem; color: #fff; background: #496b75; text-align: center; font-style: normal; font-weight: 850; }
.audio-digitizer svg { display: block; width: 100%; height: auto; padding: .4rem; border: 1px solid #78a0a7; border-radius: .95rem; background: repeating-linear-gradient(0deg,rgb(73 107 117 / .055) 0 1px,transparent 1px 38px),#f5faf9; }
.audio-digitizer__axis { fill: none; stroke: #778492; stroke-width: 2; }
.audio-digitizer__signal { fill: none; stroke: #4a6a49; stroke-width: 6; stroke-linecap: round; }
.digitizer-level { fill: none; stroke: #5c88a1; stroke-width: 1.4; stroke-dasharray: 5 7; opacity: .52; }
.digitizer-stem { fill: none; stroke: #c46d32; stroke-width: 2.5; }
.digitizer-sample { fill: #f7a631; stroke: #7e431e; stroke-width: 1.5; }
.digitizer-quantized { fill: #3f7897; stroke: #fff; stroke-width: 1.2; }
.audio-digitizer__controls { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; }
.audio-digitizer__controls label { display: grid; grid-template-columns: 1fr auto; gap: .35rem .65rem; align-items: center; padding: .7rem; border: 1px solid #78a0a7; border-radius: .75rem; color: #334e58; background: #edf7f5; font-weight: 800; }
.audio-digitizer__controls input { grid-column: 1 / -1; width: 100%; accent-color: #c46d32; }
.audio-digitizer__controls output { padding: .2rem .45rem; border-radius: .4rem; color: #fff; background: #496b75; }
.audio-digitizer__chain { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .65rem; }
.audio-digitizer__chain article { display: grid; gap: .3rem; min-width: 0; padding: .7rem; border: 1px solid #78a0a7; border-radius: .75rem; color: #334e58; background: #edf7f5; text-align: center; }
.audio-sampling-ruler > div { display: grid; grid-template-columns: repeat(7,auto); align-items: center; padding: .9rem; overflow-x: auto; border: 1px solid #78a0a7; border-radius: .85rem; color: #334e58; background: #f5faf9; }
.audio-sampling-ruler { min-width: 0; overflow-x: auto; }
.audio-sampling-ruler > div i { width: 100%; min-width: 2.5rem; height: .2rem; background: repeating-linear-gradient(90deg,#c46d32 0 2px,transparent 2px 7px); }
.audio-sampling-ruler > strong, .audio-nyquist-gate > strong, .audio-quantization-grid > strong, .audio-binary-decoder > strong, .audio-size-calculator > strong, .audio-compression-audit > strong { justify-self: center; max-width: 100%; padding: .68rem 1rem; overflow-x: auto; border: 1px solid #78a0a7; border-radius: .72rem; color: #334e58; background: #f5faf9; }
.audio-nyquist-gate { grid-template-columns: repeat(5,auto); align-items: center; }
.audio-nyquist-gate article, .audio-compression-audit article { display: grid; gap: .25rem; padding: .75rem; border: 1px solid #78a0a7; border-radius: .78rem; color: #334e58; background: #edf7f5; text-align: center; }
.audio-nyquist-gate > i, .audio-compression-audit > div > i, .audio-size-calculator i, .audio-binary-decoder > p i { color: #a35325; font-style: normal; font-weight: 950; }
.audio-nyquist-gate > strong, .audio-nyquist-gate > div { grid-column: 1 / -1; }
.alias-traces { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .65rem; }
.alias-traces span { min-height: 4rem; display: grid; place-items: center; padding: .55rem; border-radius: .7rem; color: #fff; background: linear-gradient(135deg,#4a6a49,#496b75); text-align: center; }
.audio-quantization-grid > div { display: grid; gap: .18rem; min-height: 13rem; padding: .7rem; border: 1px solid #78a0a7; border-radius: .9rem; background: #f5faf9; }
.audio-quantization-grid > div i { display: flex; align-items: center; justify-content: flex-end; padding-right: .55rem; border-bottom: 2px solid rgb(63 120 151 / .65); color: #334e58; font-style: normal; }
.audio-quantization-grid > p { display: grid; grid-template-columns: repeat(6,auto); gap: .45rem; align-items: center; margin: 0; }
.audio-quantization-grid > p > * { padding: .55rem; border-radius: .55rem; background: #edf7f5; text-align: center; }
.audio-binary-decoder > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .65rem; }
.audio-binary-decoder article { display: grid; gap: .3rem; padding: .75rem; border-radius: .75rem; color: #fff; background: #496b75; text-align: center; }
.audio-binary-decoder article b { font-size: 2rem; }
.audio-binary-decoder > p, .audio-compression-audit > div { display: grid; grid-template-columns: repeat(5,auto); gap: .5rem; align-items: center; justify-content: center; margin: 0; }
.audio-binary-decoder > p span { padding: .55rem; border-radius: .55rem; background: #edf7f5; }
.audio-size-calculator > div { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .65rem; }
.audio-size-calculator article { display: grid; gap: .25rem; padding: .7rem; border: 1px solid #78a0a7; border-radius: .75rem; color: #334e58; background: #edf7f5; text-align: center; }
.audio-size-calculator > p { margin: 0; padding: .7rem; border-radius: .7rem; color: #fff; background: #496b75; text-align: center; }
.audio-compression-audit > p { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; margin: 0; }
.audio-compression-audit > p span { padding: .7rem; border: 1px solid #78a0a7; border-radius: .72rem; color: #334e58; background: #edf7f5; text-align: center; }
.audio-scenario-matrix { grid-template-columns: repeat(2,minmax(0,1fr)); }
.audio-scenario-matrix article { display: grid; gap: .35rem; min-height: 8.5rem; place-content: center; padding: .75rem; border: 1px solid #78a0a7; border-radius: .85rem; color: #334e58; background: linear-gradient(135deg,#f5faf9,#e4f1ee); text-align: center; }
.audio-scenario-matrix article strong { color: #8b4b27; }

.hearing-pathway, .hearing-audiogram, .hearing-tonotopy, .hearing-haircells, .hearing-brain, .hearing-risk, .hearing-attenuation, .hearing-router { display: grid; gap: .78rem; margin: 1rem 0; }
.hearing-pathway > em, .hearing-audiogram > em, .hearing-tonotopy > em, .hearing-haircells > em, .hearing-brain > em, .hearing-risk > em, .hearing-attenuation > em, .hearing-router > em { grid-column: 1 / -1; padding: .72rem; border-radius: .72rem; color: #fff; background: #654b6e; text-align: center; font-style: normal; font-weight: 850; }
.hearing-pathway { grid-template-columns: repeat(7,auto); align-items: center; }
.hearing-pathway article { display: grid; gap: .3rem; min-width: 0; padding: .7rem; border: 1px solid #aa8bb2; border-radius: .85rem; color: #4e3857; background: #f8f1fa; text-align: center; }
.hearing-pathway > i, .hearing-router > i { color: #b65a3b; font-style: normal; font-weight: 950; }
.ear-icon { display: block; width: 3.2rem; height: 3.2rem; margin: auto; border: .34rem solid #8c668f; border-radius: 50% 58% 48% 55%; }
.ear-icon--outer { border-right-color: transparent; transform: rotate(-14deg); }
.ear-icon--middle { position: relative; border-radius: 50%; transform: scale(.75); box-shadow: .8rem 0 0 -.45rem #d69254,-.8rem 0 0 -.45rem #d69254; }
.ear-icon--cochlea { border-radius: 50%; box-shadow: inset 0 0 0 .35rem #f8f1fa,inset 0 0 0 .7rem #8c668f; }
.ear-icon--brain { border-style: dotted; border-width: .45rem; border-radius: 45% 55%; }
.hearing-audiogram svg { display: block; width: 100%; height: auto; padding: .45rem; border: 1px solid #aa8bb2; border-radius: .9rem; background: repeating-linear-gradient(0deg,rgb(101 75 110 / .07) 0 1px,transparent 1px 42px),#fcf9fd; }
.hearing-axis { fill: none; stroke: #6f7887; stroke-width: 3; }
.hearing-threshold { fill: none; stroke-width: 7; stroke-linecap: round; }
.hearing-threshold--reference { stroke: #4e8490; }.hearing-threshold--variant { stroke: #b65a3b; stroke-dasharray: 12 9; }
.hearing-audiogram > div { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center; }
.hearing-audiogram > div span { display: flex; gap: .4rem; align-items: center; }.hearing-audiogram > div i { width: 2.6rem; height: .35rem; background: #4e8490; }.hearing-audiogram > div span:last-child i { background: #b65a3b; }
.cochlea-spiral { position: relative; width: min(100%,32rem); aspect-ratio: 1.7; margin: auto; overflow: hidden; border: 1px solid #aa8bb2; border-radius: 50% 48% 44% 52%; background: radial-gradient(circle at 53% 52%,#fcf9fd 0 9%,#8c668f 10% 14%,#f3e7f6 15% 25%,#8c668f 26% 31%,#f3e7f6 32% 46%,#8c668f 47% 53%,#ead5ee 54%); }
.cochlea-zone { position: absolute; padding: .3rem .45rem; border-radius: .5rem; color: #fff; background: rgb(50 55 72 / .82); text-align: center; font-size: .82rem; font-weight: 850; }
.cochlea-zone--high { right: 5%; bottom: 11%; }.cochlea-zone--middle { left: 11%; top: 43%; }.cochlea-zone--low { left: 46%; top: 37%; }
.hearing-tonotopy > p, .hearing-brain > p { display: grid; grid-template-columns: repeat(5,auto); gap: .5rem; align-items: center; justify-content: center; margin: 0; }
.hearing-tonotopy > p > *, .hearing-brain > p > * { padding: .55rem; border-radius: .55rem; background: #f8f1fa; text-align: center; font-style: normal; }
.hearing-tonotopy > p i, .hearing-brain > p i { color: #b65a3b; background: transparent; font-weight: 950; }
.hearing-haircells { grid-template-columns: repeat(2,minmax(0,1fr)); }
.hearing-haircells article { display: grid; gap: .55rem; padding: .75rem; border: 1px solid #aa8bb2; border-radius: .85rem; color: #4e3857; background: #f8f1fa; text-align: center; }
.haircell-field { display: grid; grid-template-columns: repeat(6,1fr); gap: .42rem; min-height: 10rem; align-items: end; padding: .7rem; border-radius: .7rem; background: #2f3546; }
.haircell-field i { position: relative; height: 4rem; border-radius: 50% 50% .4rem .4rem; background: linear-gradient(#dba0a4,#f2c4ab); }
.haircell-field i::before { position: absolute; top: -1.7rem; left: 50%; width: 2.2rem; height: 1.9rem; content: ""; background: repeating-linear-gradient(90deg,transparent 0 .25rem,#f4d8c6 .26rem .38rem); transform: translateX(-50%); }
.haircell-field--trauma i:nth-child(3n) { height: 2.4rem; transform: rotate(16deg); }.haircell-field i.is-missing { visibility: hidden; }
.brain-map { position: relative; width: min(100%,31rem); aspect-ratio: 1.8; margin: auto; border: .45rem solid #654b6e; border-radius: 48% 56% 45% 52%; background: radial-gradient(circle at 68% 38%,rgb(217 111 73 / .8) 0 8%,transparent 9%),radial-gradient(circle at 42% 60%,rgb(74 132 144 / .8) 0 11%,transparent 12%),repeating-radial-gradient(ellipse at center,#f8f1fa 0 1rem,#e3d1e7 1.05rem 1.2rem); }
.brain-map span { position: absolute; padding: .25rem .4rem; border-radius: .4rem; color: #fff; background: #383d50; font-size: .72rem; }.brain-map span:nth-of-type(1){right:12%;top:20%}.brain-map span:nth-of-type(2){left:15%;bottom:18%}.brain-map span:nth-of-type(3){left:42%;top:12%}.brain-map span:nth-of-type(4){right:26%;bottom:15%}
.hearing-risk > div:first-child { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; }
.hearing-risk label { display: grid; grid-template-columns: 1fr auto; gap: .4rem .7rem; padding: .7rem; border: 1px solid #aa8bb2; border-radius: .75rem; color: #4e3857; background: #f8f1fa; font-weight: 800; }.hearing-risk input { grid-column: 1 / -1; width: 100%; accent-color: #b65a3b; }.hearing-risk output { padding: .2rem .42rem; border-radius: .4rem; color: #fff; background: #654b6e; }
.hearing-risk > strong, .hearing-attenuation > strong { justify-self: center; max-width: 100%; padding: .65rem 1rem; overflow-x: auto; border: 1px solid #aa8bb2; border-radius: .7rem; color: #4e3857; background: #fcf9fd; }
.hearing-dose-meter { position: relative; height: 3.2rem; overflow: hidden; border: 1px solid #8c668f; border-radius: 1.6rem; background: #e9e1ec; }
.hearing-dose-meter i { position: absolute; inset: 0 auto 0 0; width: 25%; background: linear-gradient(90deg,#4e8490,#88aa77); transition: width .2s; }.hearing-dose-meter i.is-over { background: linear-gradient(90deg,#d59145,#b3473c); }
.hearing-dose-meter span { position: relative; z-index: 1; display: grid; height: 100%; place-items: center; color: #2f3546; font-weight: 900; text-shadow: 0 1px #fff; }
.hearing-attenuation > div { display: grid; grid-template-columns: repeat(5,auto); gap: .55rem; align-items: center; justify-content: center; }.hearing-attenuation article { display: grid; gap: .25rem; padding: .7rem; border: 1px solid #aa8bb2; border-radius: .75rem; color: #4e3857; background: #f8f1fa; text-align: center; }.hearing-attenuation > div > i { color: #b65a3b; font-style: normal; font-weight: 950; }
.hearing-attenuation > p { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .55rem; margin: 0; }.hearing-attenuation > p span { padding: .6rem; border-radius: .55rem; color: #fff; background: #654b6e; text-align: center; }
.hearing-router { grid-template-columns: repeat(5,auto); align-items: center; }.hearing-router article { display: grid; gap: .35rem; min-height: 7rem; place-content: center; padding: .75rem; border: 1px solid #aa8bb2; border-radius: .8rem; color: #4e3857; background: #f8f1fa; text-align: center; }

/* Histoire littéraire : l’outil visuel conserve les chevauchements et le degré de preuve. */
[data-antique-oral], [data-antique-invocation], [data-antique-truth], [data-antique-plato], [data-antique-aristotle], [data-antique-orpheus], [data-antique-ovid], [data-antique-rewrite] { border-color: #b88462; background: linear-gradient(145deg,#fffaf1,#efe3d1); }
.antique-voice-chain, .antique-invocation, .antique-mimesis-workbench, .antique-orpheus-map, .antique-metamorphosis-ledger, .antique-rewrite-lens { display: grid; grid-template-columns: repeat(9,auto); gap: .55rem; align-items: center; }
.antique-voice-chain article, .antique-truth-gate article, .antique-mimesis-workbench article, .antique-orpheus-map article, .antique-rewrite-lens article { display: grid; gap: .3rem; min-height: 6.5rem; place-content: center; padding: .7rem; border: 1px solid #bd9675; border-radius: .85rem; color: #414252; background: #fffaf3; text-align: center; }
.antique-voice-chain b, .antique-truth-gate b, .antique-mimesis-workbench b, .antique-orpheus-map b, .antique-rewrite-lens b { color: #8e4b31; font-family: var(--serif); font-size: 1.05rem; }
.antique-voice-chain > i, .antique-mimesis-workbench > i, .antique-orpheus-map > i, .antique-rewrite-lens > i { color: #8e4b31; font-style: normal; font-weight: 900; text-align: center; }
.antique-invocation { grid-template-columns: repeat(7,auto); justify-content: center; }
.antique-invocation > span, .antique-invocation > strong { display: grid; min-width: 6rem; min-height: 5rem; place-items: center; padding: .65rem; border: 1px solid #bd9675; border-radius: 50%; color: #493f4f; background: #fffaf3; text-align: center; }.antique-invocation > strong { color: #fff; background: #6f536e; }
.antique-invocation > i { color: #8e4b31; font-style: normal; font-size: .8rem; font-weight: 850; }.antique-invocation > em { grid-column: 1 / -1; text-align: center; }
.antique-truth-gate { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .65rem; }.antique-truth-gate > strong { grid-column: 1 / -1; padding: .7rem; border-radius: .7rem; color: #fff; background: #526278; text-align: center; }
.antique-magnet-chain { display: grid; grid-template-columns: repeat(7,auto); gap: .5rem; align-items: center; justify-content: center; }.antique-magnet-chain > strong, .antique-magnet-chain > span { display: grid; min-width: 6rem; min-height: 5.5rem; place-items: center; padding: .6rem; border: 2px solid #9c6a4c; border-radius: 50% 50% 42% 42%; color: #493f4f; background: #fffaf3; text-align: center; }.antique-magnet-chain > strong { color: #fff; background: #6f536e; }.antique-magnet-chain > i { width: 2.2rem; height: .35rem; background: #b88462; box-shadow: 0 0 0 .2rem rgb(184 132 98 / .15); }.antique-magnet-chain > em { grid-column: 1 / -1; text-align: center; }
.antique-mimesis-workbench > strong { display: grid; min-height: 6.5rem; place-items: center; padding: .7rem; border-radius: .85rem; color: #fff; background: #526278; }
.antique-orpheus-map { grid-template-columns: repeat(5,minmax(0,1fr)); }.antique-orpheus-map article.is-underworld { color: #fff; background: #4a4355; }.antique-orpheus-map article.is-underworld b { color: #efc9a9; }
.antique-metamorphosis-ledger { grid-template-columns: repeat(5,minmax(0,1fr)); }.antique-metamorphosis-ledger > * { display: grid; min-height: 5.8rem; place-items: center; padding: .65rem; border-radius: .75rem; color: #443e4c; background: #fffaf3; text-align: center; font-style: normal; }.antique-metamorphosis-ledger > i { border: 1px dashed #a06a4e; }.antique-metamorphosis-ledger > strong { color: #fff; background: #8e4b31; }
.antique-rewrite-lens { grid-template-columns: 1fr auto 1fr auto 1fr; }.antique-rewrite-lens > strong { padding: .8rem; border-radius: 50%; color: #fff; background: #8e4b31; text-align: center; }

/* Fonctions poétiques : une constellation de preuves plutôt qu’une suite d’étiquettes. */
[data-poetry-function], [data-poetry-lyric], [data-poetry-memory], [data-poetry-engagement], [data-poetry-autonomy], [data-poetry-knowledge], [data-poetry-program], [data-poetry-analysis] { border-color: #78929a; background: linear-gradient(145deg,#fbf8f1,#e8f0ee); }
.poetry-function-compass, .poetry-lyric-relay, .poetry-memory-loop, .poetry-engagement-chain, .poetry-autonomy-balance, .poetry-knowledge-ladder, .poetry-program-workshops, .poetry-analysis-score { display: grid; gap: .6rem; align-items: center; }
.poetry-function-compass { grid-template-columns: repeat(5,minmax(0,1fr)); }
.poetry-function-compass article, .poetry-lyric-relay article, .poetry-autonomy-balance article, .poetry-knowledge-ladder article, .poetry-program-workshops article { display: grid; gap: .28rem; min-height: 6.8rem; place-content: center; padding: .7rem; border: 1px solid #8aa3a7; border-radius: .85rem; color: #3f4653; background: rgb(255 253 247 / .94); text-align: center; }
.poetry-function-compass article b, .poetry-lyric-relay b, .poetry-autonomy-balance b, .poetry-knowledge-ladder b, .poetry-program-workshops b { color: #7a3f51; font-family: var(--serif); font-size: 1.06rem; }
.poetry-function-compass > strong, .poetry-program-workshops > strong, .poetry-knowledge-ladder > strong { display: grid; min-height: 6.8rem; place-content: center; padding: .7rem; border-radius: .85rem; color: #fff; background: linear-gradient(135deg,#456f78,#694c67); text-align: center; }
.poetry-lyric-relay { grid-template-columns: 1fr auto 1.1fr auto 1fr; }.poetry-lyric-relay > strong { display: grid; gap: .3rem; min-height: 8rem; place-content: center; padding: .8rem; border-radius: 48% 52% 44% 56%; color: #fff; background: #694c67; text-align: center; }.poetry-lyric-relay > strong b { color: #fff; }.poetry-lyric-relay > i, .poetry-memory-loop > i, .poetry-engagement-chain > i, .poetry-autonomy-balance > i, .poetry-analysis-score > i { color: #9a5846; font-style: normal; font-weight: 950; text-align: center; }.poetry-lyric-relay > em { grid-column: 1 / -1; color: #53656c; text-align: center; }
.poetry-memory-loop, .poetry-engagement-chain { grid-template-columns: repeat(9,auto); justify-content: center; }.poetry-memory-loop > span, .poetry-engagement-chain > span, .poetry-analysis-score > span { display: grid; min-height: 5.4rem; place-items: center; padding: .65rem; border: 1px solid #8aa3a7; border-radius: .75rem; color: #3f4653; background: #fffdf7; text-align: center; font-weight: 820; }.poetry-memory-loop > strong, .poetry-engagement-chain > strong { display: grid; min-height: 6.2rem; place-items: center; padding: .8rem; border-radius: 50%; color: #fff; background: #456f78; text-align: center; }.poetry-memory-loop > em, .poetry-engagement-chain > em { grid-column: 1 / -1; color: #53656c; text-align: center; }
.poetry-autonomy-balance { grid-template-columns: 1fr auto 1.1fr auto 1fr; }.poetry-autonomy-balance > strong { display: grid; min-height: 8rem; place-items: center; padding: .85rem; border-radius: 50%; color: #fff; background: #7a3f51; text-align: center; }.poetry-autonomy-balance > em { grid-column: 1 / -1; color: #53656c; text-align: center; }
.poetry-knowledge-ladder { grid-template-columns: repeat(5,minmax(0,1fr)); align-items: end; }.poetry-knowledge-ladder article:nth-child(1){min-height:5.2rem}.poetry-knowledge-ladder article:nth-child(2){min-height:6.2rem}.poetry-knowledge-ladder article:nth-child(3){min-height:7.2rem}.poetry-knowledge-ladder article:nth-child(4){min-height:8.2rem}.poetry-knowledge-ladder article:nth-child(5){min-height:9.2rem}.poetry-knowledge-ladder article span { color: #456f78; font-weight: 950; }.poetry-knowledge-ladder > strong { grid-column: 1 / -1; min-height: auto; }
.poetry-program-workshops { grid-template-columns: repeat(3,minmax(0,1fr)); }.poetry-program-workshops article { position: relative; min-height: 9rem; overflow: hidden; }.poetry-program-workshops article::before { position: absolute; inset: .45rem .45rem auto; height: .35rem; border-radius: 999px; content: ""; background: linear-gradient(90deg,#456f78,#c48555,#7a3f51); }.poetry-program-workshops article span { color: #456f78; font-size: 1.03rem; font-weight: 900; }.poetry-program-workshops article small { color: #665762; }.poetry-program-workshops > strong { grid-column: 1 / -1; min-height: auto; }
.poetry-analysis-score { grid-template-columns: repeat(11,auto); justify-content: center; }.poetry-analysis-score > strong { display: grid; min-height: 6.4rem; place-items: center; padding: .8rem; border-radius: .85rem; color: #fff; background: #694c67; }.poetry-analysis-score > span { min-width: 5.5rem; }

/* Prosodie : compter reste visible, mais la voix et la syntaxe gardent la main. */
[data-prosody-unit], [data-prosody-schwa], [data-prosody-dieresis], [data-prosody-zone], [data-prosody-meter], [data-prosody-rhythm], [data-prosody-syntax], [data-prosody-reading] { border-color: #8c7a9b; background: linear-gradient(145deg,#fbf9ff,#edf1f7); }
.prosody-unit-passport, .prosody-reading-protocol { display: grid; grid-template-columns: repeat(9,auto); gap: .5rem; align-items: center; justify-content: center; }.prosody-unit-passport > span, .prosody-reading-protocol > span, .prosody-reading-protocol > strong { display: grid; min-height: 5.4rem; place-items: center; padding: .65rem; border: 1px solid #9b8cab; border-radius: .75rem; color: #493f58; background: #fff; text-align: center; font-weight: 850; }.prosody-unit-passport > strong, .prosody-reading-protocol > strong { color: #fff; background: #5d547d; }.prosody-unit-passport > i, .prosody-reading-protocol > i { color: #b45f4c; font-style: normal; font-weight: 950; }
.prosody-schwa-gate { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .6rem; align-items: center; }.prosody-schwa-gate > * { display: grid; min-height: 6rem; place-items: center; padding: .65rem; border-radius: .75rem; color: #493f58; background: #fff; text-align: center; font-style: normal; }.prosody-schwa-gate > strong { color: #fff; background: #5d547d; }.prosody-schwa-gate > i { border: 1px dashed #b45f4c; font-weight: 850; }
.prosody-vowel-switch { display: grid; grid-template-columns: 1fr auto 1fr; gap: .7rem; align-items: center; }.prosody-vowel-switch article { display: grid; grid-template-columns: 1fr auto; gap: .35rem; padding: .85rem; border: 1px solid #9b8cab; border-radius: .85rem; color: #493f58; background: #fff; }.prosody-vowel-switch article b { grid-column: 1 / -1; color: #77506b; font-family: var(--serif); font-size: 1.08rem; }.prosody-vowel-switch article strong { display: grid; width: 2.6rem; height: 2.6rem; place-items: center; border-radius: 50%; color: #fff; background: #5d547d; }.prosody-vowel-switch > i { color: #b45f4c; font-style: normal; font-size: 1.4rem; font-weight: 950; }.prosody-vowel-switch > em { grid-column: 1 / -1; color: #5c5968; text-align: center; }
.prosody-zone-counter { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: .32rem; }.prosody-zone-counter > span { display: grid; min-height: 5rem; place-items: center; padding: .35rem; border: 1px solid #9b8cab; border-radius: .65rem; color: #493f58; background: #fff; font-family: var(--serif); font-size: 1.08rem; }.prosody-zone-counter > span:nth-last-of-type(-n+3) { border-color: #b45f4c; background: #fff1ed; }.prosody-zone-counter small { color: #77506b; font-family: var(--sans); font-size: .7rem; font-weight: 900; }.prosody-zone-counter > strong { grid-column: 1 / -1; padding: .65rem; border-radius: .7rem; color: #fff; background: linear-gradient(90deg,#5d547d,#397480); text-align: center; }
.prosody-meter-atlas { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .55rem; align-items: end; }.prosody-meter-atlas article { display: grid; min-height: calc(3rem + var(--meter) * .34rem); place-content: end center; padding: .65rem; border: 1px solid #9b8cab; border-radius: .75rem .75rem .2rem .2rem; color: #493f58; background: linear-gradient(#fff,#e5e0ed); text-align: center; }.prosody-meter-atlas article b { color: #77506b; font-family: var(--serif); font-size: 1.45rem; }.prosody-meter-atlas > em { grid-column: 1 / -1; text-align: center; }
.prosody-rhythm-workbench { display: grid; gap: .75rem; }.prosody-rhythm-workbench > div { display: grid; grid-template-columns: 1fr auto 1fr; gap: .6rem; align-items: center; }.prosody-rhythm-workbench > div > * { padding: .75rem; border-radius: .7rem; color: #493f58; background: #fff; text-align: center; font-style: normal; }.prosody-rhythm-workbench > div > i { color: #fff; background: #b45f4c; font-weight: 900; }.prosody-rhythm-workbench > em { color: #5c5968; text-align: center; }
.prosody-syntax-router { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }.prosody-syntax-router article { display: grid; gap: .4rem; padding: .8rem; border: 1px solid #9b8cab; border-radius: .8rem; color: #493f58; background: #fff; }.prosody-syntax-router article span { color: #397480; font-family: ui-monospace,monospace; font-size: 1.2rem; letter-spacing: .05em; }.prosody-syntax-router > strong, .prosody-syntax-router > em { grid-column: 1 / -1; padding: .65rem; border-radius: .65rem; text-align: center; }.prosody-syntax-router > strong { color: #fff; background: #5d547d; }.prosody-syntax-router > em { color: #5c5968; }
[data-literary-label], [data-literary-timeline], [data-literary-early], [data-literary-xixe], [data-literary-modern], [data-literary-evidence], [data-literary-program], [data-literary-paragraph] { border-color: #aa8a66; background: linear-gradient(145deg,#fffdf8,#f4eadc); }
.literary-coordinate-map, .literary-problem-wheel, .literary-response-network, .literary-evidence-scale, .literary-program-compass, .literary-paragraph-chain { display: grid; gap: .65rem; }
.literary-coordinate-map { grid-template-columns: repeat(5,minmax(0,1fr)); }
.literary-coordinate-map article, .literary-problem-wheel article, .literary-response-network article, .literary-evidence-scale article, .literary-program-compass article, .literary-paragraph-chain article { display: grid; gap: .28rem; min-height: 6.7rem; align-content: center; padding: .72rem; border: 1px solid #bea07c; border-radius: .8rem; color: #3f3b4d; background: rgb(255 253 248 / .92); text-align: center; }
.literary-coordinate-map b, .literary-problem-wheel b, .literary-response-network b, .literary-evidence-scale b, .literary-program-compass b, .literary-paragraph-chain b { color: #8b4d30; font-family: var(--serif); font-size: 1.04rem; }
.literary-coordinate-map > strong, .literary-problem-wheel > strong, .literary-evidence-scale > strong, .literary-program-compass > strong { grid-column: 1 / -1; padding: .7rem; border-radius: .7rem; color: #fff; background: #514559; text-align: center; }
.literary-timeline { display: grid; gap: .7rem; overflow-x: auto; padding-bottom: .25rem; }
.literary-timeline__centuries, .literary-timeline__tracks { display: grid; min-width: 47rem; grid-template-columns: repeat(6,1fr); }
.literary-timeline__centuries span { padding: .5rem; border-left: 1px solid #bea07c; color: #65566d; font-weight: 850; text-align: center; }
.literary-timeline__tracks { position: relative; min-height: 21rem; grid-template-rows: repeat(5,3.35rem); border: 1px solid #c9ad8d; border-radius: .8rem; background: repeating-linear-gradient(90deg,transparent 0 calc(16.666% - 1px),rgb(101 75 70 / .15) calc(16.666% - 1px) 16.666%),#fffdf8; }
.literary-timeline__tracks i { position: absolute; z-index: 1; left: calc((var(--start) - 1) * 16.666%); display: grid; width: calc(var(--span) * 16.666%); min-height: 2.45rem; place-items: center; padding: .35rem .55rem; border-radius: 999px; color: #fff; background: linear-gradient(100deg,#8b4d30,#5f4c68); box-shadow: 0 .3rem .7rem rgb(65 50 53 / .14); font-style: normal; font-weight: 850; text-align: center; }
.literary-timeline__tracks i:nth-child(1), .literary-timeline__tracks i:nth-child(4), .literary-timeline__tracks i:nth-child(9) { top: .6rem; }.literary-timeline__tracks i:nth-child(2), .literary-timeline__tracks i:nth-child(5), .literary-timeline__tracks i:nth-child(10) { top: 4.25rem; }.literary-timeline__tracks i:nth-child(3), .literary-timeline__tracks i:nth-child(6) { top: 7.9rem; }.literary-timeline__tracks i:nth-child(7) { top: 11.55rem; }.literary-timeline__tracks i:nth-child(8) { top: 15.2rem; }
.literary-timeline > em, .literary-response-network > em, .literary-collective-meter > em { color: #665a62; text-align: center; }
.literary-problem-wheel { grid-template-columns: repeat(4,minmax(0,1fr)); }
.literary-problem-wheel article { min-height: 7.5rem; border-radius: 50% 50% .8rem .8rem; }
.literary-response-network { grid-template-columns: repeat(5,minmax(0,1fr)); }
.literary-response-network article:nth-child(odd) { transform: translateY(.65rem); }.literary-response-network > em { grid-column: 1 / -1; margin-top: .5rem; }
.literary-collective-meter { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .5rem; align-items: stretch; }
.literary-collective-meter span { display: grid; min-height: 5.2rem; place-items: center; padding: .55rem; border: 1px solid #bea07c; border-radius: .7rem; color: #4c4453; background: #fffdf8; text-align: center; font-weight: 800; }
.literary-collective-meter span:nth-child(5) { border-style: dashed; background: #f6e7df; }
.literary-collective-meter i { grid-column: 1 / -1; height: .8rem; border-radius: 999px; background: linear-gradient(90deg,#d5b07e,#8b4d30 68%,#7d6a86); }
.literary-collective-meter > em { grid-column: 1 / -1; }
.literary-evidence-scale { grid-template-columns: repeat(4,minmax(0,1fr)); align-items: end; }
.literary-evidence-scale article:nth-child(1) { min-height: 4.8rem; }.literary-evidence-scale article:nth-child(2) { min-height: 6.2rem; }.literary-evidence-scale article:nth-child(3) { min-height: 7.6rem; }.literary-evidence-scale article:nth-child(4) { min-height: 9rem; border-color: #8b4d30; }
.literary-evidence-scale article b { font-family: var(--sans); font-size: .88rem; text-transform: uppercase; letter-spacing: .06em; }
.literary-program-compass { grid-template-columns: repeat(2,minmax(0,1fr)); }.literary-program-compass article { min-height: 7.5rem; }.literary-program-compass article:nth-child(1), .literary-program-compass article:nth-child(4) { background: #f5e6dd; }.literary-program-compass article:nth-child(2), .literary-program-compass article:nth-child(3) { background: #f1ebf4; }
.literary-paragraph-chain { grid-template-columns: repeat(9,auto); align-items: center; }.literary-paragraph-chain article { min-width: 7rem; min-height: 6rem; }.literary-paragraph-chain > i { color: #8b4d30; font-style: normal; font-size: 1.4rem; font-weight: 950; }

@media (max-width: 640px) {
  .energy-chain-passport, .calorific-value-bench, .energy-claim-audit, .fossil-evidence-chain { grid-template-columns: 1fr; }
  .energy-chain-passport > em, .calorific-value-bench > em, .energy-claim-audit > em, .fossil-evidence-chain > strong, .fossil-evidence-chain > em { grid-column: auto; }
  .energy-chain-passport article, .energy-chain-passport > strong, .calorific-value-bench article, .calorific-value-bench > strong, .energy-claim-audit > span, .energy-claim-audit > strong, .energy-claim-audit > b, .fossil-evidence-chain > span { min-height: auto; }
  .energy-chain-passport > i, .calorific-value-bench > i, .energy-claim-audit > i, .fossil-evidence-chain > i { transform: rotate(90deg); }
  .energy-timescale-board article { grid-template-columns: 1fr; }
  .biomass-carbon-ledger > div { grid-template-columns: 1fr; }
  .energy-criteria-passport { grid-template-columns: .72fr repeat(3,minmax(0,1fr)); overflow: hidden; font-size: .72rem; }
  .energy-criteria-passport > * { padding: .42rem .28rem; overflow-wrap: anywhere; hyphens: auto; }
  .earth-evidence-wheel, .earth-model-stack { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .earth-evidence-wheel article { min-height: 6.5rem; }
  .earth-model-stack__ellipsoid, .earth-model-stack__ellipsoid > * { transform: none; }
  .earth-radius-bench, .earth-coordinate-globe { grid-template-columns: 1fr; }
  .earth-radius-bench > strong:nth-of-type(2), .earth-radius-bench > em, .earth-coordinate-globe > em { grid-column: auto; }
  .eratosthenes-shadow-lab > div, .earth-horizon-lab > div, .triangulation-chain-lab > div, .earth-route-comparator > div { grid-template-columns: 1fr; }
  .eratosthenes-shadow-lab > div > i, .triangulation-chain-lab > div > i { transform: rotate(90deg); }
  .earth-coordinate-globe > div { grid-template-columns: 1fr; }
  [data-earth-evidence] .segmented-control, [data-earth-model] .segmented-control, [data-earth-eratosthenes] .segmented-control, [data-earth-radius] .segmented-control, [data-earth-horizon] .segmented-control, [data-earth-triangulation] .segmented-control, [data-earth-coordinate] .segmented-control, [data-earth-route] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .age-time-telescope, .meteorite-convergence > div { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .age-time-telescope article, .age-time-telescope > strong { min-height: 8.5rem; }
  .age-evidence-passport { grid-template-columns: 1fr; }
  .age-evidence-passport > em, .age-time-telescope > em { grid-column: auto; }
  .buffon-cooling-lab, .sediment-archive-lab, .darwin-kelvin-debate, .radiometric-double-role { grid-template-columns: 1fr; }
  .buffon-cooling-lab > em, .darwin-kelvin-debate > em, .radiometric-double-role > figure, .radiometric-double-role > em { grid-column: auto; }
  .buffon-cooling-lab > span, .darwin-kelvin-debate > i { transform: rotate(90deg); }
  .radiometric-double-role > article { grid-template-columns: 1fr; }
  .radiometric-double-role > article b, .radiometric-double-role > article small { grid-column: auto; }
  [data-age-scale] .segmented-control, [data-age-passport] .segmented-control, [data-age-buffon] .segmented-control, [data-age-sediment] .segmented-control, [data-age-debate] .segmented-control, [data-age-kelvin] .segmented-control, [data-age-radio] .segmented-control, [data-age-convergence] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .universe-frame-stage, .galileo-evidence-gate, .moon-phase-lab > div, .earth-orbit-track > div, .habitable-zone-gate ol { grid-template-columns: 1fr; }
  .universe-frame-stage > em, .galileo-evidence-gate article, .galileo-evidence-gate > em, .earth-orbit-track > em, .moon-phase-lab > em, .habitable-zone-gate > em, .water-reserve-funnel > em { grid-column: auto; }
  .universe-frame-stage > i, .earth-orbit-track > div > i { transform: rotate(90deg); }
  .universe-model-ledger { grid-template-columns: .72fr repeat(3,minmax(0,1fr)); font-size: .72rem; }
  .universe-model-ledger > * { padding: .42rem .24rem; overflow-wrap: anywhere; hyphens: auto; }
  .galileo-evidence-gate article { min-height: 9rem; }
  .moon-sync-turntable > div { min-height: 20rem; }
  .habitable-zone-gate > div { min-height: 10rem; padding: .5rem; font-size: .78rem; }
  .water-reserve-funnel article { width: 100%; min-width: 0; }
  [data-universe-frame] .segmented-control, [data-universe-model] .segmented-control, [data-universe-galileo] .segmented-control, [data-universe-orbit] .segmented-control, [data-universe-phase] .segmented-control, [data-universe-sync] .segmented-control, [data-universe-habitable] .segmented-control, [data-universe-water] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .season-timescale, .terminator-lab, .season-controls, .season-readout, .season-calendar-wheel, .daylight-latitude-board, .solar-height-bench > div, .season-hypothesis-audit { grid-template-columns: 1fr; }
  .season-timescale > em, .terminator-lab > em, .season-calendar-wheel > em, .daylight-latitude-board > em, .season-hypothesis-audit > em { grid-column: auto; }
  .season-timescale > i { transform: rotate(90deg); text-align: center; }
  .season-timescale article, .terminator-lab article, .season-calendar-wheel article, .season-hypothesis-audit article { min-height: auto; }
  .season-orbit-stage { min-height: 20rem; }
  .season-orbit-ring { inset: 13% 6%; }
  .season-orbit-ring article { transform: translate(-50%,-50%) rotate(var(--season-angle)) translateX(min(34vw,8.2rem)) rotate(calc(-1 * var(--season-angle))); }
  .season-controls .button { width: 100%; }
  .season-lag-chart svg { min-width: 34rem; }
  .season-lag-chart { overflow-x: auto; }
  [data-season-cycle] .segmented-control, [data-season-terminator] .segmented-control, [data-season-calendar] .segmented-control, [data-season-daylight] .segmented-control, [data-season-height] .segmented-control, [data-season-distance] .segmented-control, [data-season-lag] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .sound-wave-studio > div, .sound-period-ruler > div, .sound-timbre-fingerprint, .sound-decibel-ladder > div, .sound-string-workbench, .sound-string-workbench > div, .sound-interval-gate, .sound-scale-comparator > div:last-of-type { grid-template-columns: 1fr; }
  .sound-timbre-fingerprint > strong, .sound-string-workbench > div, .sound-interval-gate > strong, .sound-wave-studio > em, .sound-period-ruler > em, .sound-harmonic-builder > em, .sound-timbre-fingerprint > em, .sound-decibel-ladder > em, .sound-string-workbench > em, .sound-interval-gate > em, .sound-scale-comparator > em { grid-column: auto; }
  .sound-period-ruler > div > i, .sound-interval-gate > i { transform: rotate(90deg); }
  .sound-decibel-ladder article { min-height: auto; }
  .sound-string-workbench > div { grid-template-columns: 1fr 1fr; }
  .sound-interval-gate article { min-width: 0; width: 100%; border-radius: .8rem; }
  .scale-keyboard { gap: .1rem; padding: .4rem; }
  .scale-keyboard i { font-size: .68rem; }
  [data-sound-wave] .segmented-control, [data-sound-period] .segmented-control, [data-sound-harmonic] .segmented-control, [data-sound-timbre] .segmented-control, [data-sound-decibel] .segmented-control, [data-sound-string] .segmented-control, [data-sound-interval] .segmented-control, [data-sound-scale] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .audio-digitizer__controls, .audio-digitizer__chain, .audio-nyquist-gate, .alias-traces, .audio-binary-decoder > div, .audio-binary-decoder > p, .audio-size-calculator > div, .audio-compression-audit > div, .audio-compression-audit > p, .audio-scenario-matrix { grid-template-columns: 1fr; }
  .audio-digitizer > em, .audio-nyquist-gate > strong, .audio-nyquist-gate > div, .audio-scenario-matrix > em { grid-column: auto; }
  .audio-nyquist-gate > i, .audio-compression-audit > div > i, .audio-binary-decoder > p i { transform: rotate(90deg); text-align: center; }
  .audio-quantization-grid > p { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .audio-sampling-ruler > div { min-width: 34rem; }
  [data-audio-sampling] .segmented-control, [data-audio-nyquist] .segmented-control, [data-audio-quantization] .segmented-control, [data-audio-binary] .segmented-control, [data-audio-size] .segmented-control, [data-audio-compression] .segmented-control, [data-audio-scenario] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hearing-pathway, .hearing-haircells, .hearing-tonotopy > p, .hearing-brain > p, .hearing-risk > div:first-child, .hearing-attenuation > div, .hearing-attenuation > p, .hearing-router { grid-template-columns: 1fr; }
  .hearing-pathway > em, .hearing-haircells > em, .hearing-router > em { grid-column: auto; }
  .hearing-pathway > i, .hearing-tonotopy > p i, .hearing-brain > p i, .hearing-attenuation > div > i, .hearing-router > i { transform: rotate(90deg); text-align: center; }
  [data-hearing-pathway] .segmented-control, [data-hearing-audiogram] .segmented-control, [data-hearing-tonotopy] .segmented-control, [data-hearing-haircells] .segmented-control, [data-hearing-brain] .segmented-control, [data-hearing-attenuation] .segmented-control, [data-hearing-router] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .literary-coordinate-map, .literary-problem-wheel, .literary-response-network, .literary-collective-meter, .literary-evidence-scale, .literary-program-compass, .literary-paragraph-chain { grid-template-columns: 1fr; }
  .literary-coordinate-map > strong, .literary-problem-wheel > strong, .literary-response-network > em, .literary-collective-meter i, .literary-collective-meter > em, .literary-evidence-scale > strong, .literary-program-compass > strong { grid-column: auto; }
  .literary-response-network article:nth-child(odd) { transform: none; }
  .literary-evidence-scale article:nth-child(n), .literary-coordinate-map article, .literary-problem-wheel article, .literary-response-network article, .literary-program-compass article, .literary-paragraph-chain article { min-height: auto; }
  .literary-paragraph-chain > i { transform: rotate(90deg); text-align: center; }
  [data-literary-label] .segmented-control, [data-literary-timeline] .segmented-control, [data-literary-early] .segmented-control, [data-literary-xixe] .segmented-control, [data-literary-modern] .segmented-control, [data-literary-evidence] .segmented-control, [data-literary-program] .segmented-control, [data-literary-paragraph] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .antique-voice-chain, .antique-invocation, .antique-truth-gate, .antique-magnet-chain, .antique-mimesis-workbench, .antique-orpheus-map, .antique-metamorphosis-ledger, .antique-rewrite-lens { grid-template-columns: 1fr; }
  .antique-invocation > em, .antique-truth-gate > strong, .antique-magnet-chain > em { grid-column: auto; }
  .antique-voice-chain > i, .antique-mimesis-workbench > i, .antique-orpheus-map > i, .antique-rewrite-lens > i, .antique-invocation > i { transform: rotate(90deg); text-align: center; }
  .antique-magnet-chain > i { width: .35rem; height: 2rem; justify-self: center; }
  [data-antique-oral] .segmented-control, [data-antique-invocation] .segmented-control, [data-antique-truth] .segmented-control, [data-antique-plato] .segmented-control, [data-antique-aristotle] .segmented-control, [data-antique-orpheus] .segmented-control, [data-antique-ovid] .segmented-control, [data-antique-rewrite] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .poetry-function-compass, .poetry-lyric-relay, .poetry-memory-loop, .poetry-engagement-chain, .poetry-autonomy-balance, .poetry-knowledge-ladder, .poetry-program-workshops, .poetry-analysis-score { grid-template-columns: 1fr; }
  .poetry-lyric-relay > em, .poetry-memory-loop > em, .poetry-engagement-chain > em, .poetry-autonomy-balance > em, .poetry-knowledge-ladder > strong, .poetry-program-workshops > strong { grid-column: auto; }
  .poetry-lyric-relay > i, .poetry-memory-loop > i, .poetry-engagement-chain > i, .poetry-autonomy-balance > i, .poetry-analysis-score > i { transform: rotate(90deg); }
  .poetry-function-compass article, .poetry-function-compass > strong, .poetry-lyric-relay article, .poetry-lyric-relay > strong, .poetry-memory-loop > span, .poetry-memory-loop > strong, .poetry-engagement-chain > span, .poetry-engagement-chain > strong, .poetry-autonomy-balance article, .poetry-autonomy-balance > strong, .poetry-knowledge-ladder article:nth-child(n), .poetry-program-workshops article, .poetry-analysis-score > span, .poetry-analysis-score > strong { min-width: 0; min-height: auto; }
  [data-poetry-function] .segmented-control, [data-poetry-lyric] .segmented-control, [data-poetry-memory] .segmented-control, [data-poetry-engagement] .segmented-control, [data-poetry-autonomy] .segmented-control, [data-poetry-knowledge] .segmented-control, [data-poetry-program] .segmented-control, [data-poetry-analysis] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .prosody-unit-passport, .prosody-reading-protocol, .prosody-schwa-gate, .prosody-vowel-switch, .prosody-meter-atlas, .prosody-rhythm-workbench > div, .prosody-syntax-router { grid-template-columns: 1fr; }
  .prosody-unit-passport > i, .prosody-reading-protocol > i, .prosody-vowel-switch > i { transform: rotate(90deg); text-align: center; }
  .prosody-vowel-switch > em, .prosody-meter-atlas > em, .prosody-syntax-router > strong, .prosody-syntax-router > em { grid-column: auto; }
  .prosody-zone-counter { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .prosody-zone-counter > strong { grid-column: 1 / -1; }
  .prosody-unit-passport > span, .prosody-unit-passport > strong, .prosody-reading-protocol > span, .prosody-reading-protocol > strong, .prosody-schwa-gate > *, .prosody-meter-atlas article { min-height: auto; }
  [data-prosody-unit] .segmented-control, [data-prosody-schwa] .segmented-control, [data-prosody-dieresis] .segmented-control, [data-prosody-zone] .segmented-control, [data-prosody-meter] .segmented-control, [data-prosody-rhythm] .segmented-control, [data-prosody-syntax] .segmented-control, [data-prosody-reading] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  [data-energy-chain-passport] .segmented-control, [data-energy-origin] .segmented-control, [data-energy-timescale] .segmented-control, [data-energy-fossil-evidence] .segmented-control, [data-energy-biomass] .segmented-control, [data-energy-calorific] .segmented-control, [data-energy-passport] .segmented-control, [data-energy-claim] .segmented-control { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
}
