/* Reading-first refinement, 2026-10-16. Native Chinese sans-serif, high contrast, short line length. */
/* Better Design pass, 2026-10-16: rem type/space scale, OKLCH colour roles, no stripe callouts. */
:root {
  color-scheme: light dark;
  --paper: oklch(0.991 0.001 106.4);
  --ink: oklch(0.286 0.010 242.0);
  --jade: oklch(0.467 0.139 259.1);
  --muted: oklch(0.466 0.019 245.4);
  --line: oklch(0.907 0.008 241.7);
  --surface: oklch(0.966 0.003 247.9);
  --surface-raised: oklch(1 0 0);
  --surface-deep: oklch(0.944 0.009 247.9);
  --primary: oklch(0.467 0.139 259.1);
  --primary-hover: oklch(0.418 0.125 259.0);
  --on-primary: oklch(1 0 0);
  --focus: oklch(0.467 0.139 259.1);
  /* Warm mat behind course illustrations (their own paper colour), kept light in both schemes. */
  --frame-paper: oklch(0.939 0.016 95.2);
  --frame-ink: oklch(0.334 0.035 159.9);
  --figure-paper: oklch(1 0 0);
  /* App-preview panel echoes the App's own dark green surface. */
  --app-surface: oklch(0.324 0.044 162.3);
  --on-app-surface: oklch(0.958 0.016 121.8);
  --on-app-muted: oklch(0.788 0.033 146.7);
  --app-accent: oklch(0.762 0.055 149.2);
  --app-line: oklch(0.657 0.040 153.5 / 0.5);
  /* Phone mockup in the hero, drawn as hardware: same in both schemes. */
  --device-frame: oklch(0.713 0.034 91.1);
  --device-screen: oklch(0.240 0.017 163.1);
  --device-camera: oklch(0.214 0.019 164.9);
  --forest: oklch(0.264 0.031 174.3);
  --indicator-idle: oklch(0.822 0.022 134.1);
  --backdrop: oklch(0.206 0.025 167.8 / 0.72);
  --shadow-overlay: oklch(0 0 0 / 0.2);
  --shadow-soft: oklch(0.275 0.036 155.9 / 0.09);
  --shadow-faint: oklch(0.264 0.031 174.3 / 0.06);
  --serif: var(--sans);
  --radius-control: .25rem;
  --radius-panel: .5rem;
  --header-layer: 10;
  /* Type roles: four steps per view, each at least ~25% apart; fluid between phone and desktop. */
  --text-caption: .875rem;
  --text-small: .9375rem;
  --text-body: 1rem;
  --text-lead: 1.125rem;
  --text-title: clamp(1.25rem, 1.1rem + .5vw, 1.5rem);
  --text-heading: clamp(1.625rem, 1.3rem + 1.2vw, 2rem);
  --text-display: clamp(1.625rem, 1.1rem + 2.6vw, 2.75rem);
  --leading-display: 1.4;
  --leading-heading: 1.45;
  --leading-title: 1.5;
  --leading-body: 1.8;
  --space-section: clamp(4rem, 3rem + 3vw, 6rem);
}
html { scroll-padding-top: 6.5rem; }
body { font-size: var(--text-body); line-height: var(--leading-body); background: var(--paper); }
h1,h2,h3 { font-family: var(--sans); font-weight: 600; line-height: var(--leading-heading); text-wrap: balance; letter-spacing: 0; }
p { text-wrap: pretty; }
.wrap { width: min(77.5rem, calc(100% - 8rem)); }
a,button { transition: color 160ms ease, background 160ms ease, border-color 160ms ease, transform 160ms ease; }
button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible { outline: .125rem solid var(--focus); outline-offset: .3125rem; }
.button { background: var(--primary); border-color: var(--primary); color: var(--on-primary); min-height: 3.125rem; border-radius: var(--radius-control); font-size: var(--text-small); letter-spacing: 0; }
.button:hover { background: var(--primary-hover); border-color: var(--primary-hover); }
.button.outline { color: var(--ink); border-color: var(--line); }
.button.outline:hover { background: var(--surface-deep); border-color: var(--jade); }
@media (hover:hover) and (pointer:fine) {
  .button:hover { transform: translateY(-.0625rem); }
  .button:active { transform: translateY(.0625rem); }
}
.button.small { font-size: var(--text-caption); min-height: 2.625rem; padding-inline: 1.25rem; }
.button:disabled { transform: none; }
.text-link { font-size: var(--text-small); font-weight: 500; gap: 1rem; }
.text-link svg { width: 1.25rem; }
.section-index { font-size: var(--text-caption); letter-spacing: .05rem; }
.section-space { padding-block: var(--space-section); }
.section-heading { gap: 2rem; margin-bottom: 2rem; }
.section-heading h2 { font-size: var(--text-heading); line-height: var(--leading-heading); letter-spacing: 0; }
.section-heading p { font-size: var(--text-lead); line-height: 1.8; max-width: 42em; margin-top: 1rem; }
.site-header { height: 5.5rem; position: sticky; top: 0; z-index: var(--header-layer); border-bottom: .0625rem solid var(--line); background: var(--paper); }
.header-inner { gap: 1.5rem; }
.wordmark { font-size: 1.8125rem; letter-spacing: -.075rem; white-space: nowrap; }
.main-nav { gap: 2rem; margin-left: 0; }
.main-nav a,.main-nav button { font-size: var(--text-small); }
.main-nav a[aria-current] { color: var(--jade); }
.main-nav a[aria-current]::after { right: 0; background: var(--jade); }

