/* measurement.css — THE MEASUREMENT ROOM (PHASE V), PORTED FROM THE CAPTAIN'S MOCK.
 *
 * SOURCE: Studio Mock.html — md5 4f6fc7d1448ad3a51a418d03c370a640, internal version markers to
 * V100 (<style id="v100-data-drafting-crosshair">). The Captain's own design, maintained
 * separately in BOTH colour modes. It is not a sketch of an intention; it IS the intention.
 *   ⛔ A PORT SOURCE IS A DEPENDENCY WITH A VERSION, AND NOBODY WAS TRACKING ITS VERSION. This
 *      file was first ported from v92 and was SIX REVISIONS STALE within a day (V93-V100 added 66
 *      rule instances and CHANGED one). Record the mock's md5 AND its internal marker in every
 *      port commit — "faithful to the mock" means nothing without saying WHICH mock.
 *   ⚠️ v83/v89/v92_reattached.html NO LONGER EXIST ON DISK. Do not cite them as a source again.
 *   🔑 THE MOCK IS THE SPECIFICATION FOR THE SURFACE. THE LIVE FILE IS THE SPECIFICATION FOR THE
 *      BEHAVIOUR. Neither substitutes for the other.
 *
 * ⛔ THIS FILE IS A FAITHFUL PORT, NOT A REINTERPRETATION. Every rule below is V100's, in V100's
 *    ORDER. Any difference from the mock is a DEFECT IN THE PORT, not a judgement call — the
 *    deviation list for this room is CLOSED AND COUNTED AT THREE, and none of them are CSS:
 *      1. the chart orientation (Floor low / Ceiling high) — Captain-ruled, lives in the JS
 *      2. the dragger guards with Number.isFinite() — invisible, lives in the JS
 *      3. the mock's fixture NUMBERS do not survive — engine or blank-and-labelled
 *
 * ⛔⛔ ORDER IS LOAD-BEARING AND MUST NOT BE TIDIED. The light-mode overrides appear AFTER their
 *    base rules on purpose, and the cascade is LAST-WINS. studio.html:1804 records that
 *    `body.light-mode` blocks already span five design revisions under exactly that rule.
 *    🔑 A CSS RULE THAT DOES NOT APPLY LOOKS IDENTICAL TO ONE THAT WAS NEVER WRITTEN — "overridden"
 *       and "absent" produce the same pixels, so this failure is invisible by construction. It
 *       would survive a green build, a green suite, and a casual look.
 *    ⚠️ Sorting these selectors alphabetically, deduping them, or hoisting the @media blocks are all
 *       "tidying" that silently changes what renders. DO NOT.
 *
 * ⚠️ @media WRAPPERS ARE PRESERVED. A nested rule lifted to top level changes WHEN it applies, not
 *    merely where it sits.
 *
 * LINK POSITION MATTERS: loaded AFTER tokens.css / typography.css / header.css so the panel's
 * rules sit where v92 put them relative to the base layer. Moving the <link> is a cascade change.
 */

/* ⛔⛔ PORT MECHANICS — NOT DEVIATIONS, AND NOT PART OF THE MOCK SEQUENCE BELOW.

   1. THE PANEL'S CONTAINING BLOCK.
      .mc-overlay is `position:absolute; inset:18px 20px 22px; z-index:9` — inset from its edges with
      a modest z-index, which is a panel INSIDE a container, never a viewport modal. In the mock its
      parent is <section class="canvas"> at position:relative, so it fills the CANVAS.
      ⛔ MEASURED WHEN IT WAS PLACED WRONG: at body level the overlay box came out x=20 w=1460 against
         the mock's x=421 w=1061 at the same 1500px viewport — it centred on the whole window and slid
         left under the phase list, truncating the title to "d Estate Capacity".
         🔑 AN "OVERLAY" IS NOT A MODAL BECAUSE OF ITS NAME. Read what its CSS positions it against.
      ⭐ CAUGHT BY AN _eyeson VIEWPORT SHOT. The panel-only crop looked flawless — a crop cannot show
         an integration failure, because a panel rendering perfectly inside a page it has broken still
         looks perfect.
      ⚠️ Declared here rather than in the shell: studio.html has no bare .canvas-wrapper rule, only
         layout-scoped ones. An id selector outranks those regardless of link order, so this costs
         cached bytes instead of shell bytes on every visit.

   2. THE FONT TOKENS.
      The mock declares --serif/--mono/--sans GLOBALLY. studio.html declares the same three names,
      with byte-identical values, scoped to #studioOverlayWrap — so every font: rule below would have
      resolved to NOTHING and the panel would have rendered in the wrong typeface with no error, no
      warning and nothing in a diff.
      🔑 A TOKEN THAT EXISTS IN BOTH FILES IS NOT A TOKEN THAT REACHES BOTH SURFACES.

   3. --display IS LEFT UNDECLARED ON PURPOSE. CAPTAIN-RULED.
      The mock USES var(--display) seventeen times and DECLARES it zero times, with no fallback, so
      every one of those font: shorthands is invalid and discarded WHOLE — family, SIZE and WEIGHT
      together. The mock therefore renders .mc-title and .mc-card-value at the inherited 16px/400, not
      the 25px/500 and 34px/500 its own CSS asks for.
      ⛔ DECLARING IT WOULD "FIX" THE MOCK AND BREAK THE PORT: measured, the card values jumped
         16px -> 34px and the title 16px -> 25px — a panel the Captain has never seen.
      ⚖️ RULED "match what I've been looking at", so the line below supplies ONLY the inherited family
         the mock supplies from its body. The discarded sizes stay discarded.
      🔑 FAITHFUL MEANS THE RENDERED SURFACE, NOT THE SOURCE TEXT. When a mock is accidentally
         correct, copying its source does not copy its result.
      ⚠️ A FINDING IN THE MOCK, HANDED BACK: seventeen sizes and weights are being thrown away there.
         If a display face is intended, declaring it brings all seventeen alive AT ONCE.

   4. THE INHERITED TEXT COLOUR — THE SAME DEFECT AS THE FONT TOKENS, ONE PROPERTY OVER.
      .mc-overlay declares no `color` of its own; in the mock it INHERITS one, and studio.html's
      chain supplies a different one. Measured on the rendered surface, both modes, at the panel
      root: the mock resolves #f2f5f2 in dark and #16242d in light, while the port resolved
      rgb(255,255,255) IN BOTH. 188 of 290 computed-style differences were this single cause,
      propagating to every descendant that does not set its own colour, and to `border-top-color`
      wherever a border falls back to currentColor.
      ⛔ LIGHT MODE IS THE DANGEROUS HALF: white inherited text on a cream panel. The named text
         elements each carry an explicit colour and were fine, which is exactly why this survived —
         THE STYLED ELEMENTS HID IT, AND THE UNSTYLED ONES WERE THE ONES AT RISK.
      🔑 A COMPARISON OF MATCHED SELECTORS CANNOT SEE AN INHERITED VALUE. The 30/30 that cleared
         this panel at v92 compared declared rules; an inherited property has NO rule to match, so
         it was never in the population. THE POPULATION WAS THE BLIND SPOT, NOT THE THRESHOLD.
      ⚖️ SOURCED, NOT INVENTED (L47): #f2f5f2 is the mock's own `--white` and #16242d is its
         `--text-main`. Declared here as literals for the same reason the font tokens are — the
         mock scopes those names where this panel cannot reach them. */
#canvas-wrapper { position: relative; }

