:root {
  --brand: #4f326f;
  --brand-dark: #2a1938;
  --brand-soft: #ece7df;
  --paper: #f5efe5;
  --surface: rgba(255, 252, 247, 0.93);
  --border: #ddd4c7;
  --text: #2a2a25;
  --muted: #62655d;
  --slate: #356f66;
  --slate-soft: #edf3ee;
  --shadow: 0 20px 44px rgba(55, 63, 48, 0.09);
  --field-accent: #4d63c9;
  --field-accent-soft: rgba(77, 99, 201, 0.12);
  --field-accent-border: rgba(77, 99, 201, 0.18);
}

body {
  background:
    radial-gradient(circle at top left, rgba(53, 111, 102, 0.14), transparent 28%),
    radial-gradient(circle at bottom right, rgba(198, 144, 77, 0.12), transparent 22%),
    linear-gradient(180deg, #faf6ef 0%, var(--paper) 100%);
}

.field-page .ui-kicker--accent {
  color: #274f49;
}

.theme-page .ui-kicker--accent {
  color: #274f49;
}

.system-topbar {
  background: rgba(255, 251, 246, 0.9);
  border-bottom: 1px solid rgba(104, 91, 71, 0.12);
}

.template-card,
.content-panel,
.sticky-card,
.cluster-card,
.institution-panel,
.field-summary {
  background: var(--surface);
}

.field-hero__copy--panel {
  background:
    linear-gradient(180deg, rgba(255, 252, 247, 0.96), rgba(251, 247, 240, 0.92)),
    rgba(255, 255, 255, 0.86);
}

.sidebar-note {
  background: linear-gradient(180deg, rgba(237, 244, 238, 0.75), rgba(236, 231, 223, 0.82));
}

.sidebar-note--secondary {
  background: rgba(255, 252, 247, 0.82);
}

.text-row {
  background: rgba(255, 252, 247, 0.9);
}

.text-row.is-active {
  background: rgba(236, 231, 223, 0.92);
  border-color: rgba(53, 111, 102, 0.2);
}

.letter-chip.is-active {
  background: rgba(53, 111, 102, 0.12);
  color: var(--slate);
  border-color: rgba(53, 111, 102, 0.24);
}

.portrait-placeholder {
  background: linear-gradient(180deg, #f1ede6 0%, #fbf8f3 100%);
}

.metric-chip,
.sequence-card,
.bridge-card {
  background: rgba(255, 252, 247, 0.84);
}

.theme-map-grid .theme-card-link,
.theme-map-grid .cluster-card--accent.theme-card-link {
  background: linear-gradient(180deg, rgba(237, 244, 238, 0.88), rgba(255, 252, 247, 0.96));
  border-color: rgba(53, 111, 102, 0.18);
}

.theme-map-grid .theme-card-link:hover,
.theme-map-grid .cluster-card--accent.theme-card-link:hover {
  background: #274f49;
  border-color: #274f49;
  color: #ffffff;
}

.theme-map-grid .theme-card-link:hover h3,
.theme-map-grid .cluster-card--accent.theme-card-link:hover h3,
.theme-map-grid .theme-card-link:hover p,
.theme-map-grid .cluster-card--accent.theme-card-link:hover p {
  color: #ffffff;
}

.button-lite,
.button-lite--accent,
.button-lite--slate {
  background: linear-gradient(180deg, rgba(237, 244, 238, 0.88), rgba(255, 252, 247, 0.96));
  border-color: rgba(53, 111, 102, 0.18);
  color: var(--slate);
}

.page-meta-inline a {
  background: linear-gradient(180deg, rgba(237, 244, 238, 0.88), rgba(255, 252, 247, 0.96));
  border-color: rgba(53, 111, 102, 0.18);
  color: var(--slate);
}

.page-meta-inline a:hover {
  background: #274f49;
  border-color: #274f49;
  color: #ffffff;
}

.button-lite:hover,
.button-lite--accent:hover,
.button-lite--slate:hover {
  background: #274f49;
  border-color: #274f49;
  color: #ffffff;
}

.text-table .text-row {
  background: linear-gradient(180deg, rgba(237, 244, 238, 0.88), rgba(255, 252, 247, 0.96));
  border-color: rgba(53, 111, 102, 0.18);
}

.text-table .text-row:hover {
  background: #274f49;
  border-color: #274f49;
}

.text-table .text-row:hover strong,
.text-table .text-row:hover p {
  color: #ffffff;
}

.bridge-card--link {
  background: linear-gradient(180deg, rgba(237, 244, 238, 0.88), rgba(255, 252, 247, 0.96));
  border-color: rgba(53, 111, 102, 0.18);
}

.bridge-card--link:hover {
  background: #274f49;
  border-color: #274f49;
}

.bridge-card--link:hover h3,
.bridge-card--link:hover p {
  color: #ffffff;
}

body.route-essay-page {
  background:
    radial-gradient(circle at top left, rgba(53, 111, 102, 0.12), transparent 28%),
    radial-gradient(circle at top right, rgba(198, 144, 77, 0.1), transparent 24%),
    linear-gradient(180deg, #fbf8f2 0%, #f8f6f2 100%);
}

.route-essay-article {
  background: rgba(255, 252, 247, 0.94);
  border: 1px solid rgba(71, 85, 105, 0.16);
  box-shadow: 0 18px 44px rgba(46, 11, 69, 0.08);
}

.route-essay-article .meta-label {
  color: #356f66;
}

.route-essay-article h1,
.route-essay-article h2 {
  color: #2e0b45;
}

.route-essay-article h2 .section-num {
  color: rgba(71, 85, 105, 0.4);
}

.route-essay-article p {
  color: #3f3748;
}

.route-essay-article .highlight-block {
  border-left-color: #356f66;
}

.route-essay-article .highlight-block p,
.route-essay-article .aphorism {
  color: #5b5561;
}

.route-essay-article .divider {
  border: none;
  border-top: 1px solid rgba(71, 85, 105, 0.16);
}

.route-essay-article .footer-link {
  border: 1px solid rgba(53, 111, 102, 0.18);
  background: linear-gradient(180deg, rgba(237, 244, 238, 0.88), rgba(255, 252, 247, 0.96));
  color: #356f66;
}

.route-essay-article .footer-link:hover,
.route-essay-article .footer-link:focus-visible {
  background: #274f49;
  border-color: #274f49;
  color: #ffffff;
}
