/* Put the Reformation in Order in the Hope look. Overrides reformation-timeline.css under body.hope-guide. */

body.hope-guide #rt-root {
  --rt-ink: var(--hg-text);
  --rt-ink-soft: var(--hg-muted);
  --rt-ink-faint: var(--hg-muted);
  --rt-gold: var(--hg-primary);
  --rt-gold-deep: var(--hg-primary);
  --rt-gold-soft: #c9d3fa;
  --rt-line: var(--hg-border-strong);
  --rt-line-soft: var(--hg-border);
  --rt-good: var(--hg-develop);
  --rt-good-bg: var(--hg-develop-bg);
  --rt-good-line: #a7dcc1;
  --rt-bad: var(--hg-reverse);
  --rt-bad-bg: var(--hg-reverse-bg);
  --rt-bad-line: #f4bdb6;
  --rt-display: var(--hg-font);
  --rt-body: var(--hg-font);
  background: var(--hg-surface); border: 1px solid var(--hg-border); border-radius: var(--hg-radius);
  box-shadow: var(--hg-shadow); font-size: 16px;
}

/* Hero, stats, how-to */
body.hope-guide #rt-root .rt-eyebrow { font-size: 13px; font-weight: 700; letter-spacing: 0.12em; }
body.hope-guide #rt-root .rt-title { font-weight: 800; letter-spacing: -0.01em; }
body.hope-guide #rt-root .rt-subtitle { font-size: 17px; line-height: 1.6; }
body.hope-guide #rt-root :is(.rt-stat, .rt-how-step, .rt-sol-item) { background: var(--hg-surface-2); border-color: var(--hg-border); }
body.hope-guide #rt-root .rt-stat-k { font-size: 13px; font-weight: 600; letter-spacing: 0.03em; text-transform: none; }
body.hope-guide #rt-root .rt-stat-v { font-weight: 800; color: var(--hg-text); }
body.hope-guide #rt-root .rt-section { font-size: 19px; font-weight: 800; letter-spacing: 0; }
body.hope-guide #rt-root .rt-how-n { width: 30px; height: 30px; font-size: 15px; }
body.hope-guide #rt-root .rt-how-t { font-size: 15px; line-height: 1.5; }

/* Round-length segmented picker */
body.hope-guide #rt-root .rt-size { min-height: 44px; background: var(--hg-surface); border-color: var(--hg-border-strong); color: var(--hg-text); font-size: 16px; font-weight: 700; border-radius: 10px; }
body.hope-guide #rt-root .rt-size .rt-size-sub { font-size: 14px; font-weight: 500; color: var(--hg-muted); }
body.hope-guide #rt-root .rt-size:hover { transform: none; border-color: var(--hg-primary); }
body.hope-guide #rt-root .rt-size.is-active { background: var(--hg-primary); border-color: var(--hg-primary); color: #fff; box-shadow: none; }
body.hope-guide #rt-root .rt-size.is-active .rt-size-sub { color: #e3e8fd; }

body.hope-guide #rt-root .rt-note { background: var(--hg-surface-2); border: 1px solid var(--hg-border); border-radius: var(--hg-radius-sm); font-size: 16px; line-height: 1.6; }

/* Buttons */
body.hope-guide #rt-root :is(.rt-cta, .rt-btn) { min-height: 44px; font-size: 16px; font-weight: 700; letter-spacing: 0; border-radius: 10px; background: var(--hg-primary); color: #fff !important; box-shadow: none; }
body.hope-guide #rt-root :is(.rt-cta, .rt-btn):hover { transform: none; background: var(--hg-primary-hover); box-shadow: none; }
body.hope-guide #rt-root .rt-btn-ghost { background: var(--hg-primary-soft); color: var(--hg-primary) !important; border: 0; }
body.hope-guide #rt-root .rt-btn-ghost:hover { background: #e0e6fc; }

/* HUD */
body.hope-guide #rt-root .rt-quit { width: 44px; height: 44px; background: var(--hg-surface-2); }
body.hope-guide #rt-root .rt-round { font-size: 15px; font-weight: 700; letter-spacing: 0; }
body.hope-guide #rt-root .rt-round-sub, body.hope-guide #rt-root .rt-hint-line { font-size: 14px; }
body.hope-guide #rt-root .rt-streak { color: var(--hg-reaffirm); }
body.hope-guide #rt-root .rt-score { font-weight: 800; }
body.hope-guide #rt-root .rt-instr { font-size: 16px; }

/* Event cards */
body.hope-guide #rt-root .rt-card { background: var(--hg-surface); border-color: var(--hg-border-strong); box-shadow: var(--hg-shadow-sm); }
body.hope-guide #rt-root .rt-card.is-dragover { box-shadow: 0 0 0 2px var(--hg-primary) inset; }
body.hope-guide #rt-root .rt-pos { font-weight: 800; }
body.hope-guide #rt-root .rt-card-title { font-size: 17px; font-weight: 700; line-height: 1.3; }
body.hope-guide #rt-root .rt-card-desc { font-size: 15px; line-height: 1.45; }
body.hope-guide #rt-root .rt-year { font-size: 14px; background: var(--hg-text); }
body.hope-guide #rt-root .rt-move { width: 44px; height: 44px; background: var(--hg-primary-soft); border-color: transparent; color: var(--hg-primary); }
body.hope-guide #rt-root .rt-move:hover:not(:disabled) { transform: none; background: #e0e6fc; }
body.hope-guide #rt-root .rt-move:disabled { opacity: 1; background: #eef0f3; color: #b4bac6; }

/* Reveal */
body.hope-guide #rt-root .rt-card.rt-reveal.is-placed { background: var(--hg-develop-bg); }
body.hope-guide #rt-root .rt-card.rt-reveal.is-misplaced { background: var(--hg-reverse-bg); }
body.hope-guide #rt-root .rt-place-chip { font-size: 13px; font-weight: 700; letter-spacing: 0.02em; text-transform: none; background: #fff; padding: 2px 9px; }
body.hope-guide #rt-root .rt-link { font-size: 14px; font-weight: 600; }
body.hope-guide #rt-root .rt-verdict { font-weight: 800; }
body.hope-guide #rt-root .rt-verdict.is-perfect { color: var(--hg-develop); }
body.hope-guide #rt-root .rt-round-score { font-weight: 800; }
body.hope-guide #rt-root .rt-round-score small { font-size: 16px; }
body.hope-guide #rt-root .rt-chip { font-size: 14px; font-weight: 600; background: var(--hg-surface-2); border-color: var(--hg-border); }
body.hope-guide #rt-root .rt-sol-year { font-weight: 800; }
body.hope-guide #rt-root .rt-sol-title { font-weight: 700; }
body.hope-guide #rt-root .rt-sol-desc { font-size: 15px; }
body.hope-guide #rt-root .rt-toast { font-size: 15px; font-weight: 700; background: var(--hg-text); }

/* Visible keyboard focus (reformation-timeline.css removes the outline) */
body.hope-guide #rt-root :is(button, [tabindex]):focus-visible { outline: 3px solid var(--hg-primary) !important; outline-offset: 2px; transform: none; }

@media (max-width: 520px) {
  body.hope-guide #rt-root { padding: 18px 14px; }
  body.hope-guide #rt-root .rt-subtitle { font-size: 16px; }
}