#mcOverlay {
  --serif:"Fraunces",Georgia,serif;
  --mono:"DM Mono","Courier New",monospace;
  --sans:"DM Sans",Arial,sans-serif;
  font-family: var(--sans);
  color: #f2f5f2;
}
body.light-mode #mcOverlay { color: #16242d; }

/* ── EVERYTHING BELOW THIS LINE IS THE MOCK, IN ITS DOCUMENT ORDER. DO NOT REORDER. ── */
.mc-convergence-swarm{position:absolute;inset:72px 22px 22px;display:grid;place-items:center;pointer-events:none;opacity:0;transition:opacity .18s ease;z-index:5}
.mc-convergence-swarm.open{opacity:1}
.mc-swarm-field{position:absolute;inset:0;border:1px solid rgba(121,222,199,.14);border-radius:18px;background:radial-gradient(circle at 50% 50%,rgba(121,222,199,.08),transparent 34%),linear-gradient(180deg,rgba(7,16,27,.18),rgba(7,16,27,.42));overflow:hidden}
.mc-swarm-dot{position:absolute;left:var(--sx);top:var(--sy);width:7px;height:7px;border-radius:999px;background:rgba(121,222,199,.9);box-shadow:0 0 12px rgba(121,222,199,.34);animation:mcSwarmConverge 1.05s cubic-bezier(.2,.7,.2,1) infinite;animation-delay:var(--delay,0s)}
.mc-swarm-copy{position:relative;z-index:1;max-width:420px;text-align:center;padding:18px 20px;border-radius:16px;border:1px solid rgba(213,173,99,.18);background:rgba(6,12,20,.76);backdrop-filter:blur(8px);box-shadow:0 18px 40px rgba(0,0,0,.26)}
.mc-swarm-copy span{display:block;font:500 8px var(--mono);letter-spacing:.18em;text-transform:uppercase;color:#8ea0a8}
.mc-swarm-copy strong{display:block;margin-top:10px;font:500 23px/1.12 var(--display);color:#eef4f2}
.mc-swarm-copy small{display:block;margin-top:8px;font:400 11px/1.55 var(--sans);color:#96a8af}
body.light-mode .mc-chip{background:rgba(255,255,255,.94);border-color:rgba(90,129,160,.26);color:#244049}
body.light-mode .mc-chip strong{color:#17323a}
body.light-mode .mc-datum-readout{background:rgba(93,202,165,.14);border-color:rgba(29,158,117,.26)}
body.light-mode .mc-datum-readout span{color:#25474f;font-weight:600}
body.light-mode .mc-datum-readout strong{color:#145342}
body.light-mode .mc-mini span,body.light-mode .mc-card-note,body.light-mode .mc-metric small,body.light-mode .mc-chart-title span,body.light-mode .mc-foot-copy{color:#4e666d}
body.light-mode .mc-curve-label{fill:#224048}
body.light-mode .mc-curve-value{fill:#17323a}
body.light-mode .mc-swarm-field{background:radial-gradient(circle at 50% 50%,rgba(121,222,199,.08),transparent 34%),linear-gradient(180deg,rgba(255,255,255,.56),rgba(239,243,240,.82));border-color:rgba(90,129,160,.16)}
body.light-mode .mc-swarm-copy{background:rgba(255,252,246,.84);border-color:rgba(201,168,76,.22);box-shadow:0 16px 32px rgba(42,62,72,.10)}
body.light-mode .mc-swarm-copy strong{color:#20353c}
body.light-mode .mc-swarm-copy small,body.light-mode .mc-swarm-copy span{color:#5b7077}
@keyframes mcSwarmConverge{0%{transform:translate(0,0) scale(.7);opacity:0}20%{opacity:1}100%{transform:translate(calc(var(--tx) - var(--sx)),calc(var(--ty) - var(--sy))) scale(1.12);opacity:.08}}
.mc-convergence-swarm{position:absolute;inset:18px 20px 22px 20px;z-index:11;display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity .28s ease}
.mc-convergence-swarm[hidden]{display:none !important}
.mc-convergence-swarm.open{opacity:1;pointer-events:auto}
.mc-convergence-swarm::before{content:none}
.mc-convergence-panel{position:relative;width:min(980px,calc(100% - 24px));padding:26px 26px 22px;border:1px solid rgba(106,132,148,.24);border-radius:10px;background:linear-gradient(180deg,rgba(8,16,26,.985),rgba(6,13,22,.995));box-shadow:0 34px 78px rgba(0,0,0,.42)}
.mc-convergence-head{text-align:center;max-width:860px;margin:0 auto 20px}
.mc-convergence-kicker{font:500 8px var(--mono);letter-spacing:.18em;text-transform:uppercase;color:#7ddbc1}
.mc-convergence-title{margin:8px 0 8px;font:500 32px/1.04 var(--display);color:#f2f5f3}
.mc-convergence-sub{margin:0 auto;max-width:70ch;font:400 10.5px/1.75 var(--sans);color:#93a5ad}
.mc-convergence-stage{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px;align-items:center}
.mc-convergence-left{display:grid;gap:16px;align-content:start}
.mc-convergence-status{border:none;border-radius:8px;background:rgba(255,255,255,.09);color:#c9d1cf;font:500 8px var(--mono);letter-spacing:.16em;text-transform:uppercase;padding:18px 16px;text-align:center}
.mc-convergence-status.is-live{background:linear-gradient(90deg,rgba(121,222,199,.20),rgba(121,222,199,.08));color:#d9f5ec;box-shadow:0 0 24px rgba(121,222,199,.08)}
.mc-convergence-stat{border-left:2px solid rgba(213,173,99,.9);padding-left:14px;opacity:.45;transition:opacity .35s ease,transform .35s ease}
.mc-convergence-stat.active{opacity:1;transform:translateX(2px)}
.mc-convergence-stat span{display:block;font:500 7px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#92a4ac}
.mc-convergence-stat strong{display:block;margin-top:6px;font:500 20px/1.05 var(--display);color:#f3f5f1}
.mc-convergence-right{position:relative;padding:20px;border-radius:10px;border:1px solid rgba(106,132,148,.14);background:linear-gradient(180deg,rgba(5,14,24,.88),rgba(7,16,27,.80));min-height:330px;overflow:hidden}
.mc-convergence-svg{display:block;width:100%;height:auto;overflow:visible}
.mc-convergence-svg .axis{stroke:rgba(255,255,255,.14);stroke-width:1}
.mc-convergence-svg .guide{stroke:rgba(255,255,255,.08);stroke-width:1;stroke-dasharray:4 6}
.mc-convergence-svg .floor-guide{stroke:rgba(226,75,74,.38);stroke-width:1;stroke-dasharray:5 6}
.mc-convergence-badge{position:absolute;right:34px;top:50%;transform:translateY(-50%) scale(.94);padding:16px 26px;border-radius:10px;border:1px solid rgba(121,222,199,.58);background:rgba(7,17,29,.94);text-align:center;opacity:0;transition:opacity .5s ease,transform .5s ease;}
.mc-convergence-badge.show{opacity:1;transform:translateY(-50%) scale(1)}
.mc-convergence-badge span{display:block;font:500 7px var(--mono);letter-spacing:.18em;text-transform:uppercase;color:#93a5ad}
.mc-convergence-badge strong{display:block;margin-top:8px;font:500 28px/1 var(--display);color:#7ddbc1}
body.light-mode .mc-convergence-panel,body.light-mode .phase-visual-panel{background:linear-gradient(180deg,rgba(255,253,248,.98),rgba(244,241,233,.99));border-color:rgba(90,129,160,.24);box-shadow:0 22px 54px rgba(42,62,72,.10), inset 0 1px 0 rgba(255,255,255,.96)}
body.light-mode .mc-convergence-right,body.light-mode .phase-chart-shell{background:rgba(255,255,255,.74);border-color:rgba(90,129,160,.16)}
body.light-mode .mc-convergence-status{background:rgba(39,51,65,.08);color:#244049}
body.light-mode .mc-convergence-title,body.light-mode .phase-visual-title,body.light-mode .phase-stat-box strong{color:#20343a}
body.light-mode .mc-convergence-sub,body.light-mode .phase-visual-sub,body.light-mode .phase-visual-caption,body.light-mode .phase-note-grid p{color:#596f76}
body.light-mode .mc-convergence-kicker,body.light-mode .phase-visual-kicker{color:#8a6e2d}
body.light-mode .mc-convergence-badge{background:rgba(255,255,255,.94)}
body.light-mode .mc-convergence-badge span{color:#5f737a}
body.light-mode .mc-convergence-stat span{color:#61757c}
body.light-mode .mc-convergence-stat strong{color:#20343a}
body.light-mode .mc-convergence-footer .mc-convergence-stat{background:rgba(255,255,255,.72);border-color:rgba(43,93,104,.12);border-left-color:rgba(145,107,30,.34)}
body.light-mode .mc-convergence-footer .mc-convergence-status{background:linear-gradient(180deg,rgba(29,158,117,.10),rgba(255,255,255,.64));border-color:rgba(29,158,117,.18)}
@media(max-width:980px){
  .mc-convergence-stage,.phase-split,.phase-note-grid{grid-template-columns:1fr}
  .mc-convergence-badge{position:relative;top:auto;right:auto;transform:none;margin-top:14px}
  .mc-convergence-badge.show{transform:none}
}
/* V81 — claiming cue, full-width convergence, light-mode alignment, stratigraphy hover */
.mc-convergence-stage{display:block}
.mc-convergence-right{width:100%;min-height:390px;padding:16px 18px 12px}
.mc-convergence-svg{min-height:350px}
.mc-convergence-footer{display:grid;grid-template-columns:1.18fr repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.mc-convergence-footer .mc-convergence-status{display:grid;place-items:center;min-height:74px;padding:12px 14px;text-align:center;border:1px solid rgba(121,222,199,.16);background:linear-gradient(180deg,rgba(121,222,199,.10),rgba(121,222,199,.025))}
.mc-convergence-footer .mc-convergence-stat{margin:0;padding:14px 14px 12px;border-left:1px solid rgba(213,173,99,.30);border-top:1px solid rgba(106,132,148,.10);border-right:1px solid rgba(106,132,148,.06);border-bottom:1px solid rgba(106,132,148,.06);background:rgba(255,255,255,.012);border-radius:8px}
.mc-convergence-title{font-family:var(--serif);font-style:italic;font-weight:300;font-size:34px;letter-spacing:-.02em}
.mc-convergence-sub{max-width:78ch}
@media(max-width:980px){
  .mc-convergence-footer{grid-template-columns:1fr 1fr}
  .mc-convergence-right{min-height:330px}
  .mc-convergence-svg{min-height:300px}
}
.phase-visual-head .mc-close{position:relative;z-index:8;pointer-events:auto;flex:0 0 auto}
/* Convergence: full-width field, telemetry below */
.mc-convergence-panel{width:min(1080px,calc(100% - 18px));padding:22px 22px 18px}
.mc-convergence-head{margin-bottom:14px}
.mc-convergence-right{min-height:460px;padding:8px 12px 8px}
.mc-convergence-svg{min-height:430px;height:430px}
.mc-convergence-badge{right:44px}
.mc-convergence-footer{grid-template-columns:1.15fr repeat(3,minmax(0,1fr));gap:9px;margin-top:10px}
@media(max-width:980px){
  .mc-convergence-right{min-height:390px}
  .mc-convergence-svg{height:380px;min-height:380px}
}
/* V83 — surgical restoration / Endurance interaction fixes */
.mc-convergence-panel{width:min(980px,calc(100% - 24px));padding:26px 26px 22px}
.mc-convergence-right{width:100%;min-height:390px;padding:16px 18px 12px}
.mc-convergence-svg{height:auto;min-height:350px}
.mc-convergence-footer{grid-template-columns:1.18fr repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.mc-overlay{position:absolute;inset:18px 20px 22px 20px;z-index:9;display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity .28s ease;}
.mc-overlay[hidden]{display:none !important;}
.mc-overlay.open{opacity:1;pointer-events:auto;}
.mc-overlay::before{content:"";position:absolute;inset:0;border-radius:10px;background:linear-gradient(180deg,rgba(7,13,21,.12),rgba(7,13,21,.42));}
.mc-overlay-panel{position:relative;width:min(860px,calc(100% - 46px));max-height:calc(100% - 26px);overflow:auto;padding:18px 20px 18px;border:1px solid rgba(106,132,148,.28);border-radius:10px;background:linear-gradient(180deg,rgba(9,18,29,.96),rgba(8,15,24,.985));box-shadow:0 28px 68px rgba(2,8,14,.34);--mc-floor:#C9A84C;--mc-datum:#5DCAA5;--mc-ceiling:#e24b4a;--mc-ink:#dce8ec;--mc-muted:#95a4ab;}
.mc-overlay-panel::before{content:"";position:absolute;inset:10px;border:1px solid rgba(106,132,148,.16);border-radius:6px;pointer-events:none;}
.mc-overlay-panel::after{content:"";position:absolute;left:18px;right:18px;top:52px;height:1px;background:linear-gradient(90deg,transparent,rgba(106,132,148,.22),transparent);pointer-events:none;}
.mc-head{position:relative;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:start;margin-bottom:14px;}
.mc-kicker{font:500 8px var(--mono);letter-spacing:.20em;text-transform:uppercase;color:#8fb1c1;}
.mc-title{margin:8px 0 0;font:500 25px/1.05 var(--display);letter-spacing:.01em;color:#eef3f1;}
.mc-subtitle{display:none;}
.mc-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.mc-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;border:1px solid rgba(106,132,148,.22);background:rgba(255,255,255,.02);font:500 8px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#d9e7ee;}
.mc-chip strong{font-weight:500;color:#edf4f5;}
.mc-close{padding:10px 12px;border-radius:8px;border:1px solid rgba(106,132,148,.22);background:rgba(255,255,255,.02);font:500 8px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#d8e1e4;cursor:pointer;}
.mc-close:hover{border-color:rgba(201,168,76,.34);color:#f1d99b;}
.mc-grid{position:relative;display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:12px;margin-top:14px;align-items:start;}
.mc-range-card,.mc-chart,.mc-sidecar{position:relative;border:1px solid rgba(106,132,148,.18);border-radius:8px;background:linear-gradient(180deg,rgba(14,24,36,.92),rgba(10,18,28,.98));box-shadow:none;}
.mc-range-card{padding:16px 16px 14px;min-height:170px;overflow:hidden;}
.mc-range-card::before{content:"";position:absolute;left:14px;right:14px;top:0;height:2px;background:var(--mc-accent);opacity:.95;}
.mc-range-card::after,.mc-chart::after,.mc-sidecar::after{content:"";position:absolute;right:10px;top:10px;width:6px;height:6px;border:1px solid rgba(106,132,148,.35);background:transparent;opacity:.9;}
.mc-card-kicker{font:500 8px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#90a4ad;}
.mc-card-title{margin:10px 0 4px;font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#e7f1f5;}
.mc-card-value{display:block;margin-top:4px;font:500 34px/1 var(--display);color:#f4f7f6;}
.mc-card-period{display:block;margin-top:4px;font:500 8px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mc-accent);}
.mc-card-note{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.05);font:400 10.5px/1.5 var(--sans);color:#93a3aa;}
.mc-range-card.emphasis{box-shadow:0 0 0 1px rgba(93,202,165,.18) inset;}
.mc-datum-readout{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:9px 10px;border-radius:7px;border:1px solid rgba(93,202,165,.18);background:rgba(93,202,165,.06);}
.mc-datum-readout span{font:500 7px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#b7c4c9;}
.mc-datum-readout strong{font:500 18px/1 var(--display);color:var(--mc-datum);}
.mc-range-card.floor{--mc-accent:var(--mc-floor);}
.mc-range-card.floor .mc-card-value,.mc-range-card.floor .mc-card-period{color:var(--mc-floor);}
.mc-range-card.datum{--mc-accent:var(--mc-datum);}
.mc-range-card.datum .mc-card-value,.mc-range-card.datum .mc-card-period{color:var(--mc-datum);}
.mc-range-card.ceiling{--mc-accent:var(--mc-ceiling);}
.mc-range-card.ceiling .mc-card-value,.mc-range-card.ceiling .mc-card-period{color:var(--mc-ceiling);}
.mc-chart{grid-column:1 / span 2;padding:16px 16px 14px;min-height:300px;overflow:hidden;}
.mc-sidecar{padding:16px;min-height:300px;}
.mc-section-label{font:500 8px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#91a0a8;}
.mc-chart-title{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-top:8px;}
.mc-chart-title strong{font:500 14px var(--mono);letter-spacing:.08em;color:#eff5f3;}
.mc-chart-title span{font:400 10px var(--sans);color:#9aa8ae;}
.mc-curve-shell{position:relative;margin-top:16px;padding:14px 14px 30px;height:218px;border-radius:8px;border:1px solid rgba(106,132,148,.14);background:linear-gradient(180deg,rgba(255,255,255,.015),rgba(255,255,255,0));cursor:crosshair;touch-action:none;}
.mc-curve-svg{width:100%;height:100%;display:block;overflow:visible;}
.mc-gridlines line{stroke:rgba(255,255,255,.05);stroke-width:1;}
.mc-stage-band rect{fill:rgba(255,255,255,.02);stroke:rgba(106,132,148,.08);stroke-width:1;}
.mc-stage-band text{font:500 8px var(--mono);letter-spacing:.12em;text-transform:uppercase;fill:#8fa0a8;}
.mc-curve-area{fill:url(#mcCurveStroke);opacity:.07;}
.mc-curve-line{fill:none;stroke:url(#mcCurveStroke);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;}
.mc-curve-node line{stroke:rgba(255,255,255,.12);stroke-width:1;stroke-dasharray:3 5;}
.mc-curve-node circle{fill:#091221;stroke:var(--mc-accent);stroke-width:2.5;}
.mc-curve-node text{font:500 7.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;fill:#dce7eb;}
.mc-curve-pill{fill:rgba(8,16,25,.94);stroke:rgba(106,132,148,.22);stroke-width:1;}
.mc-curve-label{font:500 7.5px var(--mono);letter-spacing:.13em;text-transform:uppercase;fill:#dce7eb;}
.mc-curve-value{font:500 7.5px var(--mono);letter-spacing:.13em;fill:var(--mc-accent);}
.mc-curve-node.datum-node{cursor:grab;}
.mc-curve-node.datum-node.dragging{cursor:grabbing;}
.mc-datum-hit{fill:transparent;stroke:none;pointer-events:all;cursor:grab;}
.mc-datum-core{pointer-events:none;}
.mc-curve-axis-left{position:absolute;left:2px;top:18px;bottom:32px;display:flex;flex-direction:column;justify-content:space-between;font:500 7.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#80939b;}
.mc-curve-axis-bottom{position:absolute;left:44px;right:18px;bottom:8px;display:flex;justify-content:space-between;font:500 8px var(--mono);letter-spacing:.10em;text-transform:uppercase;color:#83949a;}
.mc-metrics{display:grid;gap:12px;margin-top:10px;}
.mc-metric{padding:10px 12px;border-radius:8px;border:1px solid rgba(106,132,148,.14);background:rgba(255,255,255,.015);}
.mc-metric label{display:block;font:500 7.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#8fa0a7;}
.mc-metric strong{display:block;margin-top:6px;font:500 20px/1.1 var(--display);color:#eef4f2;}
.mc-metric small{display:block;margin-top:4px;font:400 10px/1.45 var(--sans);color:#8fa0a7;}
.mc-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;}
.mc-mini{padding:10px;border-radius:8px;border:1px solid rgba(106,132,148,.14);background:rgba(255,255,255,.015);}
.mc-mini span{display:block;font:500 7px var(--mono);letter-spacing:.13em;text-transform:uppercase;color:#8ea0a8;}
.mc-mini strong{display:block;margin-top:6px;font:500 16px/1 var(--display);color:#edf2f1;}
.mc-foot{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.05);}
.mc-foot-copy{font:400 11px/1.55 var(--sans);color:#8ea0a8;max-width:520px;}
.mc-actions{display:flex;gap:10px;flex-wrap:wrap;}
.mc-action{padding:12px 14px;border-radius:8px;border:1px solid rgba(106,132,148,.18);background:rgba(255,255,255,.03);font:500 8px var(--mono);letter-spacing:.15em;text-transform:uppercase;color:#d8e1e4;cursor:pointer;}
.mc-action.primary{border-color:rgba(201,168,76,.34);background:rgba(201,168,76,.08);color:#C9A84C;}
.mc-action:hover{transform:translateY(-1px);}
.architecture-estate-canvas.mc-demo-live{transform:scale(.965) translateX(-22px);filter:saturate(1.02) brightness(.82);opacity:.88;}
.body-light .architecture-estate-canvas.mc-demo-live{}
.mc-overlay.open .mc-overlay-panel{animation:mcPanelRise .42s cubic-bezier(.22,1,.36,1);}
@keyframes mcPanelRise{from{opacity:0;transform:translateY(14px) scale(.988)}to{opacity:1;transform:translateY(0) scale(1)}}
body.light-mode .mc-overlay::before{background:linear-gradient(180deg,rgba(242,244,240,.22),rgba(232,236,231,.56));}
body.light-mode .mc-overlay-panel{background:linear-gradient(180deg,rgba(255,253,248,.98),rgba(244,241,233,.99));border-color:rgba(90,129,160,.24);box-shadow:0 22px 54px rgba(42,62,72,.10), inset 0 1px 0 rgba(255,255,255,.96);}
body.light-mode .mc-overlay-panel::before{border-color:rgba(90,129,160,.14);}
body.light-mode .mc-title,body.light-mode .mc-chart-title strong,body.light-mode .mc-card-title,body.light-mode .mc-metric strong,body.light-mode .mc-mini strong{color:#20333a;}
body.light-mode .mc-card-kicker,body.light-mode .mc-section-label,body.light-mode .mc-metric label,body.light-mode .mc-mini span{color:#60757d;}
body.light-mode .mc-subtitle,body.light-mode .mc-card-note,body.light-mode .mc-chart-title span,body.light-mode .mc-metric small,body.light-mode .mc-foot-copy{color:#5f7178;}
body.light-mode .mc-range-card.emphasis{box-shadow:0 10px 24px rgba(42,62,72,.06), inset 0 0 0 1px rgba(93,202,165,.22), inset 0 1px 0 rgba(255,255,255,.92);}
body.light-mode .mc-card-value{color:#20333a;}
body.light-mode .mc-range-card,body.light-mode .mc-chart,body.light-mode .mc-sidecar,body.light-mode .mc-metric,body.light-mode .mc-mini{background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(247,246,241,.78));border-color:rgba(90,129,160,.16);box-shadow:0 8px 22px rgba(42,62,72,.05), inset 0 1px 0 rgba(255,255,255,.92), inset 0 -18px 28px rgba(90,129,160,.03);}
body.light-mode .mc-chip,body.light-mode .mc-close,body.light-mode .mc-action{background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(248,248,244,.72));border-color:rgba(90,129,160,.18);color:#284048;box-shadow:inset 0 1px 0 rgba(255,255,255,.9);}
body.light-mode .mc-action.primary{background:rgba(201,168,76,.12);color:#7a5c19;border-color:rgba(201,168,76,.28);}
body.light-mode .mc-curve-shell{background:linear-gradient(180deg,rgba(255,255,255,.62),rgba(252,251,247,.26));border-color:rgba(90,129,160,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.9), inset 0 -14px 24px rgba(90,129,160,.03);}
body.light-mode .mc-gridlines line{stroke:rgba(90,129,160,.12);}
body.light-mode .mc-stage-band rect{fill:rgba(255,255,255,.34);stroke:rgba(90,129,160,.08);}
body.light-mode .mc-stage-band text,body.light-mode .mc-curve-axis-left,body.light-mode .mc-curve-axis-bottom{color:#6d7e84;fill:#6d7e84;}
body.light-mode .mc-curve-pill{fill:rgba(255,255,255,.96);stroke:rgba(90,129,160,.16);}
body.light-mode .mc-curve-label{fill:#243940;}
body.light-mode .mc-datum-readout{background:rgba(93,202,165,.10);border-color:rgba(93,202,165,.24);}
body.light-mode .mc-chip strong{color:#1f3035;}
body.light-mode .mc-datum-readout span{color:#355760;}
body.light-mode .mc-datum-readout strong{color:#1d5f50;}
body.light-mode .mc-curve-pill{fill:rgba(255,255,255,.985);stroke:rgba(90,129,160,.18);}
body.light-mode .mc-curve-label{fill:#2f474f;}
body.light-mode .mc-curve-value{fill:#1f3035;}
body.light-mode .architecture-estate-canvas.mc-demo-live{filter:saturate(1) brightness(.98);opacity:.92;}
@media(max-width:1100px){
  .mc-grid{grid-template-columns:1fr}
  .mc-chart{grid-column:auto}
  .mc-foot{align-items:flex-start;flex-direction:column}
  .mc-overlay-panel{width:min(92vw,860px)}
}
/* V85 — Measurement light-mode legibility and clean Convergence backdrop */
body.light-mode .mc-convergence-panel{
  background:
    linear-gradient(180deg,rgba(255,254,250,.985),rgba(244,242,235,.99)),
    repeating-linear-gradient(0deg,rgba(46,83,94,.018) 0 1px,transparent 1px 5px);
  border-color:rgba(47,91,104,.24);
  box-shadow:0 24px 56px rgba(42,62,72,.11),inset 0 1px 0 rgba(255,255,255,.98);
}
body.light-mode .mc-convergence-kicker{color:#78601f;font-weight:650;}
body.light-mode .mc-convergence-title{color:#172f37;text-shadow:none;}
body.light-mode .mc-convergence-sub{color:#4e656d;font-weight:430;}
body.light-mode .mc-convergence-right{
  background:linear-gradient(180deg,rgba(255,255,255,.90),rgba(245,248,245,.76));
  border-color:rgba(47,91,104,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.98),inset 0 -18px 30px rgba(40,82,91,.025);
}
body.light-mode .mc-convergence-svg .axis{stroke:rgba(39,72,82,.24);}
body.light-mode .mc-convergence-svg .guide{stroke:rgba(39,72,82,.12);}
body.light-mode .mc-convergence-svg .floor-guide{stroke:rgba(184,68,67,.30);}
body.light-mode .mc-convergence-footer .mc-convergence-status{
  color:#18473e;
  font-weight:650;
  background:linear-gradient(180deg,rgba(93,202,165,.17),rgba(255,255,255,.80));
  border-color:rgba(29,158,117,.25);
}
body.light-mode .mc-convergence-footer .mc-convergence-stat{
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(247,246,241,.82));
  border-color:rgba(47,91,104,.14);
  border-left-color:rgba(154,116,36,.48);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.96);
}
body.light-mode .mc-convergence-stat span{color:#536a72;font-weight:650;}
body.light-mode .mc-convergence-stat strong{color:#1d333a;}
body.light-mode .mc-convergence-badge{
  background:rgba(255,255,255,.97);
  border-color:rgba(29,158,117,.38);
  box-shadow:0 12px 28px rgba(42,62,72,.10),inset 0 1px 0 rgba(255,255,255,.98);
}
body.light-mode .mc-convergence-badge span{color:#526a71;font-weight:650;}
body.light-mode .mc-convergence-badge strong{color:#17624f;}
body.light-mode .mc-overlay::before{background:transparent;}
body.light-mode .mc-overlay-panel{
  background:
    linear-gradient(180deg,rgba(255,254,250,.99),rgba(244,242,235,.99)),
    repeating-linear-gradient(0deg,rgba(46,83,94,.016) 0 1px,transparent 1px 5px);
  border-color:rgba(47,91,104,.24);
  box-shadow:0 24px 58px rgba(42,62,72,.12),inset 0 1px 0 rgba(255,255,255,.98);
}
body.light-mode .mc-kicker{color:#6c5722;font-weight:650;}
body.light-mode .mc-title{color:#2b464e;}
body.light-mode .mc-chip{
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,247,242,.90));
  border-color:rgba(47,91,104,.21);
  color:#48616a;
  box-shadow:0 3px 9px rgba(42,62,72,.035),inset 0 1px 0 rgba(255,255,255,.98);
  font-weight:650;
}
body.light-mode .mc-chip strong{color:#29444c;font-weight:700;}
body.light-mode .mc-close{
  background:linear-gradient(180deg,#fffefb,#f6f4ed);
  border-color:rgba(47,91,104,.24);
  color:#23434b;
  font-weight:650;
}
body.light-mode .mc-range-card,
body.light-mode .mc-chart,
body.light-mode .mc-sidecar,
body.light-mode .mc-metric,
body.light-mode .mc-mini{
  background:
    linear-gradient(180deg,rgba(255,255,255,.96),rgba(247,246,241,.90)),
    repeating-linear-gradient(90deg,rgba(46,83,94,.014) 0 1px,transparent 1px 6px);
  border-color:rgba(47,91,104,.18);
  box-shadow:0 8px 20px rgba(42,62,72,.055),inset 0 1px 0 rgba(255,255,255,.98);
}
body.light-mode .mc-range-card.emphasis{
  background:linear-gradient(180deg,rgba(245,255,251,.97),rgba(238,248,243,.92));
  border-color:rgba(29,158,117,.25);
  box-shadow:0 10px 24px rgba(42,62,72,.06),inset 0 0 0 1px rgba(93,202,165,.18),inset 0 1px 0 rgba(255,255,255,.98);
}
body.light-mode .mc-card-kicker,
body.light-mode .mc-section-label,
body.light-mode .mc-metric label,
body.light-mode .mc-mini span{color:#4c646c;font-weight:700;}
body.light-mode .mc-card-title{color:#304c54;font-weight:700;}
body.light-mode .mc-card-note,
body.light-mode .mc-chart-title span,
body.light-mode .mc-metric small,
body.light-mode .mc-foot-copy{color:#4e666d;font-weight:430;}
body.light-mode .mc-chart-title strong{color:#2b4850;}
body.light-mode .mc-datum-readout{
  background:linear-gradient(180deg,rgba(93,202,165,.17),rgba(255,255,255,.72));
  border-color:rgba(29,158,117,.27);
}
body.light-mode .mc-datum-readout span{color:#285249;font-weight:700;}
body.light-mode .mc-datum-readout strong{color:#26735f;}
body.light-mode .mc-curve-shell{
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(247,248,244,.76));
  border-color:rgba(47,91,104,.16);
}
body.light-mode .mc-gridlines line{stroke:rgba(39,72,82,.16);}
body.light-mode .mc-stage-band rect{fill:rgba(255,255,255,.84);stroke:rgba(47,91,104,.14);}
body.light-mode .mc-stage-band text{fill:#496169;font-weight:650;}
body.light-mode .mc-curve-axis-left,
body.light-mode .mc-curve-axis-bottom{color:#536a72;font-weight:650;}
body.light-mode .mc-curve-pill{fill:rgba(255,255,255,.99);stroke:rgba(47,91,104,.20);}
body.light-mode .mc-curve-label{fill:#27464e;font-weight:700;}
body.light-mode .mc-curve-value{fill:#29464e;font-weight:700;}
/* V86 — light-mode parity for Alignment / Endurance + Measurement curve refinement */
.mc-curve-area{fill:url(#mcCurveFill);opacity:.30;filter:drop-shadow(0 8px 14px rgba(7,17,29,.08))}
body.light-mode .mc-curve-area{opacity:.26;filter:none}
/* Plain-spoken hover explanations for the six Read the Structure tiles. */
.mc-helpable{position:relative;cursor:help;outline:none}
.mc-helpable::after{
  content:attr(data-help);position:absolute;left:8px;right:8px;top:calc(100% + 8px);z-index:40;
  padding:10px 11px;border:1px solid rgba(121,222,199,.24);border-radius:7px;
  background:rgba(6,15,25,.98);box-shadow:0 14px 32px rgba(0,0,0,.32);
  font:400 9.5px/1.5 var(--sans);color:#c2ced2;letter-spacing:0;text-transform:none;
  opacity:0;visibility:hidden;transform:translateY(-3px);transition:opacity .16s ease,transform .16s ease,visibility .16s ease;
  pointer-events:none;
}
.mc-helpable:hover::after,.mc-helpable:focus-visible::after{opacity:1;visibility:visible;transform:translateY(0)}
body.light-mode .mc-helpable::after{
  background:rgba(255,254,249,.99);border-color:rgba(29,113,91,.22);color:#334f57;
  box-shadow:0 12px 28px rgba(35,57,64,.12),inset 0 1px 0 #fff;
}
body.light-mode .phase-visual-overlay[data-phase-visual-kind="endurance"] .mc-close{
  background:linear-gradient(180deg,#fff,#f3f2ec)!important;border-color:rgba(34,73,82,.20)!important;color:#27464e!important;font-weight:700;
}
/* V90 — Measurement visual flip + hardened Endurance load-test interaction */
.mc-chart-view-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.mc-chart-view-label{font:500 8px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#91a0a8}
.mc-view-toggle{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:999px;border:1px solid rgba(106,132,148,.20);background:rgba(255,255,255,.025);color:#dbe6e8;font:500 7.5px var(--mono);letter-spacing:.13em;text-transform:uppercase;cursor:pointer;transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease}
.mc-view-toggle:hover{border-color:rgba(122,192,255,.38);background:rgba(122,192,255,.05);transform:translateY(-1px)}
.mc-view-toggle .mc-view-toggle-icon{font-size:12px;line-height:1;color:#7ac0ff;transition:transform .38s cubic-bezier(.22,1,.36,1)}
.mc-view-toggle[aria-pressed="true"] .mc-view-toggle-icon{transform:rotate(180deg)}
.mc-visual-switch{position:relative;min-height:282px;transform-origin:center;transition:transform .16s ease,opacity .16s ease}
.mc-visual-switch.is-flipping{transform:scaleX(.035);opacity:.58}
.mc-visual-face{display:none}
.mc-visual-switch[data-view="curve"] .mc-visual-face.curve-view,
.mc-visual-switch[data-view="distribution"] .mc-visual-face.distribution-view{display:block}
.mc-visual-switch[data-view="distribution"]{min-height:306px;transition:min-height .18s ease,transform .16s ease,opacity .16s ease}
.mc-visual-switch[data-view="distribution"].dist-help-open{min-height:410px}
.mc-visual-face .mc-section-label{margin-top:0}
.mc-dist-histogram{position:relative;margin-top:16px;padding:22px 14px 26px;height:198px;border-radius:8px;border:1px solid rgba(122,192,255,.12);background:radial-gradient(circle at 50% 0%,rgba(122,192,255,.10),transparent 38%),linear-gradient(180deg,rgba(122,192,255,.025),rgba(255,255,255,0));overflow:visible}
.mc-dist-histogram::before,.mc-dist-histogram::after{content:"";position:absolute;left:14px;right:14px;height:1px;background:rgba(255,255,255,.055)}
.mc-dist-histogram::before{top:54px}
.mc-dist-histogram::after{top:116px}
.mc-dist-bars{position:absolute;left:20px;right:20px;bottom:34px;height:126px;display:grid;grid-template-columns:repeat(19,1fr);gap:6px;align-items:end}
.mc-dist-bars span{display:block;border-radius:999px 999px 2px 2px;background:linear-gradient(180deg,rgba(122,192,255,.92),rgba(122,192,255,.16));box-shadow:0 0 0 1px rgba(255,255,255,.035) inset,0 6px 18px rgba(122,192,255,.04);opacity:.92}
.mc-dist-axis{position:absolute;left:20px;right:20px;bottom:10px;display:flex;justify-content:space-between;font:500 8px var(--mono);letter-spacing:.10em;text-transform:uppercase;color:#83949a}
.mc-dist-markers{position:absolute;left:20px;right:20px;top:18px;bottom:30px;pointer-events:none}
.mc-dist-marker{position:absolute;bottom:0;transform:translateX(-50%);display:grid;justify-items:center;gap:5px}
.mc-dist-marker::before{content:"";width:1px;height:148px;background:linear-gradient(180deg,rgba(122,192,255,.05),rgba(122,192,255,.24))}
.mc-dist-pin{padding:5px 7px;border-radius:999px;border:1px solid rgba(122,192,255,.14);background:rgba(6,12,18,.82);font:500 7.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#dce7eb;white-space:nowrap;box-shadow:0 5px 16px rgba(0,0,0,.10)}
.mc-dist-pin strong{color:var(--mc-pin-accent,#7ac0ff);font-weight:600}
body.light-mode .mc-chart-view-label{color:#536b73}
body.light-mode .mc-view-toggle{background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(244,247,244,.90));border-color:rgba(47,91,104,.20);color:#31515a;box-shadow:inset 0 1px 0 #fff}
body.light-mode .mc-view-toggle .mc-view-toggle-icon{color:#4b91be}
body.light-mode .mc-dist-histogram{border-color:rgba(64,125,161,.18);background:radial-gradient(circle at 50% 0%,rgba(122,192,255,.14),transparent 42%),linear-gradient(180deg,rgba(255,255,255,.76),rgba(240,246,248,.48));box-shadow:inset 0 1px 0 rgba(255,255,255,.96)}
body.light-mode .mc-dist-histogram::before,body.light-mode .mc-dist-histogram::after{background:rgba(55,101,126,.10)}
body.light-mode .mc-dist-axis{color:#536d75;font-weight:650}
body.light-mode .mc-dist-marker::before{background:linear-gradient(180deg,rgba(71,134,169,.08),rgba(71,134,169,.30))}
body.light-mode .mc-dist-pin{background:rgba(255,255,255,.97);border-color:rgba(64,125,161,.20);color:#294850;box-shadow:0 6px 16px rgba(42,62,72,.07),inset 0 1px 0 #fff}
/* V91 — explain the distribution without changing its visual language. */
.mc-dist-help{position:relative;display:inline-flex;align-items:center;gap:5px;cursor:help;outline:none}
.mc-dist-help::before{content:"?";display:grid;place-items:center;width:13px;height:13px;border-radius:999px;border:1px solid rgba(122,192,255,.28);color:#7ac0ff;font:600 7px/1 var(--mono);opacity:.78;order:2}
.mc-dist-help::after{content:attr(data-help);position:absolute;z-index:80;left:0;top:calc(100% + 8px);width:min(340px,72vw);padding:10px 12px;border:1px solid rgba(122,192,255,.22);border-radius:8px;background:rgba(5,14,24,.985);box-shadow:0 16px 36px rgba(0,0,0,.34);font:400 9.5px/1.5 var(--sans);letter-spacing:0;text-transform:none;color:#c5d2d6;white-space:normal;opacity:0;visibility:hidden;transform:translateY(-3px);transition:opacity .15s ease,transform .15s ease,visibility .15s ease;pointer-events:none}
.mc-dist-help:hover::after,.mc-dist-help:focus-visible::after{opacity:1;visibility:visible;transform:translateY(0)}
.mc-chart-title>span.mc-dist-help::after{left:auto;right:0;width:min(350px,74vw)}
.mc-dist-bars span{position:relative;cursor:help;outline:none;transition:filter .15s ease,opacity .15s ease,transform .15s ease}
.mc-dist-bars span:hover,.mc-dist-bars span:focus-visible{filter:brightness(1.18) saturate(1.10);opacity:1;transform:translateY(-2px)}
.mc-dist-tooltip{position:absolute;z-index:70;min-width:220px;max-width:286px;padding:10px 11px;border:1px solid rgba(122,192,255,.24);border-radius:8px;background:rgba(5,14,24,.985);box-shadow:0 16px 34px rgba(0,0,0,.34);color:#c8d4d8;font:400 9.5px/1.45 var(--sans);opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .12s ease,transform .12s ease,visibility .12s ease;pointer-events:none}
.mc-dist-tooltip.show{opacity:1;visibility:visible;transform:translateY(0)}
.mc-dist-tooltip strong{display:block;margin-bottom:4px;color:#eaf2f4;font:600 8px/1.25 var(--mono);letter-spacing:.10em;text-transform:uppercase}
.mc-dist-tooltip span{display:block;color:#99adb4}
body.light-mode .mc-dist-help::before{border-color:rgba(54,111,142,.28);color:#397fa8;background:rgba(255,255,255,.72)}
body.light-mode .mc-dist-help::after,body.light-mode .mc-dist-tooltip{background:rgba(255,254,249,.99);border-color:rgba(54,111,142,.22);color:#35535c;box-shadow:0 12px 28px rgba(35,57,64,.13),inset 0 1px 0 #fff}
body.light-mode .mc-dist-tooltip strong{color:#274a55}
body.light-mode .mc-dist-tooltip span{color:#5e777f}
/* Climate pill echoes the selected temperature/model card. */
.mc-climate-chip{--climate:#d5ad63;--climate-bg:rgba(213,173,99,.09);--climate-border:rgba(213,173,99,.36);border-color:var(--climate-border)!important;background:linear-gradient(180deg,var(--climate-bg),rgba(255,255,255,.015))!important}
.mc-climate-chip strong{color:var(--climate)!important}
.mc-climate-chip[data-climate="cooling"]{--climate:#8ecbff;--climate-bg:rgba(122,192,255,.10);--climate-border:rgba(122,192,255,.38)}
.mc-climate-chip[data-climate="cautious"]{--climate:#9da8e6;--climate-bg:rgba(107,123,196,.11);--climate-border:rgba(107,123,196,.40)}
.mc-climate-chip[data-climate="hot"]{--climate:#eaa04d;--climate-bg:rgba(229,142,38,.11);--climate-border:rgba(229,142,38,.40)}
.mc-climate-chip[data-climate="custom"]{--climate:#bac4c9;--climate-bg:rgba(174,186,193,.09);--climate-border:rgba(174,186,193,.30)}
body.light-mode .mc-climate-chip{--climate:#80631f;--climate-bg:rgba(201,168,76,.10);--climate-border:rgba(145,107,30,.28)}
body.light-mode .mc-climate-chip[data-climate="cooling"]{--climate:#2f6d85;--climate-bg:rgba(77,168,218,.10);--climate-border:rgba(47,109,133,.26)}
body.light-mode .mc-climate-chip[data-climate="cautious"]{--climate:#4f5e9d;--climate-bg:rgba(107,123,196,.10);--climate-border:rgba(79,94,157,.26)}
body.light-mode .mc-climate-chip[data-climate="hot"]{--climate:#965915;--climate-bg:rgba(229,142,38,.11);--climate-border:rgba(150,89,21,.27)}
body.light-mode .mc-climate-chip[data-climate="custom"]{--climate:#566970;--climate-bg:rgba(95,112,120,.08);--climate-border:rgba(95,112,120,.22)}
/* Remove only the decorative six-pixel boxes in the top-right of Range cards. */
.mc-range-card::after,.mc-chart::after,.mc-sidecar::after{display:none!important}
/* Distribution stays compact until a bar asks for the explanatory panel. */
.mc-chart.mc-dist-tooltip-active{overflow:visible}
.mc-dist-tooltip{box-sizing:border-box;width:min(286px,calc(100% - 12px));max-width:calc(100% - 12px)}
.mc-convergence-right{position:relative}
.mc-convergence-status-top{position:absolute;left:16px;top:14px;z-index:4;width:auto;min-width:168px;padding:10px 13px;border:1px solid rgba(121,222,199,.18);box-shadow:0 8px 22px rgba(0,0,0,.16);pointer-events:none}
.mc-convergence-badge{top:14px!important;right:16px!important;transform:scale(.94)!important;z-index:4;padding:11px 18px!important}
.mc-convergence-badge.show{transform:scale(1)!important}
.mc-convergence-footer{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.mc-convergence-footer .mc-convergence-stat{min-height:78px;padding:13px 13px 11px}
.mc-convergence-stat strong{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.mc-convergence-stat strong b{font:500 19px/1.05 var(--display);color:inherit}
.mc-convergence-stat strong em{font:500 8px var(--mono);font-style:normal;letter-spacing:.11em;text-transform:uppercase;color:#7ddbc1}
body.light-mode .mc-convergence-status-top{background:rgba(249,249,245,.94)!important;border-color:rgba(29,158,117,.20)!important;box-shadow:0 8px 20px rgba(35,57,64,.10)!important}
body.light-mode .mc-convergence-stat strong em{color:#267b65}
@media(max-width:980px){
  .mc-convergence-footer{grid-template-columns:1fr 1fr!important}
  .mc-convergence-status-top{left:10px;top:10px}
  .mc-convergence-badge{right:10px!important;top:10px!important}
}
/* V95 — Measurement micro-polish + DATA plot-to-sketch progression. */
/* Range-zone pills: retain the restrained drafting style, but let each zone carry its meaning. */
.mc-stage-band .zone-conservative{fill:rgba(201,168,76,.11);stroke:rgba(201,168,76,.30);}
.mc-stage-band .zone-decision{fill:rgba(93,202,165,.11);stroke:rgba(93,202,165,.29);}
.mc-stage-band .zone-stretch{fill:rgba(226,75,74,.105);stroke:rgba(226,75,74,.28);}
.mc-stage-band .zone-conservative-label{fill:#cfb568;}
.mc-stage-band .zone-decision-label{fill:#77cdb5;}
.mc-stage-band .zone-stretch-label{fill:#e67b77;}
body.light-mode .mc-stage-band .zone-conservative{fill:rgba(201,168,76,.16);stroke:rgba(137,101,26,.30);}
body.light-mode .mc-stage-band .zone-decision{fill:rgba(29,158,117,.13);stroke:rgba(29,123,95,.28);}
body.light-mode .mc-stage-band .zone-stretch{fill:rgba(226,75,74,.12);stroke:rgba(174,64,63,.27);}
body.light-mode .mc-stage-band .zone-conservative-label{fill:#80621f;font-weight:700;}
body.light-mode .mc-stage-band .zone-decision-label{fill:#286b59;font-weight:700;}
body.light-mode .mc-stage-band .zone-stretch-label{fill:#a74644;font-weight:700;}
/* Datum dragger: explicit light/dark states prevent the marker from disappearing or
   inheriting stale text contrast when the site theme is cycled. */
body.light-mode .mc-curve-node.datum-node > line{
  stroke:rgba(24,118,91,.66)!important;stroke-width:1.8!important;stroke-dasharray:4 4!important;
}
body.light-mode .mc-curve-node.datum-node .mc-datum-core{
  fill:#f9fdf9!important;stroke:#1D9E75!important;stroke-width:3!important;
  filter:drop-shadow(0 0 4px rgba(29,158,117,.20));
}
body.light-mode .mc-curve-node.datum-node .mc-curve-pill{
  fill:rgba(249,255,251,.995)!important;stroke:rgba(29,123,95,.38)!important;
}
body.light-mode .mc-curve-node.datum-node .mc-curve-label{fill:#24574a!important;font-weight:750!important;}
body.light-mode .mc-curve-node.datum-node .mc-curve-value{fill:#17654f!important;font-weight:750!important;}
body:not(.light-mode) .mc-curve-node.datum-node > line{
  stroke:rgba(121,222,199,.48)!important;stroke-width:1.6!important;stroke-dasharray:4 4!important;
}
body:not(.light-mode) .mc-curve-node.datum-node .mc-datum-core{
  fill:#091b20!important;stroke:#79dec7!important;stroke-width:3!important;
}
body:not(.light-mode) .mc-curve-node.datum-node .mc-curve-pill{
  fill:rgba(7,20,28,.98)!important;stroke:rgba(121,222,199,.32)!important;
}
body:not(.light-mode) .mc-curve-node.datum-node .mc-curve-label{fill:#dff5ee!important;}
body:not(.light-mode) .mc-curve-node.datum-node .mc-curve-value{fill:#79dec7!important;}
/* V96 — DATA plan configuration + foundation cue; durable Datum dragger contrast. */
/* The draggable Datum marker uses one deliberate high-contrast treatment in both themes.
   This avoids stale inherited light/dark SVG fills when site and paper modes are cycled. */
#mcOverlay .mc-curve-node.datum-node > line{
  stroke:#1D9E75!important;
  stroke-width:2.35!important;
  stroke-dasharray:5 4!important;
  opacity:1!important;
  filter:drop-shadow(0 0 2px rgba(29,158,117,.22));
}
#mcOverlay .mc-curve-node.datum-node .mc-datum-core{
  fill:#fbfffc!important;
  stroke:#1D9E75!important;
  stroke-width:3.2!important;
  filter:drop-shadow(0 0 5px rgba(29,158,117,.30));
}
#mcOverlay .mc-curve-node.datum-node .mc-curve-pill{
  fill:#176b56!important;
  stroke:#79dec7!important;
  stroke-width:1.2!important;
  filter:drop-shadow(0 5px 12px rgba(9,18,33,.18));
}
#mcOverlay .mc-curve-node.datum-node .mc-curve-label{fill:#f7fffb!important;font-weight:750!important;}
#mcOverlay .mc-curve-node.datum-node .mc-curve-value{fill:#d8fff3!important;font-weight:750!important;}
/* V97 — DATA opening refinement + first-room build. */
/* Measurement Datum dragger: explicitly key contrast to the SITE theme, not the
   paper theme. Light mode automatically turns the paper light, and switching the
   site back to dark intentionally leaves that paper choice alone; these selectors
   therefore prevent a stale light-style label from surviving a Light → Dark cycle. */
body.light-mode #mcOverlay .mc-curve-node.datum-node > line{
  stroke:#176a58!important;stroke-width:3!important;stroke-dasharray:6 4!important;opacity:1!important;
  filter:drop-shadow(0 0 1px rgba(255,255,255,.96)) drop-shadow(0 0 2px rgba(23,106,88,.34))!important;
}
body.light-mode #mcOverlay .mc-curve-node.datum-node .mc-datum-core{
  fill:#ffffff!important;stroke:#176a58!important;stroke-width:3.4!important;
  filter:drop-shadow(0 1px 3px rgba(33,63,58,.22))!important;
}
body.light-mode #mcOverlay .mc-curve-node.datum-node .mc-curve-pill{
  fill:#eef8f3!important;stroke:#176a58!important;stroke-width:1.15!important;
  filter:drop-shadow(0 5px 10px rgba(35,57,64,.14))!important;
}
body.light-mode #mcOverlay .mc-curve-node.datum-node .mc-curve-label{fill:#26433c!important;font-weight:800!important;}
body.light-mode #mcOverlay .mc-curve-node.datum-node .mc-curve-value{fill:#0f6752!important;font-weight:800!important;}
body:not(.light-mode) #mcOverlay .mc-curve-node.datum-node > line{
  stroke:#79dec7!important;stroke-width:2.6!important;stroke-dasharray:6 4!important;opacity:1!important;
  filter:drop-shadow(0 0 4px rgba(121,222,199,.38))!important;
}
body:not(.light-mode) #mcOverlay .mc-curve-node.datum-node .mc-datum-core{
  fill:#07151e!important;stroke:#79dec7!important;stroke-width:3.2!important;
  filter:drop-shadow(0 0 6px rgba(121,222,199,.34))!important;
}
body:not(.light-mode) #mcOverlay .mc-curve-node.datum-node .mc-curve-pill{
  fill:#0a1c26!important;stroke:rgba(121,222,199,.62)!important;stroke-width:1.15!important;
  filter:drop-shadow(0 5px 12px rgba(0,0,0,.28))!important;
}
body:not(.light-mode) #mcOverlay .mc-curve-node.datum-node .mc-curve-label{fill:#f1faf7!important;font-weight:800!important;}
body:not(.light-mode) #mcOverlay .mc-curve-node.datum-node .mc-curve-value{fill:#79dec7!important;font-weight:800!important;}
