/* 원장님용 리포트 — Clinic 테마(골드·웜 다크) 위에서 동작한다.
   모티프: 검색 첫 화면의 "빈자리"를 점선 틀로 보여주고, 작업 목록에서 같은 틀을 채운다. */

.rp-root {
  --rp-ink: var(--text-strong);
  --rp-body: var(--text-default);
  --rp-mute: var(--text-subtle);
  --rp-gold: var(--brand-primary);
  --rp-gold-soft: var(--brand-subtle);
  --rp-gold-line: var(--brand-muted);
  --rp-line: var(--border-default);
  --rp-dark: var(--bg-inverse);
  --rp-dark-2: var(--bg-inverse-subtle);
  --rp-red: var(--feedback-error-strong);
  --rp-red-soft: var(--color-pink-50);
  --rp-measure: 44rem;
  color: var(--rp-body);
  font-size: 1.0625rem;
  line-height: 1.75;
  letter-spacing: -0.01em;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.rp-root :where(h1, h2, h3, p, ul, ol, dl, figure, blockquote) { margin: 0; }
.rp-root :where(ul, ol) { padding: 0; list-style: none; }
.rp-root :focus-visible { outline: 2px solid var(--rp-gold); outline-offset: 3px; border-radius: 4px; }

.rp-wrap { width: 100%; max-width: 72rem; margin-inline: auto; padding-inline: clamp(1rem, 4vw, 2.5rem); }
.rp-sec { padding-block: clamp(3.5rem, 8vw, 6rem); }
.rp-sec + .rp-sec:not(.rp-dark) { border-top: 1px solid var(--rp-line); }
.rp-dark + .rp-sec { border-top: 0; }

.rp-head { max-width: var(--rp-measure); margin-bottom: clamp(2rem, 4vw, 3rem); }
.rp-head h2 { font-size: clamp(1.625rem, 3.2vw, 2.25rem); line-height: 1.3; letter-spacing: -0.035em; font-weight: 700; color: var(--rp-ink); }
.rp-head p { margin-top: 0.875rem; color: var(--rp-mute); }
.rp-kicker { font-size: 0.875rem; font-weight: 600; letter-spacing: 0; color: var(--rp-gold); margin-bottom: 0.75rem; }
.rp-note { margin-top: 1rem; font-size: 0.8125rem; line-height: 1.6; color: var(--rp-mute); }

/* 데이터 안내 */
.rp-notice { max-width: 72rem; margin: 1.5rem auto 0; padding: 0.875rem clamp(1rem, 4vw, 2.5rem); display: flex; gap: 0.75rem; font-size: 0.8125rem; line-height: 1.6; color: var(--text-subtle); }
.rp-notice strong { color: var(--text-default); }
.rp-notice ul { margin: 0.25rem 0 0; padding-left: 1rem; }
.rp-notice .notice__icon { flex: none; width: 1.25rem; height: 1.25rem; border-radius: 50%; display: grid; place-items: center; background: var(--bg-muted); font-weight: 700; font-size: 0.75rem; }
.rp-legacy { padding-block: 3rem; }

/* ---------- 표지 ---------- */
.rp-cover { background: var(--rp-gold-soft); padding-block: clamp(4rem, 10vw, 7.5rem) clamp(3rem, 7vw, 5rem); }
.rp-title { max-width: 18em; font-size: clamp(2rem, 5.4vw, 3.5rem); line-height: 1.22; letter-spacing: -0.045em; font-weight: 800; color: var(--rp-ink); }
.rp-lede { max-width: var(--rp-measure); margin-top: 1.5rem; font-size: clamp(1.0625rem, 1.6vw, 1.25rem); line-height: 1.7; color: var(--rp-body); }
.rp-scope { display: flex; flex-wrap: wrap; gap: 0.75rem 2.5rem; margin-top: 2.75rem; padding-top: 1.5rem; border-top: 1px solid var(--rp-gold-line); }
.rp-scope li { font-size: 0.9375rem; line-height: 1.4; color: var(--rp-body); }
.rp-scope b { margin-right: 0.125rem; font-size: 1.75rem; font-weight: 800; color: var(--rp-ink); font-variant-numeric: tabular-nums; letter-spacing: -0.03em; }
.rp-scope span { display: block; margin-top: 0.25rem; font-size: 0.8125rem; color: var(--rp-mute); }

/* ---------- 환자가 보는 첫 화면 (시그니처) ---------- */
.screen { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: clamp(1.25rem, 3vw, 2rem); align-items: start; }
.rs { background: var(--bg-default); border: 1px solid var(--rp-line); border-radius: var(--border-radius-lg); box-shadow: 0 1px 2px rgb(40 30 10 / 0.04), 0 12px 32px -18px rgb(40 30 10 / 0.18); overflow: hidden; }
.rs__bar { display: flex; align-items: center; gap: 0.75rem; padding: 0.875rem 1.125rem; border-bottom: 1px solid var(--rp-line); background: var(--bg-subtle); }
.rs__engine { font-size: 0.8125rem; font-weight: 700; color: var(--rp-mute); }
.rs__q { flex: 1; min-width: 0; padding: 0.375rem 0.875rem; border: 1px solid var(--rp-line); border-radius: 999px; background: var(--bg-default); font-size: 0.9375rem; font-weight: 600; color: var(--rp-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rs__ai { margin: 0.75rem 1.125rem 0; padding: 0.625rem 0.875rem; border-radius: var(--border-radius-md); background: var(--bg-muted); font-size: 0.8125rem; line-height: 1.5; color: var(--rp-body); }
.rs__ai b { margin-right: 0.375rem; color: var(--rp-ink); }
.rs__list { padding: 0.25rem 0; }
.rs__item { display: grid; grid-template-columns: 1.75rem minmax(0, 1fr) auto; gap: 0.625rem; align-items: start; padding: 0.625rem 1.125rem; }
.rs__item + .rs__item { border-top: 1px solid var(--border-subtle); }
.rs__rank { padding-top: 0.125rem; font-size: 0.8125rem; font-weight: 600; color: var(--text-muted); font-variant-numeric: tabular-nums; }
.rs__src { font-size: 0.75rem; line-height: 1.4; color: var(--rp-mute); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rs__src span { color: var(--text-muted); }
.rs__title { margin-top: 0.125rem; font-size: 0.9375rem; line-height: 1.45; font-weight: 600; color: var(--rp-ink); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.rs__item.is-mine { background: var(--rp-gold-soft); }
.rs__item.is-mine .rs__rank { color: var(--rp-gold); }
.rs__item.is-about .rs__title { color: var(--rp-body); }
.rs__flag { align-self: center; padding: 0.125rem 0.5rem; border-radius: var(--border-radius-xs); background: var(--rp-gold); color: var(--brand-on-primary); font-size: 0.6875rem; font-weight: 700; white-space: nowrap; }
.rs__flag--soft { background: var(--bg-muted); color: var(--rp-mute); }
.rs__more { padding: 0.5rem 1.125rem 0.75rem; font-size: 0.75rem; color: var(--text-muted); }
.rs__foot { padding: 0.75rem 1.125rem; border-top: 1px solid var(--rp-line); font-size: 0.8125rem; font-weight: 600; color: var(--rp-body); }
.rs__gap { margin: 0 1.125rem 1.125rem; padding: 1rem 1.125rem; border: 2px dashed var(--rp-gold); border-radius: var(--border-radius-md); font-size: 0.9375rem; line-height: 1.55; font-weight: 600; color: var(--rp-ink); }
.rs__gap span { display: block; margin-bottom: 0.25rem; font-size: 0.75rem; font-weight: 700; color: var(--rp-gold); }
.rs--side .rs__title { font-size: 0.875rem; }

/* ---------- 숫자로 보면 ---------- */
.ledger li { display: grid; grid-template-columns: minmax(9rem, 19rem) minmax(0, 1fr); gap: clamp(1rem, 4vw, 3rem); align-items: baseline; padding-block: 1.75rem; border-top: 1px solid var(--rp-line); }
.ledger li:last-child { border-bottom: 1px solid var(--rp-line); }
.ledger__v { font-size: clamp(2rem, 4.2vw, 3.25rem); line-height: 1.05; font-weight: 800; letter-spacing: -0.04em; color: var(--rp-gold); font-variant-numeric: tabular-nums; word-break: keep-all; }
.ledger__l { font-size: 1.0625rem; font-weight: 700; color: var(--rp-ink); }
.ledger__t { margin-top: 0.375rem; max-width: 38rem; color: var(--rp-body); }

/* ---------- 누가 가져가나 ---------- */
.rp-who { background: var(--bg-default); }
.who { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 4rem); align-items: start; }
.who__row { display: grid; grid-template-columns: minmax(0, 1fr) 4rem; column-gap: 1rem; padding-block: 0.625rem; }
.who__name { grid-column: 1 / -1; font-size: 0.9375rem; font-weight: 600; color: var(--rp-ink); line-height: 1.45; }
.who__name small { font-size: 0.75rem; font-weight: 600; color: var(--rp-gold); }
.who__bar { align-self: center; height: 0.5rem; margin-top: 0.375rem; border-radius: 99px; background: var(--bg-muted); overflow: hidden; }
.who__bar i { display: block; width: var(--w); height: 100%; border-radius: inherit; background: var(--color-gray-400); }
.who__val { grid-row: 2; grid-column: 2; text-align: right; font-size: 1rem; font-weight: 700; color: var(--rp-ink); font-variant-numeric: tabular-nums; }
.who__sub { grid-column: 1 / -1; font-size: 0.75rem; color: var(--rp-mute); font-variant-numeric: tabular-nums; }
.who__row.is-me .who__name { color: var(--rp-gold); font-weight: 800; }
.who__row.is-me .who__bar i { background: var(--rp-gold); }
.who__type { display: inline-block; margin-right: 0.375rem; padding: 0 0.375rem; border-radius: var(--border-radius-xs); background: var(--bg-muted); font-size: 0.6875rem; font-weight: 700; line-height: 1.35rem; color: var(--rp-mute); vertical-align: 0.1em; }
.who__type--community, .who__type--creator { background: var(--rp-red-soft); color: var(--rp-red); }
.who__type--mention { background: var(--rp-gold-soft); color: var(--rp-gold); }

.lost h3 { font-size: 1.125rem; font-weight: 700; color: var(--rp-ink); }
.lost__split { margin-top: 0.5rem; font-size: 0.875rem; line-height: 1.65; color: var(--rp-body); }
.lost__split b { color: var(--rp-ink); }
.lost__list { margin-top: 1rem; border-top: 1px solid var(--rp-line); }
.lost__list li { border-bottom: 1px solid var(--rp-line); }
.lost__list button { display: grid; width: 100%; padding: 0.875rem 0.25rem; border: 0; background: none; text-align: left; font: inherit; color: inherit; cursor: pointer; }
.lost__list button:hover { background: var(--rp-gold-soft); }
.lost__kw { font-size: 1rem; font-weight: 700; color: var(--rp-ink); }
.lost__vol { font-size: 0.75rem; color: var(--rp-mute); }
.lost__who { margin-top: 0.25rem; font-size: 0.8125rem; line-height: 1.5; color: var(--rp-red); }
.lost__none { margin-top: 1rem; color: var(--rp-mute); }

/* ---------- 어두운 섹션 ---------- */
.rp-dark { background: var(--rp-dark); color: var(--text-inverse-subtle); }
.rp-dark .rp-head h2, .rp-dark h2 { color: var(--text-inverse); }
.rp-dark .rp-head p, .rp-dark .rp-note { color: var(--text-inverse-muted); }

.quotes { display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: clamp(1.25rem, 3vw, 2.5rem); }
.quote { display: flex; flex-direction: column; gap: 0.75rem; padding-top: 1.25rem; border-top: 1px solid var(--border-inverse); }
.quote__where { font-size: 0.75rem; font-weight: 700; color: var(--brand-strong); }
.quote__q { font-size: 1.25rem; line-height: 1.4; font-weight: 700; letter-spacing: -0.03em; color: var(--text-inverse); }
.quote__a { font-size: 0.9375rem; line-height: 1.7; color: var(--text-inverse-subtle); }
.quote__a::before { content: "AI 답변 "; font-size: 0.75rem; font-weight: 700; color: var(--text-inverse-muted); }
.quote figcaption { margin-top: auto; display: grid; gap: 0.5rem; font-size: 0.8125rem; line-height: 1.5; }
.quote__src { color: var(--text-inverse-muted); }
.quote__verdict { justify-self: start; padding: 0.125rem 0.625rem; border-radius: 99px; border: 1px solid var(--feedback-error); color: var(--feedback-error); font-weight: 700; }
.quote__verdict.is-yes { border-color: var(--brand-strong); color: var(--brand-strong); }

/* ---------- 왜 ---------- */
.why__item { display: grid; grid-template-columns: 7rem minmax(0, 1fr); column-gap: clamp(1rem, 4vw, 3rem); padding-block: 2rem; border-top: 1px solid var(--rp-line); }
.why__item:last-child { border-bottom: 1px solid var(--rp-line); }
.why__area { grid-row: 1 / span 3; padding-top: 0.25rem; font-size: 0.8125rem; font-weight: 700; color: var(--rp-gold); }
.why__item h3 { font-size: clamp(1.1875rem, 2.2vw, 1.4375rem); line-height: 1.4; letter-spacing: -0.03em; font-weight: 700; color: var(--rp-ink); }
.why__item > p:not(.why__area) { max-width: var(--rp-measure); margin-top: 0.75rem; }
.why__ev { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1rem; }
.why__ev li { padding: 0.25rem 0.625rem; border-radius: var(--border-radius-xs); background: var(--bg-subtle); font-size: 0.8125rem; line-height: 1.5; color: var(--rp-body); }

/* ---------- 비교표 ---------- */
.cmp-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border-top: 2px solid var(--rp-ink); }
.cmp { width: 100%; min-width: 44rem; border-collapse: collapse; font-size: 0.9375rem; }
.cmp th, .cmp td { padding: 0.875rem 1rem; border-bottom: 1px solid var(--rp-line); text-align: right; vertical-align: top; }
.cmp thead th { font-size: 0.875rem; font-weight: 700; color: var(--rp-ink); vertical-align: bottom; }
.cmp thead th small { display: block; font-size: 0.6875rem; font-weight: 500; color: var(--rp-mute); }
.cmp tbody th { text-align: left; font-weight: 600; color: var(--rp-ink); }
.cmp tbody th small { display: block; font-size: 0.75rem; font-weight: 400; color: var(--rp-mute); }
.cmp td { color: var(--rp-body); font-variant-numeric: tabular-nums; white-space: nowrap; }
.cmp td small { margin-left: 0.125rem; font-size: 0.75rem; color: var(--rp-mute); }
.cmp .is-me { background: var(--rp-gold-soft); color: var(--rp-ink); font-weight: 700; }
.cmp td.is-best { box-shadow: inset 0 -2px 0 var(--rp-gold); font-weight: 700; color: var(--rp-ink); }
.cmp td.is-behind { background: var(--rp-red-soft); color: var(--rp-red); }
.cmp__group th { padding-top: 1.75rem; font-size: 0.75rem; font-weight: 700; color: var(--rp-gold); border-bottom-color: var(--rp-gold-line); text-align: left; }

/* ---------- 작업이 끝나면 ---------- */
.rp-future { background: var(--rp-gold-soft); }
.fut-block { padding-block: 2.5rem; border-top: 1px solid var(--rp-gold-line); }
.fut-block:first-of-type { border-top: 0; padding-top: 0; }
.fut-block h3 { font-size: clamp(1.25rem, 2.2vw, 1.5rem); line-height: 1.35; letter-spacing: -0.03em; font-weight: 700; color: var(--rp-ink); }
.fut-lede { max-width: var(--rp-measure); margin-top: 0.5rem; color: var(--rp-body); }

.pages { display: grid; grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr)); gap: 1.25rem; margin-top: 1.5rem; }
.page-card { padding: 1.25rem; border: 2px dashed var(--rp-gold); border-radius: var(--border-radius-lg); background: var(--bg-default); }
.page-card__preview { padding: 0.875rem 1rem; border-radius: var(--border-radius-md); background: var(--bg-subtle); }
.page-card__src { font-size: 0.75rem; color: var(--rp-mute); }
.page-card__title { margin-top: 0.125rem; font-size: 1.0625rem; line-height: 1.4; font-weight: 700; color: var(--rp-ink); }
.page-card__desc { margin-top: 0.25rem; font-size: 0.8125rem; line-height: 1.55; color: var(--rp-body); }
.page-card__meta { display: grid; gap: 0.75rem; margin-top: 1rem; font-size: 0.875rem; line-height: 1.6; }
.page-card__meta div { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); gap: 0.75rem; }
.page-card__meta dt { font-weight: 700; color: var(--rp-mute); font-size: 0.8125rem; }
.page-card__meta dd { margin: 0; color: var(--rp-ink); }
.page-card__meta dd span { display: block; font-size: 0.75rem; color: var(--rp-mute); }
.page-card__meta ul li { position: relative; padding-left: 0.875rem; }
.page-card__meta ul li::before { content: ''; position: absolute; left: 0; top: 0.72em; width: 0.375rem; height: 1px; background: var(--rp-gold); }

