/* Content-first layout. Keep this after site.css; shared styles precede mobile rules. */
:root { --muted:#58677d; --top-height:64px; }
html { scroll-padding-top:0; -webkit-text-size-adjust:100%; }
.topbar { height:var(--top-height); }
.sidebar { top:var(--top-height); height:calc(100dvh - var(--top-height)); }
.sidebar .nav-short { display:none; }
.sidebar nav .nav-name { font-size:13px; letter-spacing:0; color:inherit; }
main { padding-top:24px; }
.page-head { margin-bottom:20px; max-width:none; }
.page-head h1 { font-size:26px; letter-spacing:-.5px; }
.page-head p { font-size:14px; margin-top:6px; }
.library-head { display:flex; align-items:baseline; gap:20px; }
.library-head p { margin:0; }
.section-kicker { display:none; }
.tools { padding:12px 16px; margin-bottom:12px; }
.search-wrap input { font-size:16px; min-height:48px; }
.filter-disclosure { margin-top:6px; }
summary { cursor:pointer; }
.filter-disclosure>summary { display:list-item; width:fit-content; font-size:14px; min-height:40px; padding:8px 8px 8px 0; color:var(--blue); }
.selects { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.selects label { font-size:12px; color:var(--muted); }
.selects select { display:block; width:100%; max-width:100%; font-size:14px; margin-top:5px; min-height:44px; }
.filter-row { margin-top:12px; padding-top:8px; }
.chip { font-size:13px; padding:9px 12px; min-height:40px; }
.filter-done { display:none; }
.results-bar { margin:12px 0; font-size:13px; }
.results-bar select,.toggle-view button { font-size:13px; min-height:40px; }
.source-intro { display:flex; align-items:baseline; gap:18px; flex-wrap:wrap; }
.source-intro strong { font-size:19px; }
.source-intro span { color:var(--muted); font-size:13px; }
.source-info,.research-explainer { border:1px solid var(--line); border-radius:8px; padding:0 14px; margin:12px 0; background:#fff; }
.source-info>summary,.research-explainer>summary { padding:12px 0; font-size:14px; min-height:44px; }
.source-info p { font-size:14px; color:var(--muted); }
.reader-search { margin-top:14px; }
.reader-search input { font-size:16px; min-width:0; }
.reader-search button { white-space:nowrap; font-size:14px; min-height:44px; }
.source-results:empty { display:none; }
.chapter-list { margin-top:12px; }
.chapter-card { padding:18px 20px; }
.chapter-card h3 { font-size:16px; line-height:1.65; }
.chapter-card small,.chapter-card p { font-size:12px; letter-spacing:0; }
.article-header { padding-bottom:16px; margin-bottom:18px; }
.article-header h1 { font-size:29px; margin:6px 0 12px; overflow-wrap:anywhere; }
.article-header .lead { font-size:16px; }
.article-meta { margin:12px 0; }
.article-actions { align-items:flex-start; }
.article-actions button,.article-actions a { font-size:13px; min-height:44px; }
.more-actions { position:relative; }
.more-actions>summary { border:1px solid var(--line); background:white; border-radius:8px; padding:9px 12px; font-size:13px; min-height:44px; }
.more-actions>div { display:flex; flex-direction:column; gap:8px; border:1px solid var(--line); padding:12px; border-radius:8px; background:white; position:absolute; right:0; top:49px; min-width:170px; z-index:20; box-shadow:0 8px 20px #17233b14; }
.article section { margin:25px 0; scroll-margin-top:calc(var(--top-height) + 16px); }
.article section h3 { margin:16px 0 8px; }
.article section>p,.article section li { font-size:16px; line-height:1.9; }
.flow li { font-size:15px!important; }
.research-block { padding:18px 22px; }
.research-block h3 { font-size:16px; margin-top:0!important; }
.research-block p { font-size:15px; line-height:1.9; }
.callout { padding:14px 18px; font-size:14px; margin:16px 0; }
.note-caption { font-size:13px; }
.reader-controls { margin:10px 0; border:1px solid var(--line); border-radius:8px; padding:0 14px; background:white; }
.reader-controls>summary { padding:10px 0; min-height:44px; font-size:14px; color:#35569c; }
.read-settings { font-size:13px; margin:10px 0; gap:8px; }
.read-settings button { font-size:14px; min-height:44px; min-width:44px; }
.read-settings button[aria-pressed=true] { color:var(--blue); background:var(--blue-soft); border-color:#a9bdeb; }
.read-settings select { min-height:44px; font-size:16px; }
.reader-page { scroll-margin-top:calc(var(--top-height) + 16px); }
.reader-page header { color:var(--muted); }
.reader-page details { font-size:14px; margin-top:12px; }
.reader-page summary { min-height:44px; padding:10px 0; }
.reader-page .ocr-text { margin:0; }
.reader-page .ocr-text>summary { color:#53647f; }
.reading-progress { top:calc(var(--top-height) - 1px); }
.progress-resume { display:inline-flex; min-height:44px; align-items:center; font-size:14px; }
.mobile-outline,.compare-mobile { display:none; }
.methods-grid { gap:14px; }
.method-card { padding:22px; }
.method-card .number { margin-bottom:10px; font-size:11px; }
.method-card p { font-size:15px; }
.method-card a { margin-top:12px; min-height:44px; padding:10px 0; font-size:14px; }
.stats { padding:12px 0; margin-bottom:16px; }
.stat b { font-size:25px; }.stat span { font-size:12px; }
#research-search { width:100%; font-size:16px; min-height:48px; margin-bottom:12px; }
.audit-table { font-size:14px; }.audit-table th { font-size:12px; }.audit-table small { font-size:12px; }
.audit-table [hidden] { display:none!important; }
.research-explainer .panel p { font-size:14px; }
#results { scroll-margin-top:calc(var(--top-height) + 12px); }
.breadcrumb { margin-bottom:14px; font-size:13px; }
.breadcrumb a { display:inline-flex; align-items:center; min-height:36px; }
.note-area { font-size:16px; }.note-status { font-size:12px; }
.economics-status { border:1px solid var(--line); border-left:3px solid #8290a8; border-radius:8px; background:#fff; padding:12px 15px; margin:12px 0 16px; }
.economics-status strong { display:block; font-size:13px; line-height:1.5; }
.economics-status p { margin:5px 0 0; font-size:13px!important; line-height:1.75!important; color:var(--muted)!important; }
.economics-status.reported { border-left-color:#3866d8; background:#f8faff; }
.economics-status.estimated { border-left-color:#b9852c; background:#fffaf1; }
.economics-status.operational { border-left-color:#538a78; background:#f7fbf9; }
.economics-status.undisclosed { border-left-color:#8b96a8; background:#f8f9fb; }
.toc { top:calc(var(--top-height) + 24px); }
@media(max-width:850px) {
  :root { --top-height:56px; --bottom-height:62px; }
  body { font-size:16px; }
  .topbar { padding:0 16px; }
  .brand-name small { display:none; }
  .brand>b { font-size:27px; }
  .brand-name { font-size:10px; letter-spacing:1.2px; }
  .top-actions { gap:10px; }
  .top-actions>.quiet { display:none; }
  .search-shortcut { min-height:44px; padding:8px 14px; font-size:14px; }
  .search-shortcut kbd { display:none; }
  .sidebar { position:fixed; top:auto; bottom:0; left:0; right:0; width:100%; height:auto; padding:0 8px env(safe-area-inset-bottom); border:0; border-top:1px solid #dce2ec; z-index:50; background:rgba(255,255,255,.98); }
  .sidebar nav { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:0; overflow:visible; min-height:var(--bottom-height); }
  .sidebar nav a { justify-content:center; padding:9px 2px; margin:5px 1px; font-size:14px; min-height:48px; border-radius:8px; color:#53627b; }
  .sidebar nav a .nav-short { display:block; font-size:14px; color:inherit; letter-spacing:0; }
  .sidebar nav a .nav-number,.sidebar nav a .nav-name,.sidebar nav small { display:none; }
  main { padding:16px 16px calc(96px + env(safe-area-inset-bottom)); }
  .landing-head { margin-bottom:14px; }
  .landing-head>h1 { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  .library-head { height:0; margin:0; }
  .library-head p { display:none; }
  .page-head p { font-size:14px; margin:0; }
  .page-head .action-row { margin:10px 0 0; }
  .tools { padding:10px 12px 4px; }
  .filter-disclosure>summary { min-height:44px; font-size:15px; }
  .selects { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:4px; gap:12px; }
  .selects label { font-size:13px; }
  .selects select { font-size:16px; padding:10px 22px 10px 8px; }
  .chip { font-size:14px; min-height:44px; padding:9px 12px; }
  .filter-row { gap:5px; }
  .filter-done { display:block; width:100%; min-height:44px; margin:8px 0; color:white; background:var(--blue); border-color:var(--blue); }
  .results-bar { gap:8px; font-size:13px; margin:8px 0 12px; }
  .results-bar select { min-height:44px; font-size:14px; max-width:150px; padding:8px 2px; }
  .toggle-view button { min-height:44px; min-width:44px; font-size:13px; }
  .cards { gap:12px; }
  .case-card { padding:18px 18px 10px; }
  .card-top { margin-bottom:8px; }
  .source-label { font-size:12px; }
  .badge { font-size:12px; line-height:1.6; white-space:normal; }
  .case-card h3 { font-size:21px; line-height:1.45; margin-bottom:6px; overflow-wrap:anywhere; }
  .case-card .scenario { min-height:0; font-size:16px; line-height:1.65; color:#34435b; margin-bottom:8px; }
  .case-card .abstract { min-height:0; font-size:14px; line-height:1.8; -webkit-line-clamp:3; margin-bottom:12px; }
  .card-tags { gap:5px; margin-bottom:10px; }.card-tags span { font-size:12px; color:#526179; }
  .card-footer { padding-top:6px; gap:8px; font-size:14px; }
  .card-footer>a { display:flex; min-height:44px; align-items:center; }
  .card-actions { gap:3px; }.card-actions button { min-width:44px; min-height:44px; padding:6px 9px; font-size:14px; color:#58677c; }
  .pagination { margin:22px 0; gap:14px; font-size:14px; }.pagination button { min-height:44px; font-size:14px; }
  .list-view .case-card { display:flex; gap:0; }
  .list-view .card-footer { flex-direction:row; justify-content:space-between; border-top:1px solid var(--line); margin-top:10px; }
  .list-view .scenario { margin:4px 0 10px; }
  .empty { padding:28px 16px; }.empty p { font-size:15px; }.empty button,.empty a { min-height:44px; font-size:14px; }
  .breadcrumb { font-size:13px; gap:8px; margin-bottom:8px; align-items:center; }
  .article-header h1 { font-size:24px; line-height:1.5; letter-spacing:-.5px; margin:4px 0 10px; }
  .article-header { padding-bottom:12px; margin-bottom:12px; }
  .article-header .company { font-size:13px; }
  .article-header .lead { font-size:15px; line-height:1.85; }
  .article-meta { margin:10px 0; gap:5px; }
  .article-actions { gap:8px; }
  .article-actions button,.article-actions a,.more-actions>summary { font-size:14px; padding:9px 11px; }
  .mobile-outline { display:block; position:sticky; top:var(--top-height); z-index:25; border:1px solid var(--line); border-radius:8px; background:rgba(255,255,255,.98); margin:12px 0 18px; box-shadow:0 2px 6px #17233b04; }
  .mobile-outline>summary { min-height:44px; padding:9px 14px; font-size:14px; color:#3559ac; }
  .mobile-outline nav { display:grid; grid-template-columns:1fr 1fr; padding:4px 8px 10px; gap:4px; max-height:55dvh; overflow:auto; }
  .mobile-outline a { font-size:14px; min-height:44px; padding:10px 8px; border-radius:6px; }
  .mobile-outline a:hover { background:var(--blue-soft); }
  .article section { scroll-margin-top:116px; margin:24px 0; }
  .article section h2 { font-size:21px; margin-bottom:14px; }
  .article section h3 { font-size:17px; }
  .article section>p,.article section li { font-size:17px; line-height:1.9; color:#34435b; }
  .flow li { font-size:16px!important; padding:14px 14px 14px 44px; }.flow li:before { left:13px; font-size:12px; }
  .research-block { padding:16px; margin:14px 0; }.research-block h3 { font-size:17px; }.research-block p { font-size:16px; }
  .callout { padding:12px 14px; font-size:14px; line-height:1.85; margin:12px 0; }
  .article .callout p { font-size:14px; }
  .sources-list a { font-size:15px; }.sources-list small { font-size:12px; }
  .boundary-grid { grid-template-columns:80px minmax(0,1fr); font-size:14px; gap:10px; }
  .note-caption { font-size:13px; line-height:1.8; }
  .economics-status { padding:12px; margin:10px 0 14px; }
  .economics-status strong { font-size:14px; }
  .economics-status p { font-size:14px!important; line-height:1.8!important; }
  .inline-links a,.button-secondary,.button-primary,.action-row button { font-size:14px; min-height:44px; padding:10px 12px; }
  .article-header>.eyebrow { display:none; }
  .reader-page { margin:12px 0; padding:18px 16px; scroll-margin-top:72px; }
  .reader-page header { font-size:11px; margin-bottom:16px; padding-bottom:10px; }
  .reader-page p { font-size:var(--read-size); line-height:1.95; margin-bottom:18px; }
  .reader-page h3 { font-size:calc(var(--read-size) + 1px); line-height:1.85; }
  .reader-page .ocr { font-size:11px; }
  .reader-page details { font-size:14px; }
  .reader-controls { margin:8px 0; padding:0 12px; }
  .reader-controls>summary { font-size:14px; }
  .reader-controls .action-row { margin:10px 0; gap:6px; }
  .source-intro { gap:2px; display:block; }.source-intro strong { font-size:18px; }.source-intro span { display:block; font-size:13px; margin-top:4px; }
  .source-info { margin:10px 0; }.source-info>summary { font-size:13px; }
  .reader-search { margin-top:12px; }.reader-search button { padding:9px 12px; }
  .section-head { margin:20px 0 12px; align-items:center; }.section-head h2 { font-size:19px; }.section-head p { font-size:12px; }
  .section-head .quiet { font-size:12px; min-height:44px; display:flex; align-items:center; }
  .chapter-card { padding:15px 16px; }.chapter-card h3 { font-size:17px; line-height:1.7; margin:6px 0; }.chapter-card p { font-size:13px; }.chapter-card small { font-size:12px; }
  .source-result { padding:14px; font-size:15px; }.source-result p { font-size:14px; }
  .method-card { padding:18px; }.method-card .number { font-size:11px; margin-bottom:8px; }.method-card h3 { font-size:20px; margin-bottom:8px; }.method-card p { font-size:15px; min-height:0; }.method-card a { margin-top:8px; font-size:14px; padding:10px 0; }
  .panel { padding:16px; margin:12px 0; }.panel p { font-size:15px; }.panel .eyebrow { display:none; }
  .stats { padding:10px 0; margin-bottom:12px; }.stat { padding:0 8px; display:block; }.stat b { font-size:22px; display:block; }.stat span { font-size:11px; }
  .table-wrap { border:0; overflow:visible; }
  .audit-table,.audit-table tbody { display:block; background:transparent; }
  .audit-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .audit-table tbody tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; border:1px solid var(--line); border-radius:10px; padding:16px; margin-bottom:10px; background:white; }
  .audit-table td { display:block; padding:0; border:0; font-size:14px; overflow-wrap:anywhere; }
  .audit-table td:first-child { grid-column:1/-1; font-size:16px; }
  .audit-table td:before { content:attr(data-label); display:block; font-size:12px; color:var(--muted); margin-bottom:4px; }
  .audit-table td:first-child:before { display:none; }
  .audit-table td:last-child:nth-child(3) { grid-column:1/-1; }
  .audit-table small { font-size:14px; }.audit-table td a { display:inline-block; min-height:30px; }
  .compare-tray { bottom:calc(72px + env(safe-area-inset-bottom)); left:50%; width:calc(100% - 24px); max-width:550px; padding:9px 12px; gap:8px; justify-content:space-between; }
  .compare-tray button { min-height:44px; font-size:14px; }.compare-tray .clear { min-width:44px; }.compare-tray>div { font-size:13px; }.compare-tray small { display:none; }
  dialog { width:calc(100vw - 20px); max-height:calc(100dvh - 32px - env(safe-area-inset-bottom)); padding:16px; border-radius:12px; }
  .dialog-head { position:sticky; top:-16px; background:white; z-index:2; padding:10px 0; margin-bottom:12px; gap:8px; }
  .dialog-head .eyebrow { display:none; }.dialog-head h2 { font-size:20px; }.dialog-head button { min-height:44px; font-size:14px; white-space:nowrap; }
  .compare-desktop { display:none; }.compare-mobile { display:block; }
  .compare-mobile section { border:1px solid var(--line); border-radius:8px; padding:14px; margin:14px 0; }
  .compare-mobile h3 { font-size:18px; margin-bottom:12px; }.compare-mobile section>div+div { border-top:1px solid var(--line); padding-top:12px; margin-top:12px; }
  .compare-mobile strong { font-size:14px; color:#385ba7; }.compare-mobile p { font-size:16px; line-height:1.85; margin-top:5px; overflow-wrap:anywhere; }
  input,select,textarea,#export-json { font-size:16px!important; }
  #toast { bottom:calc(78px + env(safe-area-inset-bottom)); width:max-content; max-width:calc(100vw - 32px); font-size:14px; text-align:center; }
  .footnote { font-size:12px; line-height:1.8; margin-top:26px; }.footnote a { display:inline-flex; align-items:center; min-height:44px; }
  .loading { padding:50px 12px; font-size:15px; }
}
@media(max-width:359px) {
  main { padding-left:12px; padding-right:12px; }
  .topbar { padding:0 12px; }.brand-name { font-size:9px; }
  .results-bar>div { flex-wrap:wrap; }.results-bar select { max-width:132px; }
  .case-card { padding:16px 14px 10px; }.card-tags span { font-size:11px; }
  .stat span { font-size:10px; }.article-actions { gap:5px; }.article-actions button,.more-actions>summary { padding:9px 8px; font-size:13px; }
}
@media(min-width:851px) {
  .shell { width:100%; max-width:2240px; }
  main { flex:1; min-width:0; max-width:none; padding:30px clamp(30px,3.2vw,68px) 72px; }
  .reader { width:100%; max-width:1180px; }
  .article-layout { width:100%; max-width:1540px; margin-inline:auto; grid-template-columns:minmax(0,1fr) 205px; gap:clamp(28px,3vw,44px); }
  .article.method-reader { width:100%; max-width:1420px; margin-inline:auto; }
  .method-fit-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
  .method-fit-grid .research-block { margin:0; }
  .method-reader #steps .flow { max-width:1080px; }
  .method-reader #inputs>ul,.method-reader #acceptance>ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:30px; }
  .method-reader #inputs>ul li,.method-reader #acceptance>ul li { padding:0 0 12px; margin:0 0 12px; border-bottom:1px solid var(--line); }
  .method-reader .method-case-cards { grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); }
}
@media(min-width:1200px) and (max-width:1649px) {
  .methods-grid,.chapter-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(min-width:851px) and (max-width:1099px) {
  .article-layout { display:block; }
  .toc { display:none; }
}
@media(min-width:1650px) {
  .cards { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .methods-grid,.chapter-list { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(max-width:850px) {
  .article.method-reader { max-width:none; }
  .method-fit-grid { display:block; }
  .method-fit-grid .research-block+.research-block { margin-top:12px; }
}
@media print {
  .reader-controls,.mobile-outline,.filter-disclosure,.more-actions { display:none!important; }
  .landing-head>h1 { position:static; width:auto; height:auto; clip-path:none; }
  .compare-desktop { display:block; }.compare-mobile { display:none; }
}
.footnote>details>summary { min-height:44px; padding:10px 0; width:fit-content; }
.research-jumps { display:flex; gap:8px; flex-wrap:wrap; margin:12px 0; }
.research-jumps a { font-size:14px; display:flex; align-items:center; min-height:44px; padding:9px 14px; background:white; border:1px solid var(--line); border-radius:8px; }
.section-head[id] { scroll-margin-top:calc(var(--top-height) + 16px); }
.tools { scroll-margin-top:calc(var(--top-height) + 12px); }
@media(min-width:851px) {
  .card-top { margin-bottom:12px; }.source-label { font-size:12px; }
  .case-card h3 { font-size:21px; }.case-card .scenario { font-size:15px; }
  .case-card .abstract { font-size:14px; line-height:1.8; min-height:76px; }
  .card-tags span { font-size:11px; }.card-footer { font-size:13px; }
  .card-actions button { font-size:12px; min-height:36px; padding:6px 8px; }
  .case-card .badge { font-size:11px; }
}
@media(max-width:850px) {
  .article-actions { position:relative; }
  .more-actions { position:static; }
  .more-actions>div { top:calc(100% + 4px); right:0; }
  .reader-page:has(.ocr-text) { padding-top:12px; padding-bottom:12px; }
  .reader-page:has(.ocr-text)>header { margin-bottom:4px; }
}
/* The article itself names the current item; breadcrumbs only need the return link. */
.breadcrumb>span { display:none; }

/* Compact, always-visible attribution; detailed source ledger expands on demand. */
.source-provenance { padding:14px 16px; margin:0 0 18px; background:#fff; border:1px solid var(--line); border-radius:10px; font-size:13px; }
.source-provenance>div { display:flex; flex-wrap:wrap; gap:4px 14px; align-items:baseline; }
.source-provenance>div+div { margin-top:6px; }
.source-provenance a,.source-origin a { color:var(--blue); overflow-wrap:anywhere; }
.source-provenance span,.source-provenance>p,.source-group small { color:var(--muted); }
.source-provenance>p { margin-top:8px; }
.source-provenance summary { cursor:pointer; padding-top:10px; }
.source-group { margin-top:14px; }.source-group ul { margin:8px 0; }.source-group small { display:block; }
.source-origin { overflow-wrap:anywhere; font-size:13px; margin:8px 0; }
@media(max-width:600px) { .source-provenance { padding:12px; }.source-provenance>div { display:grid; gap:3px; } }

/* Implementation guides: usable workspace, concise cards and a persistent outline. */
.method-layout { display:grid; grid-template-columns:minmax(0,1fr) 170px; gap:28px; align-items:start; }
.method-layout .article.method-reader { max-width:none; min-width:0; }
.method-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.method-block { background:var(--paper); border:1px solid var(--line); padding:18px; border-radius:10px; min-width:0; }
.method-reader .method-block h3,.method-reader .method-block h4 { margin:0 0 9px; font-size:17px; }
.method-reader p,.method-reader li { overflow-wrap:anywhere; }
.method-reader .method-block p,.method-reader .method-grid p,.method-exercise p { font-size:15px; line-height:1.85; margin:0; }
.method-reader p+p,.method-reader .method-block .method-detail { margin-top:10px; }
.method-reader .method-detail { color:var(--muted); }
.method-reader p>strong { display:block; margin-bottom:3px; color:var(--ink); }
.method-reader .callout p { margin:6px 0 0; }
.method-reader .method-subheading { margin-top:20px; }
.method-phases { padding:0; list-style:none; display:grid; gap:14px; }
.method-phases>li { background:#fff; border:1px solid var(--line); border-radius:10px; padding:18px; margin:0; }
.phase-title { display:flex; gap:10px; align-items:center; margin-bottom:8px; }
.phase-title span { display:grid; place-items:center; width:28px; height:28px; border-radius:7px; color:var(--blue); background:var(--blue-soft); flex-shrink:0; }
.method-reader .phase-title h3 { margin:0; }
.method-phases .method-grid { margin-top:12px; border-top:1px solid var(--line); padding-top:12px; }
.method-checks { display:grid; gap:12px; margin-top:14px; }
.method-expand { margin-top:14px; border:1px solid var(--line); background:#fff; border-radius:8px; padding:0 14px; }
.method-expand>summary { cursor:pointer; padding:12px 0; min-height:44px; font-weight:550; }
.method-expand>p:last-child { margin-bottom:14px; }
.method-exercise { background:#f0f4ff; border:1px solid #dbe4fb; border-radius:10px; padding:20px; }
.method-exercise h3 { margin:10px 0; }
.exercise-result { border-top:1px solid #dbe4fb; padding-top:12px; }
.method-worksheet { white-space:pre-wrap; overflow-wrap:anywhere; font:14px/1.9 ui-monospace,monospace; }
.method-source-list { list-style:none; padding:0; }
.method-source-list li { padding:14px 0; border-bottom:1px solid var(--line); }
.method-source-list a { color:var(--blue); }
.method-source-list p { font-size:14px; color:var(--muted); margin:6px 0; }
.method-source-list small { color:var(--muted); }
.method-reader .method-case-cards { margin-top:14px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.method-card .method-pilot-preview { font-size:13px; color:var(--muted); border-top:1px solid var(--line); padding-top:12px; margin-top:12px; }
.method-pilot-preview strong { display:block; color:var(--ink); margin-bottom:4px; }
.method-card>a { margin-top:auto; }
.method-start { margin-top:24px; }
.method-start h2 { margin-bottom:16px; font-size:22px; }
.method-start .note-caption { margin-top:16px; }
.method-toc { width:auto; }
@media(max-width:1199px) {
 .method-layout { display:block; }.method-toc { display:none; }
 .method-reader .mobile-outline { display:block; border:1px solid var(--line); background:#fff; border-radius:8px; margin:14px 0; }
 .method-reader .mobile-outline>summary { padding:10px 14px; min-height:44px; }
 .method-reader .mobile-outline nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:8px; }
 .method-reader .mobile-outline a { padding:10px 8px; min-height:44px; }
}
@media(max-width:650px) {
 .method-grid,.method-reader .method-case-cards { grid-template-columns:1fr; }
 .method-block,.method-phases>li,.method-exercise { padding:15px; }
 .method-reader .article-header h1 { font-size:26px; }
 .method-reader .action-row { align-items:stretch; }.method-reader .action-row>* { text-align:center; }
}
@media print {
 .method-layout { display:block; }.method-toc,.method-reader .action-row { display:none; }
 .method-grid { grid-template-columns:1fr 1fr; }.method-block,.method-phases>li { break-inside:avoid; }
}
@media(max-width:850px) {
 /* The compact site navigation sits below the 60px header on small screens. */
 .method-reader .mobile-outline { top:calc(60px + var(--bottom-height) + 1px); }
 .method-reader section { scroll-margin-top:calc(60px + var(--bottom-height) + 64px); }
}