/* Homepage: real teaching material, clear topic hierarchy and quieter surfaces. */
.hero { padding-block: 3rem 4.5rem; min-height: 0; grid-template-columns: 1.06fr 1fr; gap: 4.5rem; }
.hero h1 { font-size: var(--text-display); line-height: var(--leading-display); letter-spacing: 0; white-space: normal; }
.hero-copy { padding-bottom: 0; }
.hero-copy>p { font-size: var(--text-lead); line-height: 1.85; margin-top: 1.5rem; max-width: 32em; }
.hero-actions { margin-top: 2rem; gap: 1.5rem; }
.hero-actions>.button { font-size: var(--text-small); padding: 1rem 1.5rem; }
.hero-copy>.hero-footnote { font-size: var(--text-caption); margin-top: 1.25rem; }
.hero-visual { height: 29.375rem; }
.hero-photo { object-position: center 64%; }
.benefits-feature { display:grid; grid-template-columns:minmax(0,1.06fr) minmax(0,1fr); gap:4.5rem; padding-block:3rem; border-block:.0625rem solid var(--line); }
.benefits-feature-intro h2 { font-size:var(--text-heading); line-height:var(--leading-heading); margin-block:.75rem 1rem; }
.benefits-feature-intro>p:not(.section-index) { max-width:32em; color:var(--muted); }
.benefits-feature-intro>.text-link { margin-top:1.5rem; min-height:2.75rem; white-space:normal; }
.benefits-feature-points { margin:0; }
.benefits-feature-points>div { padding-block:1.25rem; border-bottom:.0625rem solid var(--line); }
.benefits-feature-points>div:first-child { padding-top:0; }
.benefits-feature-points>div:last-child { padding-bottom:0; border:0; }
.benefits-feature-points dt { font-size:var(--text-lead); font-weight:600; margin-bottom:.5rem; }
.benefits-feature-points dd { margin:0; color:var(--muted); }
@media(max-width:62.5em) {
  .benefits-feature { gap:2rem; }
}
@media(max-width:47.5em) {
  .benefits-feature { grid-template-columns:minmax(0,1fr); padding-block:2rem; }
  .benefits-feature-intro h2 br { display:none; }
}
.phone { width: 10.375rem; left: -2.125rem; bottom: -1.3125rem; box-shadow: 0 1.125rem 2.5rem var(--shadow-soft); }
.product { padding-top: .5rem; }
.product-intro { display: block; margin-bottom: 2.25rem; }
.product-intro h2 { font-size: var(--text-heading); line-height: var(--leading-heading); }
.product-intro>p { max-width: 45em; margin-top: 1.25rem; font-size: var(--text-lead); line-height: 1.85; }
.process-grid { grid-template-columns: 1.12fr 1fr; gap: 0 4.5rem; padding-block: 0; border: 0; }
.process-grid article,.process-grid article:first-child,.process-grid article:last-child { border: 0; padding: 1.75rem 0; }
.process-grid article:first-child { grid-row: span 2; padding-bottom: 0; }
.process-grid article+article { border-top: .0625rem solid var(--line); }
.process-grid article:first-child { border-top: .0625rem solid var(--line); }
.process-grid h3 { font-size: var(--text-title); }
.process-grid p { margin-top: 1rem; font-size: var(--text-small); line-height: 1.95; max-width: 35em; }
.process-grid .text-link { margin-top: .75rem; font-size: var(--text-caption); }
.process-preview { display: grid; grid-template-columns: repeat(3,1fr); gap: .5rem; margin: 1.5rem 0 1.25rem; background: var(--frame-paper); }
.process-preview img { height: 10.625rem; width: 100%; object-fit: contain; }
.practice-grid { grid-template-columns: 1.1fr 1fr; gap: 2rem 3.25rem; }
.practice-card:first-child { grid-row: span 2; }
.practice-card:first-child .practice-image { height: 21.25rem; }
.practice-card:first-child .practice-image img { object-position: center; }
.practice-card:not(:first-child) { display: grid; grid-template-columns: 9.875rem 1fr; gap: 0 1.5rem; align-content: start; }
.practice-card:not(:first-child) .practice-image { grid-row: span 4; height: 100%; min-height: 15.625rem; }
.practice-card:not(:first-child) .practice-title { margin-top: 0; }
.practice-card:not(:first-child) .practice-facts { display: none; }
.practice-card:not(:first-child)>.text-link { justify-self: start; margin-top: 0; }
.practice-title h3 { font-size: var(--text-heading); }
.practice-title>span { font-size: var(--text-caption); margin-top: .5rem; }
.practice-card>p { min-height: 0; font-size: var(--text-small); line-height: 1.95; margin: 1rem 0 1.25rem; }
.practice-facts { font-size: var(--text-caption); }
.practice-facts dt { font-size: var(--text-caption); }
.practice-card>.text-link { font-size: var(--text-caption); border-color: transparent; }
.practice-image { border-radius: 0; background: var(--surface); }
.practice-image::after { display: none; }
.source-note { font-size: var(--text-caption); line-height: 1.9; }
.selection { padding-bottom: 5rem; }
.selection-table { font-size: var(--text-small); }
.selection-table thead { background: var(--surface); }
.selection-table th,.selection-table td { padding: 1.25rem; }
.selection-table a,.selection-table button { font-size: var(--text-caption); }
.selection-bottom p { font-size: var(--text-small); }
.selection-bottom .text-link { font-size: var(--text-caption); }
.experience { background: var(--surface); color: var(--ink); padding-block: 4.5rem; }
.experience-inner { grid-template-columns: 1fr 1.03fr; gap: 5.75rem; }
.experience h2,.foundation h2 { font-size: var(--text-heading); line-height: var(--leading-heading); }
.experience .section-index { color: var(--jade); font-size: var(--text-caption); }
.experience .section-intro { font-family: var(--sans); font-size: var(--text-small); line-height: 2; color: var(--muted); max-width: 29em; }
.tabs { border-bottom-color: var(--line); }
.tabs button { font-size: var(--text-small); color: var(--muted); padding-block: 1rem; }
.tabs button[aria-selected=true] { color: var(--ink); border-bottom-color: var(--jade); }
.tabs button:hover { color: var(--ink); }
.experience #teaching-panel { font-size: var(--text-small); color: var(--muted); min-height: 7.1875rem; }
.text-link.light { color: var(--ink); font-size: var(--text-small); border-color: var(--line); }
.teaching-note { font-size: var(--text-caption); color: var(--muted); line-height: 1.9; margin-top: 1.25rem; }
.teaching-frame { border-radius: var(--radius-panel); background: var(--frame-paper); color: var(--frame-ink); padding: 1.5rem; }
.teaching-caption { font-size: var(--text-caption); letter-spacing: 0; }
.teaching-frame>img { height: 24.375rem; }
.lesson-open { background: var(--primary); color: var(--on-primary); border-radius: var(--radius-control); font-size: var(--text-small); padding-block: 1rem; }
.lesson-open:hover { background: var(--primary-hover); }
.foundation { gap: 5.75rem; }
.foundation .section-intro { font-size: var(--text-body); max-width: 27em; }
.record-rules dt,.record-rules dd { font-size: var(--text-small); }
.record-rules>div { border: 0; padding-block: .5rem; }
.record-rules>div+div { margin-top: .1875rem; }
.foundation-copy>.text-link { font-size: var(--text-small); }
.foundation-panel { border-radius: var(--radius-panel); padding: 2.25rem 2.5rem; color: var(--on-app-surface); background: var(--app-surface); }
.foundation-panel-head { font-size: var(--text-lead); }
.example-label { font-size: var(--text-caption); }
.day-count span { font-size: var(--text-caption); }
.foundation-panel-foot { font-size: var(--text-caption); }
.guides .section-heading p { font-size: var(--text-small); }
.article-list { border: 0; }
.article-row { padding-block: 1.75rem; gap: 1.75rem; border-bottom: .0625rem solid var(--line); }
.article-row:hover { padding-left: 0; padding-right: 0; }
.article-row>img { width: 9.375rem; height: 7.1875rem; }
.article-type { font-size: var(--text-caption); letter-spacing: .0125rem; }
.article-copy strong { font-size: var(--text-title); line-height: var(--leading-title); }
.article-copy>span:last-child { font-size: var(--text-small); line-height: 1.95; max-width: 48em; }
.preparation { gap: 5.25rem; }
.preparation h2 { font-size: var(--text-heading); }
.preparation>div>p { font-size: var(--text-small); max-width: 28em; }
.preparation-list strong { font-size: var(--text-body); }
.preparation-list p { font-size: var(--text-small); }
.preparation-list li { padding-left: 0; }
.preparation-list li::before { display: none; }
.evidence { background: var(--surface); padding-block: 4rem; }
.evidence .section-heading h2 { font-size: var(--text-heading); }
.evidence-grid { gap: 3.75rem; }
.evidence-grid article { border: 0; padding-top: .5rem; }
.evidence-meta { font-size: var(--text-caption); letter-spacing: 0; }
.evidence h3 { font-size: var(--text-title); }
.evidence article>p { font-size: var(--text-small); }
.evidence article>.text-link { font-size: var(--text-caption); }
.evidence-footer { border-color: var(--line); font-size: var(--text-caption); }
.faq { gap: 5rem; }
.faq h2 { font-size: var(--text-heading); }
.faq summary { font-size: var(--text-lead); padding-block: 1.5rem; }
.faq details>p { font-size: var(--text-small); }
.closing { background: var(--surface); color: var(--ink); min-height: 16.5625rem; }
.closing>img,.closing::after { display: none; }
.closing-inner { padding-block: 3.5rem; }
.closing h2 { font-size: var(--text-display); }
.closing p { color: var(--muted); font-size: var(--text-small); }
.closing .button.ivory { background: var(--primary); color: var(--on-primary); border-color: var(--primary); }
.site-footer { padding-block: 2.75rem 2rem; gap: 1.75rem; }
.site-footer p,.site-footer nav { font-size: var(--text-caption); }
.footer-note p { font-size: var(--text-caption); }

