:root {
  --mprg-blue: #0052a4;
  --mprg-blue-dark: #073763;
  --mprg-cyan: #00a6b2;
  --mprg-ink: #142331;
  --mprg-muted: #5d6c79;
  --mprg-line: #d9e1e7;
  --mprg-soft: #f3f6f8;
  --mprg-white: #fff;
}

.mprg-page { color: var(--mprg-ink); background: var(--mprg-white); font-size: 17px; }
.mprg-page main { min-height: 70vh; }
.mprg-shell { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.mprg-shell--simulation { width: min(1640px, calc(100% - 48px)); }
.mprg-intro { padding: 34px 0 76px; border-bottom: 1px solid var(--mprg-line); }
.mprg-breadcrumb { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 48px; color: var(--mprg-muted); font-size: 17px; }
.mprg-breadcrumb a { color: inherit; }
.mprg-breadcrumb a::after { content: "/"; margin-left: 9px; color: #a7b2bb; }
.mprg-intro-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 64px; align-items: start; }
.mprg-kicker, .mprg-section-heading > p, .mprg-heading-row > div > p { margin: 0 0 16px; color: var(--mprg-blue); font: 700 17px/1.4 "Segoe UI", sans-serif; }
.mprg-intro h1 { margin: 0; font-size: 64px; line-height: 1.02; font-weight: 700; letter-spacing: 0; }
.mprg-lead { max-width: 620px; margin: 28px 0 30px; color: var(--mprg-muted); font-size: 17px; line-height: 1.9; }
.mprg-facts { display: grid; grid-template-columns: .95fr .9fr 1.55fr; gap: 14px; padding-top: 22px; border-top: 1px solid var(--mprg-line); }
.mprg-intro h1 + .mprg-facts { margin-top: 30px; }
.mprg-facts > span { min-width: 0; color: var(--mprg-muted); font-size: 15px; line-height: 1.55; text-align: center; }
.mprg-facts > span > b { display: block; margin-bottom: 4px; color: var(--mprg-blue-dark); font-size: 24px; font-weight: 650; white-space: nowrap; }
.mprg-overview { margin: 0; border-left: 4px solid var(--mprg-blue); background: var(--mprg-soft); }
.mprg-overview img { display: block; width: 100%; height: auto; padding: 12px 10px; object-fit: contain; background: #fff; }
.mprg-overview figcaption { padding: 12px 16px; border-top: 1px solid var(--mprg-line); color: var(--mprg-ink); font-size: 17px; font-weight: 650; }
.mprg-overview-key { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--mprg-line); }
.mprg-overview-key span { min-width: 0; padding: 12px 14px; border-left: 1px solid var(--mprg-line); color: var(--mprg-muted); font-size: 17px; line-height: 1.5; }
.mprg-overview-key span:first-child { border-left: 0; }
.mprg-overview-key b { display: block; margin-bottom: 2px; color: var(--mprg-blue); font-size: 17px; }
.mprg-local-nav-rail { position: sticky; z-index: 45; top: var(--lab-header-height); width: 100%; height: 0; margin: 0; pointer-events: none; }
.mprg-local-nav { position: absolute; top: 22px; left: calc(50% - 950px); box-sizing: border-box; display: flex; width: 224px; padding: 14px; flex-direction: column; gap: 3px; border: 1px solid var(--mprg-line); background: rgba(255, 255, 255, .96); box-shadow: 0 12px 34px rgba(20, 35, 49, .08); backdrop-filter: blur(12px); pointer-events: auto; }
.mprg-local-nav-label { margin: 0 0 7px; padding: 0 7px 11px; border-bottom: 1px solid var(--mprg-line); color: var(--mprg-muted); font-size: 15px; letter-spacing: .08em; }
.mprg-local-nav a { padding: 9px 6px; border-left: 2px solid transparent; color: var(--mprg-muted); font-size: 15px; font-weight: 650; line-height: 1.35; text-decoration: none; white-space: nowrap; }
.mprg-local-nav a b { margin-right: 6px; color: inherit; font-size: inherit; font-weight: 750; }
.mprg-local-nav a:hover, .mprg-local-nav a.is-current { color: var(--mprg-blue); border-left-color: var(--mprg-blue); background: #edf3f8; }
.mprg-local-nav a.is-current { font-weight: 800; }
.mprg-section { padding: 92px 0; }
.mprg-section--soft { background: var(--mprg-soft); }
.mprg-section[id] { scroll-margin-top: calc(var(--lab-header-height) + 62px); }
.mprg-math { color: inherit; font-family: Cambria, "Times New Roman", serif; font-style: italic; white-space: nowrap; }
.mprg-math sub { font-size: .72em; font-style: normal; }
.mprg-math.is-katex { font-style: normal; }
.mprg-math .katex, .mprg-equation-expression .katex { font-size: 1em; }
.mprg-section-heading h2, .mprg-heading-row h2 { margin: 0; font-size: 34px; line-height: 1.2; font-weight: 650; letter-spacing: 0; }
.mprg-mechanism-head { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: 72px; align-items: end; }
.mprg-mechanism-head > p { max-width: 780px; margin: 0; color: var(--mprg-muted); font-size: 17px; line-height: 1.95; }
.mprg-mechanism-chain { display: grid; grid-template-columns: repeat(4, 1fr); margin: 34px 0 28px; border-block: 1px solid var(--mprg-line); }
.mprg-mechanism-chain > span { position: relative; display: flex; min-height: 82px; align-items: center; justify-content: center; padding: 14px 22px; border-left: 1px solid var(--mprg-line); color: var(--mprg-blue-dark); font-size: 17px; font-weight: 650; line-height: 1.55; text-align: center; white-space: nowrap; }
.mprg-mechanism-chain > span:first-child { border-left: 0; }
.mprg-mechanism-chain > span:not(:last-child)::after { content: "›"; position: absolute; z-index: 1; right: -7px; top: 50%; padding: 0 2px; background: #fff; color: var(--mprg-cyan); font-size: 20px; transform: translateY(-50%); }
.mprg-mechanism-evidence { display: grid; grid-template-columns: minmax(320px, .68fr) minmax(0, 1.32fr); gap: 28px; align-items: stretch; }
.mprg-mechanism-context { display: grid; grid-template-rows: auto 1fr; gap: 24px; min-width: 0; }
.mprg-equation { display: grid; gap: 10px; margin: 0; padding: 24px 28px; border-left: 3px solid var(--mprg-cyan); background: var(--mprg-soft); font: 18px/1.6 Cambria, "Times New Roman", serif; }
.mprg-equation-line { display: block; }
.mprg-equation-expression { min-width: 0; overflow-x: auto; white-space: nowrap; }
.mprg-system-data { display: grid; grid-template-columns: repeat(2, 1fr); margin: 0; border-top: 1px solid var(--mprg-line); }
.mprg-system-data div { padding: 16px 0; border-bottom: 1px solid var(--mprg-line); }
.mprg-system-data div:nth-child(odd) { margin-right: 28px; }
.mprg-system-data dt { margin-bottom: 5px; color: var(--mprg-muted); font-size: 17px; }
.mprg-system-data dd { margin: 0; color: var(--mprg-ink); font-size: 17px; font-weight: 650; line-height: 1.5; }
.mprg-mechanism-context .mprg-system-data { grid-template-columns: 1fr; grid-template-rows: repeat(4, minmax(0, 1fr)); height: 100%; }
.mprg-mechanism-context .mprg-system-data div { display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: 14px; align-items: center; padding: 14px 0; }
.mprg-mechanism-context .mprg-system-data div:nth-child(odd) { margin-right: 0; }
.mprg-mechanism-context .mprg-system-data dt { margin: 0; }
.mprg-paper-figure { min-width: 0; margin: 0; border: 1px solid var(--mprg-line); background: #fff; }
.mprg-paper-figure img { display: block; width: 100%; height: auto; object-fit: contain; background: #fff; }
.mprg-paper-figure figcaption { display: grid; grid-template-columns: 190px 1fr; gap: 22px; padding: 16px 18px; border-top: 1px solid var(--mprg-line); }
.mprg-paper-figure figcaption b { color: var(--mprg-ink); font-size: 17px; }
.mprg-paper-figure figcaption > span { color: var(--mprg-muted); font-size: 17px; line-height: 1.65; }
.mprg-architecture-head { display: grid; grid-template-columns: 360px minmax(0, 1fr); gap: 80px; align-items: end; margin-bottom: 42px; }
.mprg-architecture-head > p { max-width: 760px; margin: 0; color: var(--mprg-muted); font-size: 17px; line-height: 1.95; }
.mprg-architecture-stage { display: grid; grid-template-columns: minmax(0, 1fr) 540px; gap: 32px; align-items: start; }
.mprg-architecture-figure { margin: 0; border-top: 3px solid var(--mprg-blue); border-bottom: 1px solid var(--mprg-line); background: #fff; }
.mprg-architecture-figure img { display: block; width: 100%; height: auto; padding: 20px 16px 14px; }
.mprg-architecture-figure figcaption { padding: 12px 14px; border-top: 1px solid var(--mprg-line); color: var(--mprg-muted); font-size: 17px; line-height: 1.55; }
.mprg-architecture-path { border-top: 3px solid var(--mprg-cyan); border-bottom: 1px solid var(--mprg-line); background: #fff; }
.mprg-architecture-path > p { margin: 0; padding: 14px 18px; border-bottom: 1px solid var(--mprg-line); color: var(--mprg-blue); font-size: 17px; font-weight: 700; }
.mprg-task-stack { display: grid; }
.mprg-task-layer { padding: 0; border-left: 4px solid var(--mprg-blue); }
.mprg-task-layer--planning { background: #eef5fb; }
.mprg-task-layer--execution { border-left-color: var(--mprg-cyan); background: #edf8f8; }
.mprg-task-layer header, .mprg-task-operation { display: grid; grid-template-columns: 112px minmax(0, 1fr); align-items: stretch; }
.mprg-task-layer header { border-bottom: 1px solid rgba(0, 82, 164, .12); }
.mprg-task-layer header small, .mprg-task-operation b { display: flex; align-items: center; padding: 13px 14px; border-right: 1px solid rgba(0, 82, 164, .12); background: rgba(255, 255, 255, .34); }
.mprg-task-layer header small { color: var(--mprg-muted); font-size: 17px; font-weight: 700; }
.mprg-task-layer header strong { display: flex; align-items: center; padding: 13px 16px; color: var(--mprg-blue-dark); font-size: 18px; line-height: 1.45; }
.mprg-task-operation { margin: 0; }
.mprg-task-operation > b, .mprg-task-operation > span { font-size: 17px; line-height: 1.55; overflow-wrap: anywhere; }
.mprg-task-operation > b { color: var(--mprg-blue-dark); }
.mprg-task-operation > span { padding: 13px 16px 16px; color: var(--mprg-ink); font-weight: 650; }
.mprg-task-interface { display: grid; min-height: 58px; grid-template-columns: 112px minmax(0, 1fr) 34px; align-items: stretch; padding: 0; border-block: 1px solid var(--mprg-line); background: #fff; }
.mprg-task-interface > small, .mprg-task-interface > b, .mprg-task-interface > span { display: flex; align-items: center; }
.mprg-task-interface small { padding: 12px 14px; border-right: 1px solid var(--mprg-line); color: var(--mprg-muted); font-size: 17px; }
.mprg-task-interface b { padding: 12px 16px; color: var(--mprg-blue); font-size: 17px; }
.mprg-task-interface b .mprg-math { position: relative; top: .08em; }
.mprg-task-interface > span { justify-content: center; color: var(--mprg-cyan); font-size: 21px; font-weight: 700; }
.mprg-spec-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px; margin: 48px 0 34px; }
.mprg-spec-table { width: 100%; border-collapse: collapse; background: #fff; font-size: 17px; }
.mprg-spec-table caption { padding: 0 0 10px; color: var(--mprg-blue-dark); font-size: 17px; font-weight: 700; text-align: left; }
.mprg-spec-table th, .mprg-spec-table td { padding: 11px 10px; border-top: 1px solid var(--mprg-line); text-align: left; vertical-align: top; line-height: 1.55; }
.mprg-spec-table th { width: 92px; color: var(--mprg-muted); font-weight: 500; }
.mprg-spec-table td { color: var(--mprg-ink); }
.mprg-model-role { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 18px; margin-bottom: 24px; padding: 16px 0; border-block: 1px solid var(--mprg-line); }
.mprg-model-role b { color: var(--mprg-blue-dark); font-size: 17px; }
.mprg-model-role span { color: var(--mprg-muted); font-size: 17px; line-height: 1.65; }
.mprg-constraint-list { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--mprg-line); }
.mprg-constraint-list div { display: flex; gap: 18px; padding: 18px 0; border-bottom: 1px solid var(--mprg-line); }
.mprg-constraint-list div:nth-child(odd) { margin-right: 26px; }
.mprg-constraint-list b { color: var(--mprg-blue); font-size: 17px; }
.mprg-heading-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 34px; }
.mprg-health { display: inline-flex; align-items: center; gap: 9px; color: var(--mprg-muted); font-size: 16px; }
.mprg-health i { width: 8px; height: 8px; border-radius: 50%; background: #c28b00; }
.mprg-health.is-ready i { background: #17845b; }
.mprg-health.is-unavailable i { background: #b73a3a; }
.mprg-console { display: grid; grid-template-columns: 320px minmax(0, 1fr); align-items: stretch; gap: 16px; }
.mprg-controls { padding: 28px; border: 1px solid #cbd5dc; background: #fff; }
.mprg-control-heading { display: flex; justify-content: space-between; gap: 16px; }
.mprg-controls label { font-size: 17px; font-weight: 650; }
.mprg-mode-control { display: grid; gap: 8px; margin-bottom: 24px; }
.mprg-mode-control select { width: 100%; height: 42px; padding: 0 34px 0 10px; border: 1px solid var(--mprg-line); border-radius: 0; background: #fff; color: var(--mprg-ink); font: 600 17px/1 "Segoe UI", sans-serif; }
.mprg-mode-control select:focus { outline: 2px solid var(--mprg-blue); outline-offset: -2px; }
.mprg-mode-control select:disabled { cursor: wait; opacity: .58; }
.mprg-controls input[type="range"] { width: 100%; margin: 24px 0 15px; accent-color: var(--mprg-blue); }
.mprg-controls input:disabled { cursor: not-allowed; opacity: .55; }
.mprg-number-control { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; margin-bottom: 18px; border: 1px solid var(--mprg-line); }
.mprg-number-control input { min-width: 0; height: 40px; padding: 0 10px; border: 0; color: var(--mprg-ink); font: 650 17px/1 "Segoe UI", sans-serif; }
.mprg-number-control input:focus { outline: 2px solid var(--mprg-blue); outline-offset: -2px; }
.mprg-number-control span { padding: 0 10px; color: var(--mprg-muted); font-size: 17px; }
.mprg-controls p { margin: 0 0 24px; color: var(--mprg-muted); font-size: 17px; line-height: 1.7; }
.mprg-results .mprg-relaxation-note { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 14px; align-items: baseline; margin-top: 10px; padding: 9px 12px; border-left: 3px solid var(--mprg-cyan); background: #f7f9fb; color: var(--mprg-muted); font-size: 14px; line-height: 1.55; }
.mprg-results .mprg-relaxation-note strong { color: var(--mprg-blue-dark); font-weight: 700; white-space: nowrap; }
.mprg-results .mprg-relaxation-note span { min-width: 0; }
.mprg-controls button { display: flex; width: 100%; min-height: 46px; align-items: center; justify-content: space-between; padding: 0 16px; border: 0; background: var(--mprg-blue); color: white; cursor: pointer; font: 650 17px/1 "Segoe UI", sans-serif; }
.mprg-controls button:hover { background: var(--mprg-blue-dark); }
.mprg-controls button:disabled { cursor: wait; opacity: .58; }
.mprg-controls button b { font-size: 17px; }
.mprg-controls .mprg-stop-button { margin-top: 8px; border: 1px solid #b8c4cc; background: #fff; color: #8b2e2e; }
.mprg-controls .mprg-stop-button:hover { border-color: #8b2e2e; background: #fff; }
.mprg-job-status { margin-top: 20px; color: var(--mprg-muted); font-size: 17px; min-height: 20px; }
.mprg-error { margin-top: 10px; color: #a72a2a; font-size: 17px; line-height: 1.5; }
.mprg-results { min-width: 0; padding: 20px 22px 18px; border: 1px solid #cbd5dc; background: #fff; }
.mprg-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--mprg-line); background: #f8fafb; }
.mprg-metrics div { position: relative; display: flex; min-width: 0; min-height: 68px; flex-wrap: wrap; align-content: center; align-items: baseline; justify-content: center; column-gap: 8px; padding: 8px 14px; border-left: 1px solid var(--mprg-line); text-align: center; }
.mprg-metrics div:nth-child(3n+1) { border-left: 0; }
.mprg-metrics div:nth-child(n+4) { border-top: 1px solid var(--mprg-line); }
.mprg-metrics div > small { flex: 0 0 100%; }
.mprg-metrics div > small, .mprg-metrics div > span { display: block; min-width: 0; color: var(--mprg-muted); font-size: 14px; line-height: 1.35; }
.mprg-metrics div > span { padding-bottom: 1px; overflow-wrap: anywhere; }
.mprg-metrics div > strong { display: block; min-width: 0; margin-top: 2px; color: var(--mprg-blue-dark); font-size: 19px; font-weight: 700; line-height: 1.25; white-space: nowrap; }
.mprg-metrics strong[data-state="safe"] { color: #176a4d; }
.mprg-metrics strong[data-state="warning"] { color: #a23726; }
.mprg-chart-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 14px 0 9px; }
.mprg-chart-head strong { color: var(--mprg-blue-dark); font-size: 17px; font-weight: 650; }
.mprg-chart-meta { display: flex; align-items: center; justify-content: flex-end; gap: 12px; }
.mprg-chart-context { flex: 0 0 auto; color: var(--mprg-muted); font-size: 15px; }
.mprg-scope-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 10px; border: 1px solid var(--mprg-line); background: #f4f7f9; }
.mprg-scope-tabs button { min-height: 38px; padding: 6px 10px; border: 0; border-right: 1px solid var(--mprg-line); border-bottom: 3px solid transparent; background: transparent; color: var(--mprg-muted); cursor: pointer; font: 650 15px/1.3 "Segoe UI", sans-serif; }
.mprg-scope-tabs button:last-child { border-right: 0; }
.mprg-scope-tabs button:hover { color: var(--mprg-blue); }
.mprg-scope-tabs button:focus-visible { outline: 2px solid var(--mprg-blue); outline-offset: -2px; }
.mprg-scope-tabs button.is-active { border-bottom-color: var(--mprg-blue); background: #fff; color: var(--mprg-blue); font-weight: 750; }
.mprg-scope-area { position: relative; min-height: 300px; }
.mprg-scope-grid { display: grid; min-width: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; align-content: start; }
.mprg-scope-grid[hidden] { display: none; }
.mprg-scope-panel-head { grid-column: 1 / -1; display: flex; min-height: 32px; align-items: center; justify-content: space-between; gap: 10px; padding: 0 2px; }
.mprg-scope-panel-head h3 { margin: 0; color: var(--mprg-blue-dark); font-size: 15px; }
.mprg-scope-panel-head button { padding: 4px 9px; border: 1px solid #b8c8d4; background: transparent; color: var(--mprg-blue); cursor: pointer; font: 650 14px/1.35 "Segoe UI", sans-serif; }
.mprg-scope-panel-head button:hover { border-color: var(--mprg-blue); background: #f2f7fb; }
.mprg-scope-grid .mprg-scope:last-of-type { grid-column: auto; }
.mprg-scope { min-width: 0; margin: 0; overflow: hidden; border: 1px solid #d5dee5; background: #fff; box-shadow: 0 3px 10px rgba(20, 35, 49, .035); }
.mprg-scope figcaption { min-height: 36px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 6px 10px; border-bottom: 1px solid #e7edf1; color: var(--mprg-ink); }
.mprg-scope figcaption strong { font-size: 15px; font-weight: 700; }
.mprg-scope figcaption span { flex: 0 0 auto; color: var(--mprg-muted); font-size: 14px; }
.mprg-scope-legend { display: flex; min-height: 23px; flex-wrap: wrap; align-items: center; gap: 3px 9px; padding: 4px 8px 0 42px; color: var(--mprg-muted); font-size: 14px; }
.mprg-scope-legend span::before { content: ""; display: inline-block; width: 16px; margin: 0 6px 3px 0; border-top: 2px solid #0052a4; vertical-align: middle; }
.mprg-scope-legend .is-command::before { border-top-color: #667581; border-top-style: dashed; }
.mprg-scope-legend .is-raw::before { border-top-color: #43515d; border-top-style: dashed; }
.mprg-scope-legend .is-governed::before { border-top-color: #16825d; border-top-style: dashed; }
.mprg-scope-legend .is-constraint::before { width: 14px; height: 8px; margin-bottom: 0; border: 1px solid #c55c4a; background: #fae9e7; }
.mprg-scope svg { display: block; width: 100%; height: 220px; overflow: hidden; }
.mprg-scope .grid-line { stroke: #e2e8ec; stroke-width: 1; vector-effect: non-scaling-stroke; }
.mprg-scope .axis-label, .mprg-scope .axis-title { fill: #667581; font-family: "Segoe UI", sans-serif; }
.mprg-scope .axis-label { font-size: 13px; }
.mprg-scope .axis-title { font-size: 13px; }
.mprg-scope .scope-line { fill: none; stroke-width: 1.8; vector-effect: non-scaling-stroke; }
.mprg-scope .scope-line.is-command,
.mprg-scope .scope-line.is-raw { stroke-dasharray: 6 4; }
.mprg-scope .scope-line.is-governed { stroke-dasharray: 9 4 2 4; }
.mprg-scope .constraint-safe { fill: #e4f2ea; opacity: .72; }
.mprg-scope .constraint-violation { fill: #fae9e7; opacity: .72; }
.mprg-scope .constraint-line { stroke: #ad4c32; stroke-width: 1.4; stroke-dasharray: 6 4; vector-effect: non-scaling-stroke; }
.mprg-scope .constraint-label { fill: #8e3c2b; font: 600 13px/1 "Segoe UI", sans-serif; }
.mprg-scope-status { flex: 0 0 auto; padding: 4px 7px; border: 1px solid #c7d0d7; background: #fff; color: var(--mprg-muted); font-size: 14px; pointer-events: none; }
.mprg-scope-status[data-state="running"] { border-color: #78ac98; color: #176a4d; }
.mprg-scope-status[data-state="paused"] { border-color: #d0a134; color: #7b5a00; }
.mprg-scope-status[data-state="error"] { border-color: #cb8b8b; color: #9e2d2d; }
.mprg-scope-area > p { position: absolute; z-index: 2; inset: 0; display: grid; place-items: center; margin: 0; background: #fff; color: #82909b; font-size: 17px; }
.mprg-scope-area > p[hidden] { display: none; }
.mprg-mobile-control-dock { display: none; }
.mprg-mobile-control-dock[hidden] { display: none !important; }
.mprg-mobile-command-dialog { position: fixed; inset: auto 0 0; box-sizing: border-box; width: min(100%, 520px); max-width: none; max-height: min(92dvh, 680px); margin: auto auto 0; padding: 0; overflow: auto; overscroll-behavior: contain; border: 0; border-radius: 18px 18px 0 0; background: #fff; color: var(--mprg-ink); box-shadow: 0 -18px 52px rgba(20, 35, 49, .24); }
.mprg-mobile-command-dialog::backdrop { background: rgba(8, 20, 31, .58); }
.mprg-mobile-command-form { display: grid; gap: 14px; padding: 18px 18px calc(18px + env(safe-area-inset-bottom)); }
.mprg-mobile-command-form header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding-bottom: 13px; border-bottom: 1px solid var(--mprg-line); }
.mprg-mobile-command-form header small { display: block; margin-bottom: 4px; color: var(--mprg-blue); font: 700 13px/1.3 "Segoe UI", sans-serif; letter-spacing: .06em; }
.mprg-mobile-command-form h2 { margin: 0; color: var(--mprg-blue-dark); font-size: 20px; line-height: 1.35; }
.mprg-mobile-command-form > p { margin: 0; color: var(--mprg-muted); font-size: 14px; line-height: 1.55; }
.mprg-mobile-dialog-close, .mprg-mobile-dialog-cancel, .mprg-mobile-dialog-apply { min-height: 44px; padding: 0 14px; border: 1px solid #b8c8d4; background: #fff; color: var(--mprg-blue); cursor: pointer; font: 650 15px/1 "Segoe UI", sans-serif; }
.mprg-mobile-dialog-close { flex: 0 0 auto; }
.mprg-mobile-mode-label, .mprg-mobile-range-label, .mprg-mobile-number-label { color: var(--mprg-ink); font-size: 15px; font-weight: 650; }
.mprg-mobile-mode-select { width: 100%; min-height: 48px; padding: 0 38px 0 12px; border: 1px solid var(--mprg-line); border-radius: 0; background: #fff; color: var(--mprg-ink); font: 650 16px/1 "Segoe UI", sans-serif; }
.mprg-mobile-mode-select:focus { outline: 2px solid var(--mprg-blue); outline-offset: -2px; }
.mprg-mobile-mode-select:disabled { cursor: wait; opacity: .58; }
.mprg-mobile-command-form input[type="range"] { width: 100%; min-height: 44px; margin: -6px 0 0; accent-color: var(--mprg-blue); }
.mprg-mobile-number-control { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; border: 1px solid var(--mprg-line); }
.mprg-mobile-number-control input { min-width: 0; min-height: 48px; padding: 0 12px; border: 0; color: var(--mprg-ink); font: 700 18px/1 "Segoe UI", sans-serif; }
.mprg-mobile-number-control input:focus { outline: 2px solid var(--mprg-blue); outline-offset: -2px; }
.mprg-mobile-number-control span { padding: 0 12px; color: var(--mprg-muted); font-size: 15px; }
.mprg-mobile-command-error { min-height: 20px; color: #a72a2a; font-size: 14px; line-height: 1.45; }
.mprg-mobile-command-form footer { display: grid; grid-template-columns: 1fr 1.4fr; gap: 10px; }
.mprg-mobile-dialog-apply { border-color: var(--mprg-blue); background: var(--mprg-blue); color: #fff; }
.mprg-mobile-dialog-apply:hover { background: var(--mprg-blue-dark); }
html.mprg-dialog-open, html.mprg-dialog-open body { overflow: hidden; }

@media (min-width: 1201px) {
  .mprg-scope-tabs { display: none; }
  .mprg-scope-area { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
  .mprg-scope-grid { display: flex; flex-direction: column; gap: 9px; padding: 10px; border: 1px solid var(--mprg-line); background: #f7f9fb; }
  .mprg-scope-grid[hidden] { display: none; }
  .mprg-scope-grid .mprg-scope { display: none; }
  .mprg-scope-grid .mprg-scope.is-summary { display: block; }
  .mprg-scope-grid.is-detail { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 34px; row-gap: 9px; }
  .mprg-scope-grid.is-detail .mprg-scope-panel-head { grid-column: 1 / -1; }
  .mprg-scope-grid.is-detail .mprg-scope { display: block; }
}
@media (min-width: 1501px) {
  .mprg-metrics { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .mprg-metrics > div:nth-child(n) { padding-inline: 10px; border-top: 0; border-left: 0; }
  .mprg-metrics > div:not(:first-child)::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 1px; background: var(--mprg-line); }
}
.mprg-zoomable { position: relative; }
.mprg-zoomable > img { cursor: zoom-in; }
.mprg-lightbox { width: min(94vw, 1480px); max-width: none; height: min(92vh, 980px); max-height: none; padding: 0; border: 0; background: #f7f9fb; color: var(--mprg-ink); box-shadow: 0 28px 90px rgba(0,0,0,.45); }
.mprg-lightbox::backdrop { background: rgba(8, 20, 31, .78); }
.mprg-lightbox-toolbar { display: flex; align-items: center; gap: 16px; padding: 12px 16px; border-bottom: 1px solid var(--mprg-line); background: #fff; }
.mprg-lightbox-toolbar strong { margin-right: auto; color: var(--mprg-blue-dark); }
.mprg-lightbox-toolbar a, .mprg-lightbox-toolbar button { padding: 7px 10px; border: 1px solid #b8c8d4; background: #fff; color: var(--mprg-blue); font: 650 17px/1.2 "Segoe UI", sans-serif; }
.mprg-lightbox-toolbar button { cursor: pointer; }
.mprg-lightbox > img { display: block; width: 100%; height: calc(100% - 106px); object-fit: contain; background: #eef2f5; }
.mprg-lightbox > p { margin: 0; padding: 10px 16px; overflow: hidden; color: var(--mprg-muted); font-size: 17px; text-overflow: ellipsis; white-space: nowrap; }
.mprg-method { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--mprg-line); }
.mprg-method li { display: grid; grid-template-columns: 165px 1fr; gap: 24px; padding: 20px 0; border-bottom: 1px solid var(--mprg-line); }
.mprg-method b { font-size: 17px; }
.mprg-method span { color: var(--mprg-muted); font-size: 17px; line-height: 1.7; }
.mprg-caveat { margin-top: 28px !important; padding-left: 18px; border-left: 3px solid #d0a134; font-size: 17px !important; }
.mprg-publications { display: grid; grid-template-columns: 165px 1fr; gap: 12px 24px; margin-top: 34px; padding-top: 20px; border-top: 1px solid var(--mprg-line); font-size: 17px; }
.mprg-publications span { grid-row: 1 / span 2; color: var(--mprg-muted); }
.mprg-publications a { color: var(--mprg-blue); line-height: 1.55; }
.mprg-publications a::after { content: " ↗"; }
.mprg-evidence-head { display: grid; grid-template-columns: 340px 1fr; gap: 72px; align-items: end; margin-bottom: 42px; }
.mprg-evidence-head > p { max-width: 680px; margin: 0; color: var(--mprg-muted); font-size: 17px; line-height: 1.85; }
.mprg-result-strip { display: grid; grid-template-columns: repeat(4, 1fr); margin-bottom: 32px; border-block: 1px solid #bdc9d1; background: #fff; }
.mprg-result-strip div { padding: 20px 18px; border-left: 1px solid var(--mprg-line); }
.mprg-result-strip div:first-child { border-left: 0; }
.mprg-result-strip b, .mprg-result-strip span { display: block; }
.mprg-result-strip b { margin-bottom: 5px; color: var(--mprg-blue-dark); font-size: 22px; }
.mprg-result-strip span { color: var(--mprg-muted); font-size: 17px; }
.mprg-paper-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.mprg-paper-grid .mprg-paper-figure figcaption { grid-template-columns: 1fr; gap: 5px; }
.mprg-hil-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 18px; margin-top: 52px; }
.mprg-hil-layout .mprg-paper-figure figcaption { grid-template-columns: 1fr; gap: 5px; }
.mprg-hil-specs { padding: 24px; border: 1px solid var(--mprg-line); background: #fff; }
.mprg-hil-specs h3 { margin: 0 0 20px; font-size: 17px; letter-spacing: 0; }
.mprg-hil-specs dl { margin: 0; }
.mprg-hil-specs dl div { display: flex; justify-content: space-between; gap: 18px; padding: 11px 0; border-top: 1px solid var(--mprg-line); }
.mprg-hil-specs dt { color: var(--mprg-muted); font-size: 17px; }
.mprg-hil-specs dd { margin: 0; color: var(--mprg-ink); font-size: 17px; font-weight: 650; text-align: right; }
.mprg-consistency-layout { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 42px; align-items: start; margin-top: 58px; padding-top: 42px; border-top: 1px solid #bdc9d1; }
.mprg-consistency-copy > p:first-child { margin: 0 0 13px; color: var(--mprg-blue); font: 700 17px/1.4 "Segoe UI", sans-serif; }
.mprg-consistency-copy h3 { margin: 0 0 18px; font-size: 22px; line-height: 1.4; letter-spacing: 0; }
.mprg-consistency-copy h3 + p { margin: 0 0 24px; color: var(--mprg-muted); font-size: 17px; line-height: 1.8; }
.mprg-consistency-copy dl { margin: 0; border-top: 1px solid var(--mprg-line); }
.mprg-consistency-copy dl div { display: flex; justify-content: space-between; gap: 16px; padding: 11px 0; border-bottom: 1px solid var(--mprg-line); }
.mprg-consistency-copy dt { color: var(--mprg-muted); font-size: 17px; }
.mprg-consistency-copy dd { margin: 0; color: var(--mprg-blue-dark); font-size: 17px; font-weight: 700; }
.mprg-consistency-figure { width: min(100%, 820px); justify-self: end; }
.mprg-consistency-figure figcaption { grid-template-columns: max-content minmax(0, 1fr); }
@media (min-width: 901px) {
  .mprg-architecture-stage { align-items: stretch; }
  .mprg-architecture-figure { display: grid; height: 100%; grid-template-rows: minmax(0, 1fr) auto; }
  .mprg-architecture-figure img { height: 100%; min-height: 0; object-fit: contain; }
}
@media (min-width: 1201px) {
  .mprg-task-operation > span { overflow-wrap: normal; white-space: nowrap; }
}
@media (max-width: 2039px) {
  .mprg-local-nav-rail { height: 58px; border-block: 1px solid var(--mprg-line); background: rgba(255, 255, 255, .96); backdrop-filter: blur(12px); }
  .mprg-local-nav { position: relative; top: 0; left: auto; width: min(1180px, calc(100% - 48px)); height: 58px; margin: 0 auto; padding: 0; align-items: center; flex-direction: row; gap: 6px; border: 0; background: transparent; box-shadow: none; overflow-x: auto; }
  .mprg-local-nav-label { flex: 0 0 auto; margin: 0 10px 0 0; padding: 0 18px 0 0; border: 0; border-right: 1px solid var(--mprg-line); white-space: nowrap; }
  .mprg-local-nav a { flex: 0 0 auto; padding: 9px 12px; border-left: 0; border-bottom: 2px solid transparent; white-space: nowrap; }
  .mprg-local-nav a:hover, .mprg-local-nav a.is-current { border-left-color: transparent; border-bottom-color: var(--mprg-blue); }
}
@media (min-width: 2040px) {
  .mprg-local-nav { left: 12px; width: 172px; padding: 10px; }
  .mprg-local-nav-label { font-size: 14px; }
  .mprg-local-nav a { padding-inline: 4px; font-size: 14px; }
}
@media (max-width: 900px) {
  .mprg-local-nav { width: 100%; padding-inline: 18px; }
  .mprg-scope-tabs { display: grid; }
  .mprg-scope-area { display: block; }
  .mprg-scope-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mprg-scope-grid[data-count="3"] .mprg-scope:last-of-type { grid-column: 1 / -1; }
  .mprg-scope-panel-head { display: none; }
  .mprg-intro-grid { grid-template-columns: 1fr; gap: 42px; }
  .mprg-mechanism-head, .mprg-mechanism-evidence { grid-template-columns: 1fr; gap: 28px; }
  .mprg-mechanism-head { align-items: start; }
  .mprg-mechanism-head > p { max-width: none; }
  .mprg-mechanism-context { grid-template-rows: auto; }
  .mprg-mechanism-context .mprg-system-data { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto; height: auto; }
  .mprg-mechanism-context .mprg-system-data div { display: block; }
  .mprg-mechanism-context .mprg-system-data div:nth-child(odd) { margin-right: 28px; }
  .mprg-architecture-head, .mprg-architecture-stage { grid-template-columns: 1fr; gap: 28px; }
  .mprg-architecture-head { margin-bottom: 34px; }
  .mprg-architecture-figure { width: min(100%, 720px); }
  .mprg-evidence-head { grid-template-columns: 1fr; gap: 24px; }
  .mprg-console { grid-template-columns: 1fr; gap: 12px; }
  .mprg-controls { border: 1px solid #cbd5dc; }
  .mprg-overview { max-width: 720px; }
  .mprg-mechanism-chain { grid-template-columns: repeat(2, 1fr); }
  .mprg-mechanism-chain > span:nth-child(3) { border-left: 0; }
  .mprg-mechanism-chain > span:not(:last-child)::after { display: none; }
  .mprg-hil-layout, .mprg-consistency-layout { grid-template-columns: 1fr; }
  .mprg-consistency-figure { width: 100%; justify-self: stretch; }
}

@media (min-width: 901px) and (max-width: 1200px) {
  .mprg-scope-panel-head button { display: none; }
  .mprg-console { grid-template-columns: 320px minmax(0, 1fr); }
  .mprg-scope-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mprg-scope-grid .mprg-scope:last-of-type { grid-column: 1 / -1; }
  .mprg-architecture-head { grid-template-columns: 300px minmax(0, 1fr); gap: 46px; }
  .mprg-architecture-stage { grid-template-columns: minmax(0, 1fr) 360px; }
}

@media (max-width: 767px) {
  .mprg-page { padding-bottom: calc(88px + env(safe-area-inset-bottom)); }
  .mprg-controls { display: none; }
  .mprg-mobile-control-dock { position: fixed; z-index: 80; right: max(10px, env(safe-area-inset-right)); bottom: max(10px, env(safe-area-inset-bottom)); left: max(10px, env(safe-area-inset-left)); box-sizing: border-box; display: grid; min-height: 64px; grid-template-columns: minmax(0, 1fr) auto auto; gap: 8px; align-items: stretch; padding: 7px; border: 1px solid #b9c8d3; border-radius: 10px; background: #fff; box-shadow: 0 12px 36px rgba(20, 35, 49, .24); }
  .mprg-mobile-command-trigger { display: grid; min-width: 0; min-height: 48px; align-content: center; gap: 2px; padding: 3px 7px; border: 0; border-radius: 6px; background: #edf4fa; color: var(--mprg-blue-dark); cursor: pointer; text-align: left; }
  .mprg-mobile-command-trigger:focus-visible, .mprg-mobile-primary-button:focus-visible, .mprg-mobile-stop-button:focus-visible { outline: 2px solid var(--mprg-blue); outline-offset: 2px; }
  .mprg-mobile-command-trigger:disabled { cursor: not-allowed; opacity: .6; }
  .mprg-mobile-command-value { display: flex; min-width: 0; align-items: baseline; gap: 4px; white-space: nowrap; }
  .mprg-mobile-command-value .mprg-math { flex: 0 0 auto; font-size: 14px; }
  .mprg-mobile-command-value strong { min-width: 0; overflow: hidden; font-size: 17px; line-height: 1.2; text-overflow: ellipsis; }
  .mprg-mobile-command-value small { flex: 0 0 auto; color: var(--mprg-muted); font-size: 13px; }
  .mprg-mobile-command-value em { flex: 0 0 auto; margin-left: auto; color: var(--mprg-blue); font: 700 13px/1 "Segoe UI", sans-serif; }
  .mprg-mobile-session-state { min-width: 0; overflow: hidden; color: var(--mprg-muted); font-size: 13px; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
  .mprg-mobile-primary-button, .mprg-mobile-stop-button { min-width: 56px; min-height: 48px; padding: 0 10px; border: 1px solid var(--mprg-blue); border-radius: 6px; background: var(--mprg-blue); color: #fff; cursor: pointer; font: 700 15px/1 "Segoe UI", sans-serif; }
  .mprg-mobile-stop-button { border-color: #c5a4a4; background: #fff; color: #8b2e2e; }
  .mprg-mobile-primary-button:disabled, .mprg-mobile-stop-button:disabled { cursor: not-allowed; opacity: .5; }
}

@media (max-width: 620px) {
  .mprg-facts { grid-template-columns: 1fr; }
  .mprg-shell { width: min(100% - 28px, 1180px); }
  .mprg-intro { padding: 24px 0 52px; }
  .mprg-breadcrumb { margin-bottom: 34px; }
  .mprg-intro h1 { font-size: 42px; }
  .mprg-lead { font-size: 17px; }
  .mprg-overview-key { grid-template-columns: 1fr; }
  .mprg-overview-key span { border-top: 1px solid var(--mprg-line); border-left: 0; }
  .mprg-overview-key span:first-child { border-top: 0; }
  .mprg-local-nav-rail { height: 52px; }
  .mprg-local-nav { height: 52px; padding-inline: 14px; }
  .mprg-local-nav-label { display: none; }
  .mprg-section { padding: 64px 0; }
  .mprg-heading-row { align-items: flex-start; flex-direction: column; }
  .mprg-section-heading h2, .mprg-heading-row h2 { font-size: 29px; }
  .mprg-constraint-list { grid-template-columns: 1fr; }
  .mprg-constraint-list div:nth-child(odd) { margin-right: 0; }
  .mprg-system-data, .mprg-mechanism-context .mprg-system-data, .mprg-spec-columns, .mprg-paper-grid, .mprg-result-strip { grid-template-columns: 1fr; }
  .mprg-system-data div:nth-child(odd) { margin-right: 0; }
  .mprg-mechanism-context .mprg-system-data div { display: grid; grid-template-columns: 100px minmax(0, 1fr); }
  .mprg-mechanism-chain { grid-template-columns: 1fr; }
  .mprg-mechanism-chain > span { min-height: 58px; border-left: 0; border-top: 1px solid var(--mprg-line); }
  .mprg-mechanism-chain > span:first-child { border-top: 0; }
  .mprg-task-operation { grid-template-columns: 1fr; gap: 3px; }
  .mprg-task-interface { grid-template-columns: 1fr 20px; }
  .mprg-task-interface small { grid-column: 1 / -1; }
  .mprg-task-layer header { grid-template-columns: 1fr; }
  .mprg-task-layer header small, .mprg-task-operation b, .mprg-task-interface small { border-right: 0; border-bottom: 1px solid var(--mprg-line); }
  .mprg-model-role { grid-template-columns: 1fr; gap: 6px; }
  .mprg-spec-columns { margin-top: 36px; }
  .mprg-result-strip div { border-left: 0; border-top: 1px solid var(--mprg-line); }
  .mprg-result-strip div:first-child { border-top: 0; }
  .mprg-hil-layout { margin-top: 32px; }
  .mprg-consistency-layout { gap: 28px; margin-top: 40px; padding-top: 32px; }
  .mprg-consistency-figure figcaption { grid-template-columns: 1fr; gap: 5px; }
  .mprg-paper-figure figcaption, .mprg-scope-note { grid-template-columns: 1fr; gap: 7px; }
  .mprg-controls, .mprg-results { padding: 20px 16px; }
  .mprg-results .mprg-relaxation-note { grid-template-columns: 1fr; gap: 3px; }
  .mprg-metrics { grid-template-columns: repeat(2, 1fr); }
  .mprg-metrics div { border-left: 1px solid var(--mprg-line); }
  .mprg-metrics div:nth-child(even) { border-left: 1px solid var(--mprg-line); }
  .mprg-metrics div:nth-child(odd) { border-left: 0; }
  .mprg-metrics div:nth-child(n+3) { border-top: 1px solid var(--mprg-line); }
  .mprg-chart-head { align-items: flex-start; flex-direction: column; gap: 4px; }
  .mprg-chart-meta { width: 100%; justify-content: space-between; }
  .mprg-scope-tabs button { padding-inline: 4px; }
  .mprg-scope-grid { grid-template-columns: 1fr; }
  .mprg-scope-grid[data-count="3"] .mprg-scope:last-of-type { grid-column: auto; }
  .mprg-scope-legend { padding-left: 54px; }
  .mprg-lightbox { width: 100vw; height: 100vh; }
  .mprg-method li { grid-template-columns: 1fr; gap: 7px; }
  .mprg-publications { grid-template-columns: 1fr; gap: 10px; }
  .mprg-publications span { grid-row: auto; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; }
}
