/* Scoped additions for the operator knowledge guide; the approved homepage is unchanged. */
.operator-guide .guide-hero { max-width: 980px; }
.operator-guide .guide-layout { grid-template-columns: 225px minmax(0, 1fr); gap: 29px; }
.operator-guide .guide-section { margin-bottom: 42px; }
.operator-guide .guide-section > h2 { display: flex; gap: 10px; align-items: baseline; }
.chapter-number { color: var(--accent); font-family: system-ui, sans-serif; font-size: 12px; }
.operator-guide .table-wrap { margin-block: 16px; }
.operator-guide table { min-width: 620px; }
.operator-guide .wide-table table { min-width: 760px; }
.operator-guide .guide-article th:first-child { width: 26%; }
.operator-guide th bdi, .operator-guide td bdi { overflow-wrap: anywhere; }
.operator-guide .guide-article sup { margin-inline-start: 3px; font: 10px system-ui, sans-serif; }
.operator-guide .guide-article sup a { color: var(--blue); text-decoration: underline; }
.operator-guide .guide-article p { line-height: 1.95; }
.operator-figure { border: 1px solid var(--line); background: var(--panel-soft); padding: 17px; border-radius: 11px; margin: 18px 0; }
.operator-figure figcaption { font-size: 12px; font-weight: 700; margin-bottom: 12px; }
.operator-figure svg { width: 100%; height: auto; border-radius: 7px; }
.operator-figure .figure-legend { display: grid; grid-template-columns: 1fr 1fr; gap: 7px 14px; padding: 0; margin: 13px 0 0; list-style: none; }
.operator-figure .figure-legend li { display: flex; gap: 8px; font-size: 11px; margin: 0; color: var(--muted); }
.figure-number { min-width: 21px; height: 21px; display: inline-grid; place-items: center; border: 1px solid #4b7182; color: var(--text); border-radius: 50%; font: 11px system-ui, sans-serif; }
.figure-footnote { font-size: 10px !important; color: var(--muted); margin: 12px 0 0; }
.diagram-shell { fill: #192c41; stroke: #91b9ff; stroke-width: 3; }
.diagram-detail { fill: #29465e; stroke: #b8c3d8; stroke-width: 2; }
.diagram-steam { fill: none; stroke: #f3cd85; stroke-width: 5; stroke-linecap: round; }
.diagram-return { fill: none; stroke: #8df2c2; stroke-width: 5; stroke-linecap: round; }
.diagram-water { fill: #1d6e69; opacity: .65; }
.diagram-callout { fill: #0b1220; stroke: #91b9ff; stroke-width: 1.5; }
.diagram-number { fill: #e8eefc; font: bold 13px system-ui, sans-serif; text-anchor: middle; dominant-baseline: middle; }
.diagram-leader { stroke: #b8c3d8; stroke-width: 1.3; stroke-dasharray: 4 3; fill: none; }
.diagram-pipe { fill: none; stroke: #91b9ff; stroke-width: 3; }
.formula-block { padding: 13px 16px; background: #142536; border: 1px solid #3c5269; border-radius: 9px; margin-block: 15px; }
.formula-block > strong { font-size: 12px; }
.formula { direction: ltr; unicode-bidi: isolate; text-align: left; overflow-wrap: anywhere; color: var(--accent); margin-block: 8px; font: 13px/1.9 ui-monospace, Consolas, monospace; }
.formula-block p { margin: 6px 0; font-size: 11px !important; color: var(--muted); }
.flow-map { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 15px 0; }
.flow-step { position: relative; padding: 12px 10px; background: var(--panel); border: 1px solid #38546c; border-radius: 9px; text-align: center; }
.flow-step strong { font-size: 11px; display: block; }
.flow-step small { color: var(--muted); font-size: 10px; display: block; }
.flow-step:not(:last-child)::after { content: '→'; position: absolute; right: -10px; top: 9px; color: var(--accent); z-index: 1; font: 17px system-ui; }
html[dir=rtl] .flow-step:not(:last-child)::after { content: '←'; right: auto; left: -10px; }
.process-return { padding: 11px; margin: 0; border: 1px dashed #4b7182; border-radius: 8px; font-size: 11px !important; color: var(--muted); }
.operator-sources { padding-top: 22px; border-top: 1px solid var(--line); scroll-margin-top: 110px; }
.operator-sources h2 { font-size: 20px; }
.operator-sources .reference-list { columns: 2; column-gap: 24px; }
.operator-sources li { break-inside: avoid; padding-bottom: 5px; font-size: 10px; }
.operator-sources .reference-list a { font-size: 10px; }
.scope-note { font-size: 11px; color: var(--muted); margin: 0; }
@media(max-width:1000px) { .operator-guide .guide-layout { grid-template-columns: 190px minmax(0,1fr); gap: 20px; } }
@media(max-width:760px) {
  .operator-guide .guide-layout { grid-template-columns: 1fr; gap: 25px; }
  .operator-guide .guide-hero h1 { font-size: 28px; }
  .operator-figure { padding: 12px; }
  .operator-figure .figure-legend { grid-template-columns: 1fr; }
  .operator-sources .reference-list { columns: 1; }
  .flow-map { grid-template-columns: 1fr 1fr; }
  .flow-step:nth-child(2)::after { display: none; }
  .operator-guide .guide-section > h2 { font-size: 20px; }
}
@media print {
  .operator-guide .guide-layout { display: block; }
  .operator-guide .guide-section { margin-bottom: 20px; }
  .operator-guide .guide-article details { break-inside: auto; }
  .operator-guide .guide-article summary { break-after: avoid; }
  .operator-guide .guide-article th:first-child { width: 25%; }
  .operator-guide .guide-article table { min-width: 0; }
  .operator-guide .guide-article th, .operator-guide .guide-article td { font-size: 8pt; padding: 6px 7px; }
  .operator-guide .table-wrap { overflow: visible; break-inside: avoid; }
  .operator-guide .guide-article p { line-height: 1.55; }
  .operator-figure { background: #fff; padding: 10px; break-inside: avoid; }
  .operator-figure svg { max-height: 68mm; }
  .diagram-shell { fill: #edf1f6; stroke: #234d78; }
  .diagram-detail { fill: #e2e6eb; stroke: #44515f; }
  .diagram-steam { stroke: #94631b; }
  .diagram-return { stroke: #156e61; }
  .diagram-water { fill: #95c5be; opacity: .7; }
  .diagram-callout { fill: #fff; stroke: #234d78; }
  .diagram-number { fill: #111; }
  .diagram-leader { stroke: #44515f; }
  .diagram-pipe { stroke: #234d78; }
  .operator-figure .figure-legend { grid-template-columns: 1fr 1fr; gap: 5px 13px; }
  .operator-figure .figure-legend li { font-size: 8pt; }
  .figure-number { color: #111; border-color: #777; }
  .formula-block { background: #f7f8fa; border-color: #aaa; break-inside: avoid; }
  .formula { color: #12533b; font-size: 9pt; }
  .formula-block p { font-size: 8.5pt !important; }
  .flow-map { grid-template-columns: repeat(4,minmax(0,1fr)); break-inside: avoid; }
  .flow-step { background: #fff; border-color: #999; }
  .flow-step:not(:last-child)::after { display: block; color: #333; }
  .operator-sources { margin-top: 20px; break-inside: avoid; }
  .operator-guide :focus-visible { outline: none; box-shadow: none; }
  .operator-sources .reference-list { columns: 1; }
  .operator-sources .reference-list a { font-size: 8pt; }
}
