/* RFMB V13 — document reading and contextual editing share one restrained surface. */
.resource-page { background: #fff; }
.resource-page .reader { --reader-copy: 17px; width: 100%; max-width: 1192px; padding: 0 40px 72px; }
.resource-page .reader.reading-enlarged { --reader-copy: 19px; }
.reader .reader-return-bar { display: flex; align-items: center; justify-content: space-between; gap: 8px 16px; margin: 12px 0 0; padding: 0; }
.reader .reader-return { min-height: 44px; font-size: 14px; color: #536b7b; }
.reader .reader-heading { display: grid; grid-template-columns: minmax(0,1fr); gap: 8px; padding: 14px 0 22px; background: none; border: 0; border-bottom: 1px solid #e1e7ec; border-radius: 0; }
.reader .reader-heading-main, .reader-title-block { min-width: 0; }
.reader .reader-heading-main { display: block; }
.reader .reader-breadcrumb { gap: 7px; font-size: 12px; line-height: 1.6; color: #617383; margin: 0 0 10px; letter-spacing: .15px; }
.reader .reader-breadcrumb > span { margin: 0 2px; color: #a0acb5; }
.reader h1 { max-width: 27ch; font-size: clamp(30px,3.25vw,42px); line-height: 1.16; letter-spacing: -1.35px; font-weight: 600; margin: 0; text-wrap: balance; overflow-wrap: anywhere; }
.reader .reader-meta { margin: 16px 0 0; gap: 8px 14px; }
.reader-header-unit { display: inline-flex; align-items: baseline; gap: 7px; color: #617383; font-size: 13px; }
.reader-header-unit strong { color: #183548; font-size: 16px; font-weight: 600; }
.reader-status-badge { display: inline-flex; align-items: center; min-height: 26px; padding: 3px 9px; border-radius: 6px; background: #eff4ee; color: #486346; font-size: 12px; line-height: 1.5; }
.reader-editorial { min-width: 0; }
.reader-editorial-links { display: flex; align-items: center; flex-wrap: wrap; gap: 0 24px; }
.reader-editorial-links > :is(a,button) { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; max-width: 100%; padding: 9px 0; color: #536b7b; font-size: 14px; line-height: 1.5; text-decoration: none; text-align: left; }
.reader-editorial-links > :first-child { color: #2455c9; font-weight: 500; }
.reader-editorial-links > :is(a,button):hover { color: #1947b1; text-decoration: underline; text-underline-offset: 4px; }
.reader-editorial-links > button > svg { width: 16px; height: 16px; flex-shrink: 0; }
.reader-editorial-links > [aria-pressed=true] { color: #173b8f; }
.reader-editorial > p { margin: 0; color: #617383; font-size: 12px; line-height: 1.6; }
.reader-editorial > .reader-editorial-status:not(:empty) { margin-top: 8px; color: #8a4528; }
.reader-tools { position: relative; flex-shrink: 0; color: #435d70; }
.reader-tools > summary { display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 44px; padding: 10px 12px; border: 1px solid #dae3ea; border-radius: 8px; font-size: 13px; line-height: 1.4; list-style: none; cursor: pointer; }
.reader-tools > summary::-webkit-details-marker { display: none; }
.reader-tools > summary > svg { width: 15px; height: 15px; transform: rotate(90deg); }
.reader-tools[open] > summary { color: #2455c9; border-color: #b3c6e1; background: #f6f9fe; }
.reader-tools[open] > summary > svg { transform: rotate(-90deg); }
.reader-tools-panel { position: absolute; z-index: 22; top: calc(100% + 8px); right: 0; width: min(292px,calc(100vw - 32px)); max-height: min(440px,var(--reader-tools-available,60dvh)); overflow-y: auto; overscroll-behavior: contain; padding: 8px; border: 1px solid #dbe3eb; border-radius: 12px; background: #fff; box-shadow: 0 12px 36px #142d401a; }
.reader-tools[data-placement="above"] > .reader-tools-panel { top: auto; bottom: calc(100% + 8px); }
.reader .reader-tools-panel > :is(button,a) { display: flex; align-items: center; justify-content: flex-start; gap: 11px; width: 100%; min-height: 44px; height: auto; margin: 0; padding: 11px 10px; border: 0; border-radius: 6px; background: transparent; font-size: 14px; font-weight: 400; line-height: 1.5; color: #314f65; text-align: left; white-space: normal; }
.reader .reader-tools-panel > :is(button,a):hover { background: #f0f5fc; color: #2455c9; text-decoration: none; }
.reader .reader-tools-panel > :is(button,a) > svg, .reader-tools-panel .reader-comfort-button > b { width: 18px; height: 18px; flex-shrink: 0; }
.reader-tools-panel .reader-comfort-button > b { display: block; font-size: 15px; line-height: 18px; font-weight: 500; }
.reader .reader-tools-panel > [aria-pressed=true] { background: #edf3ff; color: #2455c9; }
.reader-tools-divider { height: 1px; margin: 5px 8px; background: #e3e9ef; }
.reader-tools-status { font-size: 13px; line-height: 1.6; color: #2455c9; margin: 0; }
.reader-tools-status:not(:empty) { padding: 9px 10px; }
.reader .reader-tools-panel :focus-visible { outline-offset: -2px; }

/* The document keeps its width. A textual shortcut appears only at keyboard focus. */
.reader-editable-block { position: relative; min-width: 0; padding-right: 0; }
.reader .reader-block-edit {
  position: absolute;
  top: -40px;
  right: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  width: auto;
  height: auto;
  min-height: 44px;
  padding: 8px 12px;
  border: 0;
  border-radius: 7px;
  background: #fff;
  color: #59778d;
  text-decoration: none;
  font-size: 12px;
  white-space: nowrap;
  z-index: 2;
}
.reader-is-editing .reader-block-edit { visibility: visible; }
.reader .reader-block-edit:focus-visible { opacity: 1; pointer-events: auto; background: #edf3ff; outline: 2px solid #2455c9; outline-offset: -2px; }
.reader-is-editing .reader-editable-block:focus-within:not(.reader-has-inline-editor) { background: #f3f7ff; }
.reader-editable-inline { padding-right: 0; }
.reader .reader-intro-block { margin: 22px 0; }
.reader .reader-intro-block > .reader-intro { margin: 0; font-size: var(--reader-copy); line-height: 1.75; color: #425c6d; }
.reader .reader-method .reader-editable-block { padding-right: 0; }
.reader .reader-aliases > .reader-editable-block { padding-right: 0; }
.reader .reader-check-item { padding: 0; border-bottom: 1px solid #e5eaf0; background: #fff; }
.reader .reader-check-item:last-child { border-bottom: 0; }
.reader .reader-check-item > label { display: flex; align-items: flex-start; gap: 14px; min-height: 60px; padding: 18px; cursor: pointer; }
.reader .reader-check-item:has(input:checked) { background: #f1f6ee; }
.reader .reader-check-item > .reader-block-edit { right: 2px; }
.reader-example-edit { margin-top: 16px; padding: 0; border-block: 1px solid #dde6ef; }
.reader-example-edit > summary { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 12px 0; color: #2455c9; font-size: 14px; line-height: 1.6; list-style: none; cursor: pointer; }
.reader-example-edit > summary::-webkit-details-marker { display: none; }
.reader-example-edit > summary::marker { content: ''; }
.reader-example-edit > summary > svg { width: 17px; height: 17px; flex-shrink: 0; }
.reader-example-edit > summary > svg:last-child { margin-left: auto; transform: rotate(90deg); }
.reader-example-edit[open] > summary > svg:last-child { transform: rotate(-90deg); }
.reader-example-edit > p { margin: 0 0 12px; color: #617383; font-size: 12px; }
.reader-example-edit > dl { display: grid; gap: 15px; margin: 0 0 18px; }
.reader-example-edit dt { margin: 0 0 5px; color: #617383; font-size: 12px; font-weight: 600; }
.reader-example-edit dd { margin: 0; color: #425c6d; font-size: 15px; line-height: 1.75; white-space: pre-wrap; overflow-wrap: anywhere; }

/* One continuous reading surface. The contents are the only persistent page control. */
.reader .reader-layout { grid-template-columns: 192px minmax(0,1fr); gap: 48px; padding-top: 32px; }
.reader .reader-nav { min-width: 0; padding: 0; margin: 0; border: 0; background: transparent; }
.reader .reader-nav > .tiny-label { margin: 0 0 10px; padding: 0 12px; color: #758694; font-size: 10px; letter-spacing: 1.2px; }
.reader-position { display: none; }
.reader .reader-nav-links > a { min-height: 50px; padding: 10px 12px; margin: 2px 0; gap: 9px; border: 0; border-radius: 7px; }
.reader .reader-nav-links > a.active { color: #2455c9; background: #edf3ff; box-shadow: none; }
.reader .reader-nav-links > a:hover { background: #f0f4f8; }
.reader .reader-nav-index { align-self: center; padding: 0; font-size: 10px; color: #8a9baa; }
.reader .reader-nav-links > a strong { font-size: 14px; font-weight: 500; color: #52697a; }
.reader .reader-nav-links > a.active strong { color: #2455c9; font-weight: 600; }
.reader .reader-nav-links > a small { display: none; }
.reader .reader-nav-links > a > svg { width: 13px; height: 13px; }
.reader-share { min-width: 0; margin: 10px 0 0; padding: 8px 0 0; border-top: 1px solid #e1e7ee; }
.reader-share > button { display: flex; align-items: center; gap: 9px; width: 100%; min-height: 44px; padding: 10px 12px; border: 0; border-radius: 7px; background: none; color: #52697a; font-size: 13px; line-height: 1.5; text-align: left; }
.reader-share > button > svg { width: 16px; height: 16px; flex-shrink: 0; }
.reader-share > button:hover { color: #2455c9; background: #f0f4f8; }
.reader-share > button:disabled { opacity: .65; cursor: wait; }
.reader-share-status { margin: 0; padding: 0 12px; color: #486857; font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.reader-share-status:not(:empty) { padding-bottom: 8px; }
.reader-share-fallback { min-width: 0; padding: 0 12px 10px; }
.reader-share-fallback[hidden] { display: none; }
.reader-share-fallback > label { display: block; margin: 3px 0 6px; font-size: 12px; color: #52697a; }
.reader-share-fallback > input { display: block; width: 100%; min-width: 0; min-height: 44px; padding: 9px; border: 1px solid #c5d2db; border-radius: 6px; background: #fff; color: #314f65; font-size: 16px; }
.reader-nav-participate { display: none; }
.reader .reader-body { width: 100%; max-width: 800px; padding: 0; border: 0; border-radius: 0; background: none; }
.reader .reader-panel { padding: 34px 0 40px; }
.reader .reader-panel:first-child { padding-top: 0; }
.reader .reader-panel + .reader-panel { border-top: 1px solid #e2e8ed; }
.reader .reader-panel-title > span { color: #738795; font-size: 10px; letter-spacing: 1.25px; margin-bottom: 8px; }
.reader .reader-panel-title h2 { font-size: 27px; line-height: 1.25; letter-spacing: -.65px; font-weight: 600; margin-bottom: 20px; }
.reader .reader-panel-title > p { margin-bottom: 22px; }
.reader .reader-panel > .reader-intro, .reader .reader-essential-scope > p, .reader .reader-prose p, .reader .reader-panel-title > p, .reader .reader-method p, .reader .reader-checks span { font-size: var(--reader-copy); line-height: 1.75; color: #425c6d; }
.reader .reader-essential-grid { display: grid; grid-template-columns: minmax(0,1fr) 200px; align-items: start; gap: 28px; padding: 0; margin: 0 0 24px; border: 0; border-radius: 0; background: none; }
.reader .reader-essential-scope > h3 { font-size: 13px; font-weight: 600; color: #677e8e; margin-bottom: 8px; }
.reader .reader-essential-scope > p { color: #233f52; }
.reader-essential-figure { min-width: 0; padding: 14px 10px 12px; border-radius: 12px; background: #f3f6fa; text-align: center; }
.reader-essential-figure .ouvrage-figure { width: 100%; height: 128px; max-height: none; }
.reader-essential-figure > span { display: block; font-size: 10px; line-height: 1.5; color: #708292; margin-top: 3px; }
.reader .reader-panel > .reader-intro { margin: 22px 0; }
.reader .reader-distinction { margin-bottom: 14px; font-size: 14px; }
.reader .reader-aliases { border-top-color: #e3e9ee; padding-top: 8px; margin-top: 18px; }
.reader .reader-aliases summary { font-size: 13px; }
.reader .reader-aliases span { background: #f4f7fa; border: 0; border-radius: 6px; }
.reader .reader-source-grid { gap: 12px; margin: 20px 0; }
.reader .reader-source-grid article { border: 1px solid #e1e8ee; border-radius: 10px; background: #fafbfd; padding: 19px 16px; }
.reader .reader-source-grid h3 { font-size: 16px; }
.reader .reader-source-grid p, .reader .reader-case-convention p, .reader .reader-provenance p { font-size: calc(var(--reader-copy) - 1px); line-height: 1.75; }
.reader .reader-source-grid article > span { color: #8393a0; font-size: 11px; }
.reader .reader-method { margin: 0 0 24px; }
.reader .reader-method li { gap: 15px; padding: 17px 0; border-color: #e4e9ef; }
.reader .reader-method li:first-child { padding-top: 0; }
.reader .reader-method li > span { width: 30px; height: 30px; margin-top: 3px; border-radius: 8px; background: #edf3ff; color: #2455c9; font-size: 11px; }
.reader .reader-case { padding: 24px; border: 1px solid #dce5ee; border-radius: 14px; background: #f9fbfe; }
.reader .reader-case-title h3 { font-size: 24px; }
.reader .reader-case-title > p { font-size: 15px; }
.reader .reader-case-schema { border-radius: 10px; background: #f0f4fa; }
.reader .reader-case-result { margin-top: 22px; padding: 17px 19px; border-radius: 8px; background: #142d40; }
.reader .reader-case-result > span { color: #dce6f0; }
.reader .reader-case-result > strong { font-size: 30px; color: #fff; }
.reader .reader-case-convention { margin-top: 22px; padding: 0 0 0 16px; border-color: #8ca4be; }
.reader .reader-case-convention > strong { color: #3c5970; }
.reader .reader-check-progress { flex-wrap: wrap; align-items: center; padding: 6px 0 14px; gap: 2px 18px; }
.reader .reader-checks { border-color: #dfe6ec; border-radius: 10px; }
.reader .reader-checks > label { padding: 18px; border-color: #e5eaf0; }
.reader .reader-checks > label:has(input:checked) { background: #f1f6ee; }
.reader .reader-checks input { accent-color: #2455c9; }
.reader .reader-note { font-size: 13px; line-height: 1.75; color: #687d8b; }
.reader .reader-dpgf { border-color: #dce5ec; border-radius: 10px; }
.reader .reader-dpgf > div:first-child { background: #f0f4f9; }
.reader .reader-dpgf th { background: #f7f9fc; }
.reader .reader-dpgf td, .reader .reader-dpgf > p { border-color: #e1e7ee; }
.reader .reader-dpgf > p { background: #fafbfd; }
.reader .reader-dpgf button { color: #2455c9; }
.reader .reader-provenance { padding: 21px; background: #f4f7f2; border-color: #e0e7db; border-radius: 10px; }
.reader .reader-panel-title .rfmb-resource-version { display: block; margin: -7px 0 20px; border: 0; padding: 0; font-size: 13px; line-height: 1.7; color: #6a7d89; }
.reader .reader-related { padding-top: 20px; }
.reader-feedback { display: grid; gap: 18px; padding: 26px 0 12px; border-top: 1px solid #e2e8ed; }
.reader-feedback h2 { font-size: 22px; line-height: 1.35; letter-spacing: -.4px; font-weight: 600; }
.reader-feedback p { max-width: 67ch; margin: 8px 0 0; font-size: 15px; line-height: 1.7; color: #617383; }
.reader-feedback-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; }
.reader .reader-feedback-actions > button { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; height: auto; padding: 10px 0; border: 0; border-radius: 0; background: none; color: #2455c9; font-size: 14px; line-height: 1.5; font-weight: 500; margin: 0; width: auto; }
.reader .reader-feedback-actions > button > svg { width: 18px; height: 18px; flex-shrink: 0; }
.reader .reader-feedback-actions > button:hover { text-decoration: underline; text-underline-offset: 4px; }
.reader .reader-feedback-actions > .reader-guide-toggle { color: #536b7b; font-weight: 400; }
.reader .reader-action-status:not(:empty) { padding-top: 12px; }

/* The guide is explicitly opened and never occupies the initial reading screen. */
.reader .reader-guide { border-color: #d2ddd0; border-radius: 14px; background: #f2f6ef; padding: 20px; }
.reader .guide-heading { margin-bottom: 14px; padding-bottom: 14px; background: #f2f6ef; }
.guide-context { padding: 12px 13px; margin-bottom: 16px; border-left: 2px solid #92aa8b; background: #e8efe2; border-radius: 0 6px 6px 0; }
.guide-context > span { display: block; font-size: 11px; font-weight: 600; color: #47633f; }
.guide-context > p { font-size: 13px; line-height: 1.65; color: #4d6744; margin: 6px 0 0; }
.reader .guide-suggestions { border-top: 1px solid #d5dfce; padding-top: 12px; margin-top: 14px; }
.reader .guide-suggestions button { min-height: 44px; padding-block: 10px; border-radius: 8px; }
.reader .guide-suggestions button > span { flex: 1; min-width: 0; }
.reader .guide-suggestions button > svg { flex-shrink: 0; }
.reader .guide-disclosure { font-size: 11px; line-height: 1.7; }
.reader :is(a,button,summary,input):focus-visible { outline: 3px solid #2455c9; outline-offset: 3px; }
.reader .reader-panel-title > h2:focus-visible { outline: 3px solid #2455c9; outline-offset: 5px; }

@media (min-width:1261px) {
  .resource-page .reader.guide-is-open { max-width: 1540px; }
  .reader.guide-is-open .reader-layout { grid-template-columns: 180px minmax(0,1fr) 310px; gap: 30px; }
  .reader.guide-is-open .reader-body { padding: 0; }
  .reader.guide-is-open .reader-essential-grid { grid-template-columns: minmax(0,1fr) 170px; gap: 22px; }
}
@media (max-width:1100px) {
  .resource-page .reader { padding-inline: 32px; }
  .reader .reader-layout { grid-template-columns: 170px minmax(0,1fr); gap: 32px; }
  .reader .reader-essential-grid { grid-template-columns: minmax(0,1fr) 160px; gap: 22px; }
}
@media (max-width:960px) {
  .reader .reader-layout { display: block; padding-top: 0; }
  .reader .reader-heading { padding-bottom: 22px; }
  .reader .reader-nav { display: block; margin: 0 0 24px; padding: 0; background: #fff; border-bottom: 1px solid #e2e8ed; z-index: 12; }
  .reader .reader-nav-current { display: block; }
  .reader .reader-toc-toggle { min-height: 48px; padding: 9px 0; gap: 16px; }
  .reader .reader-toc-toggle > span { display: flex; align-items: center; gap: 12px; min-width: 0; }
  .reader .reader-toc-toggle small { display: inline; flex-shrink: 0; font-size: 12px; color: #687d8d; }
  .reader .reader-toc-toggle strong { display: block; min-width: 0; font-size: 13px; font-weight: 500; margin: 0; }
  .reader .reader-toc-toggle > svg { width: 16px; height: 16px; }
  .reader .reader-nav-links { margin: 0 0 9px; padding: 6px; border-color: #e0e7ed; border-radius: 10px; max-height: min(420px,calc(100dvh - var(--rfmb-header-height,88px) - 68px)); }
  .reader .reader-nav-links > a { min-height: 44px; padding: 10px 12px; }
  .reader-nav-participate { display: block; margin: 7px 8px 0; padding: 12px 4px 4px; border-top: 1px solid #e1e7ee; }
  .reader-nav-participate > p { margin: 0 0 2px; color: #687d8d; font-size: 11px; line-height: 1.6; }
  .reader-nav-participate > button { display: flex; align-items: center; gap: 9px; width: 100%; min-height: 44px; padding: 10px 0; color: #2455c9; font-size: 14px; font-weight: 500; line-height: 1.5; text-align: left; }
  .reader-nav-participate > button > svg { width: 17px; height: 17px; flex-shrink: 0; }
  .reader .reader-body { max-width: none; padding: 0; }
  .reader .reader-essential-grid { grid-template-columns: minmax(0,1fr) 200px; gap: 28px; }
}
@media (max-width:600px) {
  .resource-page .reader { padding-inline: 20px; padding-bottom: 44px; }
  .reader .reader-return-bar { margin-top: 6px; }
  .reader .reader-return { font-size: 13px; }
  .reader .reader-heading { padding: 8px 0 18px; gap: 8px; }
  .reader .reader-breadcrumb { font-size: 11px; margin-bottom: 9px; }
  .reader h1 { font-size: 30px; line-height: 1.2; letter-spacing: -.9px; max-width: 26ch; text-wrap: initial; }
  .reader .reader-meta { margin-top: 12px; gap: 8px 12px; }
  .reader-editorial-links { column-gap: 20px; }
  .reader-editorial-links > :is(a,button) { font-size: 13px; }
  .reader .reader-nav { margin-inline: -20px; padding-inline: 20px; margin-bottom: 22px; }
  .reader .reader-panel { padding-block: 28px 32px; }
  .reader .reader-panel:first-child { padding-top: 0; }
  .reader .reader-panel-title h2 { font-size: 24px; margin-bottom: 16px; }
  .reader .reader-essential-grid { display: flex; flex-direction: column; gap: 16px; margin-bottom: 18px; }
  .reader .reader-essential-scope { width: 100%; }
  .reader-essential-figure { width: 100%; padding: 8px 10px; }
  .reader-essential-figure .ouvrage-figure { height: 136px; max-width: 300px; margin: auto; }
  .reader-essential-figure > span { font-size: 10px; margin-top: 0; }
  .reader .reader-source-grid { grid-template-columns: minmax(0,1fr); gap: 10px; }
  .reader .reader-source-grid article { padding: 17px; }
  .reader .reader-case { padding: 18px; }
  .reader .reader-case-title h3 { font-size: 22px; }
  .reader .reader-case-result { padding: 15px; }
  .reader .reader-case-result > strong { font-size: 28px; }
  .reader .reader-case-convention { padding-left: 13px; }
  .reader .reader-checks > label { padding: 16px 14px; gap: 12px; }
  .reader .reader-check-item > label { padding: 16px 14px; gap: 12px; }
  .reader .reader-provenance { padding: 18px; gap: 10px; }
  .reader .reader-dpgf > div:first-child { align-items: flex-start; padding: 12px; }
  .reader .reader-dpgf button { margin-left: 0; text-align: left; }
  .reader .reader-dpgf th, .reader .reader-dpgf td { padding: 12px 10px; }
  .reader .reader-guide { padding: 18px; }
}
@media (max-width:360px) {
  .resource-page .reader { padding-inline: 16px; }
  .reader h1 { font-size: 28px; }
  .reader .reader-nav { margin-inline: -16px; padding-inline: 16px; }
  .reader .reader-toc-toggle > span { gap: 9px; }
  .reader .reader-case { padding: 14px; }
  .reader .reader-dpgf td:first-child { min-width: 112px; }
}
/* Touch reading uses the full line; the editing gutter returns with its mode. */
@media (hover:none), (pointer:coarse) {
  .reader:not(.reader-is-editing) .reader-editable-block,
  .reader:not(.reader-is-editing) .reader-method .reader-editable-block,
  .reader:not(.reader-is-editing) .reader-aliases > .reader-editable-block { padding-right: 0; }
  .reader:not(.reader-is-editing) .reader-check-item > label { padding-right: 18px; }
}
@media (max-width:600px) and (hover:none), (max-width:600px) and (pointer:coarse) {
  .reader:not(.reader-is-editing) .reader-check-item > label { padding-right: 14px; }
}
@media (max-height:500px) and (max-width:960px) {
  .reader .reader-nav { position: relative; top: auto; }
  .reader-tools-panel { max-height: min(240px,var(--reader-tools-available,60dvh)); }
}
@media print {
  .resource-page .reader { max-width: none; padding: 0; }
  .reader .reader-heading { display: block; padding: 0 0 18px; border: 0; }
  .reader h1 { font-size: 25pt; }
  .reader-tools, .reader-editorial, .reader-feedback, .reader-block-edit, .reader-example-edit { display: none !important; }
  .reader .reader-editable-block, .reader .reader-method .reader-editable-block { padding-right: 0; box-shadow: none; }
  .reader .reader-check-item > label { padding: 10px; }
  .reader .reader-intro-block > .reader-intro { font-size: 11pt; }
  .reader .reader-layout { display: block; }
  .reader .reader-body { max-width: none; padding: 0; border: 0; }
  .reader .reader-panel { padding-block: 23px; }
  .reader .reader-essential-grid { display: grid; grid-template-columns: minmax(0,1fr) 180px; }
  .reader-essential-figure { break-inside: avoid; }
  .reader .reader-case-result { background: #edf3e9; }
  .reader .reader-case-result > span, .reader .reader-case-result > strong { color: #142d40; }
  .reader .reader-panel > .reader-intro, .reader .reader-essential-scope > p, .reader .reader-prose p, .reader .reader-panel-title > p, .reader .reader-method p, .reader .reader-checks span { font-size: 11pt; }
}

/* V15 — text is the editing surface; controls keep their normal reading role. */
.reader [data-reader-edit-copy][hidden] { display: none !important; }
.reader [data-reader-edit-copy] { white-space: pre-wrap; overflow-wrap: anywhere; }
.reader .reader-text-block > p { font-size: var(--reader-copy); line-height: 1.75; color: #425c6d; }
.reader .reader-text-block > .reader-note { font-size: 13px; color: #687d8b; }
.reader .reader-essential-scope > .reader-text-block > h3 { font-size: 13px; font-weight: 600; color: #677e8e; margin-bottom: 8px; }
.reader .reader-essential-scope > .reader-text-block > p { color: #233f52; }
.reader .reader-panel-title > .reader-text-block > p { margin-bottom: 22px; }
.reader .reader-method li > .reader-method-text { flex: 1; min-width: 0; padding-block: 0; }
.reader .reader-header-unit > [data-reader-edit-copy] { display: inline-flex; align-items: baseline; gap: 7px; }
.reader .reader-case-title .reader-text-block > h3 { font-size: 24px; line-height: 1.4; }
.reader .reader-case-result .reader-text-block > strong { font-size: 30px; line-height: 1.35; color: #fff; }
.reader .reader-case-result .reader-block-edit { color: #dbe7ff; }
.reader .reader-case-result .reader-block-edit:hover,
.reader .reader-case-result .reader-block-edit:focus-visible { color: #1947b1; }
.reader .reader-case-convention .reader-text-block > p,
.reader .reader-source-grid .reader-text-block > p,
.reader .reader-provenance .reader-text-block > p { font-size: calc(var(--reader-copy) - 1px); }
.reader-is-editing [data-reader-edit-target]:not(.reader-has-inline-editor) { cursor: text; transition: background-color .12s ease; }
.reader-is-editing [data-reader-edit-target]:not(.reader-has-inline-editor):hover { background-color: #f3f7ff; }
.reader-is-editing .reader-case-result [data-reader-edit-target]:not(.reader-has-inline-editor):hover { background-color: #203f57; }
.reader .reader-has-inline-editor { padding-right: 0; box-shadow: none; }
.reader .reader-has-inline-editor > .reader-block-edit,
.reader .reader-has-inline-editor > .reader-list-edit-link { display: none; }
.reader .reader-inline-editor { width: 100%; min-width: 0; cursor: auto; }
.reader-has-editor .reader-editorial > [data-reader-edit-hint],
.reader-has-editor .reader-list-edit:not(.reader-has-inline-editor) { display: none; }
.reader .reader-inline-loading { padding: 14px; color: #526b7b; font-size: 14px; }
.reader .reader-header-unit.reader-has-inline-editor { display: block; width: 100%; flex-basis: 100%; }
.reader .reader-meta:has(.reader-has-inline-editor) { display: block; }
.reader .reader-meta:has(.reader-has-inline-editor) > .reader-status-badge { margin-top: 12px; }
.reader .reader-source-grid > article:has(.reader-has-inline-editor) { grid-column: 1 / -1; }
.reader .reader-list-edit { padding: 0; margin: -7px 0 14px; box-shadow: none; }
.reader .reader-list-edit-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: #2455c9; font-size: 13px; line-height: 1.5; text-decoration: none; }
.reader .reader-list-edit-link > svg { width: 16px; height: 16px; flex-shrink: 0; }
.reader .reader-list-edit-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.reader-published-example { padding: 22px; border: 1px solid #dce5ee; border-radius: 12px; background: #f9fbfe; }
.reader-published-example > .tiny-label { margin: 0 0 18px; color: #617383; font-size: 10px; letter-spacing: 1.1px; }
.reader-published-field + .reader-published-field { margin-top: 20px; padding-top: 18px; border-top: 1px solid #dce5ee; }
.reader-published-field > h3 { margin: 0 0 8px; color: #617383; font-size: 12px; font-weight: 600; }
.reader-published-field .reader-text-block > p { margin: 0; }
.reader-is-editing [data-masonry-lab] { display: none; }
.reader .reader-check-item.reader-has-inline-editor { padding: 14px; }
.reader-is-editing .reader-check-item > label { cursor: text; }
.reader-is-editing .reader-check-item input { cursor: pointer; }
@media (max-width:600px) {
  .reader .reader-case-title .reader-text-block > h3 { font-size: 22px; }
  .reader .reader-case-result .reader-text-block > strong { font-size: 28px; }
  .reader-published-example { padding: 16px; }
  .reader .reader-text-block.reader-has-inline-editor { padding-right: 0; }
  .reader .reader-has-inline-editor .reader-inline-editor { margin: 0; }
}
@media (prefers-reduced-motion:reduce) {
  .reader-is-editing [data-reader-edit-target] { transition: none; }
}

@media print {
  .reader .reader-inline-editor,
  .reader .reader-block-edit,
  .reader .reader-list-edit,
  .reader .reader-published-example { display: none !important; }
  .reader [data-reader-edit-copy][hidden] { display: revert !important; }
  .reader-is-editing [data-masonry-lab] { display: block; }
  .reader .reader-case-result .reader-text-block > strong { color: #142d40; }
  .reader-is-editing [data-reader-edit-target] { background: none !important; box-shadow: none !important; }
}