/* Theme center and searchable article collection. */
.topic-hub .breadcrumbs,.topic-archive .breadcrumbs { padding-block: 1.5rem 2rem; }
.breadcrumbs { font-size: var(--text-caption); }
.topic-masthead { grid-template-columns: .9fr 1.12fr; gap: 4rem; padding: .75rem 0 2.5rem; }
.topic-masthead h1 { font-size: var(--text-display); line-height: var(--leading-display); letter-spacing: 0; }
.topic-masthead .section-index { font-size: var(--text-caption); letter-spacing: .0375rem; margin-bottom: 1.5rem; }
.topic-lead { font-size: var(--text-lead); line-height: 1.95; margin-top: 1.75rem; max-width: 29em; }
.topic-landscape img { height: 20rem; }
.topic-landscape figcaption { font-size: var(--text-caption); margin-top: .75rem; }
.topic-masthead-actions .button { font-size: var(--text-small); min-height: 3.125rem; }
.topic-masthead-actions .text-link { font-size: var(--text-caption); }
.topic-update { font-size: var(--text-caption); }
.topic-jump-nav { border-top: 0; padding: 1.25rem 0; font-size: var(--text-small); gap: 2rem; }
.topic-intro { display: block; max-width: 45rem; padding: 2.5rem 0 1.25rem; }
.topic-intro h2 { font-size: var(--text-heading); }
.topic-intro-body { font-size: var(--text-lead); line-height: 1.85; margin-top: 1.25rem; }
.topic-intro-body .source-note { font-size: var(--text-caption); margin-top: 1.25rem; }
.topic-section { padding-block: 2rem; }
.topic-section .section-heading h2 { font-size: var(--text-heading); }
.topic-section .section-heading p { font-size: var(--text-small); }
.topic-section .section-heading>.text-link { font-size: var(--text-caption); }
.topic-path { grid-template-columns: 1.1fr 1fr; border: 0; gap: 0 3.5rem; }
.topic-path li,.topic-path li:first-child,.topic-path li:last-child { border: 0; padding: 1.5rem 0; display: block; }
.topic-path li:first-child { grid-row: span 2; background: var(--surface); padding: 2rem; border-radius: var(--radius-panel); }
.topic-path li+li { border-top: .0625rem solid var(--line); }
.topic-path h3 { font-size: var(--text-title); }
.topic-path li:first-child h3 { font-size: var(--text-title); }
.topic-path p { font-size: var(--text-small); line-height: 1.95; }
.topic-path .text-link { font-size: var(--text-caption); margin-top: 1.25rem; }
.topic-feature-grid { grid-template-columns: 1.15fr 1fr; gap: 1.75rem; }
.topic-feature { border-radius: var(--radius-panel); padding: 2rem 2.25rem; }
.feature-forms { background: var(--surface); color: var(--ink); }
.feature-styles { background: var(--surface-raised); border: .0625rem solid var(--line); }
.feature-symbol { font-size: var(--text-display); line-height: var(--leading-display); font-family:var(--sans); font-weight:600; color:var(--ink); margin-bottom:1.25rem; }
.feature-styles .feature-symbol { font-size: var(--text-heading); letter-spacing: 0; color: var(--jade); min-height: 6.125rem; }
.topic-feature .section-index { font-size: var(--text-caption); letter-spacing: 0; color: var(--jade); }
.topic-feature h3 { font-size: var(--text-title); line-height: var(--leading-title); }
.topic-feature p,.feature-forms p { font-size: var(--text-lead); color:var(--muted); line-height:1.8; }
.topic-feature .text-link { font-size: var(--text-caption); }
.topic-library-layout { grid-template-columns: 15.3125rem minmax(0,1fr); gap: 4rem; }
.topic-categories { border-top: 0; }
.topic-categories a { padding: 1.25rem 0; font-size: var(--text-small); border-bottom-color: var(--line); }
.topic-categories small { font-size: var(--text-caption); line-height: 1.9; }
.topic-categories a>span:nth-child(2) { font-size: var(--text-small); }
.topic-story { padding: 1.5rem 0; border: 0; }
.topic-story-meta { font-size: var(--text-caption); gap: .5rem 1rem; }
.topic-story h3 { font-size: var(--text-title); line-height: var(--leading-title); }
.topic-story p { font-size: var(--text-lead); line-height: 1.8; margin-top: .75rem; }
.topic-story-link { align-items: flex-start; }
.topic-story-link>svg { margin-top: .75rem; }
.topic-stories { border-top-color: var(--line); }
.topic-faq { padding-block: 2.75rem; }
.topic-faq h2 { font-size: var(--text-heading); }
.topic-product-note { border-color: var(--line); padding-block: 2rem; gap: 3.25rem; }
.topic-product-note .section-index { display: none; }
.topic-product-note h2 { font-size: var(--text-title); }
.topic-product-note p { font-size: var(--text-small); line-height: 1.95; }
.topic-product-note>.button { font-size: var(--text-small); }
.topic-source-strip { font-size: var(--text-caption); padding-block: 1.75rem 2.5rem; }
.archive-header { max-width: 53.125rem; padding-block: 1rem 1.75rem; }
.archive-header h1 { font-size: var(--text-heading); }
.archive-header>p { font-size: var(--text-body); }
.archive-header>.text-link { font-size: var(--text-caption); }
.archive-layout { display: block; margin-top: .25rem; }
.archive-categories { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; border-top: 0; border-bottom: .0625rem solid var(--line); padding: 0 0 1.25rem; }
.archive-categories .section-index { display: none; }
.archive-categories a { border: 0; border-radius: var(--radius-control); gap: 1.25rem; padding: .75rem 1rem; font-size: var(--text-small); }
.archive-categories a>span { font-size: var(--text-caption); }
.archive-categories a[aria-current=true] { background: var(--primary); color: var(--on-primary); }
.archive-categories a[aria-current=true]>span { color: inherit; }
.archive-tools { border: 0; padding-top: 1.75rem; gap: 1.5rem; }
.archive-tools label { font-size: var(--text-caption); }
.article-search input,.article-sort select { background: var(--surface-raised); color: var(--ink); border-color: var(--line); min-height: 3.125rem; border-radius: var(--radius-control); font-size: var(--text-small); padding: .75rem 1rem; }
.archive-submit { min-height: 3.125rem; border-color: var(--line); border-radius: var(--radius-control); font-size: var(--text-small); padding-inline: 1.5rem; }
.archive-submit:hover { background: var(--surface-deep); }
.article-results { font-size: var(--text-caption); margin: 1.5rem 0 .25rem; }
.archive-content .topic-stories { display: block; max-width: 52.5rem; border-top: 0; }
.archive-content .topic-story { padding: 2rem 0; border-bottom: .0625rem solid var(--line); }
.archive-content .topic-story h3 { font-size: var(--text-title); }
.article-empty { padding-block: 2.75rem; }
.article-empty p { font-size: var(--text-small); }

