/* The Expansion Brief. Everything is scoped under .lab-expansion-brief; shared language lives in lab.css.
   Each round is an instrument: editorial question on paper, then a Night panel holding the scene and,
   directly beneath it, the choices that change it. Tokens come from design.css, with fallbacks. */
.lab-expansion-brief [hidden]{display:none!important}
.lab-expansion-brief .eb{
  --eb-night:var(--ed-night-2,#16222A);--eb-deep:var(--ed-night,#0D1418);
  --eb-on:var(--ed-paper,#F7F4EE);--eb-on-soft:#C9CFCC;--eb-on-muted:var(--ed-muted-on-night,#A9B0AE);
  --eb-heat-n:var(--ed-heat-on-night,#F08A6E);--eb-water-n:var(--ed-water-on-night,#7CC3C6);--eb-power-n:var(--ed-power-on-night,#E3B860);
  --eb-line-n:rgba(247,244,238,.46);--eb-faint-n:rgba(247,244,238,.16);
  --eb-heat:var(--ed-heat,#B4432C);--eb-water:var(--ed-water,#1F6F78);--eb-power:var(--ed-power,#86590C);
  --eb-ink:var(--ed-ink,#151C21);--eb-rule:var(--ed-line,#D7D2C7);
  --eb-display:var(--ed-display,var(--display,Georgia,serif));--eb-sans:var(--ed-sans,var(--sans,Inter,Arial,sans-serif));
  --eb-pad:clamp(16px,2.4vw,24px);
  --eb-grid:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
}
/* Labels stay at 13 px or more (the shared kit sets some at 12 px) */
.lab-expansion-brief :is(.lab-tag,.lab-step-count,.lab-readout dt){font-size:13px}

/* ---------- The brief and the ledger of decisions (paper, no box) ---------- */
.lab-expansion-brief .eb-stage{background:none;border:0;padding:0;scroll-margin-top:12px}
.lab-expansion-brief .eb-brief{display:grid;gap:16px 40px;margin:0 0 clamp(24px,3vw,34px)}
.lab-expansion-brief .eb-brief.is-compact{margin:0 0 clamp(24px,3vw,36px)}
.lab-expansion-brief .eb-brief-label{display:block;margin:0 0 8px;color:var(--eb-water)}
.lab-expansion-brief .eb-brief-text{font:400 clamp(19px,1.8vw,22px)/1.45 var(--ed-text,var(--eb-display));margin:0;max-width:40ch}
.lab-expansion-brief .eb-ledger{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px;align-self:end}
.lab-expansion-brief .eb-ledger li{border-top:2px solid var(--eb-rule);padding:10px 0 0;min-width:0}
.lab-expansion-brief .eb-ledger li.is-decided{border-top-color:var(--lab-muted)}
.lab-expansion-brief .eb-ledger li.is-current{border-top-color:var(--eb-ink)}
.lab-expansion-brief .eb-ledger-name{display:flex;gap:8px;align-items:baseline;font-size:13px;font-weight:650;letter-spacing:.01em}
.lab-expansion-brief .eb-ledger-n{font-variant-numeric:tabular-nums;color:var(--lab-muted);font-weight:600}
.lab-expansion-brief .eb-ledger-choice{display:block;font-size:14px;line-height:1.4;margin-top:3px}
.lab-expansion-brief .eb-ledger-choice.is-empty{color:var(--lab-muted)}
/* Two lines reserved, so a choice that wraps never moves the round beneath it */
.lab-expansion-brief .eb-brief.is-compact .eb-ledger-choice{min-height:2.8em}
@media(min-width:960px){
  .lab-expansion-brief .eb-brief:not(.is-compact){grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);align-items:end}
}

/* ---------- The question: an editorial head above the instrument ---------- */
.lab-expansion-brief .eb-head{display:grid;gap:10px 56px}
@media(min-width:900px){
  .lab-expansion-brief .eb-head{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:end}
}
.lab-expansion-brief .eb-head .lab-step-count{margin:0 0 10px}
.lab-expansion-brief .eb-question{font:400 clamp(26px,2.8vw,34px)/1.1 var(--eb-display);letter-spacing:-.02em;margin:0;max-width:20ch}
.lab-expansion-brief .eb-question:focus{outline:none}
.lab-expansion-brief .eb-question:focus-visible{outline:3px solid var(--lab-focus);outline-offset:4px}
.lab-expansion-brief .eb-framing{font-size:16px;line-height:1.6;margin:0;max-width:56ch;color:#33393A}

/* ---------- The instrument: scene (figure) and its controls on one Night panel ---------- */
.lab-expansion-brief .eb-figure{
  margin:clamp(22px,2.8vw,32px) 0 0;min-width:0;color:var(--eb-on);
  background-color:var(--eb-night);background-image:var(--eb-grid);background-size:32px 32px;background-position:0 100%;
  padding:var(--eb-pad) var(--eb-pad) 18px;border-radius:4px 4px 0 0
}
.lab-expansion-brief .eb-controls{
  margin:0;gap:0;display:block;color:var(--eb-on);border:0;
  background-color:var(--eb-night);background-image:var(--eb-grid);background-size:32px 32px;background-position:0 0;
  padding:4px var(--eb-pad) var(--eb-pad);border-radius:0 0 4px 4px;container-type:inline-size
}
.lab-expansion-brief .eb[data-round=summary] .eb-figure{border-radius:4px;padding-bottom:var(--eb-pad)}
.lab-expansion-brief .eb-figure .lab-figure-caption{color:var(--eb-on-muted);font-size:13px;line-height:1.5;margin:16px 0 0;max-width:86ch}
.lab-expansion-brief .eb-svg{width:100%;min-width:0}
.lab-expansion-brief .eb-svg svg{display:block;width:100%;height:auto;overflow:visible}

/* SVG type on Night: Inter for labels, the display serif for numbers */
.lab-expansion-brief .eb-svg text{font-family:var(--eb-sans);font-size:13px;fill:var(--eb-on)}
.lab-expansion-brief .eb-svg .eb-t-title{font-size:15px;font-weight:650}
.lab-expansion-brief .eb-svg .eb-t-title.is-small{font-size:13px}
.lab-expansion-brief .eb-svg .eb-t-strong{font-weight:600}
.lab-expansion-brief .eb-svg .eb-t-muted{fill:var(--eb-on-muted)}
.lab-expansion-brief .eb-svg :is(.eb-t-heat){fill:var(--eb-heat-n)}
.lab-expansion-brief .eb-svg :is(.eb-t-water){fill:var(--eb-water-n)}
.lab-expansion-brief .eb-svg :is(.eb-t-power){fill:var(--eb-power-n)}
.lab-expansion-brief .eb-svg :is(.eb-t-air){fill:var(--eb-on-muted)}
.lab-expansion-brief .eb-svg .eb-t-ink{fill:var(--eb-deep)}
.lab-expansion-brief .eb-svg .eb-t-big{font-family:var(--eb-display);font-size:30px;letter-spacing:-.01em;fill:var(--eb-on)}
.lab-expansion-brief .eb-svg .eb-t-big.is-small{font-size:24px}
.lab-expansion-brief .eb-svg .eb-t-num{font-family:var(--eb-display);font-size:24px;font-variant-numeric:tabular-nums}
.lab-expansion-brief .eb-svg .eb-t-num.is-small{font-size:20px}
.lab-expansion-brief .eb-svg .eb-t-num.is-none{fill:var(--eb-on)}
.lab-expansion-brief .eb-svg .eb-t-prefix{font-family:var(--eb-sans);font-size:13px;fill:var(--eb-on-muted)}
.lab-expansion-brief .eb-svg .eb-t-dial{font-family:var(--eb-display);font-size:19px;fill:var(--eb-power-n)}
/* A dark halo lets a label sit across a line without the line running through it */
.lab-expansion-brief .eb-svg .eb-halo{paint-order:stroke;stroke:var(--eb-night);stroke-width:7px;stroke-linejoin:round}

/* Marks: thin light lines on Night; heat warm red, water teal, power amber */
.lab-expansion-brief .eb-rule{stroke:var(--eb-faint-n);stroke-width:3}
.lab-expansion-brief .eb-rowrule{stroke:var(--eb-faint-n);stroke-width:1}
.lab-expansion-brief .eb-hall{fill:rgba(13,20,24,.35);stroke:var(--eb-line-n);stroke-width:1}
.lab-expansion-brief .eb-rack{fill:rgba(247,244,238,.05);stroke:rgba(247,244,238,.42);stroke-width:1}
.lab-expansion-brief .eb-heatfill,.lab-expansion-brief .eb-fill-heat{fill:var(--eb-heat-n)}
.lab-expansion-brief .eb-loop{fill:none;stroke:var(--eb-water-n);stroke-width:2;stroke-linejoin:round}
.lab-expansion-brief .eb-cdu{fill:var(--eb-deep);stroke:var(--eb-water-n);stroke-width:1.4}
.lab-expansion-brief .eb-fill-water{fill:var(--eb-water-n)}
.lab-expansion-brief .eb-fill-power{fill:var(--eb-power-n)}
.lab-expansion-brief .eb-fill-air{fill:#8D9592}
.lab-expansion-brief .eb-open{stroke:var(--eb-heat-n);stroke-width:1}
.lab-expansion-brief .eb-hatch-bg{fill:rgba(240,138,110,.14)}
.lab-expansion-brief .eb-hatch-line{stroke:var(--eb-heat-n);stroke-width:1.6;stroke-opacity:.7}
.lab-expansion-brief .eb-track{fill:rgba(247,244,238,.1)}
.lab-expansion-brief .eb-tick{stroke:rgba(247,244,238,.38);stroke-width:1}
.lab-expansion-brief .eb-zero{stroke:var(--eb-on);stroke-width:2}
.lab-expansion-brief .eb-tower{fill:rgba(124,195,198,.1);stroke:var(--eb-water-n);stroke-width:1.4;stroke-linejoin:round}
.lab-expansion-brief .eb-fillpack{stroke:var(--eb-water-n);stroke-opacity:.5;stroke-width:1}
.lab-expansion-brief .eb-basin{stroke:var(--eb-water-n);stroke-width:1.4}
.lab-expansion-brief .eb-vapour{fill:none;stroke:var(--eb-water-n);stroke-width:1.6;stroke-linecap:round}
.lab-expansion-brief .eb-drycooler{fill:rgba(247,244,238,.05);stroke:var(--eb-line-n);stroke-width:1.2}
.lab-expansion-brief .eb-fan{fill:none;stroke:var(--eb-line-n);stroke-width:1.1}
.lab-expansion-brief .eb-fanblade{fill:none;stroke:var(--eb-on-soft);stroke-width:1.5;stroke-linecap:round}
.lab-expansion-brief .eb-fanhub{fill:var(--eb-on-soft);stroke:none}
.lab-expansion-brief .eb-warmflow{stroke:var(--eb-heat-n);stroke-width:1.6}
.lab-expansion-brief .eb-arrowhead-warm{fill:var(--eb-heat-n)}
.lab-expansion-brief .eb-pipe{stroke:var(--eb-water-n);stroke-width:1.6}
.lab-expansion-brief .eb-chiller{fill:var(--eb-deep);stroke:var(--eb-line-n);stroke-width:1.2}
.lab-expansion-brief .eb-powerline{stroke:var(--eb-power-n);stroke-width:2.4;stroke-linecap:round}
.lab-expansion-brief .eb-dial-track{fill:none;stroke:rgba(247,244,238,.14);stroke-width:5}
.lab-expansion-brief .eb-dial{fill:none;stroke:var(--eb-power-n);stroke-width:5}
/* Handover: line style and position, not colour, carry the difference */
.lab-expansion-brief .eb-plan{stroke:var(--eb-on-muted);stroke-width:1.2;stroke-dasharray:5 5}
.lab-expansion-brief .eb-trackline{stroke:var(--eb-line-n);stroke-width:2}
.lab-expansion-brief .eb-live{stroke:var(--eb-on);stroke-width:4;stroke-linecap:butt}
.lab-expansion-brief .eb-live.is-unproven{stroke-dasharray:6 6}
.lab-expansion-brief .eb-station{fill:var(--eb-night);stroke:var(--eb-on);stroke-width:1.6}
.lab-expansion-brief .eb-station.is-load{fill:var(--eb-on)}
.lab-expansion-brief .eb-station.is-ghost{stroke:var(--eb-on-muted);stroke-dasharray:2.5 2.5}
.lab-expansion-brief .eb-movein{fill:var(--eb-on);stroke:var(--eb-night);stroke-width:3}
.lab-expansion-brief .eb-valve{fill:var(--eb-night);stroke:var(--eb-on);stroke-width:1.4;stroke-linejoin:round}
.lab-expansion-brief .eb-bracket{fill:none;stroke:var(--eb-on-muted);stroke-width:1.2}
.lab-expansion-brief .eb-level{fill:none;stroke:var(--eb-line-n);stroke-width:1}
.lab-expansion-brief .eb-level.is-skipped{stroke:var(--eb-on-muted);stroke-dasharray:3 3}
.lab-expansion-brief .eb-level-load{fill:var(--eb-on);stroke:var(--eb-on);stroke-width:1}

/* Motion explains the change: the chosen option lights, the other recedes; the chiller's bar and dial ease to the new share */
.lab-expansion-brief .eb-svg :is(.eb-mark,.eb-when,.eb-sharev,.eb-rule,text){transition:opacity .26s ease,fill .26s ease,stroke .26s ease}
.lab-expansion-brief .eb-svg .eb-scale-x{transform-box:fill-box;transform-origin:0 50%;transition:transform .28s cubic-bezier(.2,.7,.2,1),opacity .26s ease}
.lab-expansion-brief .eb-svg .eb-dial{transition:stroke-dashoffset .28s cubic-bezier(.2,.7,.2,1),opacity .26s ease}
.lab-expansion-brief .eb-svg .eb-when .eb-heatfill{transform-box:fill-box;transform-origin:50% 50%;transform:scale(.45);transition:transform .28s cubic-bezier(.2,.7,.2,1)}
.lab-expansion-brief .eb-svg svg[data-choice=none] [data-when=none] .eb-heatfill,
.lab-expansion-brief .eb-svg svg[data-choice=a] [data-when=a] .eb-heatfill,
.lab-expansion-brief .eb-svg svg[data-choice=b] [data-when=b] .eb-heatfill{transform:none}
.lab-expansion-brief .eb-svg svg[data-choice=a] .eb-col-a .eb-rule,
.lab-expansion-brief .eb-svg svg[data-choice=b] .eb-col-b .eb-rule,
.lab-expansion-brief .eb-svg svg[data-choice=summary] .eb-rule{stroke:var(--eb-on)}
.lab-expansion-brief .eb-svg svg[data-choice=a] .eb-col-b .eb-mark,
.lab-expansion-brief .eb-svg svg[data-choice=b] .eb-col-a .eb-mark{opacity:.42}
.lab-expansion-brief .eb-svg svg[data-choice=a] .eb-col-b text,
.lab-expansion-brief .eb-svg svg[data-choice=b] .eb-col-a text,
.lab-expansion-brief .eb-svg svg[data-choice=a] .eb-col-b tspan,
.lab-expansion-brief .eb-svg svg[data-choice=b] .eb-col-a tspan{fill:var(--eb-on-muted)}
.lab-expansion-brief .eb-svg .eb-when,.lab-expansion-brief .eb-svg .eb-sharev{opacity:0}
.lab-expansion-brief .eb-svg svg[data-choice=none] .eb-when[data-when=none],
.lab-expansion-brief .eb-svg svg[data-choice=a] .eb-when[data-when=a],
.lab-expansion-brief .eb-svg svg[data-choice=b] .eb-when[data-when=b],
.lab-expansion-brief .eb-svg svg[data-share="10"] .eb-sharev[data-share-v="10"],
.lab-expansion-brief .eb-svg svg[data-share="30"] .eb-sharev[data-share-v="30"],
.lab-expansion-brief .eb-svg svg[data-share="50"] .eb-sharev[data-share-v="50"]{opacity:1}
.lab-expansion-brief .eb-reduced *,.lab-expansion-brief .eb-reduced *::before,.lab-expansion-brief .eb-reduced *::after{transition:none!important;animation:none!important}

/* ---------- Controls on the panel ---------- */
.lab-expansion-brief .eb-options{min-width:0;border:0;padding:0;margin:0}
.lab-expansion-brief .eb-controls .lab-choices.is-two{grid-template-columns:1fr;gap:10px}
@container (min-width:560px){
  .lab-expansion-brief .eb-controls .lab-choices.is-two{grid-template-columns:1fr 1fr;gap:10px 40px}
  .lab-expansion-brief .eb-controls .eb-share{margin-left:calc(50% + 20px)}
}
.lab-expansion-brief .eb-controls .eb-choice{
  flex:none;height:100%;min-height:44px;padding:15px 18px 16px;font:500 14px/1.35 var(--eb-sans);text-align:left;border-radius:3px;
  display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;
  color:var(--eb-on);background:rgba(13,20,24,.6);border:1px solid rgba(247,244,238,.34)
}
.lab-expansion-brief .eb-controls .eb-choice::after{content:none}
.lab-expansion-brief .eb-choice strong{font-size:15px;line-height:1.3}
.lab-expansion-brief .eb-choice small{font-size:13px;line-height:1.45;margin-top:4px;color:var(--eb-on-soft);opacity:1}
.lab-expansion-brief .eb-controls .eb-choice[aria-pressed=true]{background:var(--eb-on);color:var(--eb-ink);border-color:var(--eb-on)}
.lab-expansion-brief .eb-controls .eb-choice[aria-pressed=true] small{color:#3B4245}
.lab-expansion-brief .eb-controls :focus-visible{outline:3px solid var(--eb-on);outline-offset:3px}
.lab-expansion-brief .eb-share{border:0;padding:0;margin:22px 0 0;min-width:0}
.lab-expansion-brief .eb-share .lab-label{color:var(--eb-on)}
.lab-expansion-brief .eb-share .lab-note{margin:10px 0 0;max-width:60ch;color:var(--eb-on-muted)}
.lab-expansion-brief .eb-segmented{display:flex;max-width:460px;border:1px solid rgba(247,244,238,.34);border-radius:3px;background:rgba(13,20,24,.6)}
.lab-expansion-brief .eb-segmented label{flex:1 1 0;position:relative;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;padding:8px 4px;font:600 14px/1.2 var(--eb-sans);text-align:center;white-space:nowrap;cursor:pointer;border-right:1px solid rgba(247,244,238,.34);color:var(--eb-on)}
.lab-expansion-brief .eb-segmented label:last-child{border-right:0}
.lab-expansion-brief .eb-segmented label.is-checked{background:var(--eb-power-n);color:var(--eb-deep)}
.lab-expansion-brief .eb-segmented input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.lab-expansion-brief .eb-segmented label:has(input:focus-visible){outline:3px solid var(--eb-on);outline-offset:3px;z-index:1}
/* Hover only where there is a pointer that hovers; on touch a tap would otherwise leave a patch behind */
@media(hover:hover){
  .lab-expansion-brief .eb-controls .eb-choice:not([aria-pressed=true]):hover,
  .lab-expansion-brief .eb-segmented label:not(.is-checked):hover{background:rgba(247,244,238,.1)}
}
@media(hover:none){
  .lab-expansion-brief .lab-button:not(.is-primary):hover{background:var(--lab-paper)}
}

/* ---------- Consequence (paper) ---------- */
.lab-expansion-brief .eb-consequence{margin:clamp(28px,3.4vw,44px) 0 0;padding:0;border:0;container-type:inline-size}
.lab-expansion-brief .eb-consequence h3{font:400 clamp(26px,2.7vw,32px)/1.1 var(--eb-display);letter-spacing:-.015em;margin:0 0 4px}
.lab-expansion-brief .eb-placeholder{font-size:15px;color:var(--lab-muted);margin:0}
.lab-expansion-brief .eb-readout{margin:16px 0 0;border-top:1px solid var(--eb-ink)}
.lab-expansion-brief .eb-readout>div{border-bottom:0;padding:14px 18px 6px 0}
.lab-expansion-brief .eb-readout dd{font-family:var(--eb-display)}
.lab-expansion-brief .eb-readout .is-heat dd{color:var(--eb-heat)}
.lab-expansion-brief .eb-readout :is(.is-tech,.is-facility) dd{color:var(--eb-water)}
.lab-expansion-brief .eb-readout .eb-k-electricity dd{color:var(--eb-power)}
.lab-expansion-brief .eb-readout .is-ink:not(.eb-k-electricity) dd{color:var(--eb-ink)}
/* Real spaces separate number, unit and qualifier, so no extra margins */
.lab-expansion-brief .eb-readout dd small{margin:0;white-space:nowrap}
.lab-expansion-brief .eb-readout dd.is-words small,
.lab-expansion-brief .eb-readout dd .eb-after{display:block;margin:4px 0 0;white-space:normal}
.lab-expansion-brief .eb-readout dd.is-words{font-size:clamp(21px,2.4vw,25px);line-height:1.12}
/* Two columns of readouts: an odd last item takes the full row instead of leaving a half-width orphan */
@container (min-width:300px) and (max-width:449.98px){
  .lab-expansion-brief .eb-readout>div:last-child:nth-child(odd){grid-column:1/-1}
}
.lab-expansion-brief .eb-con-text p{font-size:16px;line-height:1.6;max-width:64ch;margin:18px 0 0}
.lab-expansion-brief .eb-ref{font-size:13px;line-height:1.5;color:var(--lab-muted);margin:10px 0 0;max-width:72ch}
.lab-expansion-brief .eb-nav{margin:28px 0 0}

/* ---------- Summary (paper, below the two halls) ---------- */
.lab-expansion-brief .eb-reasoning{margin:clamp(32px,4vw,48px) 0 0;padding:24px 0 0;border:0;border-top:1px solid var(--eb-ink);background:none}
.lab-expansion-brief .eb-reasoning h3{font:400 clamp(28px,3vw,36px)/1.08 var(--eb-display);scroll-margin-top:16px}
.lab-expansion-brief .eb-reasoning h3:focus{outline:none}
.lab-expansion-brief .eb-reasoning h3:focus-visible{outline:3px solid var(--lab-focus);outline-offset:4px}
.lab-expansion-brief .eb-reasoning-text p{font-size:16px;line-height:1.6;max-width:64ch;margin:0 0 .8em}
.lab-expansion-brief .eb-table{table-layout:fixed;margin:22px 0 6px}
.lab-expansion-brief .eb-table th[scope=row]{font-weight:600;width:30%;padding-right:18px}
.lab-expansion-brief .eb-table thead th{font-size:13px}
.lab-expansion-brief .eb-table td{font-variant-numeric:normal}
.lab-expansion-brief .eb-table td.is-yours{font-weight:500}
.lab-expansion-brief .eb-table td.is-other{color:var(--lab-muted)}
.lab-expansion-brief .eb-closing{font:400 clamp(24px,2.8vw,32px)/1.24 var(--eb-display);letter-spacing:-.01em;margin:32px 0 0;max-width:30ch}
.lab-expansion-brief .eb-actions .lab-button{min-width:9em;text-align:center}

@media(max-width:640px){
  /* On phones the instrument runs edge to edge, like the Lab's instrument bands */
  .lab-expansion-brief .eb-figure,.lab-expansion-brief .eb-controls{margin-left:calc(-1*var(--ed-gutter,0px));margin-right:calc(-1*var(--ed-gutter,0px));border-radius:0}
  .lab-expansion-brief .eb[data-round=summary] .eb-figure{border-radius:0}
  .lab-expansion-brief .eb-brief.is-compact{margin-bottom:22px}
  /* Phones list only the decisions already behind the reader: one or two short lines, never a jump on a pick */
  .lab-expansion-brief .eb-ledger:not(.has-past){display:none}
  .lab-expansion-brief .eb-ledger li:not(.is-past){display:none}
  .lab-expansion-brief .eb-ledger{grid-template-columns:1fr;gap:0}
  .lab-expansion-brief .eb-ledger li{display:grid;grid-template-columns:8.6em minmax(0,1fr);gap:10px;border-top-width:1px;padding:8px 0 7px}
  .lab-expansion-brief .eb-ledger-choice,.lab-expansion-brief .eb-brief.is-compact .eb-ledger-choice{margin-top:0;min-height:0}
  .lab-expansion-brief .eb-nav .lab-button{flex:1 1 auto;text-align:center}
}
/* Narrow screens: each row's label on top, the two halls side by side beneath it */
@media(max-width:520px){
  .lab-expansion-brief .eb-table,.lab-expansion-brief .eb-table thead,.lab-expansion-brief .eb-table tbody,.lab-expansion-brief .eb-table caption{display:block}
  .lab-expansion-brief .eb-table thead tr{border-bottom:1px solid var(--eb-ink)}
  .lab-expansion-brief .eb-table thead th{border-bottom:0;padding:0 0 8px}
  .lab-expansion-brief .eb-table caption{padding-bottom:10px}
  .lab-expansion-brief .eb-table thead tr,.lab-expansion-brief .eb-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:16px}
  .lab-expansion-brief .eb-table thead th.eb-measure{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);padding:0;border:0}
  .lab-expansion-brief .eb-table tbody tr{border-bottom:1px solid var(--lab-line);padding:11px 0 12px}
  .lab-expansion-brief .eb-table tbody th[scope=row]{grid-column:1/-1;width:auto;border:0;padding:0 0 4px;font-size:13px;color:var(--lab-muted)}
  .lab-expansion-brief .eb-table tbody td{border:0;padding:0}
}
@media(max-width:400px){
  .lab-expansion-brief .eb-ledger li{grid-template-columns:1fr;gap:2px}
  .lab-expansion-brief .eb-segmented label{padding:8px 6px;font-size:13px}
}

/* Forced colours (Windows High Contrast): the scene keeps its own palette and surface so its labels stay legible;
   the controls use system colours, and selection does not rely on a background the system replaces. */
@media(forced-colors:active){
  .lab-expansion-brief .eb-figure{forced-color-adjust:none}
  .lab-expansion-brief .eb-controls{background:Canvas;color:CanvasText}
  .lab-expansion-brief .eb-controls .eb-choice{border-color:ButtonText}
  .lab-expansion-brief .eb-controls .eb-choice[aria-pressed=true]{forced-color-adjust:none;background:Highlight;color:HighlightText;border-color:Highlight}
  .lab-expansion-brief .eb-controls .eb-choice[aria-pressed=true] small{color:HighlightText}
  .lab-expansion-brief .eb-segmented label.is-checked{forced-color-adjust:none;background:Highlight;color:HighlightText}
  .lab-expansion-brief .eb-controls :focus-visible,.lab-expansion-brief .eb-segmented label:has(input:focus-visible){outline-color:Highlight}
  .lab-expansion-brief .eb-ledger li.is-current{border-top-width:4px}
}

/* A decision desk: the plan, the choice and its consequence read as one instrument. */
.lab-expansion-brief .eb-ledger{gap:0 16px}
.lab-expansion-brief .eb-ledger li{padding-top:12px;border-top-width:1px}
.lab-expansion-brief .eb-ledger li.is-current{border-top-width:2px;padding-top:11px}
.lab-expansion-brief .eb-ledger li.is-current{border-top-color:var(--lab-copper)}
.lab-expansion-brief .eb-ledger-name{font-size:12px;line-height:1.4}
.lab-expansion-brief .eb-ledger-choice{font-size:13px;line-height:1.5;color:var(--lab-muted)}
.lab-expansion-brief .eb-ledger li.is-decided .eb-ledger-choice{color:var(--lab-ink)}
.lab-expansion-brief .eb-figure{background-image:none;border:1px solid var(--lab-console-rule);border-bottom:0;border-radius:4px 4px 0 0;padding-top:24px}
.lab-expansion-brief .eb-controls{background-image:none;border:1px solid var(--lab-console-rule);border-top-color:#ffffff20;border-radius:0 0 4px 4px;padding-top:18px}
.lab-expansion-brief .eb[data-round=summary] .eb-figure{border:1px solid var(--lab-console-rule);border-radius:4px}
.lab-expansion-brief .eb-controls .lab-choices.is-two{gap:12px 20px}
.lab-expansion-brief .eb-controls .eb-choice{border-color:#ffffff32;background:#ffffff04;border-radius:4px;padding:17px 18px;gap:2px;transition:border-color 140ms ease}
.lab-expansion-brief .eb-choice strong{font-size:15px;line-height:1.4;letter-spacing:-.01em}
.lab-expansion-brief .eb-choice small{line-height:1.55;color:#b9c6c8}
.lab-expansion-brief .eb-controls .eb-choice[aria-pressed=true]{background:#f6f3eb;border-color:#f6f3eb;box-shadow:inset 3px 0 0 var(--eb-water)}
.lab-expansion-brief .eb-controls .eb-choice[aria-pressed=true] small{color:#495651}
.lab-expansion-brief .eb-share .lab-label{font-size:12px;line-height:1.5;margin-bottom:10px}
.lab-expansion-brief .eb-segmented{border-radius:5px;border-color:#ffffff38;background:#0000000c;overflow:clip}
.lab-expansion-brief .eb-segmented label{min-height:46px;transition:background-color 160ms ease,color 160ms ease}
.lab-expansion-brief .eb-segmented:has(input:focus-visible){outline:2px solid var(--eb-on);outline-offset:4px}
.lab-expansion-brief .eb-consequence{border-top:1px solid var(--lab-line);padding-top:22px;margin-top:28px}
.lab-expansion-brief .eb-consequence h3{font-size:27px;line-height:1.2}
.lab-expansion-brief .eb-readout{border-top:0;gap:0 24px;margin-top:18px}
.lab-expansion-brief .eb-readout>div{border-top:1px solid var(--lab-line);padding:14px 0 12px}
.lab-expansion-brief .eb-readout dt{font-size:12px;line-height:1.4}
.lab-expansion-brief .eb-readout dd{font-size:28px;line-height:1.15;letter-spacing:-.025em}
.lab-expansion-brief .eb-readout dd small{font-size:13px;letter-spacing:0}
.lab-expansion-brief .eb-reasoning h3{font-size:30px;line-height:1.2}
.lab-expansion-brief .eb-closing{font-size:27px;line-height:1.35}
/* Copy swaps instantly: fading two alternatives together briefly makes the scientific labels unreadable. */
.lab-expansion-brief .eb-svg :is(text,tspan,.eb-when,.eb-sharev){transition:none}
.lab-expansion-brief .eb-controls .eb-choice[aria-pressed=true]{background:#f6f3eb;box-shadow:inset 2px 0 0 #bf7a53}
.lab-expansion-brief .eb-controls .eb-choice[aria-pressed=true] strong{color:#192b30}
@media(max-width:640px){
  .lab-expansion-brief .eb-figure,.lab-expansion-brief .eb-controls{margin-inline:0}
  .lab-expansion-brief .eb-figure{border-radius:4px 4px 0 0}
  .lab-expansion-brief .eb-controls{border-radius:0 0 4px 4px}
  .lab-expansion-brief .eb[data-round=summary] .eb-figure{border-radius:4px}
  .lab-expansion-brief .eb-consequence h3{font-size:25px}
}
@media(forced-colors:active){
  .lab-expansion-brief .eb-controls{background:Canvas;color:CanvasText}
  .lab-expansion-brief .eb-controls .eb-choice{border-color:ButtonText}
  .lab-expansion-brief .eb-controls .eb-choice[aria-pressed=true]{background:Highlight;color:HighlightText;border-color:Highlight}
  .lab-expansion-brief .eb-controls .eb-choice[aria-pressed=true] small{color:HighlightText}
}

/* The plan sits in a technical drawing well; its choices stay on the same plane. */
.lab-expansion-brief .eb{--eb-night:#10262f;--eb-deep:#0c1d25;--eb-water-n:#82d4d9;--eb-heat-n:#df9b7a;--eb-on-muted:#b6cbd0}
.lab-expansion-brief .eb-figure{
  background-image:linear-gradient(#d6eef605 1px,transparent 1px),linear-gradient(90deg,#d6eef605 1px,transparent 1px);
  background-size:48px 48px;box-shadow:inset 0 1px 0 #a2dbe124;border-color:#46636d
}
.lab-expansion-brief .eb-controls{background-color:#142e38;border-color:#46636d;border-top-color:#68848d66}
.lab-expansion-brief .eb-hall{fill:#0d212a;stroke:#69858e}
.lab-expansion-brief .eb-rack{fill:#25444f;stroke:#8fa6ab}
.lab-expansion-brief .eb-cdu{fill:#1a3944;stroke:#8bd7dd}
.lab-expansion-brief .eb-drycooler{fill:#1a343e;stroke:#a2b9bc}
.lab-expansion-brief .eb-chiller{fill:#1a343e;stroke:#a2b9bc}
.lab-expansion-brief .eb-tower{fill:#234851;stroke:#82d4d9}
.lab-expansion-brief .eb-controls .eb-choice{background:#18343d;border-color:#58737c;box-shadow:inset 0 1px 0 #b3e5e914}
.lab-expansion-brief .eb-controls .eb-choice:hover{background:#1e3e49;border-color:#9acbd1}
.lab-expansion-brief .eb-controls .eb-choice[aria-pressed=true]{background:#f6f3eb;border-color:#f6f3eb;box-shadow:inset 3px 0 0 #287c86}
.lab-expansion-brief .eb-segmented{background:#0d212a;border-color:#58737c}
.lab-expansion-brief .eb-segmented label.is-checked{background:#bce4e5;color:#10262f}
@media(prefers-reduced-motion:no-preference){
  /* Only the chosen geometry confirms. Alternative copy still swaps instantly. */
  html[data-motion=on] .lab-expansion-brief .eb-svg svg[data-choice=a] .eb-when[data-when=a] .eb-mark,
  html[data-motion=on] .lab-expansion-brief .eb-svg svg[data-choice=b] .eb-when[data-when=b] .eb-mark{animation:lab-mark-confirm 340ms ease-out both}
  html[data-motion=on] .lab-expansion-brief .eb-choice[aria-pressed=true] strong{animation:lab-reading-arrive 240ms ease-out both}
}
