@layer brand {
:root { --brand-ink:#17211f; --brand-muted:#47524f; --brand-accent:#0e5b4c; --brand-dark:#08453a; --brand-line:#cbd4d0; --brand-border:#76837e; --brand-wash:#f4f7f5; --brand-paper:#ffffff; --brand-warning:#8a4b00; --brand-warningSurface:#fff2dc; --brand-focus:#ffd43d; }
/* 画面の決まり: web/DESIGN.md。色の正本はshared/design-tokens.mjs。
   DADS公式ボタン・テキストエリアの操作状態は変更しない。 */
:root {
 --color-key-900:var(--brand-accent); --color-key-1000:var(--brand-dark); --color-key-1200:#042a24;
 --font-family-sans:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
}
html { font:100%/1.8 var(--font-family-sans); color:var(--brand-ink); background:var(--brand-paper); }
/* 短いページ（補足・訂正、404）でも、フッターを画面の下に付ける。 */
body { margin:0; overflow-wrap:anywhere; display:flex; flex-direction:column; min-block-size:100vh; min-block-size:100svh; }
body>main { flex:1 0 auto; }
* { box-sizing:border-box; }
h1,h2,h3,p { margin:0; }
p+p { margin-block-start:.75rem; }
p { text-wrap:pretty; }
h1 { font-size:1.875rem; line-height:1.4; margin-block-end:1rem; letter-spacing:-.025em; }
h2 { font-size:1.5rem; line-height:1.5; margin-block-end:1rem; text-wrap:balance; }
h3 { font-size:1.125rem; line-height:1.6; margin-block-end:.5rem; }
a:not(.dads-button) { color:var(--brand-accent); text-decoration:underline; text-underline-offset:.2em; }
a:not(.dads-button):hover { text-decoration-thickness:.15em; }
a:not(.dads-button):focus-visible { outline:3px solid var(--brand-accent); outline-offset:3px; box-shadow:0 0 0 3px white; }
/* 先へ進むリンクは、文字にだけ下線を引き、末尾の「→」には引かない（DADSのリンクテキスト）。 */
a.next-link { text-decoration:none; }
.next-link .link-label { text-decoration:underline; text-underline-offset:.2em; }
.next-link:hover .link-label { text-decoration-thickness:.15em; }
.skip { position:absolute; inline-size:1px; block-size:1px; overflow:hidden; clip-path:inset(50%); }
.skip:focus { inline-size:auto; block-size:auto; clip-path:none; z-index:10; inset:1rem auto auto 1rem; padding:1rem; background:var(--brand-paper); }
main:focus { outline:none; }
.pub-wrap { inline-size:calc(100% - 2.5rem); max-inline-size:68rem; margin-inline:auto; }
.site-header { border-bottom:1px solid var(--brand-line); }
.site-header-inner { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:0 .5rem; padding-block:.5rem; min-block-size:4rem; }
.site-name { display:inline-flex; flex-wrap:wrap; align-items:center; column-gap:.3em; min-block-size:2.75rem; font-weight:700; font-size:1rem; }
.site-mark { inline-size:1.5rem; block-size:1.5rem; margin-inline-end:.2em; flex:none; }
/* 書名（サイト名）は、緑の小見出しと見分けられるよう文字色にし、左上のロゴとして下線を付けない。 */
.site-header .site-name { color:var(--brand-ink); text-decoration:none; }
/* 書名とメニューが1行に入らないときだけ、メニューを2段目に折り返す。拡大しても語の途中では折らない。 */
.route-nav { display:flex; flex-wrap:wrap; gap:0 1.25rem; }
.route-nav a { white-space:nowrap; }
.arrow { margin-inline-start:.3em; }
.route-nav a { justify-content:center; min-inline-size:2.75rem; }
.route-nav a,.text-link { display:inline-flex; align-items:center; min-block-size:2.75rem; padding-block:.5rem; }
.preview-ribbon { background:var(--brand-wash); color:var(--brand-muted); padding:.25rem 1rem; font-size:1rem; text-align:center; }
.eyebrow { font-size:1rem; color:var(--brand-accent); font-weight:700; }
.availability,.fine { color:var(--brand-muted); font-size:1rem; }
.hero-lead { max-inline-size:35rem; font-size:1.0625rem; line-height:1.8; }
.pub-section { padding-block:2rem; border-top:1px solid var(--brand-line); }
/* ショルダー（見出しの上の小さな説明）は、見出しとhgroupでまとめる（DADSの見出し）。 */
.pub-section>hgroup>.eyebrow { margin-block-end:.5rem; }
.measure,.reading-section,.reader-body { max-inline-size:46rem; }
.pending { padding:.875rem 1rem; border-inline-start:3px solid var(--brand-warning); color:var(--brand-warning); background:var(--brand-warningSurface); }
.claim-note { margin-block-start:1.5rem; max-inline-size:46rem; }
.channel-links { display:flex; flex-wrap:wrap; gap:0 1.5rem; margin-block-start:1rem; }
dt { font-weight:700; }
dd { margin:0; }
:target { scroll-margin-block-start:1.5rem; }

/* トップ: 本の実物と短いPRを主役にする。 */
.author-book { display:grid; grid-template-columns:minmax(0,1fr); gap:1.25rem; padding-block:2rem; }
.author-book-heading .book-title { margin-block-start:.75rem; }
/* トップの表紙。スマホは書名の下に大きく中央に置く。 */
.author-book-cover { justify-self:center; inline-size:min(12.5rem,52vw); }
.book-promise { font-size:1.25rem; font-weight:700; line-height:1.65; margin-block-end:.75rem; }
/* 著者の記録の一文と、比べ方の見本への文字のリンク（r27）。本文の大きさにし、Amazonのボタンより目立たせない。 */
.book-record { margin-block:0 1rem; }
.sample-link { margin-block:.25rem 1rem; }
.book-purchase { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem 1.25rem; margin-block-start:1.25rem; }
.next-step .text-link { font-size:1.125rem; font-weight:700; }
.book-facts { margin-block:1.25rem 0; gap:0; max-inline-size:32rem; border-block-start:1px solid var(--brand-line); }
.book-facts>div { display:grid; grid-template-columns:3.5rem minmax(0,1fr); gap:0 1rem; padding-block:.5rem; border-block-end:1px solid var(--brand-line); }
.book-facts dt { color:var(--brand-muted); }
.book-facts dd { margin:0; }
.book-purchase .dads-button { min-inline-size:min(13rem,100%); }
.author-channel { display:flex; flex-wrap:wrap; gap:0 1.25rem; margin-block:.25rem 0; }
.author-support { padding-block:1.25rem 1.5rem; display:grid; gap:.5rem; }
.author-support h2 { font-size:1.125rem; line-height:1.6; margin:0; }
.support-actions { display:flex; flex-wrap:wrap; align-items:center; gap:0 1rem; margin-block-start:.25rem; }
.support-actions .availability { margin:0; }
.book-cover { display:block; inline-size:100%; max-inline-size:100%; block-size:auto; border:1px solid var(--brand-line); }
.area-example { margin:1rem 0 0; padding:1.25rem; background:var(--brand-wash); border-block-start:3px solid var(--brand-accent); }
.area-example figcaption { color:var(--brand-muted); font-size:1rem; }
.area-question { font-size:1.25rem; font-weight:700; line-height:1.6; margin-block:1rem; }
.area-bar { display:grid; grid-template-columns:7fr 1fr; block-size:1rem; gap:2px; margin-block:1.25rem .75rem; }
.area-bar span:first-child { background:var(--brand-accent); }
.area-bar span:last-child { background:var(--brand-muted); }
.area-values { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin:0 0 1rem; }
.area-values dt { font-size:1rem; font-weight:400; }
.area-values dd { font-size:2.5rem; line-height:1.3; font-weight:700; font-variant-numeric:tabular-nums; }
.area-values dd span { font-size:1.125rem; margin-inline-start:.25rem; }
.area-values>div:first-child dd { color:var(--brand-accent); }
.area-values>div:last-child dd { color:var(--brand-muted); }
.area-example>p:last-child { font-size:1rem; }

/* 本の内容・補足・訂正：ページ名から始める（web/DESIGN.md 3節）。 */
.page-head { padding-block:1.75rem 2rem; }
.page-head h1 { margin-block:.5rem .75rem; }
.page-lead { max-inline-size:40rem; font-size:1.0625rem; }
.sale-status { margin-block-start:.75rem; color:var(--brand-muted); }
.site-about h2 { font-size:1.25rem; }
/* いま見ているページ（web/DESIGN.md 4節）。 */
.route-nav a[aria-current="page"] { font-weight:700; text-decoration-thickness:.2em; }
.book-title { margin:0; font-size:clamp(1.625rem,7.8vw,2rem); line-height:1.45; letter-spacing:-.025em; color:var(--brand-ink); }
.book-title>span { display:block; }
.book-title>span:first-child { font-size:.7em; font-weight:600; }
.book-subtitle { font-size:1rem; line-height:1.8; }
.book-author { color:var(--brand-muted); }
.hero-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-block-start:1.25rem; }
.decision-scenes { display:grid; gap:1rem; margin-block:1.5rem; }
.decision-scenes article { background:var(--brand-wash); padding:1.25rem; }
.section-number { font-weight:700; color:var(--brand-accent); margin-block-end:.75rem; }
.decision-scenes h3 { font-size:1.25rem; line-height:1.6; }
.decision-scenes article>p:last-child { margin-block-start:.75rem; }
.workbook-note { border-inline-start:3px solid var(--brand-accent); padding-inline-start:1rem; }
.book-end-cta { padding-block:2rem; border-block-start:1px solid var(--brand-line); }
.book-end-cta .dads-button { min-inline-size:min(13rem,100%); }
.not-found { border-block-start:0; }
.not-found-links { display:flex; flex-wrap:wrap; gap:0 1.5rem; margin-block-start:1rem; }
.reader-entry .text-link { margin-block-start:.75rem; }

/* 本の中身の区画（約650万円の文脈、章ごとの内容、場面、目次、著者）。 */
.points-title { font-size:1rem; line-height:1.6; margin-block:1.25rem .5rem; color:var(--brand-accent); }
.book-points { margin:0 0 1rem; padding-inline-start:1.25rem; }
.book-points li+li { margin-block-start:.375rem; }
.book-result h2 { color:var(--brand-accent); }
.phrase { display:inline-block; }
/* 区切りはinline-blockなので、親の下線が伝わらない。DADSのボタンはホバー・押した時にラベルへ下線を引くので、区切りに引き継ぐ（r25、2026-09-28）。 */
.dads-button .phrase { text-decoration:inherit; }
.learn-grid { display:grid; gap:1.5rem; margin-block-start:1.5rem; }
.learn-grid article { border-block-start:3px solid var(--brand-accent); padding-block-start:1rem; }
.learn-chapter { margin-inline-start:.25rem; font-size:1rem; font-weight:400; color:var(--brand-muted); white-space:nowrap; }
.toc-list { list-style:none; margin:1.25rem 0 1rem; padding:0; max-inline-size:46rem; }
.toc-list li { padding-block:.5rem; border-block-start:1px solid var(--brand-line); text-wrap:pretty; }
.toc-list li:last-child { border-block-end:1px solid var(--brand-line); }
.toc-list .toc-part { padding-block-start:1.25rem; border-block-start-color:var(--brand-accent); color:var(--brand-accent); font-weight:700; }
.toc-columns { display:grid; gap:0 3rem; margin-block:1.25rem 1rem; max-inline-size:60rem; }
.toc-columns .toc-list { margin:0; max-inline-size:none; }
.toc-columns .toc-list:not(:last-child) li:last-child { border-block-end:0; }
.author-name { font-weight:700; margin-block-end:.5rem; }
/* 比べ方の見本（本の内容、r27）。表はDADSのテーブル。狭い幅では、名前付きの領域の中だけを横にスクロールする（DADSのテーブル：モバイルではテーブルの領域内での横スクロール）。
   余白は狭い幅を基準にし、48rem以上でDADSの既定（20px 16px）に戻す。見出しセルの背景はブランドの薄い面。 */
.compare-scroll { overflow-x:auto; inline-size:100%; max-inline-size:46rem; margin-block:1.25rem; }
/* スクロールを促すシャドー（DADSのテーブル：スクロール可能な領域には、スクロールを促すシャドーを表示。2026-10-06、本人）。CSSだけで描く。
   影（scroll）は領域の左右の端に留まり、紙の色の覆い（local）は表と一緒に動く。覆いの不透明な幅（1rem）は影の幅（.875rem）より広いので、
   表の端が見えている側では影が隠れる。スクロールしない幅では影は出ず、続きがある側にだけ影が出る。 */
.compare-scroll {
 background:
  linear-gradient(to right,var(--brand-paper) 1rem,transparent) left / 2.5rem 100% no-repeat local,
  linear-gradient(to left,var(--brand-paper) 1rem,transparent) right / 2.5rem 100% no-repeat local,
  linear-gradient(to right,color-mix(in srgb,var(--brand-ink) 22%,transparent),transparent) left / .875rem 100% no-repeat scroll,
  linear-gradient(to left,color-mix(in srgb,var(--brand-ink) 22%,transparent),transparent) right / .875rem 100% no-repeat scroll;
}
.compare-scroll:focus-visible { outline:2px solid var(--brand-accent); outline-offset:2px; }
.compare-table { --_padding:.75rem .5rem; }
.compare-table .dads-table__table { inline-size:100%; min-inline-size:18rem; }
.compare-table .dads-table__table :is(th,td) { vertical-align:top; }
.compare-table .dads-table__caption { text-align:start; padding-block-end:.5rem; }
/* 表の名前は、見える幅（領域の幅）で折り返し、横にスクロールしても左に留める。188px幅で「（すべて架空）」が隠れたため（2026-10-06、本人）。 */
.compare-scroll { container-type:inline-size; }
.compare-table .dads-table__caption { position:sticky; inset-inline-start:0; max-inline-size:100cqi; }
.compare-table :is(.dads-table__col-header,.dads-table__row-header) { background-color:var(--brand-wash); }
/* 見出しセルの背景は不透明で、そのままでは下に描いた影を隠す。乗算で重ね、紙の上では同じ色（#F4F7F5）のまま、影の上では影を透かす。 */
.compare-table :is(.dads-table__col-header,.dads-table__row-header) { mix-blend-mode:multiply; }
.compare-table .dads-table__table th[scope=row] { inline-size:calc(4.25em + 1rem); }
.cell-list { list-style:none; margin:0; padding:0; }
.cell-list li+li { margin-block-start:.25rem; }
.compare-steps { max-inline-size:46rem; }
.compare-steps>div { border-block-start:1px solid var(--brand-line); padding-block:.75rem; }
.compare-steps dd p { margin:0; }
.compare-questions { margin:.5rem 0 0; padding-inline-start:1.25rem; }

.report-pending { max-inline-size:44rem; padding-block:3rem; border-block-start:0; }
.report-pending h1 { font-size:clamp(1.75rem,6vw,2.125rem); line-height:1.5; margin-block:.75rem 1.25rem; }
.report-pending .availability { margin-block:1.5rem; }
.report-hero { padding-block:1.75rem 2rem; display:grid; gap:1.5rem; }
.report-hero h1 { font-size:clamp(1.75rem,7.5vw,2.125rem); line-height:1.45; margin-block:.75rem 1rem; }
.report-audience { margin-block-start:1rem; color:var(--brand-muted); }
.report-status { color:var(--brand-warning); border-inline-start:3px solid currentColor; padding-inline-start:.75rem; }
.report-offer { padding:1.25rem; background:var(--brand-wash); border:1px solid var(--brand-line); border-block-start:3px solid var(--brand-accent); }
.report-offer h2 { font-size:1.125rem; margin-block-end:1rem; }
.report-offer .fine { line-height:1.7; }
.report-product-visual { margin:0; display:flex; align-items:center; gap:1rem; }
.report-product-visual img { inline-size:6rem; block-size:auto; }
.report-product-visual figcaption { font-size:1rem; color:var(--brand-muted); }
.page-index { display:flex; flex-wrap:wrap; gap:0 1.25rem; border-block:1px solid var(--brand-line); padding-block:.375rem; }
.report-hero .page-index { margin-block-start:1rem; }
.page-index+.pub-section { border-block-start:0; }
.report-output-grid { display:grid; gap:1.5rem; }
.report-topics { display:grid; gap:0 2rem; margin:1rem 0 0; }
.report-topics>div { border-block-start:1px solid var(--brand-line); padding-block:.75rem; }
.report-topics dd { color:var(--brand-muted); }
.report-page .pub-section h2 { font-size:1.375rem; text-wrap:initial; }
.report-output-grid .area-example { margin:0; }
.example-reading { margin-block-start:1rem; }
.example-question { align-self:start; }
.example-question .reader-template { margin:0 0 1rem; }
.example-caption { margin-block-start:1.25rem; }
.sample-story h3 { font-size:1.25rem; }
.response-check { margin-block-start:1.5rem; padding-inline-start:1rem; border-inline-start:3px solid var(--brand-accent); }
.deliverables { margin:0; }
.deliverables>div { padding-block:1rem; border-top:1px solid var(--brand-line); }
.deliverables dt { font-size:1.125rem; margin-block-end:.25rem; }
.output-example { background:var(--brand-wash); padding:1.25rem; border-radius:.375rem; }
.output-example h3 { margin-block:.5rem 1rem; font-size:1.25rem; }
.output-example dl { margin:0 0 1rem; }
.output-example dl>div+div { margin-block-start:1rem; padding-block-start:1rem; border-top:1px solid var(--brand-line); }
.output-example dd { margin-block-start:.25rem; }
.report-details>div+div { margin-block-start:1rem; }
.plain-list { padding-inline-start:1.25rem; margin-block:0 1rem; }
.plain-list li+li { margin-block-start:.5rem; }
.scope-note { margin-block:1rem; margin-inline:0; padding-inline-start:1rem; border-inline-start:3px solid var(--brand-line); }
.home-page .scope-note { margin-block-start:2rem; }
.home-page .scope-note h2 { font-size:1.125rem; margin-block:0 .5rem; }
.offer-facts { margin:0 0 1rem; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(8rem,100%),1fr)); gap:1rem; }
.offer-facts>div:last-child { grid-column:1/-1; }
.offer-facts dt { font-size:1rem; color:var(--brand-muted); font-weight:400; }
.offer-facts dd { font-size:1.25rem; font-weight:700; line-height:1.7; }
.offer-facts>div:first-child dd { font-size:2rem; line-height:1.4; color:var(--brand-accent); font-variant-numeric:tabular-nums; }
.offer-facts+ .fine { margin-block-end:.75rem; }
.terms-list { margin:0; }
.terms-list>div+div { margin-block-start:1.25rem; }
.terms-list dt { margin-block-end:.375rem; }
.service-steps { list-style:decimal-leading-zero; padding-inline-start:2.25rem; margin:0 0 .75rem; }
.service-steps li { padding-block:.5rem; border-block-start:1px solid var(--brand-line); }
.service-steps li::marker { color:var(--brand-accent); font-weight:700; }
.service-steps h3 { margin:0; }
.service-steps p { color:var(--brand-muted); }