/* Long-form reading: narrower measure, larger body and usable contents. */
.reading-page { max-width: 70rem; }
.article-header { margin-left: 17rem; margin-bottom: 2rem; max-width: 42.5rem; }
.article-header h1,.topic-reading .article-header h1 { font-size: var(--text-heading); line-height: var(--leading-heading); letter-spacing: 0; max-width: 20em; }
.article-header .section-index { font-size: var(--text-caption); }
.article-lead { font-size: var(--text-lead); line-height: 1.85; margin-top: 1.5rem; max-width: 38em; }
.article-byline,.article-topic-byline { font-size: var(--text-small); margin-top: 1.5rem; }
.reading-layout { grid-template-columns: 12.8125rem minmax(0,1fr); gap: 4rem; }
.reading-body { font-size: var(--text-lead); line-height: 1.9; max-width: 42.5rem; }
.reading-body h2 { font-size: var(--text-title); line-height: var(--leading-title); margin-bottom: 1.25rem; }
.reading-body h3 { font-size: var(--text-lead); }
.reading-body>section { margin-top: 2.25rem; }
.reading-body .quick-answer { background: var(--surface); border-radius: var(--radius-panel); padding: 1.5rem 1.75rem; }
.quick-answer>strong { font-size: var(--text-caption); letter-spacing: .0187rem; color: var(--jade); font-weight: 600; }
.quick-answer>p { margin-top: .5rem; }
.article-toc { top: 7.25rem; font-size: var(--text-small); line-height: 1.8; border-top: 0; padding-top: 0; }
.article-toc>p { font-size: var(--text-small); margin-bottom: 1rem; font-weight: 600; }
.article-toc a { border-radius: var(--radius-control); padding: .5rem .75rem; margin-inline: -.75rem; color: var(--muted); }
.article-toc a[aria-current=location] { color: var(--jade); font-weight: 600; background: var(--surface); }
.toc-toggle { display: none; }
.toc-links { display: contents; }
.article-sources { font-size: var(--text-caption); padding-top: 2rem; }
.article-sources li[id] { scroll-margin-block-start: 8rem; }
.topic-reading .article-sources li>p { font-size: var(--text-caption); }
.reading-body .selection-table { font-size: var(--text-caption); }
.related-reading a { font-size: var(--text-small); }
.article-related .topic-story h3 { font-size: var(--text-title); }
.article-related .topic-story p { font-size: var(--text-small); }
.article-sources h2 { font-size: var(--text-title); }
.article-steps figcaption { font-size: var(--text-caption); }
.study-meta span { font-size: var(--text-caption); border-radius: .1875rem; }
.research-details { font-size: var(--text-small); }
.research-details dt { font-size: var(--text-caption); }
.dialog-title { font-size: var(--text-heading); }
.dialog-lead,.dialog-body { font-size: var(--text-small); }
.dialog-notice { font-size: var(--text-caption); }
.lesson-copy>p { font-size: var(--text-small); }
.lesson-note { font-size: var(--text-caption)!important; }
.flow-list p { font-size: var(--text-small); }
@media(prefers-color-scheme:dark) {
  :root { --paper:oklch(0.225 0.009 255.6); --ink:oklch(0.954 0.005 247.9); --jade:oklch(0.808 0.097 258.7); --muted:oklch(0.814 0.017 253.9); --line:oklch(0.396 0.017 258.4); --surface:oklch(0.274 0.013 253.0); --surface-raised:oklch(0.262 0.013 253.1); --surface-deep:oklch(0.341 0.023 253.6); --primary:oklch(0.808 0.097 258.7); --primary-hover:oklch(0.864 0.067 258.9); --on-primary:oklch(0.251 0.046 259.1); --focus:oklch(0.808 0.097 258.7); --frame-paper:oklch(0.923 0.019 96.9); }
  .button.outline:hover { background:var(--surface-deep); border-color:var(--jade); }
  .hero-photo,.practice-image img,.topic-landscape img { filter:brightness(.86); }
  .comparison td,.comparison th { border-color:var(--line); }
  .dialog-close { background:var(--surface); }
  .article-search input::placeholder { color:var(--muted); }
  .practice-image.instructor img { filter:none; }
}
@media(max-width:68.75em) {
  .wrap { width:calc(100% - 4.5rem); }
  .hero { gap:2.5rem; padding-block:2.25rem 4rem; }
  .hero-copy>p { font-size:var(--text-lead); }
  .hero-visual { height:30.625rem; }
  .hero-actions { gap:1rem; flex-wrap:wrap; }
  .hero-actions>.button { font-size:var(--text-caption); padding-inline:1.25rem; }
  .phone { width:9.0625rem; left:-1.5rem; }
  .main-nav { gap:1.5rem; }
  .process-grid { gap:0 2.5rem; }
  .process-preview img { height:9.0625rem; }
  .practice-grid { gap:1.75rem 2rem; grid-template-columns:1fr 1fr; }
  .practice-card:not(:first-child) { grid-template-columns:7.1875rem 1fr; gap:0 1.25rem; }
  .practice-title h3 { font-size:var(--text-title); }
  .practice-card>p { font-size:var(--text-small); }
  .experience-inner,.foundation { gap:2.75rem; }
  .topic-masthead { gap:2.5rem; }
  .topic-masthead h1 { font-size:var(--text-display); }
  .topic-landscape img { height:21.5625rem; }
  .topic-path { gap:0 2.25rem; }
  .feature-styles .feature-symbol { font-size:var(--text-title); }
  .topic-library-layout { grid-template-columns:13.125rem minmax(0,1fr); gap:2.5rem; }
  .archive-content .topic-stories { column-gap:2.5rem; }
  .article-header { margin-left:13.75rem; }
  .reading-layout { grid-template-columns:11.25rem minmax(0,1fr); gap:2.5rem; }
  .article-header h1,.topic-reading .article-header h1 { font-size:var(--text-heading); }
  .reading-body { font-size:var(--text-lead); }
}
@media(max-width:47.5em) {
  html { scroll-padding-top:5.75rem; }
  .wrap { width:calc(100% - 2.5rem); }
  .site-header { height:4.75rem; position:sticky; z-index:var(--header-layer); }
  .wordmark { font-size:1.6875rem; }
  .main-nav { top:4.75rem; background:var(--paper); box-shadow:0 .9375rem 1.5625rem var(--shadow-faint); }
  .main-nav a,.main-nav button { font-size:var(--text-body); }
  .nav-actions .small { font-size:var(--text-caption); min-height:2.375rem; padding-inline:.75rem; }
  .section-heading { margin-bottom:1.5rem; }
  .section-heading h2 { font-size:var(--text-heading); line-height:var(--leading-heading); }
  .section-heading p { font-size:var(--text-small); margin-top:1rem; }
  .section-index { font-size:var(--text-caption); letter-spacing:.0312rem; }
  .hero { grid-template-columns:1fr; padding-block:1.75rem 2.75rem; gap:2rem; }
  .hero-copy>p { font-size:var(--text-lead); line-height:1.85; margin-top:1.25rem; }
  .hero-actions { margin-top:1.5rem; gap:1.25rem; }
  .hero-actions>.button { padding:.75rem 1.25rem; font-size:var(--text-caption); }
  .hero-actions .text-link { font-size:var(--text-caption); }
  .hero-copy>.hero-footnote { font-size:var(--text-caption); margin-top:1rem; }
  .hero-visual { height:25rem; }
  .phone { width:7.875rem; left:-1.75rem; bottom:-.8125rem; }
  .product-intro h2 { font-size:var(--text-heading); }
  .product-intro>p { font-size:var(--text-small); margin-top:1rem; }
  .process-grid { grid-template-columns:1fr; gap:0; }
  .process-grid article,.process-grid article:first-child,.process-grid article:last-child { padding-block:1.5rem; }
  .process-grid article:first-child { grid-row:auto; }
  .process-preview img { height:9.0625rem; }
  .process-grid h3 { font-size:var(--text-title); }
  .process-grid p { font-size:var(--text-small); }
  .process-grid .text-link { font-size:var(--text-caption); }
  .practice-grid { grid-template-columns:1fr; gap:2rem; }
  .practice-card:first-child { grid-row:auto; }
  .practice-card:first-child .practice-image { height:18.75rem; }
  .practice-card:not(:first-child) { display:block; }
  .practice-card:not(:first-child) .practice-image { height:14.375rem; min-height:0; }
  .practice-card:not(:first-child) .practice-title { margin-top:1.25rem; }
  .practice-title h3 { font-size:var(--text-heading); }
  .practice-card>p { font-size:var(--text-small); }
  .practice-facts { font-size:var(--text-caption); }
  .practice-facts dt { font-size:var(--text-caption); }
  .source-note { font-size:var(--text-caption); }
  .selection { padding-bottom:3.25rem; }
  .selection-table { font-size:var(--text-caption); }
  .selection-bottom p { font-size:var(--text-caption); }
  .experience { padding-block:3rem; }
  .experience-inner,.foundation { grid-template-columns:1fr; gap:2rem; }
  .experience h2,.foundation h2 { font-size:var(--text-heading); }
  .experience .section-intro { font-size:var(--text-small); line-height:1.95; }
  .experience .tabs { gap:1.75rem; }
  .tabs button { font-size:var(--text-small); }
  .experience #teaching-panel { font-size:var(--text-small); min-height:7rem; }
  .teaching-frame { padding:1.25rem; }
  .teaching-frame>img { height:20.625rem; }
  .teaching-caption { font-size:var(--text-caption); }
  .lesson-open { font-size:var(--text-caption); }
  .teaching-note { font-size:var(--text-caption); }
  .foundation .section-intro { font-size:var(--text-small); }
  .record-rules dt,.record-rules dd { font-size:var(--text-small); }
  .foundation-panel { padding:1.75rem; }
  .foundation-panel-head { font-size:var(--text-body); }
  .day-count span { font-size:var(--text-caption); }
  .foundation-panel-foot { font-size:var(--text-caption); gap:1rem; }
  .guides .section-heading p { font-size:var(--text-small); }
  .article-row { gap:1rem; padding-block:1.5rem; }
  .article-row>img { width:4.375rem; height:5.9375rem; }
  .article-copy strong { font-size:var(--text-title); }
  .article-type { font-size:var(--text-caption); }
  .article-copy>span:last-child { font-size:var(--text-caption); line-height:1.9; }
  .preparation { grid-template-columns:1fr; gap:1.75rem; }
  .preparation h2 { font-size:var(--text-heading); }
  .preparation>div>p { font-size:var(--text-small); }
  .preparation-list strong { font-size:var(--text-small); }
  .preparation-list p { font-size:var(--text-small); }
  .evidence { padding-block:3rem; }
  .evidence .section-heading h2 { font-size:var(--text-heading); }
  .evidence-grid { grid-template-columns:1fr; gap:2rem; }
  .evidence-meta { font-size:var(--text-caption); }
  .evidence h3 { font-size:var(--text-title); }
  .evidence article>p { font-size:var(--text-small); }
  .evidence-footer { font-size:var(--text-caption); }
  .faq { grid-template-columns:1fr; gap:1.5rem; }
  .faq h2 { font-size:var(--text-heading); }
  .faq summary { font-size:var(--text-lead); }
  .faq details>p { font-size:var(--text-small); }
  .closing h2 { font-size:var(--text-heading); }
  .closing p { font-size:var(--text-small); max-width:22em; }
  .site-footer { gap:1.5rem; }
  .site-footer nav,.site-footer p { font-size:var(--text-caption); }
  .footer-note p { font-size:var(--text-caption); }
  .breadcrumbs { font-size:var(--text-caption); flex-wrap:wrap; }
  .topic-hub .breadcrumbs,.topic-archive .breadcrumbs { font-size:var(--text-caption); padding-block:1rem 1.75rem; }
  .topic-masthead { grid-template-columns:1fr; gap:1.75rem; padding-top:0; }
  .topic-masthead h1 { font-size:var(--text-display); }
  .topic-masthead .section-index { font-size:var(--text-caption); margin-bottom:1.25rem; }
  .topic-lead { font-size:var(--text-lead); margin-top:1.25rem; }
  .topic-masthead-actions { gap:1rem; flex-wrap:wrap; }
  .topic-masthead-actions .button { font-size:var(--text-caption); padding-inline:1rem; }
  .topic-masthead-actions .text-link { font-size:var(--text-caption); }
  .topic-update { font-size:var(--text-caption); }
  .topic-landscape img { height:14.6875rem; }
  .topic-landscape figcaption { font-size:var(--text-caption); }
  .topic-jump-nav { gap:.75rem 1.5rem; font-size:var(--text-caption); padding-block:1rem; }
  .topic-intro { padding-top:2.25rem; }
  .topic-intro h2 { font-size:var(--text-heading); }
  .topic-intro-body { font-size:var(--text-lead); margin-top:1rem; }
  .topic-section { padding-block:1.75rem; }
  .topic-section .section-heading h2 { font-size:var(--text-heading); }
  .topic-section .section-heading p { font-size:var(--text-small); }
  .topic-path { grid-template-columns:1fr; gap:0; }
  .topic-path li:first-child { grid-row:auto; padding:1.75rem; margin-bottom:1.25rem; }
  .topic-path li,.topic-path li:last-child { padding-block:1.5rem; }
  .topic-path h3,.topic-path li:first-child h3 { font-size:var(--text-title); }
  .topic-path p { font-size:var(--text-small); }
  .topic-feature-grid { grid-template-columns:1fr; gap:1.25rem; }
  .topic-feature { padding:1.75rem; }
  .feature-symbol { font-size:var(--text-display); }
  .feature-styles .feature-symbol { font-size:var(--text-title); min-height:3.125rem; }
  .topic-feature h3 { font-size:var(--text-title); }
  .topic-feature p { font-size:var(--text-body); }
  .topic-library-layout { grid-template-columns:1fr; gap:1.5rem; }
  .topic-categories { gap:0 1.5rem; }
  .topic-categories a { font-size:var(--text-small); }
  .topic-categories small { font-size:var(--text-caption); }
  .topic-story h3 { font-size:var(--text-title); }
  .topic-story-meta { font-size:var(--text-caption); }
  .topic-story p { font-size:var(--text-body); }
  .topic-faq { padding-block:2rem; }
  .topic-product-note { display:block; }
  .topic-product-note h2 { font-size:var(--text-title); }
  .topic-product-note p { font-size:var(--text-small); }
  .topic-product-note>.button { font-size:var(--text-caption); }
  .topic-source-strip { font-size:var(--text-caption); }
  .archive-header h1 { font-size:var(--text-heading); }
  .archive-header>p { font-size:var(--text-small); }
  .archive-categories { gap:.5rem; padding-bottom:1.25rem; }
  .archive-categories a { font-size:var(--text-caption); padding:.5rem .75rem; gap:.75rem; }
  .archive-categories a>span { font-size:var(--text-caption); }
  .archive-tools { display:grid; gap:1rem; padding-top:1.5rem; }
  .article-search input,.article-sort select { font-size:var(--text-body); }
  .archive-content .topic-stories { grid-template-columns:1fr; }
  .archive-content .topic-story { padding-block:1.5rem; }
  .archive-content .topic-story h3 { font-size:var(--text-title); }
  .article-results { font-size:var(--text-caption); }
  .article-header,.topic-reading .article-header { margin-left:0; margin-bottom:1.75rem; }
  .article-header h1,.topic-reading .article-header h1 { font-size:var(--text-heading); line-height:var(--leading-heading); }
  .article-lead { font-size:var(--text-body); line-height:1.95; }
  .article-byline,.article-topic-byline { font-size:var(--text-caption); }
  .reading-layout { grid-template-columns:1fr; gap:1.75rem; }
  .reading-body { font-size:var(--text-lead); line-height:1.9; }
  .reading-body h2 { font-size:var(--text-title); }
  .reading-body h3 { font-size:var(--text-lead); }
  .reading-body .quick-answer { font-size:var(--text-small); padding:1.25rem 1.5rem; }
  .article-toc { display:block; border-block:.0625rem solid var(--line); padding:0; position:static; }
  .article-toc.has-toggle>p { display:none; }
  .toc-toggle { display:flex; align-items:center; justify-content:space-between; width:100%; padding-block:1rem; min-height:3.125rem; font-size:var(--text-small); }
  .toc-toggle svg { width:1.0625rem; transform:rotate(180deg); }
  .toc-toggle[aria-expanded=false] svg { transform:none; }
  .toc-links { display:block; padding-bottom:1rem; }
  .toc-links[hidden] { display:none; }
  .article-toc a { font-size:var(--text-caption); padding-block:.5rem; }
  .article-toc .toc-return { margin-top:.25rem; padding-top:.5rem; }
  .reading-body .selection-table { font-size:var(--text-caption); }
  .movement-list { font-size:var(--text-small); }
  .article-sources { font-size:var(--text-caption); }
  .topic-reading .article-sources li>p { font-size:var(--text-caption); }
  .topic-reading .article-related .topic-story h3 { font-size:var(--text-title); }
  .topic-reading .article-related .topic-story p { font-size:var(--text-small); }
  .article-steps figcaption { font-size:var(--text-caption); }
  .research-details { font-size:var(--text-small); }
  .research-details dt { font-size:var(--text-caption); }
  dialog { border-radius:var(--radius-panel); padding:3rem 1.5rem 1.75rem; }
  .dialog-title,.lesson-copy .dialog-title { font-size:var(--text-heading); }
  .dialog-body,.dialog-lead,.lesson-copy>p { font-size:var(--text-small); }
}
@media(max-width:22.5em) {
  .hero-actions { gap:1rem; }
  .hero-actions>.button { font-size:var(--text-caption); padding-inline:1rem; gap:.75rem; }
  .hero-actions .text-link { font-size:var(--text-caption); }
  .hero-visual { height:22.5rem; }
  .phone { width:7.1875rem; }
  .topic-masthead h1 { font-size:var(--text-display); }
  .topic-landscape img { height:13.125rem; }
  .topic-masthead-actions { gap:.75rem; }
  .topic-masthead-actions .button { font-size:var(--text-caption); padding-inline:.75rem; }
  .topic-masthead-actions .text-link { font-size:var(--text-caption); }
  .article-row>img { width:3.4375rem; }
  .feature-styles .feature-symbol { font-size:var(--text-title); }
  .article-header h1,.topic-reading .article-header h1 { font-size:var(--text-heading); }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none!important; transition:none!important; }
}