.ask { display: flex; flex-wrap: wrap; gap: 0.625rem; margin-top: 1.25rem; }
.ask li { padding: 0.5rem 0.875rem; border-radius: var(--border-radius-md); background: var(--bg-default); border: 1px solid var(--rp-gold-line); font-size: 0.9375rem; font-weight: 600; color: var(--rp-ink); }

.fut-audit { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: clamp(1.5rem, 5vw, 4rem); align-items: start; }
.fixes { margin-top: 1.25rem; display: grid; gap: 0.625rem; }
.fixes li { position: relative; padding-left: 1.75rem; font-weight: 600; color: var(--rp-ink); }
.fixes li::before { content: ''; position: absolute; left: 0; top: 0.35em; width: 1.125rem; height: 1.125rem; border: 2px dashed var(--rp-gold); border-radius: 50%; }
.fixes small { display: block; font-size: 0.8125rem; font-weight: 400; color: var(--rp-mute); }
.gauge { padding: 1.5rem; border-radius: var(--border-radius-lg); background: var(--bg-default); border: 1px solid var(--rp-gold-line); }
.gauge__row { display: grid; grid-template-columns: 1fr auto; align-items: baseline; row-gap: 0.5rem; }
.gauge__row + .gauge__row { margin-top: 1.25rem; }
.gauge__row span { font-size: 0.875rem; font-weight: 600; color: var(--rp-mute); }
.gauge__row b { font-size: 2.5rem; line-height: 1; font-weight: 800; letter-spacing: -0.04em; color: var(--rp-ink); font-variant-numeric: tabular-nums; }
.gauge__row i { grid-column: 1 / -1; display: block; height: 0.625rem; border-radius: 99px; background: linear-gradient(to right, var(--color-gray-400) var(--w), var(--bg-muted) var(--w)); }
.gauge__row.is-next b { color: var(--rp-gold); }
.gauge__row.is-next i { background: linear-gradient(to right, var(--rp-gold) var(--w), var(--bg-muted) var(--w)); }
.gauge__note { margin-top: 1rem; font-size: 0.75rem; color: var(--rp-mute); }

