:root {
  color-scheme: light;
  --paper: #f4f3ed; --card: #ffffff; --ink: #17333b; --muted: #60747a;
  --navy: #132f38; --teal: #136f67; --teal-light: #e7f2ef; --line: #dce3df;
  --amber: #8f5b1f; --amber-light: #fff4df; --red: #a83f37; --red-light: #fff0ec;
  --font: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", system-ui, sans-serif;
  font-family: var(--font); font-size: 14px; line-height: 1.65; color: var(--ink); background: var(--paper);
  font-synthesis: none; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased;
}
/* Goal-first selection and paired manual controls, scoped to the existing M1 form. */
.goal-entry { background: linear-gradient(135deg, #f0f8f3, #fff); }
.goal-selection { display: grid; gap: 13px; min-width: 0; }
.goal-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.goal-actions #goal-run { flex: 1 1 100%; justify-content: center; font-size: 18px; min-height: 52px; }
.goal-actions .button { min-height: 44px; flex: 1 1 130px; }
.goal-lock-grid { display: grid; gap: 9px; padding: 12px; }
.goal-lock-grid input { width: 18px; height: 18px; accent-color: var(--teal); }
.goal-domain-preview, .goal-counts { font-size: 12px; color: var(--muted); overflow-wrap: anywhere; }
.goal-selection progress { width: 100%; accent-color: var(--teal); }
.goal-output { display: grid; gap: 12px; min-width: 0; }
.goal-candidate { display: grid; gap: 9px; padding: 13px; margin: 5px 0; border: 1px solid #b4cdbf; border-radius: 5px; background: white; min-width: 0; overflow-wrap: anywhere; }
.goal-candidate h4 { margin: 0; font-size: 14px; }
.goal-candidate .candidate-metrics { font-size: 13px; }
.goal-outcome-note { padding: 10px; border-left: 3px solid var(--amber); background: var(--amber-light); }
.goal-selection .study-json { max-height: 240px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; }
.goal-selection .study-details { min-width: 0; }
.goal-selection .constraint-values { flex-wrap: wrap; }
.manual-controls { min-width: 0; border-bottom: 1px solid var(--line); }
.manual-controls > summary { display: grid; gap: 4px; padding: 18px 24px; cursor: pointer; color: var(--teal); }
.manual-controls > summary strong { font-size: 14px; }
.manual-controls > summary small { color: var(--muted); font-size: 11px; }
.manual-controls-body { min-width: 0; }
#design-form .field input.manual-range { min-height: 28px; height: 28px; padding: 0; border: 0; border-radius: 0; background: transparent; accent-color: var(--teal); touch-action: pan-y; }
#design-form .field input.manual-range:disabled { opacity: .35; }
.manual-range-note { font-size: 10px; color: var(--muted); overflow-wrap: anywhere; }
.usage-guide-link { font-weight: 650; }
.scenario-examples { margin-bottom: 12px; }
.scenario-examples > summary { cursor: pointer; padding: 8px 0; color: var(--muted); font-size: 12px; }
@media (max-width: 600px) { .goal-actions { gap: 7px; } .goal-candidate { padding: 11px; } .manual-controls > summary { padding: 16px; } .goal-selection .constraint-top { align-items: start; } }
/* Labelled engineering workbench: scoped, readable on narrow screens. */
.engineering-workbench { display: grid; gap: 18px; min-width: 0; padding: 24px; background: var(--card); border: 1px solid var(--line); border-radius: 8px; }
.engineering-toolbar { display: flex; flex-wrap: wrap; gap: 8px; }
.engineering-toolbar button[data-engineering-action="run"] { background: var(--teal); border-color: var(--teal); color: white; }
.engineering-toolbar button:disabled { opacity: .5; }
.engineering-ack { display: flex; align-items: flex-start; gap: 8px; color: var(--muted); font-size: 13px; }
.engineering-ack input { flex: 0 0 auto; width: 17px; height: 17px; margin-top: 3px; accent-color: var(--teal); }
.engineering-file { display: grid; gap: 7px; font-size: 12px; }
.engineering-file input { max-width: 100%; padding: 8px; border: 1px solid var(--line); border-radius: 5px; }
.engineering-status { padding: 12px 14px; border-left: 3px solid var(--teal); background: var(--teal-light); overflow-wrap: anywhere; }
.engineering-status[data-tone="error"] { border-color: var(--red); background: var(--red-light); color: var(--red); }
.engineering-design, .engineering-results, .engineering-drill, .engineering-import { display: grid; gap: 14px; min-width: 0; }
.engineering-labels { display: grid; gap: 10px; }
.engineering-details { min-width: 0; border: 1px solid var(--line); border-radius: 5px; background: var(--card); }
.engineering-details > summary { padding: 12px 14px; color: var(--navy); font-weight: 600; cursor: pointer; }
.engineering-details > :not(summary) { margin: 0 14px 14px; }
.engineering-label-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 275px), 1fr)); gap: 12px; }
.engineering-label-card { display: grid; align-content: start; gap: 9px; padding: 14px; border: 1px solid var(--line); border-radius: 5px; background: var(--paper); overflow-wrap: anywhere; }
.engineering-label-card .small-note { margin: 0; }
.engineering-field { display: grid; gap: 7px; }
.engineering-field input { width: 100%; min-height: 40px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 4px; color: var(--ink); background: white; }
.engineering-label-card button { justify-self: start; margin-top: 2px; }
.engineering-check-card { display: grid; gap: 8px; padding: 16px; border: 1px solid var(--line); border-left: 4px solid var(--amber); border-radius: 5px; overflow-wrap: anywhere; }
.engineering-check-card[data-status="conditional_pass"] { border-left-color: var(--teal); }
.engineering-check-card[data-status="fail"] { border-left-color: var(--red); background: var(--red-light); }
.engineering-check-card h4 { margin: 0; font-size: 14px; }
.engineering-formula { padding: 9px 12px; border-radius: 4px; background: var(--paper); font-family: "Cambria Math", var(--font); line-height: 1.9; }
.engineering-summary { font-size: 14px; }
.engineering-table-wrap { max-width: 100%; overflow-x: auto; border: 1px solid var(--line); border-radius: 5px; }
.engineering-table { width: 100%; min-width: 620px; border-collapse: collapse; font-size: 12px; }
.engineering-table th, .engineering-table td { padding: 10px 12px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.engineering-table th { background: var(--paper); color: var(--muted); font-weight: 600; }
.engineering-json { max-height: 350px; padding: 12px; overflow: auto; background: var(--paper); font-size: 11px; white-space: pre-wrap; overflow-wrap: anywhere; }
@media (max-width: 600px) { .engineering-workbench { padding: 15px; gap: 14px; } .engineering-toolbar button { flex: 1 1 145px; } .engineering-check-card { padding: 12px; } .engineering-details > summary { padding: 11px; } .engineering-table { font-size: 11px; } }
@media print { .engineering-toolbar, .engineering-file, .engineering-ack { display: none; } .engineering-workbench { border: 0; padding: 0; } .engineering-check-card { break-inside: avoid; } }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { margin: 0; min-width: 320px; }
button, input, select { font: inherit; }
button, a, input, select, summary { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; }
a { color: var(--teal); text-underline-offset: 4px; }
button, input, select, a, summary { outline-offset: 4px; }
:focus-visible { outline: 3px solid #2f9f94; }
[hidden] { display: none !important; }
h1, h2, h3, p { margin: 0; }
h2, h3 { line-height: 1.4; }
svg { flex: 0 0 auto; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 20; left: 20px; top: -80px; padding: 12px 20px; background: var(--navy); color: white; border-radius: 4px; }
.skip-link:focus { top: 12px; }
.site-header { min-height: 84px; display: flex; gap: 36px; align-items: center; justify-content: space-between; padding: 0 max(32px, calc((100vw - 1376px) / 2)); background: #fff; border-bottom: 1px solid var(--line); }
.brand { display: flex; align-items: center; gap: 12px; color: var(--navy); text-decoration: none; white-space: nowrap; }
.brand-mark { width: 40px; height: 40px; color: var(--teal); }
.brand strong { display: inline-block; font-size: 23px; letter-spacing: .12em; font-weight: 750; }
.brand-sub { margin-left: 14px; font-size: 12px; color: var(--muted); letter-spacing: .05em; }
.header-nav { display: flex; align-self: stretch; gap: 32px; margin-right: auto; margin-left: 22px; }
.header-nav a { display: flex; align-items: center; color: var(--muted); font-size: 13px; text-decoration: none; border-bottom: 2px solid transparent; padding-top: 2px; }
.header-nav a:hover, .header-nav .nav-current { color: var(--teal); border-bottom-color: var(--teal); }
.edition { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; color: var(--muted); letter-spacing: .04em; white-space: nowrap; }
.status-dot { width: 6px; height: 6px; background: var(--teal); border-radius: 50%; }
.page-shell { max-width: 1440px; margin: 0 auto; padding: 42px 32px 0; }
.intro { display: flex; gap: 24px; align-items: end; justify-content: space-between; padding-bottom: 32px; }
.eyebrow { color: var(--teal); font-size: 10px; font-weight: 700; letter-spacing: .15em; line-height: 1.6; }
h1 { font-size: clamp(26px, 3vw, 38px); line-height: 1.35; font-weight: 650; letter-spacing: -.035em; margin-top: 10px; }
.mobile-break { display: none; }
.intro-copy { color: var(--muted); font-size: 13px; margin-top: 13px; max-width: 680px; }
.file-actions { display: flex; gap: 10px; flex-shrink: 0; padding-bottom: 3px; }
.button { min-height: 42px; border: 1px solid transparent; border-radius: 5px; padding: 10px 15px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; font-size: 12px; font-weight: 650; line-height: 1.5; transition: background .15s, border-color .15s; }
.button svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.button-light { background: white; border-color: #d0dad6; color: var(--ink); }
.button-light:hover:enabled { background: var(--teal-light); border-color: #9abdb5; }
.button:disabled { opacity: .5; }
.button-primary { background: var(--teal); color: white; min-height: 46px; font-size: 14px; justify-content: space-between; }
.button-primary:hover:enabled { background: #0e5952; }
.button-cancel { border-color: #d1dcd7; background: white; color: var(--ink); }
.button-cancel:hover:enabled { background: var(--red-light); color: var(--red); border-color: #d9a09a; }
.scenario-strip { border: 1px solid var(--line); border-radius: 7px; padding: 16px 18px; background: #ebece5; display: grid; grid-template-columns: 150px minmax(0, 1fr); align-items: center; gap: 18px; }
.scenario-intro h2 { font-size: 15px; margin-top: 3px; }
.scenario-intro > p:last-child { font-size: 11px; color: var(--muted); margin-top: 3px; }
.scenario-buttons { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; min-width: 0; }
.scenario-button { background: rgba(255,255,255,.7); border: 1px solid #d7dfd9; border-radius: 5px; padding: 11px 12px; text-align: left; color: var(--ink); min-height: 67px; display: grid; grid-template-columns: 21px minmax(0,1fr); column-gap: 8px; align-content: center; }
.scenario-icon { grid-row: span 2; display: flex; align-items: center; color: var(--teal); font-size: 18px; line-height: 1; }
.scenario-button strong { font-size: 12px; font-weight: 650; }
.scenario-button small { color: var(--muted); font-size: 10px; line-height: 1.5; margin-top: 3px; overflow-wrap: anywhere; }
.scenario-button:hover { background: #fff; border-color: #87b4a8; }
.scenario-button[aria-pressed="true"] { background: #fff; border-color: var(--teal); box-shadow: inset 0 0 0 1px var(--teal); }
.workspace-status { min-height: 46px; padding: 12px 2px; color: var(--muted); font-size: 12px; overflow-wrap: anywhere; }
.workspace-status[data-tone="error"] { color: var(--red); }
.workspace-status[data-tone="success"] { color: var(--teal); }
.workspace-status[data-tone="busy"]::before { content: ""; display: inline-block; width: 10px; height: 10px; margin-right: 8px; border: 1.5px solid #a8c2ba; border-top-color: var(--teal); border-radius: 50%; vertical-align: -1px; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.error-banner { padding: 16px; background: var(--red-light); color: var(--red); margin-bottom: 16px; border: 1px solid #e7b5aa; }
.workbench-grid { display: grid; grid-template-columns: minmax(330px, 385px) minmax(0, 1fr); align-items: start; gap: 24px; }
.panel { min-width: 0; background: var(--card); border: 1px solid var(--line); border-radius: 7px; }
.panel-heading { display: flex; align-items: center; gap: 13px; padding: 23px 24px; border-bottom: 1px solid var(--line); }
.section-number { color: #8b9b99; font-size: 20px; font-weight: 350; font-variant-numeric: tabular-nums; align-self: center; }
.panel-heading h2 { font-size: 19px; font-weight: 650; margin-top: 3px; }
.panel-heading .eyebrow { font-size: 9px; }
.tiny-label { margin-left: auto; color: #7b8c89; font-size: 10px; white-space: nowrap; }
.input-section { padding: 23px 24px; border-bottom: 1px solid var(--line); }
.section-heading { display: flex; justify-content: space-between; gap: 10px; align-items: center; margin-bottom: 15px; }
.section-heading h3 { font-size: 13px; font-weight: 700; }
.section-heading > span { color: #82908c; font-size: 10px; }
.field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px 14px; }
.field { min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.field-wide { grid-column: 1 / -1; }
.field-label { display: flex; gap: 6px; justify-content: space-between; font-size: 11px; font-weight: 550; align-items: start; }
.unit { font-size: 10px; color: #758681; font-weight: 400; white-space: nowrap; padding-top: 1px; }
.field input, .field select { width: 100%; min-width: 0; height: 42px; padding: 8px 10px; border: 1px solid #cedad5; border-radius: 4px; color: var(--ink); background: #fbfcf9; font-size: 14px; font-variant-numeric: tabular-nums; }
.field select { font-size: 12px; padding-right: 22px; }
.field input:hover, .field select:hover { border-color: #9eb9af; }
.field input:focus, .field select:focus { border-color: var(--teal); background: white; }
.field input[aria-invalid="true"] { border-color: var(--red); background: #fff8f5; }
.field-help { font-size: 10px; line-height: 1.6; color: #778884; }
.target-switch { display: grid; grid-template-columns: 1fr 1fr; padding: 3px; border: 1px solid var(--line); border-radius: 5px; margin: 0 0 17px; background: #f0f3ef; }
.target-switch label { position: relative; cursor: pointer; }
.target-switch input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.target-switch span { display: block; padding: 7px 10px; border-radius: 3px; font-size: 12px; text-align: center; color: var(--muted); }
.target-switch input:checked + span { background: white; box-shadow: 0 1px 3px #17333b12; color: var(--teal); font-weight: 700; }
.target-switch input:focus-visible + span { outline: 3px solid #2f9f94; outline-offset: 1px; }
.source-note { margin: 8px 0 17px; padding-left: 9px; border-left: 2px solid #dbe8e0; color: var(--muted); font-size: 10px; line-height: 1.75; overflow-wrap: anywhere; }
.source-note .source-spec { display: block; color: var(--ink); font-size: 11px; margin-bottom: 2px; }
.source-note a { font-size: 10px; }
.hydrogen-field { margin-top: 5px; }
.advanced-inputs > summary, .assumptions-panel > summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 20px 24px; cursor: pointer; }
summary::-webkit-details-marker { display: none; }
summary strong { font-size: 12px; }
summary small { display: block; font-size: 10px; color: var(--muted); font-weight: 400; margin-top: 2px; }
.details-symbol { font-size: 22px; font-weight: 350; color: var(--teal); line-height: 1; transition: transform .15s; }
details[open] > summary .details-symbol { transform: rotate(45deg); }
.advanced-body { border-top: 1px solid var(--line); padding: 18px 24px 24px; }
.advanced-body .small-note { margin-bottom: 18px; }
.form-actions { display: grid; grid-template-columns: 1fr 64px; gap: 10px; padding: 20px 24px; border-top: 1px solid var(--line); background: #fafbf8; border-radius: 0 0 7px 7px; }
.action-note { color: var(--muted); font-size: 10px; grid-column: 1 / -1; }
.result-panel { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.result-panel:focus { outline: none; }
.result-summary > .panel-heading { border: 0; padding-bottom: 14px; }
.result-badge { margin-left: auto; padding: 5px 10px; border-radius: 4px; background: #edf0ed; color: var(--muted); font-size: 10px; font-weight: 650; text-align: center; }
.result-badge[data-state="conditional"] { background: var(--teal-light); color: var(--teal); }
.result-badge[data-state="infeasible"], .result-badge[data-state="invalid"] { background: var(--red-light); color: var(--red); }
.result-badge[data-state="missing_data"], .result-badge[data-state="out_of_domain"] { background: var(--amber-light); color: var(--amber); }
.result-badge[data-state="running"] { background: #edf4f8; color: #346780; }
.result-description { padding: 0 24px 19px; font-size: 12px; color: var(--muted); overflow-wrap: anywhere; }
.metrics-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: #dfe7e3; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.metric { min-width: 0; padding: 24px; background: #f9fbf8; }
.metric-primary { color: white; background: var(--navy); }
.metric-label { display: block; font-size: 11px; color: var(--muted); letter-spacing: .03em; }
.metric-primary .metric-label { color: #bbd4cf; }
.metric p { display: flex; align-items: baseline; gap: 8px; margin-top: 8px; line-height: 1.2; flex-wrap: wrap; }
.metric strong { font-size: clamp(30px, 3vw, 43px); font-weight: 450; font-variant-numeric: tabular-nums; letter-spacing: -.055em; overflow-wrap: anywhere; }
.metric p > span { font-size: 12px; color: var(--muted); }
.metric-primary p > span { color: #b9ccc8; }
.metric small { display: block; margin-top: 10px; font-size: 10px; color: #7f918b; }
.metric-primary small { color: #b4cbc5; }
.model-boundary { display: flex; align-items: start; gap: 10px; padding: 15px 24px 18px; }
.model-boundary > span { display: flex; align-items: center; justify-content: center; border: 1px solid #a7bbb2; border-radius: 50%; width: 15px; height: 15px; font-family: Georgia, serif; font-size: 11px; flex-shrink: 0; color: var(--teal); margin-top: 2px; }
.model-boundary p { color: var(--muted); font-size: 10px; }
.breakdown-panel, .power-panel, .constraints-panel { padding: 22px 24px; }
.content-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 17px; }
.content-heading h3 { font-size: 16px; font-weight: 650; margin-top: 3px; }
.subtle-tag { color: #6f837a; padding: 4px 7px; background: #f0f4ee; border-radius: 3px; font-size: 10px; white-space: nowrap; }
.mass-bar { width: 100%; height: 9px; display: flex; gap: 2px; background: #eef2ec; border-radius: 2px; overflow: hidden; margin: 0 0 18px; }
.mass-segment { min-width: 2px; height: 100%; }
.mass-row { display: grid; grid-template-columns: 10px minmax(0,1fr) auto; column-gap: 9px; padding: 8px 0; border-bottom: 1px solid #edf0eb; align-items: baseline; }
.mass-swatch { width: 7px; height: 7px; border-radius: 1px; align-self: start; margin-top: 7px; }
.mass-row strong { font-size: 11px; font-weight: 550; }
.mass-row small { font-size: 10px; color: #788b82; display: block; line-height: 1.6; margin-top: 1px; }
.mass-value { font-variant-numeric: tabular-nums; font-size: 12px; font-weight: 650; text-align: right; padding-left: 8px; }
.mass-value.is-missing { color: var(--amber); }
.ledger-footnote { font-size: 10px; color: #7d8e85; margin-top: 12px; }
.text-link { font-size: 11px; text-decoration: none; white-space: nowrap; }
.text-link:hover { text-decoration: underline; }
.power-flow { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); border: 1px solid var(--line); border-radius: 4px; background: #f9fbf7; }
.power-flow > div { padding: 13px 11px; border-left: 1px solid var(--line); min-width: 0; }
.power-flow > div:first-child { border-left: 0; }
.flow-step { display: block; font-size: 9px; color: #6f847c; line-height: 1.5; }
.power-flow strong { display: block; color: var(--teal); font-size: 17px; font-weight: 600; font-variant-numeric: tabular-nums; margin-top: 7px; overflow-wrap: anywhere; }
.power-flow small { font-size: 9px; color: #7b8c83; display: block; margin-top: 6px; line-height: 1.6; }
.small-note { color: var(--muted); font-size: 10px; line-height: 1.8; }
.power-panel > .small-note { margin-top: 13px; }
.constraints-panel > .small-note { margin: -5px 0 12px; }
.constraint-row { padding: 14px 0; border-top: 1px solid #e7ede6; }
.constraint-group { border-top: 1px solid #e7ede6; }
.constraint-group > summary { cursor: pointer; padding: 14px 0; font-size: 12px; font-weight: 600; color: var(--teal); }
.unknown-group > summary { color: var(--amber); }
.result-jump { display: inline-block; margin: 0 0 14px; font-size: 12px; color: var(--teal); }
.constraint-top { display: flex; align-items: start; gap: 10px; justify-content: space-between; }
.constraint-name { margin: 0; line-height: 1.5; min-width: 0; font-size: 12px; font-weight: 650; }
.constraint-state { display: inline-flex; align-items: center; gap: 4px; padding: 2px 6px; border-radius: 3px; font-size: 9px; white-space: nowrap; }
.constraint-state[data-state="pass"] { color: var(--teal); background: var(--teal-light); }
.constraint-state[data-state="fail"] { color: var(--red); background: var(--red-light); }
.constraint-state[data-state="unknown"] { color: var(--amber); background: var(--amber-light); }
.constraint-values { display: flex; gap: 15px; flex-wrap: wrap; color: #627a6f; font-size: 10px; margin-top: 5px; font-variant-numeric: tabular-nums; }
.constraint-reason { font-size: 10px; color: var(--muted); margin-top: 5px; line-height: 1.8; overflow-wrap: anywhere; }
.constraint-code { color: #8a9991; font-size: 9px; font-family: ui-monospace, Consolas, monospace; margin-top: 5px; overflow-wrap: anywhere; }
.empty-note { font-size: 11px; color: #8b9b92; padding: 14px 0; }
.assumptions-panel summary { padding-top: 18px; padding-bottom: 18px; }
.assumptions-body { border-top: 1px solid var(--line); padding: 16px 24px; }
.assumptions-body ul { padding-left: 18px; margin: 0; color: var(--muted); font-size: 11px; }
.assumptions-body li + li { margin-top: 7px; }
.diagnostics-list { display: grid; grid-template-columns: minmax(0,1fr) auto; font-size: 10px; margin: 16px 0 0; padding-top: 13px; border-top: 1px solid var(--line); gap: 6px 14px; }
.diagnostics-list:empty { display: none; }
.diagnostics-list dt { color: var(--muted); overflow-wrap: anywhere; }
.diagnostics-list dd { margin: 0; font-variant-numeric: tabular-nums; }
.formula-section { display: grid; grid-template-columns: 250px minmax(0,1fr); gap: 45px; padding: 52px 0; margin-top: 42px; border-top: 1px solid #cdd9d1; }
.formula-intro h2 { font-size: 24px; font-weight: 550; margin-top: 11px; line-height: 1.5; }
.formula-intro > p:not(.eyebrow) { color: var(--muted); font-size: 12px; margin-top: 15px; }
.formula-intro .text-link { display: inline-block; margin-top: 20px; }
.formula-intro .formula-citation { font-size: 10px !important; line-height: 1.9; }
.formula-grid { min-width: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; align-items: start; }
.formula-card { min-width: 0; border-top: 2px solid #a9c0b3; padding: 17px 17px 19px; background: #fcfcf7; min-height: 220px; }
.formula-index { display: block; font-size: 10px; letter-spacing: .04em; color: #6b8274; font-weight: 650; }
.math-scroll { max-width: 100%; overflow-x: auto; padding: 12px 0; margin: 5px 0; }
math { font-size: 16px; color: var(--navy); margin: 8px 0; }
.formula-card p { font-size: 10px; line-height: 1.9; color: var(--muted); }
.site-footer { margin-top: 0; padding: 22px max(32px, calc((100vw - 1376px) / 2)); border-top: 1px solid #d4ded6; display: flex; justify-content: space-between; gap: 20px; color: #819185; font-size: 10px; }
.site-footer > span { color: var(--ink); font-weight: 600; }
.site-footer a { color: #6b8274; text-decoration: none; }
@media (min-width: 1200px) { .metric-primary strong { font-size: 49px; } }
@media (max-width: 1100px) {
  .brand-sub { display: none; }
  .header-nav { margin-left: 0; }
  .workbench-grid { grid-template-columns: minmax(310px, 345px) minmax(0,1fr); gap: 18px; }
  .scenario-strip { grid-template-columns: 120px minmax(0,1fr); gap: 12px; }
  .scenario-button { padding: 10px 8px; grid-template-columns: 16px minmax(0,1fr); gap: 5px; }
  .scenario-button small { font-size: 9px; }
  .panel-heading, .input-section { padding-left: 20px; padding-right: 20px; }
  .breakdown-panel, .power-panel, .constraints-panel { padding: 20px; }
  .power-flow { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .power-flow > div:nth-child(3) { border-left: 0; }
  .power-flow > div:nth-child(n+3) { border-top: 1px solid var(--line); }
  .formula-section { grid-template-columns: 210px minmax(0,1fr); gap: 28px; }
  .formula-grid { grid-template-columns: 1fr; }
  .formula-card { min-height: 0; }
}
@media (max-width: 850px) {
  .site-header { padding: 0 24px; min-height: 72px; gap: 20px; }
  .header-nav { gap: 20px; }
  .page-shell { padding: 28px 24px 0; }
  .intro { align-items: start; gap: 18px; }
  .intro-copy { max-width: 420px; }
  .file-actions { flex-direction: column; }
  .scenario-strip { grid-template-columns: 1fr; padding: 14px; }
  .scenario-intro { display: flex; align-items: baseline; gap: 12px; }
  .scenario-intro .eyebrow { display: none; }
  .scenario-intro > p:last-child { margin: 0 0 0 auto; }
  .scenario-buttons { gap: 8px; }
  .workbench-grid { grid-template-columns: minmax(0,1fr); gap: 22px; }
  .input-section { padding: 22px 24px; }
  .form-actions { grid-template-columns: minmax(0,1fr) 80px; }
  .panel-heading { padding-left: 24px; padding-right: 24px; }
  .metric strong { font-size: 43px; }
  .breakdown-panel, .power-panel, .constraints-panel { padding: 22px 24px; }
  .power-flow { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .power-flow > div:nth-child(3) { border-left: 1px solid var(--line); }
  .power-flow > div:nth-child(n+3) { border-top: 0; }
  .formula-section { grid-template-columns: 1fr; gap: 26px; margin-top: 32px; padding: 36px 0; }
  .formula-intro h2 { font-size: 22px; }
  .formula-intro > p { max-width: 620px; }
  .formula-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .site-footer { padding: 20px 24px; flex-wrap: wrap; }
}
@media (max-width: 540px) {
  html { scroll-padding-top: 20px; }
  .site-header { padding: 0 19px; min-height: 66px; gap: 12px; }
  .brand { gap: 9px; }
  .brand strong { font-size: 21px; }
  .brand-mark { width: 33px; height: 33px; }
  .header-nav { display: none; }
  .edition { font-size: 9px; gap: 6px; }
  .page-shell { padding: 27px 18px 0; }
  .intro { flex-direction: column; gap: 20px; padding-bottom: 23px; }
  .eyebrow { font-size: 9px; }
  h1 { font-size: 29px; line-height: 1.4; letter-spacing: -.04em; margin-top: 9px; }
  .mobile-break { display: block; }
  .intro-copy { font-size: 11px; margin-top: 12px; line-height: 1.9; }
  .file-actions { flex-direction: row; width: 100%; gap: 9px; padding: 0; }
  .file-actions .button { flex: 1; font-size: 11px; padding: 9px; }
  .scenario-strip { padding: 13px; border-radius: 5px; gap: 11px; }
  .scenario-intro h2 { font-size: 13px; }
  .scenario-intro > p:last-child { font-size: 10px; }
  .scenario-buttons { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
  .scenario-button { min-height: 65px; padding: 10px; grid-template-columns: 19px minmax(0,1fr); gap: 7px; }
  .scenario-button strong { font-size: 11px; }
  .scenario-button small { font-size: 9px; }
  .workspace-status { padding: 11px 1px; font-size: 11px; min-height: 44px; }
  .panel { border-radius: 5px; }
  .panel-heading { padding: 18px; gap: 11px; }
  .panel-heading h2 { font-size: 17px; }
  .tiny-label { font-size: 9px; }
  .input-section { padding: 20px 18px; }
  .section-heading > span { font-size: 9px; }
  .field-grid { column-gap: 12px; row-gap: 15px; }
  .field-label { font-size: 10px; }
  .field input, .field select { font-size: 16px; height: 44px; }
  .field select { font-size: 12px; }
  .field-help { font-size: 9px; }
  .source-note { font-size: 9px; }
  .field-label .unit { font-size: 9px; }
  .advanced-inputs > summary, .assumptions-panel > summary { padding: 18px; }
  .advanced-body { padding: 17px 18px 20px; }
  .form-actions { padding: 18px; gap: 9px; grid-template-columns: minmax(0,1fr) 65px; }
  .action-note { font-size: 9px; }
  .result-panel { gap: 14px; }
  .result-badge { font-size: 9px; padding: 4px 7px; }
  .result-description { padding: 0 18px 17px; font-size: 11px; }
  .metric { padding: 20px 16px; }
  .metric strong { font-size: 35px; }
  .metric-label { font-size: 10px; }
  .metric p > span { font-size: 10px; }
  .metric small { font-size: 9px; margin-top: 8px; }
  .model-boundary { padding: 13px 18px 16px; }
  .model-boundary p { font-size: 9px; line-height: 1.9; }
  .breakdown-panel, .power-panel, .constraints-panel { padding: 20px 18px; }
  .content-heading { gap: 9px; }
  .content-heading h3 { font-size: 15px; }
  .subtle-tag { font-size: 9px; }
  .power-flow { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .power-flow > div:nth-child(3) { border-left: 0; }
  .power-flow > div:nth-child(n+3) { border-top: 1px solid var(--line); }
  .power-flow strong { font-size: 18px; }
  .assumptions-body { padding: 16px 18px; }
  .formula-section { margin-top: 28px; }
  .formula-grid { grid-template-columns: minmax(0,1fr); gap: 19px; }
  .formula-card { padding: 16px; }
  .formula-intro .formula-citation { font-size: 9px !important; }
  .site-footer { font-size: 9px; padding: 20px 18px; gap: 8px 18px; }
  .site-footer p { order: 3; flex-basis: 100%; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } }
@media print { .site-header, .scenario-strip, .file-actions, .form-actions, .workspace-status, .site-footer a { display: none; } body { background: white; } .page-shell { padding: 0; } .workbench-grid { display: block; } .input-panel { margin-bottom: 20px; } .panel { break-inside: avoid; } .formula-section { display: block; } }

/* M2: bounded research shares the M1 form and engineering visual language. */
.study-section { margin-top: 42px; padding-top: 35px; border-top: 1px solid #cdd9d1; min-width: 0; }
.study-heading { display: flex; justify-content: space-between; align-items: start; gap: 20px; margin-bottom: 20px; }
.study-heading h2 { font-size: 25px; font-weight: 600; margin-top: 7px; }
.study-heading > div > p:last-child { font-size: 12px; color: var(--muted); margin-top: 9px; max-width: 800px; }
.study-heading > a { margin-top: 10px; }
.study-tabs { display: flex; align-items: center; gap: 6px; margin-bottom: 18px; padding: 4px; background: #e9eee7; border: 1px solid var(--line); border-radius: 5px; }
.study-tabs button, .study-tabs a { flex: 1; display: block; text-align: center; font-size: 12px; border: 1px solid transparent; padding: 10px 7px; color: var(--muted); background: transparent; text-decoration: none; border-radius: 3px; }
.study-tabs button[aria-pressed="true"] { border-color: #d4dfd7; background: white; color: var(--teal); font-weight: 650; }
.study-tabs a span { font-size: 10px; margin-left: 5px; }
.study-layout { display: grid; grid-template-columns: minmax(300px, 365px) minmax(0, 1fr); gap: 22px; align-items: start; }
.study-config, .study-results { padding: 22px; min-width: 0; }
.study-config .content-heading { margin-bottom: 12px; }
.study-config .study-fieldset { margin: 19px 0; border: 0; border-top: 1px solid var(--line); padding: 12px 0 0; min-width: 0; }
.study-fieldset legend { font-size: 11px; font-weight: 650; padding: 0 8px 0 0; }
.check-label { display: flex; align-items: center; gap: 8px; font-size: 11px; color: var(--ink); cursor: pointer; }
.check-label input, .catalog-choice input { width: 15px; height: 15px; margin: 0; flex-shrink: 0; accent-color: var(--teal); }
.catalog-choices { display: flex; flex-direction: column; gap: 8px; }
.catalog-choice { display: flex; gap: 8px; align-items: start; color: var(--muted); font-size: 10px; cursor: pointer; overflow-wrap: anywhere; }
.catalog-choice input { margin-top: 2px; }
.study-range-row { margin: 17px 0; }
.study-range-row > .check-label { margin-bottom: 8px; }
.study-range-row .field input { font-size: 12px; }
.study-config input:disabled, .study-config fieldset:disabled input, .study-config fieldset:disabled select { background: #f0f2ec; color: #8b9991; }
.study-budget { margin-top: 19px; }
.domain-preview { border-left: 2px solid #97b9a8; padding: 10px 12px; background: #f0f6ee; color: #577462; font-size: 10px; line-height: 1.9; margin: 18px 0 14px; }
.study-config .button-primary { width: 100%; }
.axis-range { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 64px; gap: 9px; margin-top: 12px; }
.study-status { font-size: 11px; color: var(--muted); overflow-wrap: anywhere; line-height: 1.9; margin: 11px 0; }
.study-status[data-tone="error"] { color: var(--red); }
.study-status[data-tone="stale"], .study-status[data-tone="partial"] { color: var(--amber); }
.study-status[data-tone="success"] { color: var(--teal); }
.study-status[data-tone="busy"] { color: #346780; }
#study-progress { width: 100%; height: 7px; accent-color: var(--teal); display: block; margin: 14px 0; }
.study-summary { border-bottom: 1px solid var(--line); padding-bottom: 13px; margin-bottom: 17px; }
.study-termination { font-size: 12px; font-weight: 650; margin-bottom: 8px; }
.study-details { margin: 10px 0; border-top: 1px solid var(--line); }
.study-details > summary { cursor: pointer; color: var(--teal); font-size: 11px; padding: 11px 0; }
.study-details > div { padding: 0 0 12px; }
.study-json { max-width: 100%; max-height: 320px; padding: 12px; background: #f4f7f1; white-space: pre-wrap; overflow-wrap: anywhere; overflow: auto; font: 10px/1.8 ui-monospace, Consolas, monospace; color: #5c7568; }
.study-inline-actions, .study-export { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.study-inline-actions .button, .study-export .button { min-height: 36px; font-size: 10px; padding: 8px 11px; }
.study-export { border-top: 1px solid var(--line); padding-top: 14px; margin: 17px 0 12px; }
.study-export > span { font-size: 10px; color: #7a8c80; }
.search-candidate { padding: 15px 0; border-bottom: 1px solid var(--line); }
.search-candidate h4, .comparison-card h4 { font-size: 12px; margin: 0 0 6px; font-weight: 650; }
.candidate-metrics { font-size: 12px; color: var(--ink); font-variant-numeric: tabular-nums; margin: 10px 0; }
.point-inspector { padding: 23px; margin-top: 20px; }
.study-point-metrics { font-size: 14px; color: var(--teal); font-weight: 600; margin: 13px 0; }
.point-inspector > .study-inline-actions { border-top: 1px solid var(--line); padding-top: 15px; }
.scan-grid-wrap { max-width: 100%; overflow: auto; overscroll-behavior-x: contain; margin: 15px 0; border: 1px solid var(--line); border-radius: 3px; }
.scan-grid { width: 100%; border-collapse: collapse; table-layout: auto; font-size: 10px; }
.scan-grid caption { text-align: left; font-size: 10px; color: var(--muted); padding: 10px; line-height: 1.8; }
.scan-grid th { font-size: 9px; color: #66806e; font-weight: 500; background: #f2f6ef; padding: 7px; white-space: nowrap; }
.scan-grid td { padding: 2px; border-top: 1px solid #e7eee2; }
.scan-point { display: block; border: 1px solid transparent; border-radius: 2px; width: 100%; min-width: 45px; min-height: 37px; padding: 7px 4px; font-size: 10px; font-variant-numeric: tabular-nums; color: var(--muted); background: #f3f5f0; }
.scan-point[data-state="conditional"] { background: #dceee1; color: #185d45; }
.scan-point[data-state="infeasible"], .scan-point[data-state="invalid"] { background: var(--red-light); color: var(--red); }
.scan-point[data-state="missing_data"], .scan-point[data-state="out_of_domain"] { background: var(--amber-light); color: var(--amber); }
.scan-point:enabled:hover { border-color: var(--teal); }
.scan-point:disabled { color: #9aa79b; background: #f2f3ee; font-size: 9px; }
.scan-line-chart { width: 100%; max-height: 240px; display: block; margin: 14px 0; background: #fafbf7; color: var(--ink); fill: var(--muted); }
.comparison-panel { padding: 23px; margin-top: 22px; }
.saved-design { padding: 10px 0; display: flex; align-items: center; flex-wrap: wrap; gap: 12px; border-top: 1px solid var(--line); }
.saved-design > strong { font-size: 11px; }
.saved-design .button { min-height: 30px; padding: 5px 10px; font-size: 10px; margin-left: auto; }
.comparison-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; margin-top: 16px; }
.comparison-card { padding: 14px; background: #f8faf5; border: 1px solid var(--line); min-width: 0; }
.component-evidence-panel, .cloud-review-panel { margin-top: 17px; }
.component-evidence-panel > summary, .cloud-review-panel > summary { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 18px 23px; cursor: pointer; list-style: none; }
.study-evidence-body, .cloud-review-body { padding: 18px 23px; border-top: 1px solid var(--line); }
.evidence-component + .evidence-component { margin-top: 22px; border-top: 1px solid var(--line); padding-top: 15px; }
.evidence-component > h4 { font-size: 13px; margin: 0 0 6px; }
.evidence-row { margin-top: 12px; padding-left: 12px; border-left: 2px solid #b1cdb7; }
.evidence-row[data-state="unknown"], .evidence-row[data-state="conflict"] { border-left-color: #d4ab70; }
.evidence-row strong { font-size: 11px; }
.evidence-row p { font-size: 10px; overflow-wrap: anywhere; }
.evidence-row a { overflow-wrap: anywhere; }
.cloud-review-body > .study-inline-actions { margin-top: 16px; }
#cloud-review-output ul { margin: 10px 0; padding-left: 18px; color: var(--amber); font: 10px/1.9 ui-monospace, Consolas, monospace; overflow-wrap: anywhere; }
@media (max-width: 1100px) { .study-layout { grid-template-columns: minmax(285px, 330px) minmax(0, 1fr); gap: 18px; } .study-config, .study-results { padding: 19px; } }
@media (max-width: 850px) { .study-layout { grid-template-columns: minmax(0, 1fr); } .study-heading h2 { font-size: 23px; } .header-nav { gap: 16px; } .header-nav a { font-size: 11px; } .edition { display: none; } }
@media (max-width: 540px) {
  .study-section { margin-top: 28px; padding-top: 26px; }
  .study-heading { flex-direction: column; gap: 8px; }
  .study-heading > a { margin-top: 0; }
  .study-heading h2 { font-size: 20px; }
  .study-heading > div > p:last-child { font-size: 11px; }
  .study-tabs { gap: 2px; }
  .study-tabs button, .study-tabs a { font-size: 10px; padding: 9px 3px; }
  .study-config, .study-results, .point-inspector, .comparison-panel { padding: 19px 17px; }
  .study-budget { gap: 13px; }
  .study-inline-actions .button, .study-export .button { font-size: 10px; }
  .comparison-panel > .content-heading { align-items: start; flex-wrap: wrap; }
  .comparison-cards { grid-template-columns: minmax(0, 1fr); }
  .component-evidence-panel > summary, .cloud-review-panel > summary { padding: 17px; }
  .study-evidence-body, .cloud-review-body { padding: 16px 17px; }
  .axis-range { grid-template-columns: minmax(0,1fr) minmax(0,1fr) 58px; }
}
@media print { .study-config, .study-tabs, .study-export, .study-inline-actions, .cloud-review-panel { display: none; } .study-layout { display: block; } .study-section { break-before: page; } }
.scan-contour-chart { display: block; width: 100%; max-width: 820px; margin: 12px auto; background: #fff; border: 1px solid #dce6df; border-radius: 12px; }
.contour-legend { display: flex; flex-wrap: wrap; gap: 18px; justify-content: center; margin: 10px 0; font-size: 13px; }
.contour-legend span::before { content: ''; display: inline-block; width: 24px; margin: 0 7px 3px 0; border-top: 3px solid #116f64; }
.contour-legend [data-level="1"]::before { border-color: #a45f15; }
.contour-legend [data-level="2"]::before { border-color: #405eaa; }
.scan-plot-wrap { max-width: 100%; overflow-x: auto; }
.scan-plot-wrap > svg { min-width: 520px; }

/* M3 mission editor and recorded telemetry; M1/M2 styles remain intact. */
.mission-jump-nav { display: flex; gap: 8px; flex-wrap: wrap; margin: -9px 0 24px; }
.mission-jump-nav a { padding: 5px 12px; color: #577465; background: #e9eee6; border: 1px solid #d5dfd2; border-radius: 3px; text-decoration: none; font-size: 11px; }
.mission-jump-nav a:hover { border-color: var(--teal); color: var(--teal); }
.mission-section { border-top: 1px solid #cdd9d1; padding-top: 36px; margin-top: 40px; min-width: 0; }
.mission-top-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0 12px; }
.mission-top-actions + .small-note { max-width: 760px; }
.mission-layout { display: grid; grid-template-columns: minmax(330px, 420px) minmax(0, 1fr); gap: 22px; margin-top: 19px; align-items: start; }
.mission-editor-column, .mission-results-column { display: flex; flex-direction: column; min-width: 0; gap: 18px; }
.mission-editor-column > .panel, .mission-results-column > .panel { padding: 22px; }
.mission-editor-column > .mission-cloud { padding: 0; }
.mission-inherited-title { font-size: 12px; font-weight: 650; line-height: 1.8; margin-bottom: 12px; overflow-wrap: anywhere; }
.mission-value-row { display: flex; gap: 13px; justify-content: space-between; align-items: baseline; padding: 7px 0; border-bottom: 1px solid #edf0e8; min-width: 0; }
.mission-value-row > span { font-size: 10px; color: var(--muted); min-width: 0; }
.mission-value-row > strong { font-size: 11px; font-weight: 550; text-align: right; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; min-width: 0; }
#mission-inherited > .small-note { margin-top: 12px; }
#mission-geometry { margin-top: 14px; }
#mission-geometry svg { width: 100%; max-height: 280px; }
.mission-details { border-top: 1px solid var(--line); margin-top: 13px; min-width: 0; }
.mission-details > summary { cursor: pointer; color: var(--teal); font-size: 11px; font-weight: 550; padding: 12px 0; line-height: 1.8; }
.mission-details > div, .mission-details > ul, .mission-details > table { margin-bottom: 10px; }
.mission-field-grid { padding: 4px 0 10px; }
.mission-field-grid .field-label { align-items: start; }
.mission-field-grid .field-help { font-size: 9px; line-height: 1.8; color: #74877a; }
#mission-assumptions { margin-top: 16px; }
#mission-assumptions ul { padding-left: 16px; color: var(--muted); font-size: 10px; line-height: 1.9; }
#mission-assumptions li + li { margin-top: 8px; }
.mission-ack { align-items: start; padding: 13px; border: 1px solid #c4d8c7; border-radius: 4px; background: #f0f6ec; margin-top: 18px; line-height: 1.9; font-size: 11px; }
.mission-ack input { margin-top: 4px; }
.mission-stage-grid { padding-bottom: 10px; }
.mission-stage-grid > .small-note { grid-column: 1 / -1; }
.mission-stage-grid input:disabled, .mission-stage-grid select:disabled { background: #f0f3ec; color: #89968a; }
.mission-issues { min-width: 0; }
.mission-issue { color: var(--amber); font-size: 11px; line-height: 1.9; overflow-wrap: anywhere; padding: 8px 0; border-bottom: 1px solid #edf0e8; }
.mission-issue[data-severity="blocker"] { color: var(--red); }
.mission-readiness > .study-inline-actions { margin-top: 17px; }
#mission-progress { width: 100%; height: 7px; accent-color: var(--teal); margin: 18px 0 12px; }
#mission-progress-text { margin-top: 13px; }
.mission-cloud > summary { display: flex; justify-content: space-between; align-items: center; gap: 12px; list-style: none; padding: 18px 22px; cursor: pointer; }
.mission-cloud-body { padding: 17px 22px; border-top: 1px solid var(--line); }
.mission-cloud-body > .study-inline-actions { margin-top: 16px; }
.mission-result-summary .content-heading { margin-bottom: 8px; }
.mission-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 4px; overflow: hidden; margin: 16px 0; }
.mission-metrics > div { background: #f7faf4; padding: 16px; min-width: 0; }
.mission-metrics > div:first-child { background: var(--navy); color: white; }
.mission-metrics span, .mission-metrics small { display: block; font-size: 10px; color: #708575; }
.mission-metrics > div:first-child span, .mission-metrics > div:first-child small { color: #b6ccbf; }
.mission-metrics strong { display: block; font-size: 28px; line-height: 1.5; font-weight: 450; font-variant-numeric: tabular-nums; margin: 7px 0; overflow-wrap: anywhere; }
#mission-replay-slider { accent-color: var(--teal); height: 28px; padding: 0; background: transparent; border: 0; }
.mission-replay-readout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 14px; margin: 13px 0 18px; }
.mission-replay-readout .mission-value-row { display: block; padding: 8px 0; }
.mission-replay-readout .mission-value-row > span, .mission-replay-readout .mission-value-row > strong { display: block; text-align: left; }
.mission-replay-readout .mission-value-row > strong { margin-top: 2px; }
.mission-chart-scroll { overflow: auto; max-width: 100%; border: 1px solid #e1e8dc; border-radius: 3px; margin-bottom: 14px; overscroll-behavior-x: contain; min-width: 0; }
.mission-chart-scroll:empty { border: 0; margin: 0; }
.mission-svg { display: block; width: 100%; min-width: 480px; height: auto; background: #fafcf7; fill: #627665; }
.mission-time-charts { display: grid; grid-template-columns: minmax(0, 1fr); min-width: 0; }
.mission-residuals { border-left: 2px solid #91b294; padding-left: 12px; }
.mission-data-table { border-collapse: collapse; width: 100%; font-size: 10px; margin-top: 6px; }
.mission-data-table th { font-weight: 400; color: var(--muted); text-align: left; }
.mission-data-table td { font-variant-numeric: tabular-nums; text-align: right; padding-left: 9px; overflow-wrap: anywhere; }
.mission-data-table th, .mission-data-table td { border-bottom: 1px solid #e7eee1; padding-top: 7px; padding-bottom: 7px; }
.mission-data-table td:last-child { color: #80917e; width: 30px; }
.mission-export > .small-note { margin-top: 14px; }
#mission-convergence-output { margin-top: 15px; }
@media (max-width: 1100px) { .mission-layout { grid-template-columns: minmax(310px, 365px) minmax(0,1fr); gap: 18px; } .mission-editor-column > .panel, .mission-results-column > .panel { padding: 19px; } .mission-editor-column > .mission-cloud { padding: 0; } .header-nav { gap: 18px; } .header-nav a { font-size: 11px; } }
@media (max-width: 900px) { .mission-layout { grid-template-columns: minmax(0, 1fr); } .mission-editor-column, .mission-results-column { gap: 16px; } .header-nav { gap: 12px; } .mission-jump-nav { margin-top: -4px; } }
@media (max-width: 540px) {
  .mission-jump-nav { gap: 6px; margin-bottom: 19px; }
  .mission-jump-nav a { font-size: 10px; padding: 5px 9px; }
  .mission-section { margin-top: 28px; padding-top: 27px; }
  .mission-top-actions .button { font-size: 11px; flex: 1; padding-left: 8px; padding-right: 8px; }
  .mission-editor-column > .panel, .mission-results-column > .panel { padding: 18px 16px; }
  .mission-editor-column > .mission-cloud { padding: 0; }
  .mission-cloud > summary, .mission-cloud-body { padding: 17px 16px; }
  .mission-ack { padding: 11px; font-size: 10px; }
  .mission-metrics > div { padding: 13px 11px; }
  .mission-metrics strong { font-size: 25px; }
  .mission-metrics span, .mission-metrics small { font-size: 9px; }
  .mission-replay-readout { gap: 0 10px; }
  .mission-value-row > strong { font-size: 10px; }
  .mission-value-row > span { font-size: 9px; }
  .mission-data-table { font-size: 9px; }
  .mission-data-table th { width: 50%; }
  .mission-data-table td { padding-left: 6px; }
}
@media print { .mission-top-actions, .mission-scenario, .mission-stages, .mission-readiness, .mission-cloud, .mission-jump-nav { display: none; } .mission-layout { display: block; } .mission-section { break-before: page; } .mission-svg { min-width: 0; } }

/* Local measurement inspection */
.measurement-section{margin-top:4rem;scroll-margin-top:1.5rem}.measurement-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:1.4rem}.measurement-editor,.measurement-results{padding:1.5rem;min-width:0}.measurement-editor h3,.measurement-results h3{margin-top:0}.measurement-editor textarea{box-sizing:border-box;width:100%;font:inherit;padding:.6rem;border:1px solid #bccbc5;border-radius:.5rem;background:#fff}.measurement-mapping-scroll{overflow-x:auto;max-width:100%;margin:1rem 0}.measurement-mapping-scroll select{min-width:7rem;max-width:17rem;font:inherit;padding:.35rem}.measurement-mapping-scroll table{min-width:32rem}.measurement-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin:1rem 0}.measurement-summary-grid div{padding:.75rem;border:1px solid #d4dfd9;border-radius:.6rem}.measurement-summary-grid strong{display:block;margin-top:.3rem}.measurement-results progress{width:100%}.measurement-editor .study-inline-actions{flex-wrap:wrap;margin-top:1rem}@media(max-width:850px){.measurement-layout{grid-template-columns:1fr}}

.project-toolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.project-toolbar label{display:grid;gap:6px;flex:1 1 220px}.project-list-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}#projects details{margin-top:16px}#project-import-preview{overflow-wrap:anywhere}#project-status[data-tone="error"]{color:#9f392d}@media(max-width:600px){.project-list-row{align-items:start;flex-direction:column}.project-toolbar .button{flex:1 1 140px}}

#architecture-content { padding: 24px; background: var(--card); border: 1px solid var(--line); border-radius: 8px; }
#architecture-content > .study-inline-actions { margin: 16px 0; }
#architecture-content .field-grid { margin: 14px 0 20px; }
#architecture-content .panel { padding: 20px; }
#architecture-content .field, #architecture-content .project-list-row > * { min-width: 0; overflow-wrap: anywhere; }
#architecture-content .field-help { font-size: 11px; line-height: 1.7; }
#architecture-content .mission-details { margin: 12px 0; }
#architecture-content h3 { margin-top: 22px; }
#architecture-content h4 { margin: 0 0 12px; font-size: 18px; }
#architecture-ui-status[data-tone="error"] { color: var(--red); }
#architecture-results { scroll-margin-top: 90px; }
@media(max-width:600px) { #architecture-content { padding: 16px; } #architecture-content .field-grid { grid-template-columns: minmax(0, 1fr); } #architecture-content .panel { padding: 16px; } }

/* Validation records carry long source IDs and content hashes. */
#validation-workbench, #mission-holdout { margin-top: 28px; }
:is(#validation-workbench-content, #mission-holdout-content) { padding: 24px; overflow-wrap: anywhere; }
:is(#validation-workbench-content, #mission-holdout-content) > .study-inline-actions { margin: 16px 0; }
:is(#validation-workbench-content, #mission-holdout-content) .field-grid { margin: 12px 0 18px; }
:is(#validation-workbench-content, #mission-holdout-content) .field, :is(#validation-workbench-content, #mission-holdout-content) .project-list-row > * { min-width: 0; }
:is(#validation-workbench-content, #mission-holdout-content) input[type="file"] { display: block; width: 100%; min-width: 0; margin: 8px 0; }
:is(#validation-workbench-content, #mission-holdout-content) .panel { padding: 16px; }
:is(#validation-workbench-content, #mission-holdout-content) h3 { margin-top: 20px; }
:is(#validation-workbench-status, #mission-holdout-status)[data-tone="error"] { color: var(--red); }
@media(max-width:600px) {
  :is(#validation-workbench-content, #mission-holdout-content) { padding: 16px; }
  :is(#validation-workbench-content, #mission-holdout-content) .field-grid { grid-template-columns: minmax(0, 1fr); }
}
/* Offline controls stay with project recovery and do not replace the workbench. */
.offline-panel { margin-top: 1.5rem; padding: 1rem; border: 1px solid #d7ddd7; border-radius: .5rem; overflow-wrap: anywhere; }
.offline-panel > summary { cursor: pointer; font-weight: 600; }
.offline-panel .project-toolbar { display: flex; flex-wrap: wrap; gap: .65rem; align-items: center; }
.offline-panel [hidden] { display: none; }

#assistant-controls select, #assistant-controls textarea { width:100%; box-sizing:border-box; margin:.5rem 0; padding:.65rem; border:1px solid #d7ddd7; border-radius:.5rem; font:inherit; background:#fff; }
.assistant-output { overflow-wrap:anywhere; }
.assistant-output h4 { margin:.85rem 0 .4rem; }
.assistant-output p { margin:.45rem 0; line-height:1.6; }

/* DeepSeek remains visible in the first screen and the narrow-screen header. */
.assistant-header-link { flex-shrink:0; display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:8px 14px; border-radius:8px; background:#2455cc; color:#fff; font-size:12px; font-weight:700; text-decoration:none; }
.assistant-spotlight { display:flex; align-items:center; justify-content:space-between; gap:22px; padding:22px 26px; margin:0 0 26px; border:1px solid #b7ccee; border-radius:12px; background:linear-gradient(120deg,#edf4ff,#f5f8ff); }
.assistant-spotlight > div { min-width:0; }
.assistant-eyebrow { margin:0 0 5px; color:#345d9c; font-size:11px; font-weight:700; letter-spacing:.08em; }
.assistant-spotlight h2 { margin:0; color:#183e83; font-size:24px; line-height:1.35; }
.assistant-spotlight h2 + p { margin:8px 0 0; color:#405676; font-size:13px; line-height:1.7; }
.assistant-entry-button { flex-shrink:0; min-height:48px; padding:12px 20px; background:#2455cc; color:#fff; font-size:14px; text-decoration:none; }
.assistant-header-link:hover, .assistant-entry-button:hover { background:#1943a6; color:#fff; }
.mission-jump-nav .assistant-jump-link { background:#eaf1ff; border-color:#a9c1e8; color:#214c9c; font-weight:700; }
#assistant-controls { scroll-margin-top:24px; }
.assistant-input-section { background:#f8faff; }
#assistant-controls .assistant-panel { border:1px solid #b7ccee; border-radius:8px; background:#fff; }
#assistant-controls .assistant-panel > summary { color:#214c9c; font-weight:700; font-size:16px; }
#assistant-controls #assistant-plan { color:#fff; background:#2455cc; border-color:#2455cc; }
@media (max-width:1400px) { .site-header { gap:16px; } .header-nav { gap:12px; margin-left:0; flex-wrap:wrap; align-content:center; } .edition { display:none; } }
@media (max-width:600px) { .assistant-spotlight { align-items:stretch; flex-direction:column; gap:16px; padding:18px; margin-bottom:22px; } .assistant-spotlight h2 { font-size:22px; } .assistant-entry-button { width:100%; } .assistant-header-link { padding:7px 10px; font-size:11px; margin-left:auto; } }
@media (max-width:360px) { .site-header { padding-left:12px; padding-right:12px; gap:8px; } .brand-sub { font-size:8px; } .assistant-header-link { padding:7px 8px; } }
@media print { .assistant-header-link, .assistant-spotlight, .assistant-input-section { display:none; } }
.assistant-trace { margin: 16px 0; padding: 16px; border: 1px solid #bfd0ed; border-radius: 14px; background: #f7faff; }
.assistant-trace h4 { margin: 0 0 8px; }
.assistant-trace-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 8px; padding: 0; list-style: none; font-size: .88rem; }
.assistant-trace-steps li { padding: 9px 11px; border-radius: 8px; border: 1px solid #dbe3ee; overflow-wrap: anywhere; }
.trace-pending { color: #64748b; background: #fff; }
.trace-running { color: #1748ac; background: #e8efff; border-color: #80a6ef !important; }
.trace-success { color: #176447; background: #edf8f0; }
.trace-error { color: #a12626; background: #fff0f0; border-color: #e7aaaa !important; }
.assistant-trace-details { white-space: pre-wrap; overflow-wrap: anywhere; font: .82rem/1.6 inherit; user-select: text; }
.assistant-entry-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.guide-section { margin:18px 0; scroll-margin-top:24px; }
.site-guide { border:1px solid #b7cae9; background:#f7faff; border-radius:16px; }
.site-guide summary { font-weight:700; color:#184c87; }
.site-guide textarea { width:100%; min-height:90px; padding:12px; border:1px solid #a9bfd5; border-radius:10px; font:inherit; resize:vertical; }
.guide-passages { display:grid; gap:16px; margin:16px 0; }
.guide-quote { margin:10px 0; padding:12px 16px; border-left:3px solid #5890ce; background:#fff; white-space:pre-wrap; overflow-wrap:anywhere; }
.guide-diagnostics { font-size:.85rem; color:#526372; overflow-wrap:anywhere; }
.commercial-toolbar { display:flex; flex-wrap:wrap; align-items:end; gap:10px; margin:18px 0; }
.commercial-toolbar label,.commercial-settings label { display:grid; gap:6px; }
.commercial-settings { display:flex; flex-wrap:wrap; gap:20px; margin:12px 0; }
.commercial-binding { padding:12px 16px; border-left:3px solid #25826f; background:#eef7f4; font-weight:600; }
.commercial-binding:empty { display:none; }
.commercial-parameters .advanced-inputs { margin:12px 0; }
.commercial-fields { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:16px; padding:16px; }
.commercial-field { padding:16px; background:#f8fafb; border:1px solid #e1e8ec; border-radius:12px; display:flex; flex-direction:column; gap:10px; }
.commercial-field label { display:grid; gap:6px; font-size:.86rem; }
.commercial-field input,.commercial-field select,.commercial-settings select,.commercial-toolbar input,#vendor-filter { width:100%; min-height:40px; padding:8px 10px; border:1px solid #c8d4db; border-radius:8px; font:inherit; background:white; }
.commercial-metric-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr)); gap:12px; margin:22px 0; }
.commercial-metric { padding:18px; border:1px solid #c6dcd5; border-radius:12px; background:#f5faf8; display:grid; gap:8px; }
.commercial-metric span { font-size:.82rem; color:#526372; }
.commercial-metric strong { font-size:1.2rem; overflow-wrap:anywhere; }
.commercial-table-wrap { overflow-x:auto; margin:14px 0; }
.commercial-table-wrap table { width:100%; border-collapse:collapse; font-size:.87rem; }
.commercial-table-wrap th,.commercial-table-wrap td { text-align:left; padding:11px; border-bottom:1px solid #dbe3e8; vertical-align:top; min-width:110px; max-width:450px; overflow-wrap:anywhere; }
.commercial-table-wrap th { background:#f0f5f7; }
.commercial-discussion { margin:20px 0; padding:18px; border-radius:12px; background:#f3f6f8; line-height:1.8; }
.vendor-item { margin:12px 0; }
#commercial,#vendor-data,#site-guide { scroll-margin-top:24px; }
@media(max-width:640px) { .assistant-entry-actions,.assistant-entry-actions a { width:100%; } .commercial-toolbar .button { flex:1 1 190px; } .commercial-settings label { width:100%; } }
