/* 참고한계 CI 상세 슬라이드 5장 (ri-limits-ci, ri-order-stat-1, ri-order-stat-2, ri-robust-boot, ri-ci-flow) */
.reveal .rc-grid { display: grid; gap: 22px; align-items: stretch; margin-top: 8px; }
.reveal .rc-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.reveal .rc-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.reveal .rc-card {
  box-sizing: border-box; min-width: 0; padding: 14px 18px 12px;
  background: #ffffff; border: 1px solid #d8e1dc; border-top: 7px solid #527b6d; border-radius: 12px;
  box-shadow: 0 4px 13px rgba(45, 75, 59, 0.08); color: #2f3f38; font-size: 0.6em; line-height: 1.42; text-align: left;
}
.reveal .rc-card.rc-orange { border-top-color: #bd874d; background: #fffcf7; }
.reveal .rc-card.rc-blue { border-top-color: #668492; background: #f7fafc; }
.reveal .rc-card.rc-purple { border-top-color: #806888; background: #faf7fb; }
.reveal .rc-step { display: block; margin-bottom: 4px; color: #64736c; font-size: 0.72em; font-weight: 900; letter-spacing: 0.06em; }
.reveal .rc-card h3 { margin: 0 0 8px; color: #2a3d21; font-size: 1.1em; line-height: 1.22; font-weight: 900; text-align: left; }
.reveal .rc-orange h3 { color: #8a5522; }
.reveal .rc-blue h3 { color: #3d5c6b; }
.reveal .rc-purple h3 { color: #5e4966; }
.reveal .rc-card p { margin: 0 0 7px; }
.reveal .rc-card ul { margin: 0 0 6px; padding-left: 1.05em; }
.reveal .rc-card li { margin: 0 0 5px; }
.reveal .rc-card strong { color: #1f4d3a; }
.reveal .rc-orange strong { color: #8a5522; }
.reveal .rc-f {
  display: block; margin: 6px 0 8px; padding: 8px 14px; border-radius: 9px;
  background: #eef3f0; color: #1f4d3a; font-size: 1.04em; font-weight: 800; line-height: 1.35; text-align: center;
}
.reveal .rc-orange .rc-f { background: #fff1e0; color: #7a4a17; }
.reveal .rc-blue .rc-f { background: #e9f1f5; color: #2f4a58; }
.reveal .rc-f sub, .reveal .rc-card sub { font-size: 0.72em; }
.reveal .rc-note { margin: 6px 0 0; padding: 8px 12px; border-left: 6px solid #9dc2ad; border-radius: 6px; background: #f3f8f5; font-weight: 800; }
.reveal .rc-orange .rc-note { border-left-color: #e0b27a; background: #fff4e5; }
.reveal .rc-table { width: 100%; border-collapse: collapse; margin: 2px 0 8px; }
.reveal .rc-table th, .reveal .rc-table td { padding: 7px 10px; border-bottom: 1px solid #d8e1dc; text-align: left; vertical-align: middle; line-height: 1.3; }
.reveal .rc-table th { background: #eef3f0; color: #2f4a3f; font-weight: 900; }
.reveal .rc-table td:first-child { font-weight: 900; color: #1f4d3a; white-space: nowrap; }
.reveal .rc-table tr.rc-ci td:first-child { color: #9a5f27; }
.reveal .rc-ex { margin: 4px 0 6px; padding: 8px 12px; border-radius: 9px; background: #fbfdfc; border: 1px dashed #b9cbc2; }
.reveal .rc-ex b { color: #9a5f27; }
.reveal .rc-fig { box-sizing: border-box; margin: 0; padding: 8px 10px 6px; border: 1px solid #d8e1dc; border-radius: 9px; background: #fbfdfc; }
.reveal .rc-fig img { display: block; width: 100%; height: 120px; object-fit: contain; margin: 0; }
.reveal .rc-fig svg { display: block; width: 100%; height: auto; }
.reveal .rc-clsi {
  box-sizing: border-box; display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1fr); gap: 16px; align-items: center;
  margin-top: 14px; padding: 12px 18px; border: 1px solid #d8e1dc; border-left: 8px solid #806888; border-radius: 12px; background: #faf7fb;
  color: #2f3f38; font-size: 0.56em; line-height: 1.38; text-align: left;
}
.reveal .rc-clsi h3 { margin: 0 0 4px; color: #5e4966; font-size: 1.08em; font-weight: 900; text-align: left; }
.reveal .rc-clsi p { margin: 0; }
.reveal .rc-box { box-sizing: border-box; padding: 10px 12px; border-radius: 10px; text-align: center; font-weight: 900; line-height: 1.3; }
.reveal .rc-box-a { background: #e5f2ea; color: #1f5a40; border: 1px solid rgba(82,123,109,.4); }
.reveal .rc-box-b { background: #fff1e0; color: #7a4a17; border: 1px solid rgba(189,135,77,.45); }
.reveal .rc-box span { display: block; font-size: 0.86em; font-weight: 800; opacity: 0.9; }
/* chart texts */
.reveal .rc-axis { stroke: #718078; stroke-width: 2; }
.reveal .rc-bar-in { fill: #527b6d; } .reveal .rc-bar-zero { fill: #b8783f; } .reveal .rc-bar-out { fill: #c5d0cb; }
.reveal .rc-bar-val { fill: #2f3f38; font-size: 15px; font-weight: 800; }
.reveal .rc-axis-k { fill: #2f3f38; font-size: 18px; font-weight: 900; }
.reveal .rc-axis-label { fill: #53625d; font-size: 17px; font-weight: 800; }
.reveal .rc-brace, .reveal .rc-brace-l { stroke: #2f6a52; stroke-width: 3; } .reveal .rc-brace-u { stroke: #9a5f27; stroke-width: 3; }
.reveal .rc-brace-text { fill: #2f6a52; font-size: 20px; font-weight: 900; }
.reveal .rc-zero-text { fill: #9a5f27; font-size: 17px; font-weight: 900; }
.reveal .rc-ek { stroke: #2a3d21; stroke-width: 2; stroke-dasharray: 5 4; }
.reveal .rc-ek-text { fill: #2a3d21; font-size: 17px; font-weight: 900; }
.reveal .rc-tick { stroke: #9fb3aa; stroke-width: 2; } .reveal .rc-tick-l { stroke: #2f6a52; stroke-width: 4; } .reveal .rc-tick-u { stroke: #b8783f; stroke-width: 4; }
.reveal .rc-dot-l { fill: #2f6a52; stroke: #fff; stroke-width: 2; } .reveal .rc-dot-u { fill: #b8783f; stroke: #fff; stroke-width: 2; }
.reveal .rc-strip-l { fill: #2f6a52; font-size: 22px; font-weight: 900; } .reveal .rc-strip-u { fill: #9a5f27; font-size: 22px; font-weight: 900; }
.reveal .rc-strip-sub { fill: #2f3f38; font-size: 19px; font-weight: 800; }
.reveal .rc-strip-mid { fill: #64736c; font-size: 19px; font-weight: 800; }
.reveal .rc-strip-cap { fill: #7a8581; font-size: 17px; font-weight: 700; }
.reveal .rc-bs-label { fill: #53625d; font-size: 15px; font-weight: 800; }
.reveal .rc-bs-orig { fill: #e5f2ea; stroke: #527b6d; stroke-width: 1.5; } .reveal .rc-bs-boot { fill: #fff1e0; stroke: #bd874d; stroke-width: 1.5; }
.reveal .rc-bs-ch { fill: #1f2d27; font-size: 17px; font-weight: 900; font-family: "Noto Sans Mono", monospace; }
.reveal .rc-bs-arrow { fill: #9a5f27; font-size: 14px; font-weight: 800; }
.reveal .rc-bs-est { fill: #2f3f38; font-size: 16px; font-weight: 800; }
.reveal .rc-bs-more { fill: #64736c; font-size: 15px; font-weight: 800; }
.reveal .rc-bs-hist { fill: #e5f2ea; stroke: #527b6d; stroke-width: 1.5; }
.reveal .rc-bs-hist-text { fill: #1f5a40; font-size: 17px; font-weight: 900; } .reveal .rc-bs-hist-text2 { fill: #2f3f38; font-size: 15px; font-weight: 800; }
/* flow slide */
.reveal #ri-ci-flow .unit-flow { margin-top: 10px; }
.reveal #ri-ci-flow .flow-step { min-height: 170px; font-size: 0.64em; padding: 18px 12px; }
.reveal #ri-ci-flow .flow-step strong { font-size: 1.08em; }
.reveal #ri-ci-flow .flow-step .rc-f { margin: 6px 0 0; padding: 6px 8px; font-size: 0.98em; }
.reveal #ri-ci-flow .rc-branches { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 16px; }
.reveal #ri-ci-flow .rc-branch { box-sizing: border-box; padding: 12px 18px; border-radius: 12px; font-size: 0.62em; line-height: 1.4; text-align: left; }
.reveal #ri-ci-flow .rc-branch-a { background: #e5f2ea; border: 1px solid rgba(82,123,109,.4); color: #1f4d3a; }
.reveal #ri-ci-flow .rc-branch-b { background: #fff1e0; border: 1px solid rgba(189,135,77,.45); color: #6f4a1d; }
.reveal #ri-ci-flow .rc-branch b { display: block; margin-bottom: 4px; font-size: 1.1em; }
.reveal #ri-ci-flow .key-message { margin-top: 16px; font-size: 0.66em; }
.reveal #ri-ci-flow .rc-next { display: inline-block; margin-left: 12px; padding: 3px 12px; border-radius: 999px; background: rgba(255,255,255,.18); font-size: 0.82em; font-weight: 800; }

/* 화면 채우기 */
#ri-ci-flow > :not(h2) { zoom: 1.3; }
#ri-limits-ci > :not(h2) { zoom: 1.08; }
.reveal .rc-hat { position: relative; display: inline-block; }
.reveal .rc-hat::after { content: "^"; position: absolute; left: 50%; top: -0.62em; transform: translateX(-50%); font-size: 0.8em; font-weight: 900; line-height: 1; }
.reveal #ri-order-stat-2 .rc-card { font-size: 0.55em; padding: 12px 16px 10px; }
.reveal #ri-order-stat-2 .rc-grid-3 { margin-top: 10px; }

/* 논문 2 개념 슬라이드 */
.reveal .pb-fig img { height: 330px; }
.reveal .pb-fig svg { display: block; width: 100%; height: 330px; }
.reveal #pb-ba-concept .rc-card { font-size: 0.62em; }
.reveal .ba-axis { stroke: #718078; stroke-width: 2; }
.reveal .ba-zero { stroke: #9aa5a0; stroke-width: 2; }
.reveal .ba-bias { stroke: #2f5f9e; stroke-width: 3.5; }
.reveal .ba-loa { stroke: #2f5f9e; stroke-width: 2.5; stroke-dasharray: 9 7; }
.reveal .ba-pt { fill: #4b5a54; opacity: 0.75; }
.reveal .ba-lab-bias { fill: #2f5f9e; font-size: 18px; font-weight: 900; }
.reveal .ba-lab-loa { fill: #2f5f9e; font-size: 16px; font-weight: 800; }
.reveal .ba-lab-zero { fill: #64736c; font-size: 16px; font-weight: 800; }
.reveal .ba-axis-text { fill: #2f3f38; font-size: 17px; font-weight: 800; }
.reveal .ba-note { fill: #53625d; font-size: 15px; font-weight: 800; }
#tg-design > :not(h2) { zoom: 1.18; }
.reveal .tg-flow-grid { display: grid; grid-template-columns: minmax(0, 1fr) 190px minmax(0, 1fr); gap: 12px; align-items: stretch; margin-top: 4px; }
.reveal .tg-flow-box { box-sizing: border-box; padding: 10px 14px; border-radius: 10px; background: #ffffff; border: 1px solid #d8e1dc; line-height: 1.38; }
.reveal .tg-flow-box b { display: block; margin-bottom: 4px; color: #3d5c6b; font-size: 1.04em; }
.reveal .tg-flow-arrow { display: flex; flex-direction: column; align-items: center; justify-content: center; color: #2f5f9e; font-size: 1.9em; font-weight: 950; line-height: 1; }
.reveal .tg-flow-arrow span { margin-top: 6px; font-size: 0.42em; font-weight: 900; text-align: center; }
.reveal #tg-design .tg-flow { padding: 10px 14px 10px; }
.reveal #tg-design .tg-flow-box { padding: 8px 12px; }
.reveal #tg-design .rc-card { font-size: 0.58em; }
.reveal #tg-design .key-message { margin-top: 12px; }

/* s21 simplified two-step */
.reveal .tg-two { display: grid; grid-template-columns: minmax(0, 1fr) 150px minmax(0, 1fr); gap: 14px; align-items: stretch; margin-top: 6px; }
.reveal .tg-two .rc-card { font-size: 0.64em; }
.reveal .tg-two-arrow { display: flex; flex-direction: column; align-items: center; justify-content: center; color: #2f5f9e; font-size: 2.6em; font-weight: 950; line-height: 1; }
.reveal .tg-two-arrow span { margin-top: 8px; font-size: 0.34em; font-weight: 900; }
/* PB vs OLS */
.reveal .po-pt { fill: #4b5a54; opacity: 0.8; }
.reveal .po-id { stroke: #9aa5a0; stroke-width: 2; stroke-dasharray: 4 5; }
.reveal .po-ols, .reveal .po-ols2 { stroke: #7a8a92; stroke-width: 3; stroke-dasharray: 10 6; }
.reveal .po-pb { stroke: #c0392b; stroke-width: 4; }
.reveal .po-lab-ols { fill: #5e6d75; font-size: 17px; font-weight: 900; }
.reveal .po-lab-pb { fill: #c0392b; font-size: 18px; font-weight: 900; }
.reveal .po-lab-id { fill: #7a8581; font-size: 16px; font-weight: 800; }
.reveal .po-cap { fill: #53625d; font-size: 15px; font-weight: 800; }
.reveal #pb-vs-ols .rc-card { font-size: 0.6em; }
.reveal #pb-vs-ols .rc-fig svg { height: 400px; }
.reveal .po-table th, .reveal .po-table td { padding: 5px 8px; font-size: 0.92em; text-align: left; }
.reveal .po-table td:first-child { color: #5e4966; }
.reveal .po-sim th, .reveal .po-sim td { text-align: center; }
.reveal .po-sim td:first-child { text-align: center; color: #2f4a3f; }
.reveal #pb-vs-ols-sim .rc-card { font-size: 0.68em; }
#pb-vs-ols-sim > :not(h2) { zoom: 1.1; }
.reveal pre.po-code { box-sizing: border-box; display: block; width: 100%; margin: 8px 0 0; padding: 0; border: 1px solid #d8e1dc; border-radius: 9px; background: #f6f8f7; box-shadow: none; font-size: 0.8em; line-height: 1.42; text-align: left; }
.reveal pre.po-code code { display: block; box-sizing: border-box; max-height: none; padding: 10px 12px; overflow-x: auto; color: #1f2d27; background: transparent; font-family: "Noto Sans Mono", "DejaVu Sans Mono", monospace; white-space: pre; word-wrap: normal; }
.reveal pre.po-code .c { color: #6b8f7a; } .reveal pre.po-code .o { color: #4b5a54; }
.reveal #pb-vs-ols-sim .ri-sim { margin: 4px 0 0; color: #7a8581; font-size: 0.8em; }

/* PB shifted-median slides */
.reveal .pb-deming-note { margin: 0; padding: 10px 14px; border-radius: 10px; background: #f3f4f6; border: 1px dashed #b8c0c8; color: #3f4a52; font-size: 0.52em; line-height: 1.38; text-align: left; }
.reveal .pb-deming-note strong { color: #5e4966; }
.reveal .pb-steps p { margin: 0 0 12px; line-height: 1.45; }
.reveal .pb-steps b { display: inline-block; margin-bottom: 2px; color: #5e4966; font-size: 1.05em; }
.reveal .pb-strip { margin: 6px 0 4px; }
.reveal .pb-row { display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); gap: 8px; }
.reveal .pb-row-9 { grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 6px; }
.reveal .pb-n { box-sizing: border-box; padding: 10px 4px; border: 2px solid #c9d3ce; border-radius: 9px; background: #ffffff; color: #1f2d27; font-size: 1.15em; font-weight: 900; text-align: center; font-family: "Noto Sans Mono", monospace; }
.reveal .pb-lt { border-color: #bd874d; background: #fff1e0; color: #8a5522; }
.reveal .pb-med { border-color: #668492; background: #e9f1f5; color: #2f4a58; }
.reveal .pb-shift { border-color: #c0392b; background: #fdecea; color: #a93226; border-width: 3px; }
.reveal .pb-bar { display: flex; align-items: center; justify-content: center; color: #9a5f27; font-size: 1.3em; font-weight: 900; }
.reveal .pb-ranks span { display: block; color: #7a8581; font-size: 0.8em; font-weight: 800; text-align: center; margin-top: 2px; }
.reveal .pb-ann { display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); gap: 8px; margin-top: 6px; font-size: 0.88em; line-height: 1.25; }
.reveal .pb-ann span { display: block; text-align: center; }
.reveal .pb-ann-k { grid-column: 1 / 3; color: #8a5522; font-weight: 800; }
.reveal .pb-ann-med { grid-column: 4 / 6; color: #2f4a58; font-weight: 800; }
.reveal .pb-ann-arrow { grid-column: 6 / 7; color: #c0392b; font-weight: 900; align-self: center; }
.reveal .pb-ann-shift { grid-column: 7 / 10; color: #a93226; font-weight: 800; }
.reveal .pb-formulas { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 8px; }
.reveal .pb-formulas .rc-f { margin: 0; font-size: 0.98em; }
.reveal .pb-strip-small .pb-n { padding: 7px 2px; font-size: 0.98em; }
.reveal .pb-strip-title { margin: 6px 0 4px; color: #5e4966; font-weight: 900; }
.reveal .pb-strip-sub { margin: 4px 0 2px; color: #64736c; font-size: 0.86em; font-weight: 800; }
.reveal .pb-mcr { display: block; margin-top: 4px; color: #53625d; font-weight: 700; }
.reveal .pb-mcr code { font-size: 0.92em; color: #2f4a3f; background: #eef3f0; padding: 1px 5px; border-radius: 4px; }
.reveal #pb-shifted-median .rc-card, .reveal #pb-why-minus1 .rc-card { font-size: 0.58em; }
.reveal #pb-shifted-median .key-message { margin-top: 12px; }
/* angle diagram */
.reveal .ang-wedge { fill: rgba(94, 73, 102, 0.08); }
.reveal .ang-boundary { stroke: #bd874d; stroke-width: 3; stroke-dasharray: 10 7; }
.reveal .ang-example { stroke: #7a8a92; stroke-width: 2.5; }
.reveal .ang-ideal { stroke: #c0392b; stroke-width: 4; }
.reveal .ang-arc { fill: none; stroke: #c0392b; stroke-width: 2; }
.reveal .ang-lab-ideal { fill: #c0392b; font-size: 16px; font-weight: 900; }
.reveal .ang-lab-arc { fill: #c0392b; font-size: 15px; font-weight: 900; }
.reveal .ang-lab-b { fill: #8a5522; font-size: 15px; font-weight: 900; }
.reveal .ang-lab-ex { fill: #5e6d75; font-size: 14px; font-weight: 800; }
.reveal .ang-note { fill: #64736c; font-size: 15px; font-weight: 800; }
.reveal .ang-cap { fill: #53625d; font-size: 15px; font-weight: 800; }
#pb-vs-ols > :not(h2) { zoom: 1.08; }
#pb-shifted-median > :not(h2) { zoom: 1.16; }
.reveal .po-ptitle { fill: #5e4966; font-size: 19px; font-weight: 900; }
.reveal .po-slope { fill: #2f3f38; font-size: 18px; font-weight: 900; }
.reveal .po-pnote { fill: #53625d; font-size: 17px; font-weight: 800; }
.reveal .po-leg { fill: #2f3f38; font-size: 17px; font-weight: 800; }
.reveal #pb-vs-ols .rc-fig svg { height: auto; }
.reveal #pb-vs-ols .rc-grid { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) !important; }
.reveal #alpha-beta-diversity .rc-card { font-size: 0.6em; }
#alpha-beta-diversity > :not(h2) { zoom: 1.06; }
.reveal #alpha-beta-diversity .rc-card li { margin: 0 0 6px; }
.reveal pre.ab-code { margin-top: 14px; font-size: 0.54em; }
.reveal #alpha-beta-output .rc-card { font-size: 0.6em; }
.reveal pre.ab-out { margin-top: 6px; font-size: 0.98em; line-height: 1.32; }
.reveal #alpha-beta-output .rc-fig img { display: block; margin: 0 auto; width: auto; max-width: 100%; }
#alpha-beta-output > :not(h2) { zoom: 1.08; }

/* alpha/beta diversity slides */
.reveal #alpha-diversity .rc-card, .reveal #beta-diversity-1 .rc-card, .reveal #beta-diversity-2 .rc-card { font-size: 0.56em; }
.reveal .ab-mini th, .reveal .ab-mini td { padding: 4px 8px; text-align: center; font-size: 0.95em; }
.reveal .ab-mini td:first-child { text-align: left; }
.reveal .ab-dist td.lo { color: #1f5a40; font-weight: 900; background: #e5f2ea; }
.reveal .ab-dist td.hi { color: #8a5522; font-weight: 800; background: #fff1e0; }
.reveal .uf-br { stroke: #5e4966; stroke-width: 3; }
.reveal .uf-t { fill: #2f3f38; font-size: 15px; font-weight: 800; } .reveal .uf-cap { fill: #7a8581; font-size: 13px; font-weight: 700; }
.reveal .cs-box { fill: #ffffff; stroke: #d8e1dc; stroke-width: 1.5; }
.reveal .cs-a { fill: #2f5f9e; } .reveal .cs-b { fill: #c0392b; } .reveal .cs-t { fill: #53625d; font-size: 12px; font-weight: 800; }
.reveal .bd-chain { margin-top: 14px; }
.reveal .bd-chain .flow-step { min-height: 96px; font-size: 0.56em; padding: 12px 10px; }
.reveal .bd-chain .flow-step strong { display: block; margin-bottom: 4px; font-size: 1.1em; }
#alpha-diversity > :not(h2) { zoom: 1.22; }
#beta-diversity-1 > :not(h2) { zoom: 1.28; }
#beta-diversity-2 > :not(h2) { zoom: 1.1; }
.reveal #alpha-beta-output pre.ab-code { font-size: 0.92em; }
.reveal #clr-pcoa .rc-card { font-size: 0.56em; }
.reveal .clr-table td.bad { color: #b03a2e; font-weight: 900; }
.reveal .clr-table tr.clr-clr td { background: #e5f2ea; }
.reveal .clr-table tr.clr-pct td { background: #fff7ec; }
.reveal #clr-pcoa pre.ab-code { font-size: 0.86em; }
#clr-pcoa > :not(h2) { zoom: 1.18; }

/* PCA/PCoA/NMDS diagram */
.reveal #pca-pcoa-nmds .rc-fig svg { display: block; width: 100%; height: auto; }
.reveal .pd-box { fill: #ffffff; stroke: #c9d3ce; stroke-width: 2; }
.reveal .pd-box.data { fill: #f3f4f6; stroke: #7a8a92; } .reveal .pd-box.pca { fill: #faf7fb; stroke: #806888; } .reveal .pd-box.dist { fill: #f7fafc; stroke: #668492; }
.reveal .pd-box.pcoa { fill: #e5f2ea; stroke: #527b6d; } .reveal .pd-box.nmds { fill: #fff1e0; stroke: #bd874d; } .reveal .pd-box.clr { fill: #faf7fb; stroke: #806888; } .reveal .pd-box.ait { fill: #e5f2ea; stroke: #527b6d; }
.reveal .pd-title { fill: #1f2d27; font-size: 21px; font-weight: 900; } .reveal .pd-sub { fill: #3f4a52; font-size: 16px; font-weight: 700; }
.reveal .pd-arrow { stroke: #5f6f68; stroke-width: 3; }
.reveal .pd-equiv { stroke: #c0392b; stroke-width: 3; stroke-dasharray: 9 7; }
.reveal .pd-equiv-t { fill: #c0392b; font-size: 17px; font-weight: 900; }
.reveal #pca-pcoa-notes .rc-card { font-size: 0.6em; }
.reveal #pca-pcoa-notes .rc-card li { margin: 0 0 8px; }
#pca-pcoa-notes > :not(h2) { zoom: 1.32; }
.reveal #pca-pcoa-nmds .key-message { margin-top: 12px; font-size: 0.62em; }
.reveal .pd-quote { color: #8a5522; font-style: italic; }


/* 2026-08-31 · 65장 형식·가독성·문체 통일 패스 */
.reveal .slides section:not(.section-break) > h2 {
  font-size: 1.1em !important;
  line-height: 1.18;
  margin-bottom: 14px;
}
.reveal .small-source { font-size: 0.34em !important; line-height: 1.3; }
.reveal pre code { font-size: max(18px, 1em) !important; }
.reveal .rc-card { font-size: max(21px, 0.56em) !important; }
.reveal .rc-card, .reveal .big-card { overflow-wrap: break-word; word-break: keep-all; }
.reveal .rc-f, .reveal .ri-chip-val, .reveal .method-subline { font-variant-numeric: tabular-nums; }
.reveal .method-subline { display: block; margin-top: 9px; color: #53625d; font-size: 0.86em; line-height: 1.42; font-weight: 760; }

/* Pages 8–12 · PTH 심화 파트 */
.reveal .ri-focus-pair {
  display: grid; grid-template-columns: 1fr 1.15fr; gap: 10px; align-items: center;
  margin: 8px 0; padding: 11px 13px; border: 1px solid rgba(189,135,77,.45); border-radius: 10px; background: #fff1e0; text-align: center;
}
.reveal .ri-focus-pair strong { color: #7a4a17; font-size: 1.52em; line-height: 1.05; white-space: nowrap; }
.reveal .ri-focus-pair span { color: #2f4a3f; font-size: 1.14em; line-height: 1.15; font-weight: 900; white-space: nowrap; }
.reveal #ri-order-stat-1 .ri-chart-focus { font-size: 1.28em; }
.reveal #ri-order-stat-1 .ri-prob-detail { color: #64736c; font-size: .86em; line-height: 1.34; }
.reveal .ri-rank-banner {
  display: flex; align-items: baseline; gap: 18px; margin: 8px 0 0; padding: 9px 16px; border-left: 7px solid #527b6d; border-radius: 8px; background: #eef3f0; color: #2f3f38; font-size: .62em; line-height: 1.3;
}
.reveal .ri-rank-banner strong { color: #1f4d3a; font-size: 1.16em; white-space: nowrap; }
.reveal .ri-rank-banner span { color: #53625d; }
.reveal #ri-order-stat-2 .ri-rank-grid { gap: 16px; }
.reveal #ri-order-stat-2 .rc-f-major { padding: 10px 8px; font-size: 1.2em; line-height: 1.18; }
.reveal #ri-robust-boot .ri-focus { display: inline-block; color: #5e4966; font-size: 1.65em; line-height: 1; white-space: nowrap; }
.reveal #ri-robust-boot .rc-card h3 { min-height: 42px; display: flex; align-items: center; }
.reveal #ri-ci-code .ri-code-card { font-size: .54em !important; padding: 12px 16px 10px !important; }
.reveal #ri-ci-code .ri-code-grid { gap: 18px !important; }
.reveal #ri-ci-code .ri-results { margin-top: 12px !important; padding: 14px 18px !important; font-size: .7em !important; border-left-width: 10px !important; box-shadow: 0 5px 15px rgba(45,75,59,.09); }
.reveal #ri-ci-code .ri-results h3 { font-size: 1.12em !important; }
.reveal #ri-ci-code .ri-chip { padding: 10px 14px !important; }
.reveal #ri-ci-code .ri-chip-val { margin-top: 3px; font-size: 1.16em; line-height: 1.22; }

/* Pages 23–27 · 개념 → 직관 → 수식/예시 계층 */
.reveal #pb-ba-concept .rc-step, .reveal #pb-vs-ols .rc-step, .reveal #pb-shifted-median .rc-step, .reveal #pb-why-minus1 .rc-step, .reveal #pb-vs-ols-sim .rc-step { font-size: .76em; letter-spacing: .045em; }
.reveal #pb-shifted-median .pb-steps b { font-size: 1.12em; }
.reveal #pb-shifted-median .pb-formulas .rc-f { font-size: 1.02em; }
.reveal #pb-why-minus1 .rc-note { line-height: 1.42; }

/* Pages 42–48 · 일반 microbiome 방법론 */
.reveal .general-method-badge {
  display: inline-flex; align-items: center; margin: -2px 0 8px; padding: 5px 11px; border: 1px solid rgba(63,116,107,.38); border-radius: 999px; background: #e7f2ef; color: #315f57; font-size: 14px; line-height: 1; font-weight: 900; letter-spacing: .025em;
}
.reveal .micro-priority, .reveal .micro-distance-strip, .reveal .pca-core-strip, .reveal .simulation-result-strip { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
.reveal .micro-priority { margin: 7px 0 10px; }
.reveal .micro-priority > div { padding: 9px 8px; border: 1px solid #d8e1dc; border-radius: 9px; background: #f7faf8; text-align: center; }
.reveal .micro-priority strong { display: block; color: #1f4d3a; font-size: 1.08em; line-height: 1.1; }
.reveal .micro-priority span { display: block; margin-top: 3px; color: #53625d; font-size: .9em; font-weight: 800; }
.reveal .micro-detail { color: #53625d; }
.reveal .micro-hero { margin: 0 0 7px; color: #2f3f38; font-size: .74em; line-height: 1.15; font-weight: 850; }
.reveal .micro-hero strong { color: #315f57; font-size: 1.18em; }
.reveal .micro-distance-strip { margin: 0 0 9px; font-size: .54em; line-height: 1.18; }
.reveal .micro-distance-strip span { padding: 8px 12px; border-radius: 9px; background: #f2f7f5; border: 1px solid #cbdcd6; color: #53625d; }
.reveal .micro-distance-strip b { display: block; margin-bottom: 2px; color: #315f57; font-size: 1.12em; }
.reveal .bd-chain-primary { margin: 0 0 9px !important; }
.reveal .bd-chain-primary .flow-step { min-height: 72px !important; padding: 9px 10px !important; font-size: .54em !important; }
.reveal .bd-chain-primary .flow-step strong { margin-bottom: 2px !important; font-size: 1.12em !important; }
.reveal .bd-chain-primary .flow-step span { display: block; color: #53625d; font-size: .9em; line-height: 1.2; }
.reveal .micro-hero-stack { display: grid; grid-template-columns: 1.35fr 1.35fr 1fr; gap: 8px; margin: 0 0 8px; font-size: .52em; line-height: 1.22; }
.reveal .micro-hero-stack > div { padding: 8px 10px; border: 1px solid #d8e1dc; border-left: 5px solid #527b6d; border-radius: 8px; background: #f7faf8; }
.reveal .micro-hero-stack strong { color: #1f4d3a; }
.reveal .pca-core-strip { margin: 0 0 9px; font-size: .54em; }
.reveal .pca-core-strip span { padding: 9px 12px; border: 1px solid #d8e1dc; border-radius: 9px; background: #f7faf8; text-align: center; }
.reveal .pca-core-strip b { display: block; color: #315f57; font-size: 1.18em; }
.reveal #pca-pcoa-notes .pd-ambiguity { margin-top: 8px; padding: 8px 10px; border-left: 6px solid #bd874d; border-radius: 6px; background: #fff1e0; color: #6f4a1d; }
.reveal #pca-pcoa-notes .pd-quote { color: #64736c; font-style: normal; }
.reveal .simulation-result-strip { margin: 0 0 9px; font-size: .54em; line-height: 1.18; }
.reveal .simulation-result-strip > div { padding: 9px 11px; border: 1px solid #cbdcd6; border-top: 5px solid #527b6d; border-radius: 9px; background: #f7faf8; }
.reveal .simulation-result-strip strong { display: block; color: #1f4d3a; font-size: 1.12em; white-space: nowrap; }
.reveal .simulation-result-strip span { display: block; margin-top: 3px; color: #53625d; font-weight: 800; }
.reveal #pca-pcoa-nmds .pd-sub { font-size: 18px; }
.reveal #pca-pcoa-nmds .pd-equiv-t { font-size: 18px; }
#alpha-diversity > :not(h2) { zoom: 1.1 !important; }
#beta-diversity-1 > :not(h2) { zoom: 1.08 !important; }
#beta-diversity-2 > :not(h2) { zoom: 1 !important; }
#clr-pcoa > :not(h2) { zoom: 1.02 !important; }
#pca-pcoa-notes > :not(h2) { zoom: 1.08 !important; }
#alpha-beta-output > :not(h2) { zoom: 1 !important; }
.reveal #alpha-beta-output .rc-grid { grid-template-columns: minmax(0,1.08fr) minmax(0,.92fr) !important; }
.reveal #alpha-beta-output .rc-fig img { height: 226px !important; }
.reveal #alpha-beta-output pre.ab-out { font-size: 18px !important; line-height: 1.18 !important; }


/* 카드 내부 중첩 본문·표의 19px 최소값 보장 */
.reveal .rc-card p:not(.ri-prob-detail),
.reveal .rc-card li,
.reveal .rc-card td,
.reveal .rc-card th { font-size: max(19px, 1em) !important; }

.reveal #pb-vs-ols .pb-deming-note { font-size: 19px !important; }

/* Page 4 · 핵심 문장을 한 줄로 유지 */
.reveal #분석-단위-관찰-단위의-정의 .key-message {
  font-size: .52em !important;
  line-height: 1.25;
  white-space: nowrap;
  letter-spacing: -.01em;
  padding: 10px 16px;
}

/* Pages 17–38 · 하단 key-message 한 줄 통일 */
.reveal #논문-1-table-3-최종-pth-참고구간 .pth-t3-key,
.reveal #논문-1-figure-1-참고하한-참고상한 .pth-fig1-key,
.reveal #논문-2-figure-2-관계와-차이 .tg-f2-key,
.reveal #논문-2-figure-3-tg-분포-유병률 .tg-f3-key,
.reveal #논문-2-figure-4-cdc-bias .tg-f4-key,
.reveal #논문-3-집락률-내성률-mdr-분모 .gbs-den-key,
.reveal #논문-3-figure-1-연도별-gbs-집락률 .gbs-y-key,
.reveal #논문-3-figure-1-지역별-gbs-집락률 .gbs-r-key,
.reveal #논문-3-table-3-항균제별-내성률 .gbs-a-key,
.reveal #논문-3-table-2-mdr-내성-조합 .gbs-m-key,
.reveal #논문-3-검사법-차이에-따른-집락률-과소평가-가능성 .gbs-f-key { white-space: nowrap; }
.reveal #논문-1-table-3-최종-pth-참고구간 .pth-t3-key { font-size: .528em !important; }
.reveal #논문-1-figure-1-참고하한-참고상한 .pth-fig1-key-main { display: inline !important; }
.reveal #논문-1-figure-1-참고하한-참고상한 .pth-fig1-key-sub,
.reveal #논문-2-figure-3-tg-분포-유병률 .tg-f3-key-small,
.reveal #논문-3-figure-1-연도별-gbs-집락률 .gbs-y-key-small,
.reveal #논문-3-figure-1-지역별-gbs-집락률 .gbs-r-key-small,
.reveal #논문-3-table-3-항균제별-내성률 .gbs-a-key-small,
.reveal #논문-3-table-2-mdr-내성-조합 .gbs-m-key-small,
.reveal #논문-3-검사법-차이에-따른-집락률-과소평가-가능성 .gbs-f-key-small { display: inline !important; margin: 0 0 0 .35em !important; }

/* Pages 49–56 · 하단 key-message 한 줄 통일 */
.reveal #논문-4-qpcr과-16s-rrna의-분석-역할 .micro-role-key,
.reveal #논문-4-table-2-crc-관련-세균-qpcr-검출률 .crc-q-keybar,
.reveal #논문-4-figure-1-f-nucleatum의-병기-조직별-분포 .crc-f1-key,
.reveal #beta-diversity-검체-간-미생물-군집-차이 .beta-key,
.reveal #다중검정-698개-otu의-fdr-보정 .fdr-key,
.reveal #논문-4-figure-2-crc에서-차이를-보인-6개-otu .crc-otu-key,
.reveal #논문-4-figure-3-음주와-fusobacterium-상대풍부도 .crc-alc-key,
.reveal #논문-4-연관성-해석과-연구의-한계 .crc-limit-key { white-space: nowrap; }
.reveal #논문-4-qpcr과-16s-rrna의-분석-역할 .micro-role-key-small,
.reveal #논문-4-table-2-crc-관련-세균-qpcr-검출률 .crc-q-key-small,
.reveal #논문-4-figure-1-f-nucleatum의-병기-조직별-분포 .crc-f1-key-small,
.reveal #beta-diversity-검체-간-미생물-군집-차이 .beta-key-small,
.reveal #다중검정-698개-otu의-fdr-보정 .fdr-key-small,
.reveal #논문-4-figure-2-crc에서-차이를-보인-6개-otu .crc-otu-key-small,
.reveal #논문-4-figure-3-음주와-fusobacterium-상대풍부도 .crc-alc-key-small,
.reveal #논문-4-연관성-해석과-연구의-한계 .crc-limit-key-small { display: inline !important; margin: 0 0 0 .35em !important; }
.reveal #논문-4-figure-3-음주와-fusobacterium-상대풍부도 .crc-alc-key { font-size: 18px !important; }

/* Pages 58, 59, 60, 62, 63 · 하단 key-message 한 줄 통일 */
.reveal #논문-5-wgs-비교-구조-과거-37-vs-최근-209-균주 .wgs-compare-key,
.reveal #논문-5-ast와-wgs의-통합-분석-흐름 .wgs-int-key,
.reveal #논문-5-table-1-gbs-계통-구성의-시간-변화 .wgs-t1-key,
.reveal #genotypephenotype-비율-변화와-일치도-분석의-차이 .gp-method-key,
.reveal #논문-5-table-2-amr-profile-다양성-확대 .wgs-t2-key { white-space: nowrap; }
.reveal #논문-5-wgs-비교-구조-과거-37-vs-최근-209-균주 .wgs-compare-key-small,
.reveal #논문-5-ast와-wgs의-통합-분석-흐름 .wgs-int-key-small,
.reveal #논문-5-table-1-gbs-계통-구성의-시간-변화 .wgs-t1-key-small,
.reveal #genotypephenotype-비율-변화와-일치도-분석의-차이 .gp-method-key-small,
.reveal #논문-5-table-2-amr-profile-다양성-확대 .wgs-t2-key-small { display: inline !important; margin: 0 0 0 .35em !important; }

/* Page 54 · KEY RESULT 카드에 하단 여백 재배분 */
.reveal #논문-4-figure-2-crc에서-차이를-보인-6개-otu .crc-otu-layout,
.reveal #논문-4-figure-2-crc에서-차이를-보인-6개-otu .crc-otu-figure,
.reveal #논문-4-figure-2-crc에서-차이를-보인-6개-otu .crc-otu-side { height: 590px !important; }
.reveal #논문-4-figure-2-crc에서-차이를-보인-6개-otu .crc-otu-side { grid-template-rows: 215px 178px 178px !important; }
.reveal #논문-4-figure-2-crc에서-차이를-보인-6개-otu .crc-otu-p,
.reveal #논문-4-figure-2-crc에서-차이를-보인-6개-otu .crc-otu-focus p { font-size: 18px !important; }
.reveal #논문-4-figure-2-crc에서-차이를-보인-6개-otu .crc-otu-focus p { line-height: 1.12 !important; }

/* Page 52 · THIS STUDY 카드에 하단 여백 재배분 */
.reveal #beta-diversity-검체-간-미생물-군집-차이 .beta-layout,
.reveal #beta-diversity-검체-간-미생물-군집-차이 .beta-figure,
.reveal #beta-diversity-검체-간-미생물-군집-차이 .beta-side { height: 500px !important; }
.reveal #beta-diversity-검체-간-미생물-군집-차이 .beta-side { grid-template-rows: 130px 166px 188px !important; }
.reveal #beta-diversity-검체-간-미생물-군집-차이 .beta-image { height: 450px !important; }
.reveal #beta-diversity-검체-간-미생물-군집-차이 .beta-study-sub,
.reveal #beta-diversity-검체-간-미생물-군집-차이 .beta-study p { font-size: 18px !important; }

/* Page 51 · A/B/C 카드에 하단 여백 재배분 */
.reveal #논문-4-figure-1-f-nucleatum의-병기-조직별-분포 .crc-f1-layout,
.reveal #논문-4-figure-1-f-nucleatum의-병기-조직별-분포 .crc-f1-figure,
.reveal #논문-4-figure-1-f-nucleatum의-병기-조직별-분포 .crc-f1-side { height: 525px !important; }
.reveal #논문-4-figure-1-f-nucleatum의-병기-조직별-분포 .crc-f1-side { grid-template-rows: 168px 183px 158px !important; }
.reveal #논문-4-figure-1-f-nucleatum의-병기-조직별-분포 .crc-f1-image { height: 447px !important; }
.reveal #논문-4-figure-1-f-nucleatum의-병기-조직별-분포 .crc-f1-card p { font-size: 16px !important; line-height: 1.12 !important; }


/* Comprehensive spacing audit: expand only the cramped content regions. */
/* Page 17 */
.reveal #논문-1-table-3-최종-pth-참고구간 .pth-t3-layout,
.reveal #논문-1-table-3-최종-pth-참고구간 .pth-t3-figure,
.reveal #논문-1-table-3-최종-pth-참고구간 .pth-t3-cards { height: 600px !important; }
.reveal #논문-1-table-3-최종-pth-참고구간 .pth-t3-image { height: 527px !important; }

/* Page 29 */
.reveal #논문-2-figure-3-tg-분포-유병률 .tg-f3-layout,
.reveal #논문-2-figure-3-tg-분포-유병률 .tg-f3-figure,
.reveal #논문-2-figure-3-tg-분포-유병률 .tg-f3-cards { height: 560px !important; }
.reveal #논문-2-figure-3-tg-분포-유병률 .tg-f3-crop { height: 502px !important; }

/* Page 31 */
.reveal #논문-2-figure-4-cdc-bias .tg-f4-layout,
.reveal #논문-2-figure-4-cdc-bias .tg-f4-figure,
.reveal #논문-2-figure-4-cdc-bias .tg-f4-cards { height: 480px !important; }
.reveal #논문-2-figure-4-cdc-bias .tg-f4-crop { height: 435px !important; }

/* Page 37 */
.reveal #논문-3-table-2-mdr-내성-조합 .gbs-m-layout,
.reveal #논문-3-table-2-mdr-내성-조합 .gbs-m-left,
.reveal #논문-3-table-2-mdr-내성-조합 .gbs-m-side { height: 545px !important; }
.reveal #논문-3-table-2-mdr-내성-조합 .gbs-m-left { grid-template-rows: 430px 106px !important; }
.reveal #논문-3-table-2-mdr-내성-조합 .gbs-m-figure { height: 430px !important; }
.reveal #논문-3-table-2-mdr-내성-조합 .gbs-m-side { grid-template-rows: 130px 150px 110px 128px !important; }

/* Page 43: retain the type scale; recover the 4px overflow from the grid margin. */
.reveal #beta-diversity-1 .rc-grid { margin-top: 0 !important; }

/* Page 50 */
.reveal #논문-4-table-2-crc-관련-세균-qpcr-검출률 .crc-q-layout,
.reveal #논문-4-table-2-crc-관련-세균-qpcr-검출률 .crc-q-left,
.reveal #논문-4-table-2-crc-관련-세균-qpcr-검출률 .crc-q-side { height: 590px !important; }
.reveal #논문-4-table-2-crc-관련-세균-qpcr-검출률 .crc-q-left { grid-template-rows: 397px 184px !important; }
.reveal #논문-4-table-2-crc-관련-세균-qpcr-검출률 .crc-q-figure { height: 397px !important; }
.reveal #논문-4-table-2-crc-관련-세균-qpcr-검출률 .crc-q-image { height: 348px !important; }
.reveal #논문-4-table-2-crc-관련-세균-qpcr-검출률 .crc-q-note { height: 184px !important; }
.reveal #논문-4-table-2-crc-관련-세균-qpcr-검출률 .crc-q-side { grid-template-rows: 184px 195px 193px !important; }

/* Page 63 */
.reveal #논문-5-table-2-amr-profile-다양성-확대 .wgs-t2-notes,
.reveal #논문-5-table-2-amr-profile-다양성-확대 .wgs-t2-read,
.reveal #논문-5-table-2-amr-profile-다양성-확대 .wgs-t2-common,
.reveal #논문-5-table-2-amr-profile-다양성-확대 .wgs-t2-interpret { height: 112px !important; }

.reveal #beta-diversity-1 .micro-distance-strip { margin-bottom: 4px !important; }
