.median-escape-intro { max-width: 80ch; }
.median-local-guide { max-width: 34rem; margin: 14px 0 18px; padding: 12px 14px; border: 1px solid #d8dde6; border-radius: 8px; background: #f7f9fc; }
.median-local-guide[hidden] { display: none; }
.median-local-guide figcaption { margin-bottom: 8px; font-size: .86rem; color: #405066; }
.median-local-votes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.median-local-vote { min-width: 0; padding: 8px 6px; border-top: 3px solid currentColor; border-radius: 4px; background: #fff; text-align: center; font-size: .78rem; line-height: 1.4; }
.median-local-vote strong { display: block; margin-top: 4px; font-size: 1.35rem; font-variant-numeric: tabular-nums; }
.median-local-guide .median-local-result { margin: 10px 0 0; padding-left: 10px; border-left: 3px solid #397148; font-size: .86rem; line-height: 1.45; }
.median-escape-footer .wrap { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 28px; }
.median-escape-footer p { grid-column: 1 / -1; }
.median-escape-footer .wrap > a { min-width: 0; }
.median-learned-lab { margin: 28px 0; padding: clamp(12px, calc(2.5vw - 3px), 22px); border: 1px solid #d8dde6; border-radius: 8px; background: #fff; }
.median-learned-lab [hidden] { display: none !important; }
.median-learned-lab h3 { margin: 0 0 10px; font-size: clamp(1.3rem, 3vw, 1.7rem); }
.median-learned-workbench { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr); gap: 20px; align-items: start; }
.median-learned-picture, .median-learned-report { min-width: 0; }
.median-learned-picture > .median-learned-controls:first-child, .median-learned-report > .median-learned-controls:first-child { margin-top: 0; }
.median-learned-report .median-learned-point-select { width: 100%; }
.median-learned-report .median-learned-point-select select { min-width: 0; flex: 1; }
.median-learned-report .median-learned-votes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.median-learned-controls { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.median-learned-controls button { min-height: 42px; padding: 9px 12px; border: 1px solid #aebdcc; border-radius: 5px; background: #fff; color: #18212f; font: inherit; font-size: .88rem; line-height: 1.3; cursor: pointer; }
.median-learned-controls button[aria-pressed="true"] { background: #e5f2e7; border-color: #397148; font-weight: 750; }
.median-learned-controls button[aria-pressed="true"]::before { content: "✓ "; }
.median-learned-controls button:focus-visible, .median-learned-lab summary:focus-visible, .median-learned-lab [tabindex]:focus-visible { outline: 3px solid #854300; outline-offset: 3px; }
.median-learned-legend { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 12px 0 8px; font-size: .84rem; font-weight: 650; }
.median-learned-legend span::before { content: ""; display: inline-block; width: 18px; height: 3px; margin: 0 5px 3px 0; vertical-align: middle; background: currentColor; }
.median-pile-0 { color: #235f9e; }
.median-pile-1 { color: #a85030; }
.median-pile-2 { color: #7854a0; }
.median-aggregate { color: #397148; }
.median-mean { color: #2b2f36; }
.median-learned-legend .median-mean::before { background: repeating-linear-gradient(90deg, currentColor 0 8px, transparent 8px 11px, currentColor 11px 13px, transparent 13px 16px); }
.median-learned-legend [hidden] { display: none; }
/* Keep the mean key's space when it is hidden, so neither the toggle nor the plot moves. */
.median-learned-legend .median-mean[hidden] { display: inline !important; visibility: hidden; }
.median-learned-mean-curve { fill: none; stroke: #2b2f36; stroke-width: 1.8; stroke-dasharray: 10 4 2 4; opacity: .85; }
.median-learned-mean-vote { fill: #fff; stroke: #2b2f36; stroke-width: 2.2; }
.median-learned-legend .median-learned-mean-toggle { margin-left: auto; min-height: 0; padding: 3px 10px; font-size: .8rem; line-height: 1.3; }
.median-learned-votes .median-aggregate small { display: block; margin-top: 4px; color: #2b2f36; font-weight: 600; }
.median-target { color: #6e7480; }
.median-learned-plot { display: block; width: 100%; height: auto; border: 1px solid #d8dde6; border-radius: 5px; background: #fcfdff; }
.median-learned-grid { stroke: #e5e9ef; stroke-width: 1; }
.median-learned-axis { stroke: #708090; stroke-width: 1.2; }
.median-learned-tick { fill: #4f5e6f; font: 12px system-ui, sans-serif; }
.median-learned-axis-title { fill: #25394d; font: 650 13px system-ui, sans-serif; }
.median-learned-curve { fill: none; stroke-width: 1.2; opacity: .42; }
.median-learned-curve.is-current { stroke-width: 2.8; opacity: 1; }
.median-learned-target { stroke: #707784; stroke-width: 1.5; stroke-dasharray: 7 5; }
.median-learned-training { cursor: pointer; outline: none; }
.median-learned-hit { fill: transparent; }
.median-learned-point-strip { fill: transparent; cursor: pointer; }
.median-learned-scrub-frame { fill: transparent; cursor: ew-resize; }
.median-learned-training .median-learned-dot { stroke: #fff; stroke-width: 1.4; }
.median-learned-training.is-selected .median-learned-dot, .median-learned-training:focus-visible .median-learned-dot { stroke: #18212f; stroke-width: 3; }
.median-learned-selected-line { stroke: #647487; stroke-width: 1.4; stroke-dasharray: 3 5; }
.median-learned-vote { stroke-width: 2.5; fill: #fff; }
.median-learned-help { margin: 7px 0 12px; color: #536174; font-size: .83rem; line-height: 1.5; }
.median-learned-point { margin: 12px 0; padding: 12px; background: #f1f5f9; border: 1px solid #d8dde6; border-radius: 5px; font-size: .92rem; font-variant-numeric: tabular-nums; }
.median-learned-point p { margin: 0 0 8px; }
.median-learned-point-select { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: .9rem; }
.median-learned-point-select select { max-width: 100%; min-height: 40px; padding: 6px 9px; font: inherit; border: 1px solid #aebdcc; border-radius: 5px; background: #fff; }
.median-learned-inspection { align-items: center; }
.median-learned-votes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.median-learned-votes span { padding: 7px; background: #fff; border-left: 3px solid currentColor; }
.median-learned-votes strong { display: block; margin-top: 3px; color: #18212f; font-size: 1.02rem; }
.median-learned-scores table, .median-learned-data { width: 100%; border-collapse: collapse; font-size: .88rem; font-variant-numeric: tabular-nums; }
.median-learned-scores caption, .median-learned-data caption { text-align: left; padding: 8px 0; color: #536174; font-size: .83rem; }
.median-learned-scores th, .median-learned-scores td, .median-learned-data th, .median-learned-data td { padding: 9px 8px; border-bottom: 1px solid #d8dde6; text-align: right; }
.median-learned-scores th:first-child, .median-learned-data th:first-child { text-align: left; }
.median-learned-scores thead th { background: #f0f4f8; font-size: .83rem; }
.median-learned-scores tr.is-current { background: #e5f2e7; }
.median-learned-data-wrap { max-height: 350px; overflow: auto; }
.median-learned-data { min-width: 620px; }
.median-learned-error { padding: 12px; border: 1px solid #b3484a; background: #fff1ed; }
.median-relu { margin: 14px 0 22px; }
.median-relu-inputs { font-weight: 650; font-variant-numeric: tabular-nums; }
.median-relu-layers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 14px 0; }
.median-relu-layer { min-width: 0; padding: 12px; border: 1px solid #d8dde6; border-radius: 5px; background: #f6f8fb; }
.median-relu-layer h4 { margin: 0 0 12px; font-size: .9rem; }
.median-relu-layer p { margin: 7px 0; }
.median-relu-formula { font-size: .9rem; overflow-wrap: anywhere; }
.median-relu-value { color: #324b60; font-size: .86rem; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.median-relu-output { border-color: #91ae98; background: #f0f7f1; }
.median-relu-output .median-relu-value { color: #285736; font-weight: 750; }
.median-shield-closeup { margin: 20px -10px; --median-closeup-font: clamp(18px, calc(45px - 4vw), 32px); }
.median-shield-closeup .visual { margin-top: 12px; padding: 8px; }
.median-shield-closeup #medianPlot text { font-size: var(--median-closeup-font); }
.median-shield-closeup #medianPlot text[font-size="13"] { font-size: calc(var(--median-closeup-font) * .84); }
/* Let the long inline pile-error formula break after its = or ≈ sign at 320px; braces keep each side whole. */
.median-wrap-formula[data-tex]:not([data-tex-display]) { display: inline; white-space: normal; }
@media (min-width: 1001px) {
  .median-learned-report .median-learned-controls { margin-block: 8px; }
  .median-learned-report .median-learned-point { margin-block: 8px; padding: 10px; }
  .median-learned-report .median-learned-scores th, .median-learned-report .median-learned-scores td { padding: 7px 8px; }
  .median-learned-report .median-learned-scores thead th { font-size: .875rem; }
  .median-learned-report .median-learned-scores caption { padding-block: 6px; font-size: .875rem; line-height: 1.4; }
}
@media (max-width: 1000px) {
  .median-learned-workbench { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .median-learned-report .median-learned-votes { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .median-escape-footer .wrap { grid-template-columns: minmax(0, 1fr); }
  .median-learned-lab { padding: 12px; }
  .median-learned-controls button { flex: 1 1 calc(50% - 8px); }
  .median-learned-inspection .median-learned-point-select { width: 100%; }
  .median-learned-inspection select { min-width: 0; flex: 1; }
  .median-learned-votes, .median-learned-report .median-learned-votes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .median-relu-layers { grid-template-columns: 1fr; }
  .median-learned-scores table { font-size: .81rem; }
  .median-learned-scores th, .median-learned-scores td { padding: 8px 5px; }
  .median-learned-scores thead th { font-size: .76rem; }
}
@media (forced-colors: active) {
  .median-learned-curve { opacity: 1; }
  .median-learned-curve[data-rule="1"] { stroke-dasharray: 5 3; }
  .median-learned-curve[data-rule="2"] { stroke-dasharray: 2 3; }
  .median-learned-training:focus-visible .median-learned-dot, .median-learned-training.is-selected .median-learned-dot { stroke: Highlight; stroke-width: 4; }
  .median-learned-vote { stroke: CanvasText; }
}
.median-learned-plot { touch-action: pan-y; }
.median-learned-point-strip, .median-learned-training { cursor: ew-resize; }

/* Visibility changes never change the votes entering either aggregate. */
.median-learned-legend button { min-height: 40px; padding: 6px 9px; border: 1px solid currentColor; border-radius: 5px; background: #fff; font: inherit; cursor: pointer; }
.median-learned-legend button[aria-pressed="true"]::before { content: "✓ "; }
.median-learned-legend button[aria-pressed="false"] { text-decoration: line-through; background: #eef1f5; }
.median-learned-legend button:focus-visible, .median-learned-probe input:focus-visible { outline: 3px solid #854300; outline-offset: 3px; }
.median-learned-curve { opacity: 1; stroke-width: 1.5; }
.median-learned-curve[data-rule="median"] { stroke-width: 2.8; }
.median-learned-curve[data-rule="1"] { stroke-dasharray: 6 2; }
.median-learned-curve[data-rule="2"] { stroke-dasharray: 2 2; }
.median-learned-probe { display: flex; gap: 10px; align-items: center; margin: 8px 0; font-size: .88rem; }
.median-learned-probe input { width: 9em; min-height: 40px; font: inherit; padding: 5px; border: 1px solid #aebdcc; border-radius: 4px; }
.median-learned-legend button[aria-pressed] { color: var(--median-ink); }
.median-learned-legend .median-pile-0 { --median-ink: #235f9e; }
.median-learned-legend .median-pile-1 { --median-ink: #a85030; }
.median-learned-legend .median-pile-2 { --median-ink: #7854a0; }
.median-learned-legend .median-aggregate { --median-ink: #397148; }
.median-learned-legend .median-mean { --median-ink: #2b2f36; }

.median-learned-legend button.median-mean::before { background: none; }