.steps-line { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; margin-top: 1.5rem; counter-reset: step; }
.steps-line li { position: relative; padding-top: 2.25rem; counter-increment: step; }
.steps-line li::before { content: counter(step); position: absolute; top: 0; left: 0; width: 1.625rem; height: 1.625rem; border-radius: 50%; display: grid; place-items: center; background: var(--rp-gold); color: var(--brand-on-primary); font-size: 0.8125rem; font-weight: 700; }
.steps-line li:not(:last-child)::after { content: ''; position: absolute; top: 0.8rem; left: 2.25rem; right: -0.5rem; height: 1px; background: var(--rp-gold-line); }
.steps-line b { display: block; font-size: 1rem; color: var(--rp-ink); }
.steps-line span { display: block; margin-top: 0.25rem; font-size: 0.875rem; line-height: 1.6; color: var(--rp-body); }

.case__list { margin-top: 1.25rem; border-top: 1px solid var(--rp-gold-line); }
.case__list li { display: grid; grid-template-columns: 6rem minmax(0, 1.4fr) minmax(0, 1fr); gap: 1rem; padding-block: 0.875rem; border-bottom: 1px solid var(--rp-gold-line); font-size: 0.9375rem; line-height: 1.55; }
.case__where { font-weight: 700; color: var(--rp-gold); }
.case__q { color: var(--rp-ink); }
.case__found { color: var(--rp-body); }
.rp-disclaimer { max-width: var(--rp-measure); margin-top: 2.5rem; padding-top: 1.25rem; border-top: 1px solid var(--rp-gold-line); font-size: 0.875rem; line-height: 1.7; color: var(--rp-mute); }

