:root {
  --compare-ink: #173a2f;
  --compare-paper: #fbf6e9;
  --compare-paper-deep: #eee2ca;
  --compare-cinnabar: #b94638;
  --compare-gold: #b1833e;
  --compare-blue: #345b70;
  --compare-line: #cfc2a8;
  --compare-shadow: 0 20px 55px rgba(54, 42, 25, .12);
}

.compare-page {
  background:
    linear-gradient(90deg, rgba(67, 49, 25, .035) 1px, transparent 1px) 0 0 / 116px 100%,
    radial-gradient(circle at 8% 8%, rgba(177, 131, 62, .15), transparent 24rem),
    radial-gradient(circle at 93% 22%, rgba(47, 106, 82, .12), transparent 28rem),
    #f7f1e3;
}

.xp-header nav [aria-current="page"] { color: var(--compare-cinnabar); font-weight: 700; }

.compare-main { width: min(1280px, 100%); margin: 0 auto; padding: 38px 28px 100px; }

.compare-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.16fr) minmax(300px, .84fr);
  min-height: 520px;
  overflow: hidden;
  border: 1px solid #cbbb9d;
  border-radius: 4px 34px 4px 34px;
  background:
    linear-gradient(112deg, rgba(255, 253, 246, .97) 0 55%, rgba(232, 218, 189, .72) 55% 100%),
    #f7efdc;
  box-shadow: var(--compare-shadow);
}

.compare-hero::before,
.compare-hero::after { content: ''; position: absolute; pointer-events: none; }
.compare-hero::before { inset: 14px; border: 1px solid rgba(80, 57, 28, .16); border-radius: 2px 25px 2px 25px; }
.compare-hero::after { width: 180px; height: 180px; right: -55px; bottom: -65px; border: 1px solid rgba(185, 70, 56, .28); border-radius: 50%; box-shadow: 0 0 0 22px rgba(185, 70, 56, .04), 0 0 0 48px rgba(185, 70, 56, .03); }