/* Readability takes precedence over publication-style decoration. */
.reading-body .reference-table { min-width:0; width:100%; table-layout:fixed; font-size:var(--text-small); }
.reading-body .reference-table th,.reading-body .reference-table td { padding:.75rem .5rem; vertical-align:top; }
.reading-body .reference-table a { font-size:inherit; }
.reading-body .reference-table tr[id] { scroll-margin-top:7rem; }
.reading-page .reading-contents { min-width:0; }
.reading-page .reading-contents>summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:2.75rem; padding-block:.5rem; font-size:var(--text-small); cursor:pointer; list-style:none; }
.reading-page .reading-contents>summary::-webkit-details-marker { display:none; }
.reading-page .reading-contents>summary svg { width:1rem; height:1rem; flex:none; }
.reading-page .reading-contents[open]>summary svg { transform:rotate(180deg); }
.reading-page .reading-contents:not([open]) .toc-links { display:none; }
.reading-page .reading-contents .toc-links { display:block; padding:0; max-height:calc(100dvh - 12rem); overflow-y:auto; overscroll-behavior:contain; }
.reading-page .reading-contents a { display:block; min-height:2.75rem; overflow-wrap:anywhere; }
.reading-page .reading-related { border-top:.0625rem solid var(--line); padding-top:2rem; margin-top:3rem; }
.reading-page .reading-related h2 { font-size:var(--text-title); margin:0 0 1rem; }
.reading-page .reading-related-list { list-style:none; padding:0; margin:0; }
.reading-page .reading-related-list li { margin:0; }
.reading-page .reading-related-list a { display:block; min-height:2.75rem; padding-block:.75rem; font-size:var(--text-body); line-height:1.8; overflow-wrap:anywhere; }
.reading-page .reading-footer { margin-top:1.5rem; }
.reading-page .reading-footer a { display:inline-block; min-height:2.75rem; padding-block:.5rem; font-size:var(--text-small); overflow-wrap:anywhere; }
.reading-page .article-sources a { overflow-wrap:anywhere; }
.reading-page .reading-body>section,.reading-page .article-sources [id] { scroll-margin-top:7rem; }
@media(max-width:47.5em) {
 .reading-page .reading-contents>summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:3.25rem; padding-block:1rem; font-size:var(--text-small); cursor:pointer; list-style:none; }
 .reading-page .reading-contents>summary::-webkit-details-marker { display:none; }
 .reading-page .reading-contents>summary svg { width:1rem; height:1rem; flex:none; }
 .reading-page .reading-contents[open]>summary svg { transform:rotate(180deg); }
 .reading-page .reading-contents .toc-links { max-height:none; overflow:visible; padding-bottom:1rem; }
 .reading-page .reading-contents:not([open]) .toc-links { display:none; }
 .reading-page .reading-contents a { margin-inline:0; padding-inline:0; }
 .reading-page .reading-related { padding-top:1.5rem; margin-top:2.5rem; }
}
.reading-body a:not(.button) { text-decoration-thickness:.0625rem; text-underline-offset:.1875rem; }
.reading-body .selection-table { font-size:var(--text-small); line-height:1.8; }
.reading-body .quick-answer { border-radius:var(--radius-panel); background:var(--surface); }
.quick-answer>strong { font-size:var(--text-small); }
.article-sources { font-size:var(--text-small); line-height:1.85; }
.topic-reading .article-sources li>p { font-size:var(--text-small); }
.research-details { font-size:var(--text-lead); line-height:1.85; }
.research-details dt { font-size:var(--text-small); }
.reading-body ul,.reading-body ol { margin-block:1.25rem; }
.reading-body li { margin-block:.75rem; }
.article-related .topic-story p,.topic-reading .article-related .topic-story p { font-size:var(--text-body); }
.topic-story-meta { font-size:var(--text-caption); }
.topic-categories small { font-size:var(--text-small); }
.topic-jump-nav { font-size:var(--text-small); }
.topic-path { display:block; max-width:53.125rem; }
.topic-path li,.topic-path li:first-child,.topic-path li:last-child { background:none; border:0; border-bottom:.0625rem solid var(--line); padding:1.5rem 0; margin:0; border-radius:0; }
.topic-path a { display:block; }
.topic-path p { font-size:var(--text-lead); margin-top:.75rem; max-width:40em; }
.topic-path .text-link { margin-top:.75rem; }
.topic-feature-grid { grid-template-columns:1fr 1fr; }
.feature-styles .feature-symbol { font-family:var(--sans); font-size:var(--text-title); min-height:3.3125rem; color:var(--ink); }
.topic-product-note h2 { font-size:var(--text-title); }
.topic-product-note p { font-size:var(--text-body); }
.topic-update,.topic-landscape figcaption { font-size:var(--text-caption); }
@media(max-width:47.5em){
 .article-lead { font-size:var(--text-lead); line-height:1.85; }
 .article-byline,.article-topic-byline { font-size:var(--text-caption); line-height:1.8; }
 .reading-body h2 { font-size:var(--text-title); line-height:var(--leading-title); }
 .reading-body .quick-answer { font-size:var(--text-lead); }
 .reading-body .selection-table { font-size:var(--text-small); }
 .article-sources { font-size:var(--text-small); }
 .topic-reading .article-sources li>p { font-size:var(--text-caption); }
 .toc-toggle,.article-toc a { font-size:var(--text-small); }
 .toc-links { padding-block:0 1rem; }
 .topic-feature-grid { grid-template-columns:1fr; }
 .topic-path p { font-size:var(--text-body); }
 .topic-path h3,.topic-path li:first-child h3 { font-size:var(--text-title); }
 .topic-story h3,.archive-content .topic-story h3 { font-size:var(--text-title); }
 .topic-story-meta { font-size:var(--text-caption); }
 .topic-product-note p { font-size:var(--text-body); }
 .topic-jump-nav { font-size:var(--text-small); }
 .topic-update,.topic-landscape figcaption { font-size:var(--text-caption); }
}