/* ---------- 상담 ---------- */
.rp-cta h2 { max-width: 20em; font-size: clamp(1.75rem, 3.8vw, 2.625rem); line-height: 1.3; letter-spacing: -0.04em; font-weight: 800; }
.agenda { margin-top: 2rem; display: grid; gap: 0.75rem; max-width: var(--rp-measure); }
.agenda li { position: relative; padding-left: 1.75rem; font-size: 1.0625rem; color: var(--text-inverse); }
.agenda li::before { content: ''; position: absolute; left: 0; top: 0.5em; width: 0.875rem; height: 0.5rem; border-left: 2px solid var(--brand-strong); border-bottom: 2px solid var(--brand-strong); transform: rotate(-45deg); }
.rp-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 2.5rem; }
.rp-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 3.5rem; padding: 0 1.75rem; border: 0; border-radius: var(--border-radius-md); background: var(--rp-gold); color: var(--brand-on-primary); font: inherit; font-size: 1.0625rem; font-weight: 700; text-decoration: none; cursor: pointer; }
.rp-btn:hover { filter: brightness(1.08); }
.rp-btn--ghost { background: transparent; color: var(--text-inverse); box-shadow: inset 0 0 0 1px var(--border-inverse); }

/* ---------- 하단 고정 상담 바 ---------- */
.rp-sticky { position: fixed; left: 50%; bottom: max(1rem, env(safe-area-inset-bottom)); z-index: 30; transform: translate(-50%, 150%); transition: transform 0.25s ease; }
body.past-cover:not(.at-cta) .rp-sticky:not([hidden]) { transform: translate(-50%, 0); }
.rp-sticky__btn { display: inline-flex; align-items: center; min-height: 3.25rem; padding: 0 1.5rem; border-radius: 999px; background: var(--color-warm-900, #2a2520); color: #fafaf8; font-size: 0.9375rem; font-weight: 700; text-decoration: none; white-space: nowrap; box-shadow: 0 10px 30px -10px rgb(28 25 22 / 0.45); }


/* ---------- 상세 데이터 (접힘) ---------- */
.appendix { padding-block: 3rem 6rem; background: var(--bg-subtle); border-top: 1px solid var(--border-default); }
.appendix__box > summary { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.25rem 1rem; padding: 1.25rem 0; cursor: pointer; list-style: none; }
.appendix__box > summary::-webkit-details-marker { display: none; }
.appendix__box > summary::before { content: '+'; width: 1.5rem; font-size: 1.25rem; font-weight: 700; color: var(--text-subtle); }
.appendix__box[open] > summary::before { content: '–'; }
.appendix__title { font-size: 1.25rem; font-weight: 700; color: var(--text-strong); }
.appendix__hint { font-size: 0.875rem; color: var(--text-subtle); }

@media (max-width: 60rem) {
  .screen, .who, .fut-audit { grid-template-columns: minmax(0, 1fr); }
  .steps-line { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
  .steps-line li { padding: 0 0 0 2.5rem; }
  .steps-line li:not(:last-child)::after { top: 1.9rem; left: 0.8rem; right: auto; bottom: -1.1rem; width: 1px; height: auto; }
}
@media (max-width: 40rem) {
  .rp-root { font-size: 1rem; }
  .ledger li { grid-template-columns: minmax(0, 1fr); gap: 0.5rem; }
  .why__item { grid-template-columns: minmax(0, 1fr); }
  .why__area { grid-row: auto; }
  .case__list li { grid-template-columns: minmax(0, 1fr); gap: 0.125rem; }
  .page-card__meta div { grid-template-columns: minmax(0, 1fr); gap: 0.125rem; }
  .pages { grid-template-columns: minmax(0, 1fr); }
  .rp-sticky__btn { font-size: 0.875rem; padding: 0 1.125rem; }
}
@media (prefers-reduced-motion: reduce) {
  .rp-sticky { transition: none; }
}
@media print {
  .rp-sticky, .appendix, .rp-actions { display: none !important; }
  .rp-sec { break-inside: avoid; }
}
@media (max-width: 40rem) { .rp-title br { display: none; } }
