/* Guanyin flow candidate: mist silver, warm paper, restrained cinnabar.
   This optional final stylesheet changes presentation only. Existing business
   visibility, report content, form state and navigation remain in their modules. */
:root {
  --flow-bg: #e6ebed;
  --flow-paper: #fcfaf6;
  --flow-ink: #29373a;
  --flow-muted: #59696c;
  --flow-line: #d8dfdf;
  --flow-accent: #975044;
  --flow-primary: #354b4e;
  --flow-wash: #eff2f1;
  --flow-edge: #e4e2dc;
  --flow-shadow: 0 8px 28px rgb(45 58 61 / 4.5%), 0 1px 2px rgb(45 58 61 / 4%);
  --flow-serif: "Songti SC", "Noto Serif SC", STSong, serif;
  --line: var(--flow-line);
  --border: var(--flow-line);
  --muted: var(--flow-muted);
  --read-ink: var(--flow-ink);
  --read-muted: var(--flow-muted);
  --read-rule: var(--flow-line);
  --read-scene: #f0f2ef;
  --read-emphasis: #eceee7;
}

@media screen {
  html, body { color: var(--flow-ink); background: var(--flow-bg); }
  body { font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Noto Sans SC", sans-serif; }
  .shell { background: var(--flow-bg); }
  .topbar { background: var(--flow-bg); border-color: #cfd8da; box-shadow: inset 0 1px 0 rgb(255 255 255 / 65%); }
  .brand { color: var(--flow-ink); font-size: 25px; letter-spacing: .08em; }
  .brand small { color: var(--flow-muted); font-size: 11px; font-weight: 400; }
  .brand-mark { border-radius: 7px; background: var(--flow-accent); color: var(--flow-paper); box-shadow: inset 0 0 0 1px rgb(255 255 255 / 22%); font-family: var(--flow-serif); }
  .topbar-tools { display: flex; align-items: center; justify-content: end; flex-wrap: wrap; gap: 12px; min-width: 0; }
  .product-mark { border: 1px solid #d4dcdb; background: #edf0ef; color: var(--flow-muted); border-radius: 5px; line-height: 1.5; }
  .topbar .text-link { font-size: 12px; color: var(--flow-muted); }
  .primary-nav { background: var(--flow-bg); border-color: #cfd8da; }
  .primary-nav a { color: #5a6b6f; font-weight: 400; border-radius: 7px; transition: background-color 160ms ease, color 160ms ease; }
  .primary-nav a:hover { background: #f2f4f2; color: var(--flow-ink); }
  .primary-nav a[aria-current="page"] { color: var(--flow-ink); background: #f9f9f5; font-weight: 600; box-shadow: inset 2px 0 0 var(--flow-accent); }
  #app { min-width: 0; }
  #app > * { min-width: 0; }
  h1, h2, h3, h4 { overflow-wrap: anywhere; }
  .page-heading, .flow-page-header { align-items: center; gap: 20px; padding-bottom: 22px; border-bottom: 1px solid var(--flow-line); }
  .page-heading > div, .flow-page-header > div { min-width: 0; }
  .page-heading h1, .flow-page-header h1 { color: var(--flow-ink); font-family: var(--flow-serif); font-size: clamp(28px, 3vw, 36px); font-weight: 500; line-height: 1.45; letter-spacing: .025em; }
  .eyebrow { display: flex; align-items: center; gap: 10px; color: var(--flow-muted); font-size: 11px; font-weight: 500; letter-spacing: .12em; line-height: 1.8; }
  .page-heading .eyebrow::before, .flow-page-header .eyebrow::before, .hero .eyebrow::before { content: ""; width: 20px; height: 1px; flex: none; background: var(--flow-accent); }
  .lead, .hero p { color: var(--flow-muted); font-size: 14px; line-height: 1.9; }
  .section-title, .flow-section > h2, [data-flow-panel] > h2 { display: flex; align-items: center; gap: 12px; color: var(--flow-ink); font-size: 18px; font-weight: 600; line-height: 1.6; }
  .section-title::before, .flow-section > h2::before, [data-flow-panel] > h2::before { content: ""; width: 3px; height: 16px; flex: none; background: var(--flow-accent); }
  .card, .panel, .person-card, .form-card, .toolbar, .empty, .flow-surface { border-color: var(--flow-edge); border-radius: 9px; background: var(--flow-paper); box-shadow: var(--flow-shadow); }
  .panel { margin-bottom: 20px; }
  .card h2, .panel > h2, .form-card > h2 { color: var(--flow-ink); font-size: 18px; line-height: 1.6; font-weight: 600; }
  .panel > h2::before, .card > h2::before { content: ""; display: inline-block; width: 18px; height: 1px; margin: 0 10px 5px 0; background: var(--flow-accent); vertical-align: middle; }
  .panel p, .card p { color: var(--flow-muted); line-height: 1.85; }
  .panel dt, .hint, .field small, .muted { color: var(--flow-muted); }
  .panel dd { min-width: 0; }
  .panel .panel { box-shadow: none; border-color: var(--flow-line); }
  .form-grid, .status-grid, .detail-grid { min-width: 0; }
  .button, .button-secondary, .button-danger { min-height: 44px; max-width: 100%; border-radius: 6px; font-size: 14px; line-height: 1.5; font-weight: 600; padding: 11px 17px; white-space: normal; text-align: center; transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease; }
  .button { background: var(--flow-primary); color: #fff; border: 1px solid var(--flow-primary); box-shadow: inset 0 1px 0 rgb(255 255 255 / 13%), 0 2px 4px rgb(38 57 60 / 9%); }
  .button:hover { background: #293f43; border-color: #293f43; }
  .button-secondary { border: 1px solid #d2dcd9; background: #f9faf6; color: var(--flow-primary); box-shadow: none; }
  .button-secondary:hover { border-color: #aebfba; background: #edf2ee; }
  .button-danger { border: 1px solid #dec6bd; background: #fbf1eb; color: #8f4336; }
  .button-danger:hover { background: #f6e5dc; }
  button:disabled { opacity: .65; }
  a.text-link, .card .text-link { color: var(--flow-primary); font-weight: 500; text-decoration: underline; text-decoration-color: #b9c5c3; text-underline-offset: 4px; text-decoration-thickness: 1px; }
  a.text-link:hover { text-decoration-color: var(--flow-accent); }
  a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 2px solid var(--flow-accent); outline-offset: 4px; }
  .field label, .field legend { color: #42575b; font-weight: 600; }
  .field input, .field select, .field textarea { color: var(--flow-ink); background: #fffefa; border: 1px solid #cbd6d4; border-radius: 6px; min-height: 44px; }
  .field input:hover, .field select:hover, .field textarea:hover { border-color: #aebdba; }
  .choice { border-color: var(--flow-line); background: #f9faf6; border-radius: 7px; color: var(--flow-ink); }
  .choice:has(input:checked) { border-color: #a5b8b3; background: #edf2ee; }
  .choice input, input[type="checkbox"], input[type="radio"] { accent-color: var(--flow-primary); }
  .toolbar { gap: 14px; box-shadow: none; }
  .notice, .write-feedback { color: #405e53; background: #edf3ee; border: 1px solid #d0ded3; border-radius: 6px; line-height: 1.85; }
  .notice.error, .error, .write-feedback[data-state="failed"] { color: #8b3d32; background: #fbefea; border-color: #e6c8bc; }
  .write-feedback[data-state="dirty"] { color: #79581f; background: #faf5e9; border-color: #ded2ac; }
  .write-feedback[data-state="saving"] { color: #3b5a6a; background: #edf2f5; border-color: #cfdae1; }
  .confirm-dialog { color: var(--flow-ink); background: var(--flow-paper); border-color: var(--flow-line); border-radius: 10px; }
  .confirm-dialog::backdrop { background: rgb(39 53 56 / 36%); }
  .empty { color: var(--flow-muted); border: 1px dashed #bfcbc7; box-shadow: none; }
  .empty h2, .empty .empty-symbol { color: var(--flow-primary); }
  .avatar { color: #47615b; background: #e8eeea; border: 1px solid #d7e0da; border-radius: 10px; font-family: var(--flow-serif); }

  /* Home: a calm opening sheet with a small, decorative line study. */
  #app[data-flow-view="home"] .hero { gap: 20px; }
  #app[data-flow-view="home"] .hero-copy { background: var(--flow-paper); border: 1px solid var(--flow-edge); box-shadow: var(--flow-shadow); border-radius: 9px; padding: 36px; }
  #app[data-flow-view="home"] .hero-copy::after { color: #e4eae7; opacity: .45; right: -8px; bottom: -76px; font-family: var(--flow-serif); }
  #app[data-flow-view="home"] .hero h1 { color: var(--flow-ink); font-family: var(--flow-serif); font-size: clamp(30px, 3.3vw, 40px); font-weight: 500; letter-spacing: .04em; line-height: 1.55; margin: 18px 0 12px; }
  #app[data-flow-view="home"] .hero-aside { background: #eff1ed; border: 1px solid var(--flow-edge); border-radius: 9px; padding: 28px; }
  #app[data-flow-view="home"] .big-number { color: var(--flow-accent); font-size: 56px; font-weight: 500; }
  #app[data-flow-view="home"] .hero-aside p { color: var(--flow-muted); }
  .flow-home-sheet { border: 1px solid var(--flow-edge); border-radius: 9px; padding: 32px; background: var(--flow-paper); box-shadow: var(--flow-shadow); }
  .flow-home-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(130px, .4fr); align-items: center; gap: 24px; padding: 8px 0 28px; }
  .flow-home-hero h1 { margin: 16px 0; font: 500 clamp(30px, 3vw, 38px)/1.5 var(--flow-serif); letter-spacing: .03em; }
  .flow-home-hero p { color: var(--flow-muted); line-height: 1.9; font-size: 14px; }
  .flow-orbits { min-height: 180px; position: relative; overflow: hidden; pointer-events: none; }
  .flow-orbits span { position: absolute; left: 12%; top: 24%; width: 140%; height: 62%; border: 1px solid #c9d3d3; border-radius: 50%; transform: rotate(-22deg); transform-origin: 20% 50%; }
  .flow-orbits span:nth-child(2) { transform: rotate(-6deg); border-color: #d6dddd; }
  .flow-orbits span:nth-child(3) { transform: rotate(15deg); }
  .flow-orbits span:nth-child(4) { transform: rotate(34deg); border-color: #d6dddd; }
  .flow-orbits::after { content: ""; position: absolute; width: 5px; height: 5px; top: 53%; left: 24%; background: var(--flow-accent); border-radius: 50%; box-shadow: 0 0 0 5px #f1e7e1; }
  .flow-section { margin-top: 26px; padding-top: 24px; border-top: 1px solid var(--flow-line); }
  .flow-section > h2 { margin: 0 0 16px; }
  .flow-recent-reading { background: #f1f3ef; border-left: 2px solid #ae7567; padding: 18px 20px; border-radius: 0 5px 5px 0; }
  .flow-recent-reading h3 { font-family: var(--flow-serif); font-size: 21px; line-height: 1.6; font-weight: 500; }

  /* Shared subject navigation: selection is visible without relying on colour. */
  .flow-tabs { display: flex; gap: 24px; flex-wrap: wrap; border-bottom: 1px solid var(--flow-line); padding: 0; margin: 0 0 24px; }
  .flow-tabs :is(a, button) { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 48px; padding: 10px 3px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; color: var(--flow-muted); font-size: 14px; font-weight: 500; }
  .flow-tabs :is(a, button):hover { color: var(--flow-ink); background: rgb(255 255 255 / 30%); }
  .flow-tabs :is([aria-current="page"], [aria-selected="true"], [aria-pressed="true"]) { color: var(--flow-ink); border-bottom-color: var(--flow-accent); font-weight: 600; }
  #app[data-flow-view="person"] .person-reading-section, #app[data-flow-view="person"] .person-source-details { margin-top: 0; }
  .saved-reading { border-color: var(--flow-line); align-items: center; padding: 18px 0; }
  .saved-reading h3 { color: var(--flow-ink); font-family: var(--flow-serif); font-size: 21px; font-weight: 500; }
  .saved-reading .eyebrow { font-size: 11px; }
  .saved-reading .hint { font-size: 12px; line-height: 1.7; }
  .reading-entry-group { margin-top: 26px; }
  .reading-entry-group h3 { font-size: 15px; font-weight: 600; color: var(--flow-ink); }
  .reading-entry { border-color: var(--flow-line); gap: 20px; padding: 16px 0; }
  .reading-entry strong { font-size: 14px; font-weight: 600; line-height: 1.7; }
  .reading-entry p { font-size: 12px; line-height: 1.8; }
  .person-source-details > summary { min-height: 44px; line-height: 1.8; color: var(--flow-primary); }
  .person-card { grid-template-columns: 44px minmax(120px, .7fr) minmax(200px, 1.2fr) auto; gap: 16px; padding: 20px; box-shadow: none; }
  .person-card:hover { border-color: #bac9c4; }
  .person-card .avatar { width: 44px; height: 44px; font-size: 22px; }
  .person-main h2 { font-size: 18px; font-weight: 600; }
  .person-main p { color: var(--flow-muted); font-size: 12px; line-height: 1.8; }
  .person-status { background: #f0f3ee; border-radius: 5px; padding: 7px 8px; }
  .person-status strong { color: #3d5c52; font-size: 11px; white-space: normal; line-height: 1.5; }
  .person-status small { color: #596d66; font-size: 10px; white-space: normal; line-height: 1.5; }
  .person-actions { min-width: 0; display: flex; flex-direction: column; align-items: start; gap: 10px; }
  .person-actions .text-link { font-size: 12px; }
  .status-tile { background: #f0f3ee; border-radius: 6px; }
  .status-tile span { color: var(--flow-muted); }

  /* Relationship context stays visually attached to the operation it governs. */
  .relationship-card { box-shadow: none; padding: 22px 24px; }
  .relationship-card h2 { font-family: var(--flow-serif); font-size: 23px; font-weight: 500; }
  .relationship-card h2::before { content: none; }
  .relationship-card p { font-size: 13px; line-height: 1.8; }
  .relationship-layout { gap: 20px; }
  .relationship-analysis-entry, .relationship-form-card { min-width: 0; }
  .relationship-scenario { border-color: var(--flow-line); background: #f5f5ef; border-radius: 6px; }
  .relationship-readiness :is(.notice, .status-tile) { margin: 0; }
  .relationship-analysis-entry > p { font-size: 13px; }
  .flow-context { padding: 16px 20px; margin: 20px 0; background: #eff2ed; border-left: 2px solid #ae7567; border-radius: 0 5px 5px 0; color: var(--flow-muted); font-size: 13px; line-height: 1.85; }
  .flow-context strong { color: var(--flow-ink); font-weight: 600; }
  .flow-pair-sign { display: flex; align-items: center; gap: 12px; }
  .flow-pair-sign .avatar { width: 48px; height: 52px; background: #eaf0eb; border-radius: 8px; }
  .flow-pair-sign .avatar:last-child { background: #f1eae2; border-color: #dfd2c6; color: #815a49; }
  .relationship-analysis-form, .relationship-form-card, #app[data-flow-view="prepare"] .form-card { max-width: 900px; }
  #app[data-flow-view="prepare"] :is(.form-card, .panel) { padding: 28px; }
  #app[data-flow-view="prepare"] .field { margin-bottom: 20px; }
  #app[data-flow-view="prepare"] .stepper span.active { background: var(--flow-accent); }

  /* The existing authored reader stays intact, with a quieter paper surface. */
  #app[data-flow-view="reader"] > .report-document { border: 1px solid var(--flow-edge); background: var(--flow-paper); border-radius: 9px; padding: 30px 34px; box-shadow: var(--flow-shadow); }
  #app[data-flow-view="reader"] > .report-document > a:first-child { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; line-height: 1.7; color: var(--flow-primary); text-decoration: underline; text-decoration-color: #b9c5c3; text-underline-offset: 4px; }
  .report-document .reader-heading h1, .report-document .insight-reading-heading h1, .report-document .free-reading-prose h1 { font-family: var(--flow-serif); font-size: clamp(28px, 3vw, 34px); line-height: 1.55; font-weight: 500; letter-spacing: .015em; color: var(--flow-ink); }
  .report-document .free-reading-prose h1 { padding-bottom: 24px; margin-bottom: 30px; }
  .report-document .reader-identity, .report-document .reader-meta, .report-document .reader-source, .report-document .reader-caption, .report-document .insight-reader-primary, .report-document .insight-reader-secondary { color: var(--flow-muted) !important; line-height: 1.85; }
  .report-document .reader-chapter-name, .report-document .reader-toc-group, .report-document .reader-toc a span, .report-document .reader-mobile-toc nav a span { color: var(--flow-muted); }
  .report-document .free-reading-prose h2, .report-document .insight-section h2, .report-document .relationship-report h2 { color: var(--flow-ink); font-family: var(--flow-serif); font-size: 25px; line-height: 1.7; font-weight: 600; }
  .report-document .free-reading-prose h2.free-reading-chapter { padding-left: 0; padding-top: 23px; border-top: 1px solid var(--flow-line); }
  .report-document .free-reading-chapter::before { content: ""; width: 25px; height: 2px; top: -1px; left: 0; border: 0; border-radius: 0; background: var(--flow-accent); }
  .report-document .free-reading-prose { font-size: 17px; line-height: 2; }
  .report-document .free-reading-prose strong { color: var(--flow-ink); background: var(--read-emphasis); font-weight: 700; }
  .report-document .free-reading-prose .free-reading-lead { color: #435d52; border-left-color: #b58472; font-weight: 500; }
  .report-document .free-reading-prose blockquote { border-color: #b58472; background: #f0f2ec; border-radius: 0 5px 5px 0; padding: 18px 22px; }
  .report-document .free-reading-label { background: #eff2ec; color: var(--flow-muted); }
  .report-document .free-reading-contents { background: #f6f6f0; border-color: var(--flow-line); }
  .report-document .free-reading-contents > summary { color: var(--flow-primary); }
  .report-document :is(.insight-report, .relationship-report, .weekly-body, .saved-report) { border-color: var(--flow-line); box-shadow: none; border-radius: 6px; background: var(--flow-paper); }
  .report-document .reading-advice-item { border-left-color: #b58472; }
  .report-document .reader-basis > summary, .report-document .reader-action-list > summary, .report-document .reader-mobile-toc > summary { color: var(--flow-primary); }
  .report-document .reader-toc a, .report-document .reader-mobile-toc nav a, .report-document .reader-references a, .report-document .reader-jump { color: var(--flow-primary); }
  .report-document .reader-toc a:hover, .report-document .reader-mobile-toc nav a:hover { background: #eff2ed; }
  .monthly-home-original { background: #f3f3ed; border-left-color: #ba8b79; }
  .monthly-home-score, .monthly-home-attempts { border-color: var(--flow-line); }
}

@media screen and (min-width: 1100px) {
  .shell { grid-template-columns: 184px minmax(0, 1fr); }
  .primary-nav { padding: 28px 16px; }
  .primary-nav a { padding: 12px 14px; font-size: 14px; }
  #app { padding: 32px 36px 60px; max-width: 1200px; }
}

@media screen and (max-width: 1099px) {
  .person-card { grid-template-columns: 44px minmax(120px, 1fr) auto; }
  .person-statuses { grid-column: 2 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .person-actions { grid-column: 3; grid-row: 1; }
  #app[data-flow-view="reader"] > .report-document { padding: 26px; }
}

@media screen and (max-width: 800px) {
  #app { padding: 24px 20px 40px; }
  .hero { grid-template-columns: 1fr; }
  #app[data-flow-view="home"] .hero-aside { min-height: 110px; gap: 18px; padding: 24px; }
  .flow-home-hero { grid-template-columns: minmax(0, 1fr) 110px; gap: 16px; }
  .flow-home-sheet { padding: 26px; }
  .flow-orbits { min-height: 150px; }
  .relationship-layout { grid-template-columns: minmax(0, 1fr); }
  .relationship-card { align-items: start; }
}

@media screen and (max-width: 560px) {
  :root { --mobile-nav-clearance: calc(102px + env(safe-area-inset-bottom)); }
  .topbar { padding: 18px 18px; gap: 12px; align-items: start; }
  .brand { gap: 9px; font-size: 22px; flex: none; }
  .brand-mark { width: 36px; height: 38px; font-size: 21px; }
  .brand small { font-size: 10px; letter-spacing: .04em; }
  .topbar-tools { gap: 6px; flex-direction: column; align-items: end; }
  .product-mark { padding: 4px 7px; font-size: 10px; }
  .topbar .text-link { min-height: 28px; display: inline-flex; align-items: center; }
  #app { padding: 22px 14px 36px; }
  .page-heading, .flow-page-header { align-items: stretch; gap: 14px; padding-bottom: 20px; margin-bottom: 22px; }
  .page-heading h1, .flow-page-header h1 { font-size: 28px; line-height: 1.5; }
  .lead { font-size: 13px; line-height: 1.85; margin-bottom: 0; }
  .panel, .card, .form-card, .toolbar { padding: 20px; border-radius: 7px; }
  .toolbar { gap: 12px; grid-template-columns: minmax(0, 1fr); }
  .toolbar .field:first-child { grid-column: auto; }
  .toolbar .choice { margin: 0; }
  .toolbar > button { justify-self: start; }
  .field input:not([type="checkbox"]):not([type="radio"]), .field select, .field textarea { font-size: 16px; }
  .button-row { gap: 10px; }
  .button, .button-secondary, .button-danger { padding: 10px 14px; }
  .primary-nav { padding: 8px 10px max(10px, env(safe-area-inset-bottom)); box-shadow: 0 -4px 18px rgb(45 58 61 / 4%); }
  .primary-nav a { border-radius: 5px; padding: 4px; font-size: 11px; }
  .primary-nav a span { font-size: 21px; line-height: 1.5; }
  .primary-nav a[aria-current="page"] { box-shadow: inset 0 2px 0 var(--flow-accent); }
  .flow-home-sheet { padding: 24px 20px; border-radius: 7px; }
  .flow-home-hero { display: block; padding: 0 0 20px; }
  .flow-home-hero h1 { font-size: 30px; }
  .flow-home-hero p { font-size: 13px; }
  .flow-orbits { height: 68px; min-height: 0; margin: 16px 0 0; }
  .flow-orbits span { width: 88%; height: 88%; left: 32%; top: 8%; }
  .flow-orbits::after { left: 49%; top: 48%; }
  #app[data-flow-view="home"] .hero-copy { padding: 28px 24px; }
  #app[data-flow-view="home"] .hero h1 { font-size: 31px; }
  #app[data-flow-view="home"] .hero-aside { padding: 20px 24px; }
  #app[data-flow-view="home"] .big-number { font-size: 42px; }
  .flow-tabs { justify-content: start; gap: 22px; margin-bottom: 20px; }
  .flow-tabs :is(a, button) { min-height: 48px; padding-inline: 0; font-size: 13px; }
  .flow-section { padding-top: 22px; margin-top: 22px; }
  .flow-section > h2, [data-flow-panel] > h2, .section-title { font-size: 17px; }
  .person-card { grid-template-columns: 40px minmax(0, 1fr); padding: 18px; gap: 12px; }
  .person-card .avatar { width: 40px; height: 42px; }
  .person-statuses { grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .person-actions { grid-column: 1 / -1; grid-row: auto; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 12px; width: 100%; }
  .person-actions .button-secondary { width: auto; flex: 1 1 130px; }
  .person-actions .text-link { min-height: 44px; display: inline-flex; align-items: center; }
  .person-status small { font-size: 10px; }
  .person-status strong { font-size: 11px; }
  .saved-reading { display: flex; align-items: start; flex-direction: column; gap: 12px; padding: 18px 0; }
  .saved-reading h3 { font-size: 20px; }
  .saved-reading .button-secondary { margin-top: 0; }
  .reading-entry { align-items: start; flex-direction: column; gap: 12px; }
  .reading-entry .button-secondary { align-self: start; }
  .relationship-card { padding: 22px 20px; gap: 16px; }
  .relationship-card h2 { font-size: 23px; }
  .flow-context { padding: 14px 16px; font-size: 12px; }
  #app[data-flow-view="prepare"] :is(.form-card, .panel) { padding: 22px 20px; }
  #app[data-flow-view="reader"] > .report-document { padding: 24px 20px; border-radius: 7px; }
  .report-document .reader-heading h1, .report-document .insight-reading-heading h1, .report-document .free-reading-prose h1 { font-size: 28px; line-height: 1.55; }
  .report-document .free-reading-prose { font-size: 16px; line-height: 1.95; }
  .report-document .free-reading-prose h2, .report-document .insight-section h2, .report-document .relationship-report h2 { font-size: 23px; line-height: 1.65; }
  .report-document :is(.insight-report, .relationship-report, .weekly-body, .saved-report) { padding: 0; border: 0; border-radius: 0; box-shadow: none; }
  .report-document .free-reading-prose blockquote { padding: 16px 18px; }
  .report-document .report-export { gap: 10px; }
  .report-document .report-export button { font-size: 12px; padding-inline: 12px; }
}

@media screen and (prefers-reduced-motion: reduce) {
  .primary-nav a, .button, .button-secondary, .button-danger { transition: none; }
}