/* Homepage teaching examples and topic directory. */
.site-header { height:4.75rem; }
.header-inner { justify-content:space-between; }
.main-nav { margin-left:auto; }
.nav-actions:has(>.menu-toggle:only-child) { margin-left:0; }
/* Language switch sits beside the menu button and stays quieter than the main navigation. */
.lang-switch { display:inline-flex; align-items:center; min-height:2.75rem; font-size:var(--text-small); color:var(--muted); }
.lang-switch:hover { color:var(--ink); }
.page-placeholder .nav-actions { margin-left:auto; }
.placeholder-main { max-width:40rem; padding-block:5rem 7rem; }
.placeholder-main h1 { font-family:var(--serif); font-size:clamp(2rem,5vw,3rem); line-height:1.2; margin-block:.75rem 1.25rem; }
.placeholder-lead { font-size:var(--text-lead); line-height:1.8; color:var(--muted); margin-bottom:2rem; }
.page-home .hero-actions { margin-top:1.75rem; }
.page-home .phone { pointer-events:none; }
.page-home .process-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:2.5rem; padding-bottom:3.5rem; }
.page-home .process-grid article:first-child { grid-row:auto; }
.page-home .process-grid article { padding-block:1.5rem 0; }
.page-home .process-grid h3 { font-size:var(--text-title); }
.page-home .process-grid p { font-size:var(--text-body); line-height:1.85; }
.page-home .practice-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:2.25rem; }
.page-home .practice-card:first-child { grid-row:auto; }
.page-home .practice-card:not(:first-child) { display:block; }
.practice-topic-link { display:block; }
.page-home .practice-card .practice-image { height:13.125rem; min-height:0; }
.page-home .practice-card .practice-title { margin-top:1.5rem; }
.page-home .practice-title h3 { font-size:var(--text-title); }
.practice-topic-link p { font-size:var(--text-body); line-height:1.85; margin-top:1rem; color:var(--muted); }
.practice-status { display:block; margin-top:1rem; font-size:var(--text-caption); color:var(--muted); }
.practice-title>span { font-family:var(--sans); }
.practice-topic-link:hover h3 { color:var(--jade); text-decoration:underline; text-underline-offset:.3125rem; }
.evidence-summary { display:flex; align-items:center; justify-content:space-between; gap:3.25rem; }
.evidence-summary h2 { font-size:var(--text-heading); line-height:var(--leading-heading); }
.evidence-summary p { max-width:45em; font-size:var(--text-body); line-height:1.9; color:var(--muted); margin-top:1rem; }
.evidence-summary>.text-link { flex-shrink:0; }
.topic-source-strip h2 { font-family:var(--sans); font-size:var(--text-small); font-weight:600; line-height:1.8; color:var(--ink); }
.topic-jingang-gong .topic-landscape img { object-fit:cover; }
.source-figure { margin:1.75rem 0; }
.source-figure img { display:block; width:100%; max-width:37.5rem; height:auto; margin-inline:auto; background:var(--figure-paper); }
.source-figure figcaption { margin-top:.75rem; color:var(--muted); font-family:var(--sans); font-size:var(--text-small); font-weight:400; line-height:1.8; text-align:left; }
.topic-product-note>.text-link { flex-shrink:0; align-self:center; }
@media(max-width:62.5em) {
 .page-home .process-grid,.page-home .practice-grid { gap:1.5rem; }
 .page-home .practice-card .practice-image { height:10.625rem; }
 .page-home .practice-title h3 { font-size:var(--text-title); }
}
@media(max-width:47.5em) {
 .site-header { height:4.25rem; }
 .main-nav { margin-left:0; }
 .page-home .process-grid { grid-template-columns:1fr; gap:0; padding-bottom:2.25rem; }
 .page-home .process-grid article { padding-block:1.25rem; }
 .page-home .process-grid article:last-child { padding-bottom:0; }
 .page-home .process-grid h3 { font-size:var(--text-title); }
 .page-home .practice-grid { grid-template-columns:1fr; gap:2.25rem; }
 .page-home .practice-card .practice-image { height:12.5rem; }
 .page-home .practice-card .practice-title { margin-top:1.25rem; }
 .page-home .practice-title h3 { font-size:var(--text-title); }
 .evidence-summary { display:block; }
 .evidence-summary h2 { font-size:var(--text-heading); }
 .evidence-summary>.text-link { margin-top:1.5rem; }
 .article-steps { grid-template-columns:1fr; gap:1.75rem; }
 .article-steps img { width:100%; height:18.75rem; object-fit:contain; background:var(--frame-paper); }
 .article-steps figcaption { font-size:var(--text-small); line-height:1.8; }
 .article-steps figcaption strong { font-size:var(--text-lead); }
 .article-steps figcaption p { font-size:var(--text-small); line-height:1.8; }
}