.readers-heading { padding-block:1.75rem 1.5rem; max-inline-size:46rem; }
.readers-heading h1 { margin-block-end:.75rem; }
.reader-menu { margin-block-end:2rem; align-self:start; }
.reader-menu a { display:flex; min-block-size:3.25rem; padding:.75rem 0; border-block-start:1px solid var(--brand-line); }
.reader-menu a:last-child { border-block-end:1px solid var(--brand-line); }
.reader-body>section:first-child { padding-block-start:0; border:0; }
.reader-template { margin-block:1.25rem 2rem; }
.reader-template label { display:block; font-weight:700; }
.reader-template textarea { inline-size:100%; margin-block-start:.75rem; }
.reader-template .fine { margin-block-start:.75rem; }
.output-example .reader-template { margin-block:1rem; }
.legacy-guide nav { margin-block:1.5rem; }
.use-steps { padding-inline-start:1.5rem; margin-block:1rem 2rem; }
.use-steps li+li { margin-block-start:.75rem; }
.reader-actions { margin:1rem 0 0; display:grid; }
.reader-actions>div { border-bottom:1px solid var(--brand-line); padding-block:1rem; }
.reader-actions dt { color:var(--brand-accent); margin-block-end:.25rem; }
.reader-body .pending { margin-block-end:1rem; }
.reading-section { margin-inline:auto; }
.excerpt { margin:1.5rem 0; border-inline-start:3px solid var(--brand-accent); padding-inline-start:1rem; }
.excerpt figcaption { color:var(--brand-muted); margin-block-end:1rem; }
.excerpt blockquote { margin:0; }
.excerpt blockquote p,.excerpt pre { font-size:1rem; line-height:1.9; }
.excerpt h3 { margin-block:1rem; }
.excerpt pre { white-space:pre-wrap; overflow-wrap:anywhere; font-family:inherit; padding:1rem; background:var(--brand-wash); }
.excerpt code { font:inherit; white-space:pre-wrap; }
.site-footer { background:var(--brand-wash); border-top:1px solid var(--brand-line); padding-block:1.25rem; }
.site-footer .site-publisher { margin:0; color:var(--brand-muted); font-size:1rem; line-height:1.7; }