.compare-hero-copy { position: relative; z-index: 1; align-self: center; padding: 68px clamp(34px, 6vw, 82px); }
.compare-kicker { margin: 0 0 12px; color: var(--compare-cinnabar); font-size: 14px; font-weight: 700; letter-spacing: .09em; }
.compare-hero h1 { margin: 0; max-width: 650px; color: #14372d; font-size: clamp(42px, 5.3vw, 74px); line-height: 1.25; letter-spacing: -.07em; }
.compare-hero-copy > p:not(.compare-kicker) { max-width: 680px; margin: 28px 0; color: #526056; font-size: 18px; line-height: 1.9; word-break: keep-all; }
.test-seal { display: flex; align-items: center; width: max-content; max-width: 100%; overflow: hidden; border: 1px solid #a93128; color: #862e27; border-radius: 2px; }
.test-seal strong { padding: 11px 14px; background: #ad3c31; color: #fff7e8; font-family: var(--serif); font-size: 19px; letter-spacing: .14em; }
.test-seal span, .test-seal b { padding: 9px 13px; font-size: 14px; }
.test-seal b { border-left: 1px solid rgba(134, 46, 39, .25); }

.compare-ledger { position: relative; display: grid; align-content: center; justify-content: center; gap: 18px; min-width: 0; padding: 58px 42px; background: linear-gradient(145deg, #173c31 0 62%, #244d3f 62% 100%); color: #f5e7c9; }
.compare-ledger::before { content: ''; position: absolute; inset: 0; opacity: .24; background: repeating-linear-gradient(0deg, transparent 0 34px, rgba(255,255,255,.11) 35px), repeating-linear-gradient(90deg, transparent 0 76px, rgba(255,255,255,.08) 77px); }
.compare-ledger > * { position: relative; z-index: 1; }
.compare-ledger > div { display: grid; grid-template-columns: repeat(3, 84px); }
.compare-ledger i { display: grid; place-items: center; min-height: 84px; border: 1px solid rgba(245, 231, 201, .55); font: normal 38px/1 var(--serif); }
.compare-ledger > div + div { transform: translateX(28px); }
.compare-ledger p { margin: 12px 0 0; text-align: right; color: #f5e7c9; font: 24px/1.6 var(--serif); }
.ledger-thread { position: absolute; z-index: 2; top: 50%; left: 16%; right: 10%; height: 2px; background: #d74a3b; transform: rotate(-7deg); box-shadow: 0 0 0 1px rgba(89, 14, 8, .35); }

.privacy-ribbon, .store-warning { display: flex; align-items: flex-start; gap: 14px; margin: 26px 0 38px; padding: 17px 22px; border: 1px solid #b9c7b8; border-left: 5px solid #2f6a52; background: #edf2e8; color: #355044; border-radius: 3px; }
.privacy-ribbon > span { flex: 0 0 auto; color: var(--compare-cinnabar); font-size: 25px; line-height: 1.4; }
.privacy-ribbon p, .store-warning { margin: 0; font-size: 14px; line-height: 1.85; }
.store-warning { display: block; margin-top: -24px; border-color: #d6b283; border-left-color: #a66929; background: #fff4df; }

.mode-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 0 0 28px; padding: 0; border: 0; }
.mode-switch legend { grid-column: 1 / -1; margin: 0 0 4px; font-size: 28px; }
.mode-switch label { position: relative; min-width: 0; cursor: pointer; }
.mode-switch input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.mode-switch label > span { display: grid; grid-template-columns: 52px minmax(0, 1fr); min-height: 112px; padding: 20px 22px; border: 1px solid var(--compare-line); background: rgba(255, 253, 246, .82); border-radius: 4px; box-shadow: 4px 5px 0 #e3d8c3; transition: transform .18s, background .18s, border-color .18s; }
.mode-switch label > span b { grid-row: 1 / 3; color: #b0a284; font: 32px/1.3 var(--serif); }
.mode-switch label > span strong { align-self: end; font: 22px/1.35 var(--serif); }
.mode-switch label > span small { align-self: start; margin-top: 6px; color: #666b61; font-size: 14px; }
.mode-switch input:checked + span { border-color: #2f6a52; background: #173c31; color: #fff7e8; transform: translateY(-2px); box-shadow: 5px 7px 0 #cbb991; }
.mode-switch input:checked + span b { color: #e0bd76; }
.mode-switch input:checked + span small { color: #cfdbd1; }
.mode-switch input:focus-visible + span { outline: 3px solid #966536; outline-offset: 4px; }
.mode-switch > p { grid-column: 1 / -1; margin: 4px 0 0; color: #656a60; font-size: 14px; }

.compare-workbench { scroll-margin-top: 108px; overflow: hidden; margin: 0 0 42px; border: 1px solid #cfc2a8; border-radius: 4px 24px 4px 4px; background: rgba(255, 253, 246, .96); box-shadow: 8px 10px 0 rgba(218, 205, 181, .7); }
.workbench-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 30px; padding: 34px 38px 28px; border-bottom: 1px solid #d9cdb7; background: linear-gradient(100deg, #fffdf6 0 66%, #f0e5cf 66%); }
.workbench-heading p { grid-column: 1; margin: 0; color: var(--compare-cinnabar); font-size: 13px; font-weight: 700; letter-spacing: .11em; }
.workbench-heading h2 { grid-column: 1; margin: 2px 0; font-size: 34px; }
.workbench-heading > span { grid-column: 2; grid-row: 1 / 4; align-self: center; max-width: 310px; color: #5e655b; font-size: 15px; line-height: 1.75; }

.compare-form { display: grid; grid-template-columns: minmax(0, 1fr) 44px minmax(0, 1fr) auto; align-items: end; gap: 14px; padding: 30px 38px 14px; }
.compare-form label { display: grid; gap: 8px; min-width: 0; color: #334b40; font-size: 14px; font-weight: 700; }
.compare-form select, .compare-form input, .compare-form textarea { width: 100%; min-width: 0; border: 1px solid #bdb19a; border-radius: 2px; background-color: #fffdf7; color: #173a2f; font: inherit; }
.compare-form select, .compare-form input { height: 52px; padding: 0 13px; }
.compare-form textarea { min-height: 96px; padding: 12px 13px; resize: vertical; line-height: 1.65; }
.compare-form select:focus-visible, .compare-form input:focus-visible, .compare-form textarea:focus-visible { outline: 3px solid #966536; outline-offset: 2px; }
.compare-mark { display: grid; place-items: center; min-height: 52px; pointer-events: none; color: var(--compare-cinnabar); font: 28px/1 var(--serif); }
.compare-submit { min-height: 52px; padding: 10px 22px; border: 1px solid #173c31; border-radius: 3px; background: #173c31; color: #fff8e9; font-size: 16px; font-weight: 700; white-space: nowrap; }
.compare-submit:hover { background: #245847; }
.compare-submit:disabled { background: #7b837d; border-color: #7b837d; }
.choice-form { grid-template-columns: minmax(0, 1fr) 44px minmax(0, 1fr); align-items: start; }
.choice-form .record-choice { grid-column: 1; }
.choice-form .evidence-choice { grid-column: 3; }
.choice-form .priority-choice { grid-column: 1 / -1; }
.choice-entry { display: grid; gap: 14px; min-width: 0; margin: 0; padding: 18px; border: 1px solid #c9bda6; background: #fffaf0; }
.choice-entry[data-side="A"] { grid-column: 1; border-top: 5px solid #2f6a52; }
.choice-entry[data-side="B"] { grid-column: 3; border-top: 5px solid #b94638; }
.choice-entry legend { padding: 0 8px; color: #173a2f; font: 22px/1.3 var(--serif); }
.choice-form > .compare-mark { grid-column: 2; align-self: center; }
.choice-form .review-choice { grid-column: 1 / -1; }
.choice-form .compare-submit { grid-column: 1 / -1; width: 100%; }
.local-note { margin: 5px 38px 28px; color: #646b61; font-size: 14px; line-height: 1.8; }

.compare-status { margin: 14px 38px 32px; padding: 18px 20px; border: 1px solid #d2bf94; border-left: 4px solid #a97832; background: #fff6e3; color: #66491e; border-radius: 3px; }
.compare-status[hidden] { display: none; }
.compare-status p { margin: 0; font-size: 15px; line-height: 1.75; }
.compare-status.is-error { border-color: #d4a39c; border-left-color: #a13f34; background: #fbecea; color: #7b3028; }
.missing-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.missing-actions a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 14px; border: 1px solid currentColor; border-radius: 3px; text-decoration: none; font-size: 14px; font-weight: 700; }

.compare-result { scroll-margin-top: 108px; padding: 14px 38px 42px; }
.result-heading { margin: 8px 0 28px; padding: 28px 30px; border-left: 6px solid var(--compare-cinnabar); background: #f2e8d5; }
.result-heading h2 { margin: 3px 0 12px; font-size: 31px; }
.result-heading > p:last-child { margin: 0; color: #5b6259; font-size: 15px; }
.person-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.person-folio { min-width: 0; padding: 28px; border: 1px solid #cfc3ac; border-top: 5px solid #2f6a52; background: #fffaf0; box-shadow: 5px 6px 0 #e5dac6; }
.person-folio[data-side="B"] { border-top-color: #b94638; }
.folio-label { margin: 0 0 5px; color: var(--compare-cinnabar); font-size: 12px; font-weight: 700; letter-spacing: .09em; }
.person-folio h3 { margin: 0; font-size: 29px; }
.folio-meta { margin: 4px 0 22px; color: #687067; font-size: 14px; }
.day-pillar { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 0 24px; border: 1px solid #c9bda6; }
.day-pillar > div { min-width: 0; padding: 13px 8px; text-align: center; }
.day-pillar > div + div { border-left: 1px solid #d8ccb5; }
.day-pillar dt { color: #6e7168; font-size: 12px; }
.day-pillar dd { margin: 2px 0 0; color: #183d31; font: 27px/1.3 var(--serif); }
.day-pillar small { display: block; color: #6e7168; font: 12px/1.4 PaperSans, sans-serif; }
.mini-elements { display: grid; gap: 8px; padding: 17px; background: #f1eadb; }
.mini-elements > div { display: grid; grid-template-columns: 22px minmax(0, 1fr) 24px; align-items: center; gap: 9px; }
.mini-elements b, .mini-elements em { font-size: 13px; font-style: normal; }
.mini-elements em { text-align: right; }
.mini-track { height: 9px; overflow: hidden; background: #ddd3c1; border-radius: 99px; }
.mini-track i { display: block; min-width: 2px; height: 100%; border-radius: inherit; }
.mini-elements > p { margin: 7px 0 0; color: #646b61; font-size: 12px; line-height: 1.65; }
.mini-elements.is-unavailable { display: block; border-left: 3px solid #a97832; }
.mini-elements.is-unavailable p { margin: 6px 0 0; }
.uncertainty-box { margin-top: 16px; padding: 15px 17px; border: 1px dashed #c1b49d; }
.uncertainty-box strong { font-size: 14px; }
.uncertainty-box ul { margin: 8px 0 0; padding-left: 20px; }
.uncertainty-box li, .uncertainty-box p { margin: 4px 0; color: #5f675d; font-size: 13px; line-height: 1.65; }
.facts-mark { margin: 14px 0 0; color: #74766e; font-size: 12px; overflow-wrap: anywhere; }

.relation-card { margin: 28px 0 20px; padding: 27px 30px; border: 1px solid #cabb9f; background: #f7f0e1; }
.relation-card.is-combination { border-left: 7px solid #2f6a52; }
.relation-card.is-clash { border-left: 7px solid #b94638; }
.relation-card.is-plain { border-left: 7px solid #7d776c; }
.relation-card h3 { margin: 0 0 12px; font-size: 31px; }
.relation-card h3 span { color: #a89b82; }
.relation-card > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.relation-card > div p { display: grid; grid-template-columns: 70px minmax(0, 1fr); margin: 0; padding: 12px; background: rgba(255,255,255,.58); font-size: 14px; }
.relation-card small { display: block; margin-top: 15px; color: #61685e; font-size: 13px; }

.notes-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.note-card { min-width: 0; padding: 23px 24px; border: 1px solid #d4c9b5; background: #fffaf1; }
.note-card:last-child { grid-column: 1 / -1; }
.note-card h3 { margin: 0 0 12px; font-size: 22px; }
.note-card ul { margin: 0; padding-left: 20px; }
.note-card li { margin: 7px 0; font-size: 15px; line-height: 1.75; }
.note-card.common { border-top: 4px solid #2f6a52; }
.note-card.difference { border-top: 4px solid #345b70; }
.note-card.caution { border-top: 4px solid #b94638; }
.note-card.timing { border-top: 4px solid #b1833e; }
.note-card.action { border-top: 4px solid #4d6552; background: #edf2e8; }
.result-boundary { margin: 20px 0 0; padding: 18px 20px; border: 1px solid #bac7b9; background: #edf2e8; color: #3c5247; font-size: 14px; line-height: 1.8; }

.compare-followups { margin-top: 24px; padding: 26px; border: 1px solid #c9b99a; border-top: 5px solid #2f6a52; background: #fffaf0; }
.compare-followups header h3 { margin: 2px 0 8px; font-size: 25px; }
.compare-followups header > p:not(.compare-kicker) { margin: 0; color: #5f675d; font-size: 14px; line-height: 1.75; }
.follow-quota { display: block; margin-top: 13px; color: #285443; font-size: 14px; }
.follow-question-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 20px; }
.follow-question { min-height: 52px; padding: 11px 14px; border: 1px solid #a99a80; border-radius: 3px; background: #f7eedc; color: #173a2f; text-align: left; font-size: 14px; font-weight: 700; line-height: 1.55; }
.follow-question:hover:not(:disabled) { border-color: #2f6a52; background: #e8efe4; }
.follow-question:disabled { border-color: #c5c0b4; background: #ece9e1; color: #747870; }
.follow-question:focus-visible { outline: 3px solid #966536; outline-offset: 3px; }
.follow-answer-history { display: grid; gap: 10px; margin-top: 18px; }
.follow-answer { padding: 18px 20px; border-left: 4px solid #b1833e; background: #f2e8d5; }
.follow-answer:focus { outline: 2px solid #7e6335; outline-offset: 2px; }
.follow-answer h4 { margin: 0 0 8px; font-size: 17px; }
.follow-answer p { margin: 0; white-space: pre-line; color: #35493f; font-size: 15px; line-height: 1.8; }

.choice-headings { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-bottom: 14px; }
.choice-headings article { padding: 22px 24px; border: 1px solid #c9bda6; background: #173c31; color: #fff8e8; }
.choice-headings article + article { background: #803c36; }
.choice-headings span { color: #e5c782; font-size: 12px; font-weight: 700; letter-spacing: .1em; }
.choice-headings h3 { margin: 3px 0 8px; color: inherit; font-size: 26px; }
.choice-headings p { margin: 0; color: #e5e3d7; font-size: 14px; line-height: 1.7; }
.lens-grid { display: grid; gap: 14px; }
.lens-row { display: grid; grid-template-columns: 160px repeat(2, minmax(0, 1fr)); border: 1px solid #d1c4ad; background: #fffaf1; }
.lens-row > h3 { display: grid; align-content: center; margin: 0; padding: 20px; border-right: 1px solid #d1c4ad; background: #eee3cf; font-size: 19px; }
.lens-cell { min-width: 0; padding: 20px 22px; }
.lens-cell + .lens-cell { border-left: 1px solid #d1c4ad; }
.lens-cell > span { display: inline-flex; min-height: 26px; align-items: center; padding: 2px 8px; background: #dce8de; color: #27503f; font-size: 12px; font-weight: 700; }
.lens-cell.is-held > span { background: #f1dfcf; color: #7d3a31; }
.lens-cell p { margin: 10px 0 14px; white-space: pre-line; font-size: 15px; line-height: 1.8; }
.lens-cell small { color: #687067; font-size: 12px; line-height: 1.65; }
.choice-reading-guide { margin-top: 22px; padding: 24px 28px; background: #edf2e8; border-left: 5px solid #2f6a52; }
.choice-reading-guide h3 { margin: 0 0 10px; }
.choice-reading-guide ol { margin: 0; padding-left: 22px; }
.choice-reading-guide li { margin: 7px 0; font-size: 15px; line-height: 1.75; }
.result-actions { display: flex; justify-content: flex-end; margin-top: 20px; }

.rules-paper { margin-top: 54px; padding: 42px; border: 1px solid #c9b99a; background: #173c31; color: #f8ecd2; box-shadow: var(--compare-shadow); }
.rules-paper header { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .8fr); gap: 6px 38px; align-items: end; padding-bottom: 25px; border-bottom: 1px solid rgba(248, 236, 210, .25); }
.rules-paper header .compare-kicker, .rules-paper header h2 { grid-column: 1; }
.rules-paper header h2 { margin: 0; color: inherit; font-size: 34px; }
.rules-paper header > p:last-child { grid-column: 2; grid-row: 1 / 3; margin: 0; color: #cfd9ce; font-size: 14px; line-height: 1.8; }
.rule-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 28px 0 0; background: rgba(248, 236, 210, .25); }
.rule-grid article { padding: 22px 24px; background: #173c31; }
.rule-grid h3 { margin: 0 0 8px; color: #e5c782; font-size: 20px; }
.rule-grid p { margin: 0; color: #f3ead7; font-size: 15px; line-height: 1.8; }
.rules-footnote { margin: 24px 0 0; color: #cfd9ce; font-size: 14px; line-height: 1.8; }

@media (max-width: 1040px) {
  .compare-hero { grid-template-columns: minmax(0, 1fr) 350px; }
  .compare-hero-copy { padding: 50px 38px; }
  .compare-ledger > div { grid-template-columns: repeat(3, 68px); }
  .compare-ledger i { min-height: 68px; font-size: 31px; }
  .compare-form { grid-template-columns: minmax(0, 1fr) 44px minmax(0, 1fr); }
  .compare-form .compare-submit { grid-column: 1 / -1; width: 100%; }
  .choice-form { grid-template-columns: minmax(0, 1fr) 44px minmax(0, 1fr); }
}

@media (max-width: 760px) {
  .compare-main { padding: 24px 18px 70px; }
  .compare-hero { display: flex; flex-direction: column; min-height: 0; border-radius: 3px 20px 3px 20px; }
  .compare-hero-copy { padding: 38px 24px 32px; }
  .compare-hero h1 { font-size: clamp(38px, 11vw, 56px); }
  .compare-hero-copy > p:not(.compare-kicker) { margin: 20px 0; font-size: 16px; }
  .test-seal { width: 100%; }
  .test-seal strong { font-size: 16px; }
  .test-seal span, .test-seal b { flex: 1; padding-inline: 8px; text-align: center; font-size: 12px; }
  .compare-ledger { min-height: 300px; padding: 42px 25px; }
  .privacy-ribbon { padding: 15px 16px; }
  .mode-switch { grid-template-columns: 1fr; gap: 10px; }
  .mode-switch legend { font-size: 25px; }
  .mode-switch > p { grid-column: 1; }
  .mode-switch label > span { min-height: 96px; padding: 17px 18px; }
  .workbench-heading { display: block; padding: 27px 20px 23px; background: #f6eddb; }
  .workbench-heading h2 { font-size: 28px; }
  .workbench-heading > span { display: block; margin-top: 7px; max-width: none; }
  .compare-form, .choice-form { display: grid; grid-template-columns: 1fr; gap: 12px; padding: 24px 20px 12px; }
  .compare-form .compare-mark { min-height: 30px; transform: rotate(90deg); }
  .compare-form .compare-submit { grid-column: 1; }
  .choice-form .record-choice, .choice-form .evidence-choice, .choice-form .priority-choice, .choice-form .review-choice, .choice-form .choice-entry, .choice-form .compare-submit { grid-column: 1; }
  .choice-form > .compare-mark { grid-column: 1; }
  .local-note { margin: 5px 20px 24px; }
  .compare-status { margin: 14px 20px 28px; }
  .missing-actions { flex-direction: column; }
  .missing-actions a { justify-content: center; }
  .compare-result { padding: 8px 20px 32px; }
  .result-heading { padding: 22px 20px; }
  .result-heading h2 { font-size: 26px; }
  .person-pair, .notes-grid, .choice-headings { grid-template-columns: 1fr; }
  .person-folio { padding: 22px 18px; }
  .note-card:last-child { grid-column: 1; }
  .relation-card { padding: 22px 18px; }
  .relation-card > div { grid-template-columns: 1fr; }
  .lens-row { grid-template-columns: 1fr; }
  .lens-row > h3 { border-right: 0; border-bottom: 1px solid #d1c4ad; }
  .lens-cell + .lens-cell { border-left: 0; border-top: 1px solid #d1c4ad; }
  .compare-followups { padding: 22px 18px; }
  .follow-question-list { grid-template-columns: 1fr; }
  .rules-paper { padding: 30px 20px; }
  .rules-paper header { display: block; }
  .rules-paper header h2 { font-size: 29px; }
  .rules-paper header > p:last-child { margin-top: 12px; }
  .rule-grid { grid-template-columns: 1fr; }
}

@media (max-width: 410px) {
  .compare-main { padding-inline: 14px; }
  .compare-hero-copy { padding-inline: 19px; }
  .compare-hero h1 { font-size: 38px; }
  .test-seal { display: grid; grid-template-columns: 1fr 1fr; }
  .test-seal strong { grid-column: 1 / -1; text-align: center; }
  .compare-ledger > div { grid-template-columns: repeat(3, 62px); }
  .compare-ledger i { min-height: 62px; font-size: 28px; }
  .compare-ledger > div + div { transform: translateX(16px); }
  .day-pillar dd { font-size: 23px; }
  .day-pillar small { font-size: 11px; }
  .rule-grid article { padding: 19px 17px; }
}

@media (prefers-reduced-motion: no-preference) {
  .compare-hero-copy, .compare-ledger { animation: compare-reveal .55s ease-out both; }
  .compare-ledger { animation-delay: .08s; }
  @keyframes compare-reveal { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
}

@media print {
  .xp-header, .xp-footer, .mode-switch, .compare-form, .privacy-ribbon, .rules-paper { display: none !important; }
  .compare-main { width: 100%; padding: 0; }
  .compare-hero { min-height: 0; box-shadow: none; }
  .compare-ledger { display: none; }
  .compare-result { padding: 0; }
  .person-folio, .note-card, .relation-card { break-inside: avoid; box-shadow: none; }
}