/* Portrait course illustrations share the article reading rhythm. */
.course-figure img { max-width:22.5rem; }
.course-figure figcaption { max-width:22.5rem; margin-inline:auto; }

/* Topic discovery: a concept overview, core practices, then adjacent reading. */
.page-home #practices h4 { margin:0; font-family:var(--sans); font-weight:600; }
.page-home .topic-overview { border-top:.0625rem solid var(--line); border-bottom:.0625rem solid var(--line); padding-block:1.25rem; margin-bottom:2.25rem; }
.page-home .topic-overview p { display:flex; align-items:baseline; flex-wrap:wrap; gap:.5rem 1.75rem; }
.page-home .topic-overview a { display:inline-flex; align-items:center; gap:1rem; font-size:var(--text-lead); font-weight:600; }
.page-home .topic-overview svg { width:1.125rem; height:1.125rem; }
.page-home .topic-overview span { font-size:var(--text-body); line-height:1.85; color:var(--muted); }
.page-home .home-topic-group-heading { margin-bottom:1.5rem; }
.page-home .home-topic-group-heading h3 { font-size:var(--text-lead); line-height:1.6; }
.page-home .home-topic-group-heading p { color:var(--muted); font-size:var(--text-body); line-height:1.85; margin-top:.5rem; }
.page-home .practice-title h4 { font-size:var(--text-title); line-height:var(--leading-title); }
.page-home .practice-topic-link:hover h4 { color:var(--jade); text-decoration:underline; text-underline-offset:.3125rem; }
.page-home .home-adjacent-topics { margin-top:2.75rem; }
.page-home .home-topic-reading-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2.25rem; }
.page-home .home-topic-reading-link { display:flex; align-items:flex-start; gap:1.5rem; border-top:.0625rem solid var(--line); border-bottom:.0625rem solid var(--line); padding-block:1.5rem; }
.page-home .home-topic-reading-link>div { flex:1; min-width:0; }
.page-home .home-topic-reading-link h4 { font-size:var(--text-title); line-height:var(--leading-title); }
.page-home .home-topic-reading-link h4 span { display:block; color:var(--muted); font-size:var(--text-caption); font-weight:400; margin-top:.1875rem; }
.page-home .home-topic-reading-link p { font-size:var(--text-body); line-height:1.85; color:var(--muted); margin-top:.75rem; max-width:32em; }
.page-home .home-topic-reading-link>svg { width:1.25rem; height:1.25rem; margin-top:.75rem; }
.page-home .home-topic-reading-link:hover h4 { color:var(--jade); }
.page-home .topic-overview a:hover { text-decoration:underline; text-underline-offset:.3125rem; }
@media(max-width:62.5em) {
 .page-home .practice-title h4 { font-size:var(--text-title); }
 .page-home .home-topic-reading-list { gap:1.5rem; }
}
@media(max-width:47.5em) {
 .page-home .topic-overview { padding-block:1.25rem; margin-bottom:1.75rem; }
 .page-home .topic-overview p { display:block; }
 .page-home .topic-overview span { display:block; margin-top:.75rem; }
 .page-home .home-topic-group-heading { margin-bottom:1.5rem; }
 .page-home .practice-title h4 { font-size:var(--text-title); }
 .page-home .home-adjacent-topics { margin-top:2.25rem; }
 .page-home .home-topic-reading-list { grid-template-columns:1fr; gap:0; }
 .page-home .home-topic-reading-link+.home-topic-reading-link { border-top:0; }
 .page-home .home-topic-reading-link h4 { font-size:var(--text-title); }
}

/* Better Design pass: one section rhythm, clear title hierarchy, 2.75rem touch targets. */
h4 { text-wrap: balance; }
.page-home .hero { padding-bottom: 0; }
.page-home .guides .source-note .text-link { white-space:normal; max-width:100%; }
.page-home .process-grid { padding-bottom: 0; }
.page-home .process-grid article,.page-home .process-grid article:first-child,.page-home .process-grid article:last-child { border-top: .0625rem solid var(--line); }
.page-home .home-topic-group-heading h3 { font-size: var(--text-lead); line-height: var(--leading-title); }
.page-home .home-topic-reading-link h4 span { font-size: var(--text-caption); }
.article-copy strong { font-weight: 600; }
.day-count strong { font-variant-numeric: tabular-nums lining-nums; }
.guides .section-heading h2 { font-size: var(--text-heading); }
@media(max-width:47.5em) {
 .page-home .process-grid { padding-bottom: 0; }
 .site-footer nav { gap: 0 1.5rem; }
 .site-footer nav a,.site-footer nav button { display: inline-flex; align-items: center; min-height: 2.75rem; }
 .menu-toggle { width: 2.75rem; height: 2.75rem; margin-right: -.75rem; }
 .main-nav { top: 100%; padding-block: .5rem 1rem; gap: 0; }
 .main-nav.open a,.main-nav.open button { display: flex; align-items: center; width: 100%; min-height: 2.75rem; }
 .main-nav a::after,.main-nav button::after { display: none; }
}

/* Layout pass: readable brand and navigation, aligned page edges, CJK-aware heading breaks. */
h1,h2,h3 { word-break: keep-all; overflow-wrap: break-word; }
.wordmark { font-size: 2.25rem; letter-spacing: -.0625rem; }
.site-footer .wordmark { font-size: 2rem; }
.site-footer nav { font-size: var(--text-small); }
.main-nav { gap: 2.5rem; }
.main-nav a,.main-nav button { font-size: var(--text-lead); font-weight: 500; }
.main-nav a.nav-try { color:var(--primary); }
.footer-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; }
.site-footer .footer-links nav { display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; padding:0; gap:0; }
.site-footer .footer-links nav>p { font-size:var(--text-caption); font-weight:600; color:var(--ink); margin-bottom:.5rem; }
.site-footer .footer-links :is(a,button) { display:inline-flex; align-items:center; min-height:2.75rem; text-align:left; }
.wrap:is(.research-center,.reading-page) { max-width: none; }
.research-center:not(.knowledge-center) :is(.research-filters,.research-catalog-heading,.research-results-bar,.research-nav) { max-width: 56.25rem; }
@media(width > 47.5em) {
 .nav-actions:has(>.menu-toggle:only-child) { display: none; }
}
/* Large screens: grow the root so every rem-based size and the page width scale together. */
@media(width >= 90em) { html { font-size: 106.25%; } }
@media(width >= 112.5em) { html { font-size: 112.5%; } }
@media(max-width:68.75em) {
 .main-nav { gap: 2rem; }
}
@media(max-width:47.5em) {
 .wordmark { font-size: 2rem; }
 .site-footer .wordmark { font-size: 1.875rem; }
 .main-nav a,.main-nav button { font-size: var(--text-lead); }
}