@media(max-width:22rem) {
 .pub-wrap { inline-size:calc(100% - 2rem); }
 /* 書誌の短い表は、項目名の下に値を置く（1列）。項目名の列（3.5rem）の横では値の欄が区切りより狭くなり、区切りの内側で折れるため（2026-10-06、本人）。 */
 .book-facts>div { grid-template-columns:minmax(0,1fr); }
 .author-book { gap:1rem; }
 .book-title { font-size:1.5rem; }
 .report-hero h1 { font-size:1.5rem; }
 .area-question { font-size:1.125rem; }
}
@media(min-width:48rem) {
 .pub-wrap { inline-size:calc(100% - 4rem); }
 .route-nav { gap:0 1rem; }
 .mobile-break { display:none; }
 .decision-scenes { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; }
 .learn-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; }
 .reader-actions { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 2rem; }
 .author-book { grid-template-columns:13rem minmax(0,1fr); gap:.75rem 3rem; padding-block:3.5rem; }
 .author-book-cover { grid-column:1; grid-row:1/4; }
 .author-book-cover { align-self:start; justify-self:stretch; inline-size:auto; }
 .author-book-heading,.author-book-caption,.author-book-intro { grid-column:2; }
 .book-title { font-size:2.25rem; }
 .book-promise { margin-block:1rem .75rem; }
 .toc-columns { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
 .toc-columns .toc-list:not(:last-child) li:last-child { border-block-end:1px solid var(--brand-line); }
 .toc-columns .toc-list+.toc-list>.toc-part:first-child { padding-block-start:.5rem; }
 .compare-table { --_padding:1.25rem 1rem; }
 .compare-table .dads-table__table th[scope=row] { inline-size:calc(4.25em + 2rem); }
 .author-support { grid-template-columns:13rem minmax(0,1fr); gap:3rem; padding-block:1.5rem; }
 .reader-entry { display:flex; justify-content:space-between; align-items:center; gap:2rem; }
 .reader-entry .text-link { margin:0; flex-shrink:0; }
 .report-topics { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(min-width:64rem) {
 .site-header-inner { display:flex; align-items:center; justify-content:space-between; gap:2rem; min-block-size:4.5rem; }
 .route-nav { gap:0 2rem; }
 h1 { font-size:2.75rem; } h2 { font-size:2rem; } h3 { font-size:1.25rem; }
 .site-name { font-size:1.125rem; }
 .author-book { grid-template-columns:16rem minmax(0,1fr); gap:.75rem 5rem; padding-block:4rem; }
 .author-support { grid-template-columns:16rem minmax(0,1fr); gap:5rem; }
 .page-head { padding-block:3rem; }
 .book-title { font-size:2.75rem; }
 .book-promise { font-size:1.5rem; }
 .book-subtitle { font-size:1.25rem; }
 .pub-section { padding-block:3rem; }
 .decision-scenes article { padding:2rem; }
 .report-hero { grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:3rem; padding-block:3rem; align-items:start; }
 .report-hero h1 { font-size:2.375rem; }
 .report-offer { padding:1.5rem; }
 .report-page .pub-section h2 { font-size:1.75rem; }
 .area-example { padding:1.5rem; }
 .area-question { font-size:1.375rem; }
 .report-product-visual { display:block; text-align:center; }
 .report-product-visual img { inline-size:13rem; margin-inline:auto; display:block; }
 .report-product-visual figcaption { margin-block-start:.75rem; }
 .report-output-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:2.5rem; }
 .output-example { padding:1.5rem; }
 .report-details { display:grid; grid-template-columns:minmax(0,3fr) minmax(0,7fr); gap:3rem; }
 .report-details>div+div { margin:0; }
 .readers-heading { padding-block:3rem 2rem; }
 .readers-grid { display:grid; grid-template-columns:minmax(0,3fr) minmax(0,10fr); gap:3rem; }
 .readers-grid>* { min-inline-size:0; }
 .reader-menu { position:sticky; inset-block-start:1rem; }
 .site-footer { padding-block:2rem; }
}
@media(forced-colors:active) {
 a:not(.dads-button):focus-visible { outline-color:Highlight; }
 /* 強制色では影（グラデーション）が消え、乗算は文字を背景に沈めうるので、見出しセルは普通に重ねる。 */
 .compare-table :is(.dads-table__col-header,.dads-table__row-header) { mix-blend-mode:normal; }
 .pending,.output-example,.decision-scenes article,.report-offer { border:1px solid CanvasText; }
 .area-bar span { border:1px solid CanvasText; }
 .area-bar span:last-child { border-style:dashed; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

}