/* OD-LAYOUT-PRIMITIVES v1 — structure only: display, flex/grid, overflow, wrapping, ratio, geometry.
   Put this @layer first; product CSS outside the layer wins ordinary layout rules.
   Native hidden and closed-dialog states take precedence over component display rules. */
@layer od-layout {
  [hidden]:not([hidden="until-found" i]) { display: none !important; }
  dialog:not([open]) { display: none !important; }

  :where(.od-stack,.od-row,.od-row-top,.od-cluster,.od-grid,.od-field,.od-stat,.od-cell,.od-tile) > :where(*) { min-width: 0; }

  /* containers */
  .od-stack   { display: flex; flex-direction: column; gap: var(--od-gap, 8px); }
  .od-row     { display: flex; align-items: center; gap: var(--od-gap, 8px); }
  .od-row-top { display: flex; align-items: flex-start; gap: var(--od-gap, 8px); }
  .od-cluster { display: flex; flex-wrap: wrap; align-items: center; gap: var(--od-gap, 8px); }
  .od-fill    { flex: 1 1 0; min-width: 0; }
  .od-fixed   { flex: none; }
  .od-grid    { display: grid; gap: var(--od-gap, 12px); grid-template-columns: repeat(var(--od-cols, 3), minmax(0, 1fr)); }

  /* stacked information: each piece is its own line — never sibling inline spans */
  .od-stat, .od-field, .od-cell { display: grid; gap: var(--od-gap, 2px); }
  :where(.od-stat,.od-field,.od-cell) > :where(*) { display: block; }
  .od-tile { display: grid; grid-template-rows: auto 1fr; }
  :where(.od-tile) > :where(*) { display: block; }

  /* media keeps its intrinsic ratio by default; never a distorted or cropped
     cover by accident. height:auto lets the ratio win over an <img height="…">
     attribute. Cropping to a uniform box is an explicit opt-in: set --od-ratio
     AND add .od-media-cover together (per the core rule, only where a crop is
     deliberate — tile thumbs, decorative fills — never on full-frame content). */
  .od-media { display: block; width: 100%; height: auto; aspect-ratio: var(--od-ratio, auto); }
  .od-media-cover { object-fit: cover; }

  /* functional inline SVG icons opt into bounded geometry; content SVGs keep their own */
  .od-icon { display: inline-block; inline-size: var(--od-icon-size, 1em); block-size: var(--od-icon-size, 1em); flex: none; }

  /* data text only — authored copy is rewritten to its budget instead */
  .od-truncate { display: block; max-width: 100%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
  .od-clamp-2, .od-clamp-3 { display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
  .od-clamp-2 { -webkit-line-clamp: 2; }
  .od-clamp-3 { -webkit-line-clamp: 3; }
  .od-lines-2 { min-height: calc(2 * 1.4em); }   /* block-level reservation for a shared baseline */
  .od-nowrap  { white-space: nowrap; }           /* 数字+单位 · 价格+起 · 日期+星期 */
  .od-keep    { word-break: keep-all; overflow-wrap: anywhere; } /* CJK labels break at spaces / <wbr> first */

  /* screen skeleton (optional): bars take their own space, the middle scrolls — no padding guessed for chrome */
  .od-screen { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; height: 100%; }
  .od-scroll { overflow-y: auto; overscroll-behavior: contain; min-height: 0; }

  /* horizontal rail: the next item peeks at the edge; trailing room survives overflow */
  .od-rail { display: flex; gap: var(--od-gap, 8px); overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none;
             padding-inline: var(--od-rail-pad, 16px); scroll-padding-inline: var(--od-rail-pad, 16px); }
  .od-rail::-webkit-scrollbar { display: none; }
  :where(.od-rail) > :where(*) { flex: none; scroll-snap-align: start; }
  :where(.od-rail) > :where(:last-child) { margin-inline-end: var(--od-rail-pad, 16px); }

  .od-spacer { flex: none; visibility: hidden; pointer-events: none; }
  .od-touch  { min-width: 44px; min-height: 44px; }
}
:root [hidden]:where(:not([hidden="until-found" i])) { display: none; }
/* /OD-LAYOUT-PRIMITIVES v1 */
:root{--paper:#f6f5f0;--white:#fff;--ink:#20231f;--muted:#5b6058;--accent:#c33b25;--accent-hover:#a62f1c;--tint:#eeece5;--line:#d5d5cc;--display:Georgia,'Times New Roman',serif;--body:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,sans-serif;--space:8px;--page:1280px;--gutter:clamp(24px,5vw,80px);--motion:180ms;--small:.875rem;--text:1.0625rem;--large:1.375rem;--heading:clamp(2rem,4vw,3.5rem);--hero:clamp(3.5rem,7.4vw,7rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:var(--text);line-height:1.65;-webkit-font-smoothing:antialiased}::selection{background:var(--accent);color:var(--white)}h1,h2,h3,p,figure,ul,ol{margin:0}h1,h2,h3{font-weight:500;text-wrap:balance}h1,h2{font-family:var(--display);letter-spacing:-.045em;line-height:1.06}p{max-width:72ch;text-wrap:pretty}a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}a:hover{color:var(--accent)}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:5px}button,input,textarea{font:inherit}button,summary{cursor:pointer}button{border:0}svg{flex-shrink:0}img{max-width:100%;height:auto}.wrap{width:100%;max-width:calc(var(--page) + var(--gutter)*2);margin-inline:auto;padding-inline:var(--gutter)}.skip-link{position:fixed;top:16px;left:24px;z-index:20;background:var(--ink);color:var(--white);padding:12px 24px;transform:translateY(-180%)}.skip-link:focus{transform:none}#main:focus{outline:none}.site-header{min-height:112px;display:flex;align-items:center;gap:40px;justify-content:space-between}.wordmark{display:flex;align-items:baseline;font-size:26px;font-weight:700;letter-spacing:-1.4px;text-decoration:none;white-space:nowrap;line-height:1}.wordmark-do{font-weight:400}.wordmark strong{font-size:26px;margin-left:2px;letter-spacing:-1px}.logo-period{width:6px;height:6px;margin-left:3px;background:var(--accent)}.desktop-nav{display:flex;gap:32px;margin-left:auto}.desktop-nav a{font-size:15px;text-decoration:none;padding-block:12px}.desktop-nav a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px}.header-controls{display:flex;align-items:center;gap:16px}.language-menu,.mobile-menu{position:relative}.language-menu summary{display:flex;align-items:center;gap:8px;font-size:14px;min-height:44px;list-style:none;white-space:nowrap}.language-menu summary::-webkit-details-marker,.mobile-menu summary::-webkit-details-marker{display:none}.language-menu summary .od-icon{--od-icon-size:18px}.language-menu ul{position:absolute;right:0;top:calc(100% + 8px);min-width:240px;max-height:70vh;overflow-y:auto;list-style:none;background:var(--white);padding:12px;z-index:10;box-shadow:0 12px 40px #20231f1a}.language-menu li a{display:flex;justify-content:space-between;padding:8px 12px;text-decoration:none;font-size:16px}.language-menu li a[aria-current=true]{background:var(--tint)}.language-menu li a:hover{background:var(--paper)}.mobile-menu{display:none}.home-hero{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding-top:64px;padding-bottom:72px}.hero-copy h1{font-size:var(--hero);line-height:.99;max-width:10ch}.hero-description{font-size:19px;line-height:1.65;max-width:39ch;margin-top:32px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:var(--accent);color:var(--white);padding:16px 24px;min-height:56px;text-decoration:none;font-size:16px;line-height:1.3;font-weight:600;transition:background var(--motion),transform var(--motion)}.button:hover{background:var(--accent-hover);color:var(--white)}.button:active{transform:translateY(2px)}.button .od-icon{--od-icon-size:22px}.text-link{display:inline-block;font-size:16px;font-weight:500;line-height:1.5;padding-block:8px}.hero-note{font-size:13px;color:var(--muted);margin-top:24px;max-width:44ch}.search-figure{background:var(--tint);padding:24px 32px 24px;position:relative}.diagram-top{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--muted);margin-bottom:24px;gap:16px}.question-node{position:relative;background:var(--white);padding:16px 20px}.diagram-label{font-size:13px;font-weight:600;color:var(--muted);display:block;letter-spacing:.02em}.question-node p{font-family:var(--display);font-size:22px;line-height:1.3;margin-top:8px;padding-right:16px}.query-cursor{position:absolute;right:16px;bottom:20px;height:20px;width:2px;background:var(--accent)}.diagram-connector{color:#969b90;line-height:0;padding-inline:16px}.source-nodes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}.source-paper{background:#fafaf7;min-height:112px;padding:16px 12px;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:start}.source-paper>span{font-size:13px;line-height:1.35;grid-column:1/3}.source-paper>b{font-size:13px;font-weight:500;grid-column:2;grid-row:1;color:var(--muted)}.source-paper.selected{background:var(--white);box-shadow:0 -3px 0 var(--accent)}.sources-label{text-align:center;color:var(--muted);font-size:13px;padding-top:8px}.answer-node{background:var(--ink);color:var(--white);padding:20px 24px}.answer-heading{display:flex;align-items:center;justify-content:space-between}.answer-heading .diagram-label{color:#d5d9cc}.answer-mark{font-size:24px;color:#f08068;line-height:1}.answer-node p{font-size:15px;line-height:1.6;margin-block:8px 12px}.answer-node sup{font-size:13px;color:#f29c88;margin-left:4px;white-space:nowrap}.answer-foot{font-size:13px;color:#ced2c5}.search-figure figcaption{font-size:13px;line-height:1.55;color:var(--muted);margin-top:16px}.section-space{margin-top:96px}.premise{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}.section-heading .section-word{display:block;font-family:var(--display);font-size:24px;color:var(--accent);margin-bottom:16px}.section-heading h2{font-size:var(--heading);max-width:14ch}.statement{font-size:clamp(1.25rem,2vw,1.625rem);line-height:1.55}.premise-copy>p+p{margin-top:24px}.premise-copy>.text-link{margin-top:16px}.premise-copy p:not(.statement){font-size:16px}.learning{display:grid;grid-template-columns:5fr 7fr;gap:96px}.learning-intro>p{font-size:16px;max-width:30ch;margin-top:24px}.learning-intro>.text-link{margin-top:16px}.guide-index{display:grid;gap:8px}.guide-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;text-decoration:none;border-bottom:1px solid var(--line)}.guide-row:first-child{padding-top:0}.guide-row h3{font-family:var(--body);font-size:20px;font-weight:500;letter-spacing:-.02em;line-height:1.4}.guide-row p{font-size:14px;color:var(--muted);line-height:1.5;margin-top:8px}.guide-row .od-icon{--od-icon-size:24px;transition:transform var(--motion)}.guide-row:hover .od-icon{transform:translateX(4px)}.practice{background:var(--ink);color:var(--paper);padding-block:64px 72px}.practice-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px}.practice .section-word{color:#f28b75}.practice h2{max-width:12ch}.practice-list{list-style:none;padding:0;margin-top:24px;display:grid;gap:16px;font-size:16px}.practice-list li{display:flex;align-items:start;gap:12px}.practice-list .od-icon{--od-icon-size:22px;color:#f28b75;margin-top:3px}.light-link{display:inline-flex;align-items:center;gap:32px;color:var(--paper);margin-top:32px;text-decoration:underline;text-underline-offset:8px;font-size:16px}.light-link:hover{color:#ffab97}.practice-note{font-size:13px;color:#c0c6b7;margin-top:24px}.site-footer{padding-top:64px;padding-bottom:24px}.footer-top{display:flex;justify-content:space-between;gap:48px;align-items:start}.footer-top>p{max-width:40ch;font-size:15px}.footer-top nav{display:flex;gap:24px;font-size:14px;flex-wrap:wrap}.footer-top nav a{padding-block:8px}.footer-brand{font-family:var(--display);font-size:clamp(4rem,14.5vw,13.5rem);line-height:1.2;letter-spacing:-.06em;margin-block:32px 16px;white-space:nowrap}.footer-brand>span:not(.footer-dot){font-style:italic}.footer-dot{color:var(--accent)}.footer-bottom{display:flex;justify-content:space-between;gap:24px;color:var(--muted);font-size:13px}.page-heading{padding-top:56px;padding-bottom:48px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;color:var(--muted);margin-bottom:32px}.breadcrumbs a{text-decoration:none}.breadcrumbs span[aria-hidden]{padding-inline:4px}.page-heading h1{font-size:clamp(2.75rem,5.5vw,5rem);max-width:19ch}.page-heading .page-summary{font-size:20px;max-width:62ch;margin-top:24px;line-height:1.6}.article-meta{display:flex;flex-wrap:wrap;gap:8px 24px;color:var(--muted);font-size:13px;margin-top:24px}.article-layout{display:grid;grid-template-columns:minmax(160px,1fr) minmax(0,3fr);gap:64px;align-items:start;padding-bottom:64px}.toc{position:sticky;top:32px;font-size:14px;max-width:28ch}.toc>p{font-weight:600;margin-bottom:16px}.toc ol{padding:0;list-style:none;display:grid;gap:8px}.toc a{display:block;text-decoration:none;padding-block:4px}.toc .toc-bottom{margin-top:32px;display:block;color:var(--muted);font-size:13px}.prose{max-width:72ch;font-size:18px;line-height:1.8;overflow-wrap:break-word}.prose>p{margin-bottom:24px}.prose h2{font-family:var(--body);font-size:28px;letter-spacing:-.035em;line-height:1.25;font-weight:600;margin-block:48px 24px;scroll-margin-top:32px}.prose h3{font-family:var(--body);font-size:22px;font-weight:600;margin-block:32px 16px}.prose ul,.prose ol{padding-left:24px;margin-block:16px 24px}.prose li+li{margin-top:12px}.prose a{color:var(--accent);text-decoration-thickness:1px}.prose a:hover{color:var(--accent-hover);text-decoration-thickness:2px}.prose blockquote{margin:32px 0;padding:24px;background:var(--white);font-size:18px}.prose code{font-size:.9em;background:var(--tint);padding:2px 4px;overflow-wrap:anywhere}.prose pre{background:var(--ink)!important;color:var(--paper);padding:24px;overflow-x:auto;max-width:100%;font-size:15px}.prose pre code{background:transparent;padding:0}.related{margin-top:64px;padding-top:32px}.related h2{font-family:var(--display);font-size:32px;margin:0 0 24px}.related ul{list-style:none;padding:0}.related li{margin-bottom:16px}.related a{font-size:18px}.library-layout{display:grid;grid-template-columns:1fr 2fr;gap:64px;padding-bottom:48px}.library-note{font-size:16px;max-width:30ch}.library-list .guide-row{padding:32px 0}.library-list .guide-row h2{font-family:var(--display);font-size:30px;line-height:1.15;letter-spacing:-.025em}.library-list .guide-row p{font-size:16px;max-width:56ch}.glossary-layout{display:grid;grid-template-columns:1fr 3fr;gap:64px;padding-bottom:48px}.glossary-list{display:grid;grid-template-columns:1fr 1fr;gap:40px}.glossary-entry{padding-top:24px;border-top:1px solid var(--line);scroll-margin-top:32px}.glossary-entry h2{font-family:var(--body);font-size:22px;font-weight:600;letter-spacing:-.025em;line-height:1.25;margin-bottom:12px}.glossary-entry p{font-size:16px;margin-bottom:8px}.glossary-entry a{font-size:14px}.checklist-layout{display:grid;grid-template-columns:1fr 3fr;gap:64px;padding-bottom:64px}.checklist-sidebar{position:sticky;top:32px}.progress-count{display:block;font-family:var(--display);font-size:64px;line-height:1;letter-spacing:-.045em;font-variant-numeric:tabular-nums}.progress-caption{font-size:14px;margin-top:12px}.checklist-sidebar>p{max-width:26ch;margin-top:24px;font-size:14px}.checklist-items{list-style:none;padding:0;display:grid;gap:16px}.checklist-item{background:var(--white);padding:24px;display:grid;grid-template-columns:24px 1fr;gap:20px;align-items:start}.checklist-item input{appearance:auto;accent-color:var(--accent);width:24px;height:24px;margin:2px 0 0;cursor:pointer}.checklist-item label{font-size:18px;line-height:1.45;font-weight:600;cursor:pointer;display:block}.checklist-item p{font-size:15px;line-height:1.6;margin-top:8px;color:var(--muted)}.checklist-item a{display:inline-block;font-size:14px;margin-top:8px}.checklist-item:has(input:checked) label{color:var(--muted);text-decoration:line-through}.checklist-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:24px}.secondary-button{display:inline-flex;align-items:center;min-height:48px;justify-content:center;background:var(--ink);color:var(--white);padding:12px 20px;font-size:15px}.secondary-button:hover{background:#3e463b;color:var(--white)}.reset-button{min-height:48px;padding:12px 20px;color:var(--ink);background:var(--tint);font-size:15px}.reset-button:hover{background:var(--line)}[data-enhanced]{display:none}.js [data-enhanced]{display:flex}.feedback{font-size:15px;margin-top:16px;min-height:24px}.warning{padding:16px 20px;background:var(--tint);font-size:15px;margin-bottom:24px}.copy-fallback{margin-top:16px}.copy-fallback label{display:block;margin-bottom:8px;font-size:15px}.copy-fallback textarea{display:block;width:100%;min-height:320px;background:var(--white);color:var(--ink);padding:16px;border:1px solid var(--muted);line-height:1.6;font-size:15px}.no-script{margin-block:24px;font-size:15px}.simple-page{max-width:1040px;margin-inline:auto}.error-page{padding-block:80px 112px}.error-number{font-family:var(--display);font-size:clamp(5rem,15vw,10rem);color:var(--accent);line-height:1}.error-page h1{font-size:clamp(2.5rem,5vw,4.5rem);margin-top:24px}.error-page p{font-size:20px;margin-block:24px 32px;max-width:48ch}:lang(zh),:lang(ja),:lang(ko){word-break:normal;line-break:strict}:is(:lang(zh),:lang(ja),:lang(ko)) .hero-copy h1{font-size:clamp(3rem,6vw,5.5rem);line-height:1.2;max-width:none}:is(:lang(zh),:lang(ja),:lang(ko)) .page-heading h1{line-height:1.25}:is(:lang(zh),:lang(ja),:lang(ko)) .section-heading h2{line-height:1.25}
@media(min-width:1600px){.home-hero{padding-top:80px;padding-bottom:96px}.section-space{margin-top:128px}}
@media(max-width:1100px){.desktop-nav{gap:20px}.site-header{gap:24px}.home-hero{gap:32px}.search-figure{padding:24px}.hero-copy h1{font-size:clamp(3.5rem,7.5vw,6rem)}.learning{gap:48px}.section-space{margin-top:80px}.article-layout{gap:40px;grid-template-columns:180px minmax(0,1fr)}.checklist-layout,.glossary-layout{gap:40px;grid-template-columns:180px minmax(0,1fr)}}
@media(max-width:900px){.desktop-nav{display:none}.site-header{min-height:96px}.mobile-menu{display:block}.mobile-menu summary{min-height:44px;display:flex;align-items:center;font-size:14px;list-style:none}.mobile-menu nav{position:absolute;top:calc(100% + 8px);right:0;min-width:260px;background:var(--white);padding:16px;z-index:9;box-shadow:0 12px 40px #20231f1a}.mobile-menu nav a{display:flex;align-items:center;justify-content:space-between;padding:12px;text-decoration:none;font-size:17px;gap:24px}.home-hero{padding-top:40px;grid-template-columns:1fr 1fr;gap:24px}.hero-copy h1{font-size:clamp(3.1rem,7vw,4.5rem)}.hero-description{font-size:17px}.hero-actions{gap:16px}.hero-note{font-size:13px}.search-figure{padding:20px}.diagram-top{font-size:13px;margin-bottom:20px}.source-paper{padding:12px 8px;min-height:112px}.source-nodes{gap:8px}.answer-node{padding:16px}.answer-node p{font-size:13px}.question-node p{font-size:19px}.premise,.practice-grid{gap:40px}.section-heading h2{font-size:40px}.learning{grid-template-columns:1fr 1.4fr;gap:40px}.guide-row h3{font-size:18px}.article-layout,.checklist-layout,.glossary-layout{grid-template-columns:1fr;gap:32px}.toc,.checklist-sidebar{position:static;max-width:none}.toc{background:var(--tint);padding:24px}.toc ol{grid-template-columns:1fr 1fr;gap:8px 24px}.toc .toc-bottom{margin-top:16px}.article-layout .prose{max-width:72ch;margin-inline:auto}.glossary-layout>.toc{display:none}.checklist-sidebar{display:grid;grid-template-columns:auto 1fr;gap:12px 24px;align-items:center}.checklist-sidebar>p{grid-column:1/3;max-width:65ch;margin:0}.progress-caption{margin-top:0}.footer-brand{font-size:14vw}.page-heading{padding-top:40px}.library-layout{gap:40px;grid-template-columns:1fr 2fr}}
@media(max-width:650px){:root{--gutter:24px;--hero:3.75rem;--heading:2.5rem}.site-header{min-height:88px;gap:16px}.wordmark,.wordmark strong{font-size:24px}.header-controls{gap:16px}.language-menu summary>span{max-width:84px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.language-menu summary{gap:6px;font-size:13px}.language-menu summary>.od-icon:last-child{display:none}.mobile-menu summary{font-size:13px}.home-hero{grid-template-columns:1fr;padding-top:32px;padding-bottom:0;gap:40px}.hero-copy h1{font-size:clamp(3.5rem,14vw,5.25rem);max-width:none;line-height:1}.hero-description{font-size:18px;max-width:38ch;margin-top:24px}.hero-actions{margin-top:24px;gap:12px 24px}.button{gap:20px;padding:16px 20px}.hero-note{font-size:13px;margin-top:16px;max-width:45ch}.search-figure{padding:24px}.diagram-top{font-size:13px}.question-node p{font-size:21px}.source-paper{min-height:112px;padding:12px}.answer-node{padding:20px}.answer-node p{font-size:14px}.section-space{margin-top:64px}.premise,.learning,.practice-grid{grid-template-columns:1fr;gap:32px}.section-heading .section-word{font-size:22px;margin-bottom:12px}.section-heading h2{font-size:40px;max-width:16ch}.statement{font-size:21px}.premise-copy>p+p{margin-top:20px}.learning-intro>p{max-width:40ch;margin-top:20px}.guide-row{gap:20px;padding:24px 0}.guide-row h3{font-size:20px}.guide-row p{font-size:14px}.practice{padding-block:48px}.practice h2{max-width:16ch}.practice-note{font-size:13px}.site-footer{padding-top:40px}.footer-top{display:grid;gap:24px}.footer-top nav{gap:24px}.footer-brand{margin-top:24px;font-size:13.6vw}.footer-bottom{display:grid;gap:8px;font-size:13px}.page-heading{padding-top:32px;padding-bottom:32px}.page-heading h1{font-size:42px;max-width:20ch}.page-heading .page-summary{font-size:18px;line-height:1.6;margin-top:20px}.breadcrumbs{margin-bottom:24px;font-size:13px}.article-meta{font-size:13px;gap:8px 16px}.article-layout{padding-bottom:32px}.toc{padding:20px;font-size:14px}.toc ol{grid-template-columns:1fr;gap:4px}.prose{font-size:17px;line-height:1.85}.prose h2{font-size:25px;margin-block:40px 20px}.prose h3{font-size:21px}.prose blockquote{padding:20px;font-size:17px}.prose pre{padding:20px;font-size:13px}.library-layout{grid-template-columns:1fr;gap:32px}.library-note{max-width:46ch}.library-list .guide-row h2{font-size:27px}.glossary-list{grid-template-columns:1fr;gap:24px}.glossary-entry{padding-top:24px}.checklist-layout{padding-bottom:32px}.progress-count{font-size:56px}.checklist-item{padding:20px 16px;gap:16px}.checklist-item label{font-size:17px}.checklist-item p{font-size:14px}.checklist-item a{font-size:13px}.error-page{padding-block:48px 64px}.error-page h1{font-size:40px}:is(:lang(zh),:lang(ja),:lang(ko)) .hero-copy h1{font-size:clamp(3rem,11vw,4.5rem)}:is(:lang(zh),:lang(ja),:lang(ko)) .section-heading h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Readable diagram labels and reliable wrapping across all language editions. */
.source-paper{padding-inline:8px}.source-paper>span{overflow-wrap:anywhere;hyphens:auto}.diagram-connector{color:var(--muted)}.language-menu li a{min-height:44px}.text-link{min-height:44px}.footer-top nav a{display:inline-flex;align-items:center;min-height:44px}.checklist-item a{padding-block:8px;min-height:44px}