/* Homepage imagery is composed for its frame; the real App preview belongs with product copy. */
.page-home .hero-visual { width:100%; height:auto; margin:0; }
.page-home .hero-photo { height:auto; aspect-ratio:3/2; object-fit:contain; object-position:center; }
.page-home .hero-visual figcaption { margin-top:.75rem; color:var(--muted); font-size:var(--text-caption); line-height:var(--leading-body); }
.page-home .product-intro { display:grid; grid-template-columns:minmax(0,1fr) 12rem; align-items:center; gap:4rem; }
.page-home .product-copy>p { max-width:40em; margin-top:1.25rem; font-size:var(--text-lead); line-height:1.85; color:var(--muted); }
.page-home .product-copy>.teaching-note { font-size:var(--text-body); }
.page-home .evidence-summary p a { color:var(--primary); text-decoration:underline; text-underline-offset:.2em; }
.page-home .evidence-summary p a:hover { color:var(--primary-hover); }
.page-home .product-preview { width:10rem; margin:0 auto; }
.page-home .product-preview img { width:100%; height:auto; border:.25rem solid var(--device-screen); border-radius:1.25rem; }
.page-home .product-preview figcaption { margin-top:.5rem; font-size:var(--text-caption); line-height:var(--leading-body); text-align:center; color:var(--muted); }
.page-home .article-row>img { width:12rem; height:8rem; object-fit:contain; object-position:center; flex:none; }
.page-home .practice-card .practice-image { height:auto; aspect-ratio:3/2; }
.page-home :is(.hero,.product-intro,.process-grid,.experience-inner,.foundation)>* { min-width:0; }
.page-home :is(h1,h2,h3,h4) { overflow-wrap:anywhere; }
.page-home .product-preview { max-width:100%; }
.page-home :is(.wordmark,.main-nav a,.topic-overview a,.text-link,.tabs button,.site-footer nav a,.site-footer nav button) { min-width:2.75rem; min-height:2.75rem; }
@media(width > 47.5em) {
 .page-home .process-grid p { min-block-size:3lh; }
}
@media(max-width:47.5em) {
 .page-home .product-intro { grid-template-columns:1fr; gap:2rem; }
 .page-home .product-preview { width:10rem; }
 .page-home .article-row { display:grid; grid-template-columns:minmax(0,1fr) auto; }
 .page-home .article-row>img { grid-column:1/-1; width:100%; height:auto; aspect-ratio:3/2; margin-top:0; }
 .page-home .article-copy { min-width:0; }
 .page-home .header-inner { gap:.5rem; }
 .page-home .site-header .wordmark { font-size:clamp(1.5rem,8vw,2rem); }
 .page-home .tabs { gap:.5rem; }
 .page-home .tabs button { flex:1; min-width:0; padding-inline:.25rem; white-space:normal; }
 .page-home .day-grid { grid-template-columns:repeat(10,minmax(0,1fr)); gap:.5rem; }
 .page-home .day-dot { width:100%; max-width:.9375rem; height:auto; aspect-ratio:1; }
}

/* Article comparisons retain every value and its column label on a narrow screen. */
@media(max-width:47.5em) {
 .header-inner { gap:.5rem; }
 .site-header .wordmark { font-size:clamp(1.5rem,8vw,2rem); }
 .nav-actions { flex:none; }
 .topic-library-layout>* { min-width:0; }
 .topic-categories { grid-template-columns:minmax(0,1fr); }
 .topic-categories a { grid-template-columns:minmax(0,1fr) auto; }
 .reading-page { overflow-wrap:anywhere; }
 .reading-page .text-link { white-space:normal; }
 .knowledge-group-head { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:baseline; }
 .knowledge-group-head h2 { min-width:0; max-width:100%; }
 :is(.research-row,.research-guide-row) h3 a { display:block; overflow-wrap:anywhere; }
 :is(.research-row,.research-guide-row) h3 svg { display:inline-block; margin-left:.5rem; vertical-align:middle; }
 .reading-body .article-table { display:block; width:100%; min-width:0; margin-block:1.5rem; }
 .reading-body .article-table thead { display:none; }
 .reading-body .article-table tbody { display:block; }
 .reading-body .article-table tbody tr { display:block; border-block:.0625rem solid var(--line); padding-block:1rem; }
 .reading-body .article-table tbody tr+tr { border-top:0; }
 .reading-body .article-table :is(td,tbody th) { display:block; width:auto; min-width:0; padding:.75rem 0; border:0; font-size:var(--text-body); }
 .reading-body .article-table :is(td,tbody th)::before { content:attr(data-label); display:block; margin-bottom:.25rem; color:var(--ink); font-size:var(--text-small); font-weight:600; }
}

/* Shared navigation: one bar; practice topics sit in a 功法主题 menu (an inline group on phones). */
:root { --site-header-offset:4.75rem; }
html { scroll-padding-top:calc(var(--site-header-offset) + 1rem); }
.site-header { height:auto; }
.site-header .header-inner { height:4.75rem; gap:1rem; }
.site-header .main-nav { gap:1.5rem; }
.site-header .main-nav>a,.nav-topics-toggle { font-size:1rem; }
.site-header .main-nav>a,.nav-topics-toggle { display:inline-flex; align-items:center; min-height:2.75rem; }
.site-header .main-nav>a::after,.site-header .main-nav .nav-topics-toggle::after { bottom:.25rem; }
.site-header .main-nav a[aria-current] { color:var(--primary); }
.site-header .main-nav>a[aria-current]::after { display:block; right:0; background:var(--primary); }
.nav-topics { position:relative; }
.nav-topics-toggle { gap:.25rem; font-weight:500; color:inherit; }
.nav-topics-toggle svg { width:1rem; height:1rem; stroke-width:1.75; transition:transform 160ms ease; }
.nav-topics-toggle[aria-expanded="true"] svg { transform:rotate(180deg); }
.nav-topics-toggle.is-current { color:var(--primary); }
.site-header .main-nav .nav-topics-toggle.is-current::after { right:0; background:var(--primary); }
.nav-group-label { display:none; }
@media(width > 47.5em) {
 .nav-topics-panel { position:absolute; top:calc(100% + .75rem); left:-1rem; z-index:1; display:grid; grid-template-columns:repeat(2,minmax(13rem,1fr)); gap:.25rem; padding:.75rem; border:.0625rem solid var(--line); border-radius:var(--radius-panel); background:var(--paper); box-shadow:0 1rem 2.5rem var(--shadow-soft); opacity:0; visibility:hidden; translate:0 -.25rem; transition:opacity 160ms ease,translate 160ms ease,visibility 0s 160ms; }
 .nav-topics-panel::before { content:''; position:absolute; inset:-.875rem 0 auto; height:.875rem; }
 .nav-topics.open .nav-topics-panel { opacity:1; visibility:visible; translate:0 0; transition:opacity 160ms ease,translate 160ms ease; }
 .site-header .nav-topics-panel a { display:flex; flex-direction:column; gap:.125rem; padding:.625rem .875rem; border-radius:var(--radius-control); color:var(--ink); }
 .site-header .nav-topics-panel a::after { display:none; }
 .nav-topics-panel strong { font-size:1rem; font-weight:600; }
 .nav-topics-panel span { font-size:var(--text-caption); line-height:1.5; color:var(--muted); }
 .site-header .nav-topics-panel a:hover { background:var(--surface-deep); }
 .site-header .nav-topics-panel a:hover strong,.site-header .nav-topics-panel a[aria-current] strong { color:var(--primary); }
 .site-header .nav-topics-panel a[aria-current] { background:var(--surface-deep); }
}
@media (width > 47.5em) and (hover:hover) and (pointer:fine) {
 .nav-topics:hover .nav-topics-panel { opacity:1; visibility:visible; translate:0 0; transition:opacity 160ms ease,translate 160ms ease; }
 .nav-topics:hover .nav-topics-toggle svg { transform:rotate(180deg); }
}
.article-toc { top:calc(var(--site-header-offset) + 1rem); }
@media(47.5em < width <= 62.5em) {
 .site-header .wordmark { font-size:1.75rem; }
 .site-header .main-nav { gap:.75rem; }
 .site-header .main-nav>a,.nav-topics-toggle { font-size:.875rem; }
}
@media(max-width:47.5em) {
 :root { --site-header-offset:4.25rem; }
 .site-header .header-inner { height:4.25rem; }
 .site-header .main-nav { top:100%; gap:0; max-height:calc(100dvh - var(--site-header-offset)); overflow-y:auto; }
 .site-header .main-nav a { font-size:1.125rem; }
 .site-header .main-nav .nav-topics-toggle { display:none; }
 .site-header .main-nav>a { display:flex; width:100%; }
 .site-header .main-nav>a[aria-current]::after { display:none; }
 .nav-topics { width:100%; padding-bottom:.75rem; margin-bottom:.5rem; border-bottom:.0625rem solid var(--line); }
 .nav-group-label { display:block; padding-top:.5rem; font-size:var(--text-caption); color:var(--muted); }
 .nav-topics-panel { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 1rem; }
 .nav-topics-panel span:not(.nav-group-label) { display:none; }
 .nav-topics-panel .nav-group-label { grid-column:1/-1; }
 .nav-topics-panel strong { font-weight:500; }
 .article-toc { position:static; }
}
