/* Final surface contract for the animated decision grid. Base geometry and
   motion live in ruty-scale-refresh.css; this file owns the final palette. */
body.ruty-gemini-page {
  --ruty-broken-white: #e9e9e9;
}

body.ruty-gemini-page .ruty-decision-section {
  --decision-ink: #f4f5f6;
  --decision-blue: #72afe4;
  --decision-pale: #2b3035;
  --decision-line: rgba(255, 255, 255, .14);
  --decision-card: #17191a;
  --decision-muted: #a8b0b6;
  background: #050505 !important;
  color: #fff !important;
}

body.ruty-gemini-page .ruty-decision-section > .container {
  width: min(var(--ruty-wide, 1472px), calc(100% - (var(--ruty-page-edge, 24px) * 2))) !important;
  max-width: none !important;
  margin-inline: auto !important;
}

/* These two wrappers used to inherit the generic `.reveal` opacity while the
   cards also ran their own scroll assembly. Keeping the wrapper permanently
   opaque prevents the whole section from being washed out; the motion remains
   on each module, chart and rail where it belongs. */
html body.ruty-gemini-page main#top .ruty-decision-section :is(
  .ruty-decision-heading,
  .ruty-decision-grid
) {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}

html body.ruty-gemini-page main#top .ruty-decision-section .ruty-decision-heading h2 {
  color: #fff !important;
  font-weight: 400 !important;
  letter-spacing: -.035em !important;
}

body.ruty-gemini-page .ruty-decision-section .ruty-decision-module {
  border-color: rgba(255, 255, 255, .16) !important;
  background: var(--decision-card) !important;
  color: var(--decision-ink) !important;
  box-shadow: none !important;
}

body.ruty-gemini-page .ruty-decision-section .ruty-module-icon {
  background: #222a31 !important;
}

body.ruty-gemini-page .ruty-decision-section .ruty-module-icon svg {
  stroke: #7eadd3 !important;
}

body.ruty-gemini-page .ruty-decision-section :is(
  .ruty-module-tag,
  .ruty-decision-module p,
  .ruty-weight-output small,
  .ruty-slider-labels,
  .ruty-risk-rails b
) {
  color: var(--decision-muted) !important;
}

body.ruty-gemini-page .ruty-decision-section :is(.ruty-decision-module h3, .ruty-weight-output) {
  color: var(--decision-ink) !important;
}

body.ruty-gemini-page .ruty-decision-section .ruty-decision-module h3 {
  font-weight: 500 !important;
}

body.ruty-gemini-page .ruty-decision-section :is(.ruty-chart-guide, .ruty-range-label-line) {
  stroke: rgba(255, 255, 255, .16) !important;
}

body.ruty-gemini-page .ruty-decision-section .ruty-state-chart text {
  fill: var(--decision-muted) !important;
}

body.ruty-gemini-page .ruty-decision-section :is(.ruty-current-point, .ruty-policy-start) {
  fill: var(--decision-card) !important;
}

body.ruty-gemini-page .ruty-decision-section #rutyPolicyDots circle {
  fill: rgba(255, 255, 255, .14) !important;
}

body.ruty-gemini-page .ruty-decision-section .ruty-policy-pending {
  stroke: rgba(255, 255, 255, .22) !important;
}

body.ruty-gemini-page .ruty-decision-section .ruty-sizing-bars {
  border-bottom-color: rgba(255, 255, 255, .16) !important;
}

body.ruty-gemini-page .ruty-decision-section .ruty-sizing-bars i.is-active {
  background: var(--decision-blue) !important;
}

body.ruty-gemini-page .ruty-decision-section .ruty-sizing-bars i.is-current::before {
  background: var(--decision-card) !important;
  border-color: #d8dde1 !important;
}

body.ruty-gemini-page .ruty-decision-section :is(.ruty-policy-target-outer, .ruty-policy-target-mid) {
  stroke: rgba(255, 255, 255, .3) !important;
}

body.ruty-gemini-page .ruty-decision-section .ruty-slider-marks i {
  background: rgba(255, 255, 255, .24) !important;
}

body.ruty-gemini-page .ruty-decision-section .ruty-slider-shell input::-webkit-slider-runnable-track {
  background: linear-gradient(90deg, var(--decision-blue) 0 var(--selected-weight), rgba(255,255,255,.16) var(--selected-weight) 100%) !important;
}

body.ruty-gemini-page .ruty-decision-section .ruty-slider-shell input::-moz-range-track {
  background: rgba(255, 255, 255, .16) !important;
}

body.ruty-gemini-page .ruty-decision-section .ruty-slider-shell input::-webkit-slider-thumb {
  background: var(--decision-card) !important;
  border-color: var(--decision-blue) !important;
}

body.ruty-gemini-page .ruty-decision-section .ruty-slider-shell input::-moz-range-thumb {
  background: var(--decision-card) !important;
  border-color: var(--decision-blue) !important;
}

body.ruty-gemini-page .ruty-decision-section .ruty-risk-rails i {
  background: rgba(255, 255, 255, .14) !important;
}

html body.ruty-gemini-page main#top .ruty-decision-section .ruty-decision-grid.is-assembling .ruty-decision-module {
  filter: none !important;
}

body.ruty-gemini-page .ruty-decision-section .ruty-decision-module.is-glow-active {
  border-color: rgba(79, 127, 172, .72) !important;
  box-shadow: 0 18px 42px rgba(0, 0, 0, .28) !important;
}
