/* The Green Light: the plant drawn in ink on paper, the instruments on a dark screen beside it,
   the checks drawn as the parts they act on, and the reasoning set beside its instruments. */
.lab-green-light{
  --gl-bg:var(--ed-paper,#F7F4EE);
  --gl-night:var(--ed-night,#0D1418);
  --gl-on:#F7F4EE;
  --gl-on-muted:var(--ed-muted-on-night,#A9B0AE);
  --gl-on-line:rgba(247,244,238,.16);
  --gl-on-water:var(--ed-water-on-night,#7CC3C6);
  --gl-on-heat:var(--ed-heat-on-night,#F08A6E);
  --gl-ok:#7ED39A;
  --gl-go:#2e7a4e;--gl-stopped:#8b8e87;
  --gl-ease:var(--ed-ease,cubic-bezier(.2,.7,.2,1));
}

/* Case navigation: three quiet tabs on a rule */
.lab-green-light .gl-cases ol{list-style:none;margin:0 0 36px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px}
.lab-green-light .gl-cases li{display:flex;min-width:0}
.lab-green-light .gl-case{
  appearance:none;-webkit-appearance:none;display:grid;align-content:start;gap:4px;flex:1 1 auto;width:100%;min-height:64px;margin:0;padding:13px 0 8px;
  background:none;border:0;border-top:1px solid var(--lab-line);border-radius:0;color:var(--lab-ink);text-align:left;cursor:pointer;font:500 14px/1.3 var(--sans,Inter,Arial,sans-serif)
}
.lab-green-light .gl-case:hover{border-top-color:var(--lab-ink)}
.lab-green-light .gl-case[aria-current=step]{border-top-color:var(--lab-ink);box-shadow:inset 0 3px 0 var(--lab-ink)}
.lab-green-light .gl-case-num{font-size:13px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--lab-muted)}
.lab-green-light .gl-case[aria-current=step] .gl-case-num{color:var(--lab-ink)}
.lab-green-light .gl-case-title{font:400 21px/1.15 var(--display,Georgia,serif);letter-spacing:-.01em}
.lab-green-light .gl-case:hover .gl-case-title{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.lab-green-light .gl-case-status{font-size:13px;font-weight:600;color:var(--lab-tech-text)}
.lab-green-light .gl-case-status:empty{display:none}

/* The stage: open on paper, no box. The board is its grid. */
.lab-green-light .gl-stage{background:none;border:0;padding:0;container-type:inline-size;container-name:glboard}
.lab-green-light .gl-board{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "figure" "panel" "decide";row-gap:26px}
.lab-green-light .gl-head{grid-area:head;margin:0;max-width:62ch;min-width:0}
.lab-green-light .gl-figure{grid-area:figure;margin:0;min-width:0}
.lab-green-light .gl-panel{grid-area:panel;min-width:0}
.lab-green-light .gl-decide{grid-area:decide;min-width:0}
/* Side by side only while the plant keeps the wide drawing at 640 px or more (labels at 13 px). */
@container glboard (min-width:1030px){
  .lab-green-light .gl-board{grid-template-columns:minmax(640px,1fr) minmax(340px,400px);grid-template-rows:auto auto 1fr;grid-template-areas:"head panel" "figure panel" "decide panel";column-gap:44px;row-gap:22px;align-items:start}
  .lab-green-light .gl-decide{margin-top:18px}
}
.lab-green-light .gl-tag{margin:0 0 10px;font-size:13px;color:var(--lab-heat-text)}
.lab-green-light .gl-case-heading{font-size:clamp(26px,2.8vw,34px);margin:0 0 12px}
.lab-green-light .gl-situation{font-size:16px;line-height:1.55;margin:0}

/* ---- The plant ---- */
.lab-green-light .gl-diagrams{display:block}
.lab-green-light .gl-svg{display:block;width:100%;height:auto;overflow:visible}
.lab-green-light .gl-svg--wide{display:none}
.lab-green-light .gl-svg--narrow{max-width:380px;margin:0 auto}
@container glboard (min-width:650px){
  .lab-green-light .gl-svg--wide{display:block;max-width:800px}
  .lab-green-light .gl-svg--narrow{display:none}
}
.lab-green-light .gl-svg text{font-family:var(--sans,Inter,Arial,sans-serif)}
.lab-green-light .gl-pipe{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.lab-green-light .gl-pipe.is-supply{stroke:var(--lab-tech)}
.lab-green-light .gl-pipe.is-return{stroke:var(--lab-heat)}
.lab-green-light .gl-pipe.is-facility{stroke:var(--lab-facility)}
.lab-green-light .gl-arrow.is-supply{fill:var(--lab-tech)}
.lab-green-light .gl-arrow.is-return{fill:var(--lab-heat)}
.lab-green-light .gl-arrow.is-facility{fill:var(--lab-facility)}
.lab-green-light .gl-cdu{fill:rgba(255,255,255,.4);stroke:var(--lab-line);stroke-width:1.5}
.lab-green-light .gl-hx-body{fill:var(--lab-tech-soft);stroke:var(--lab-tech);stroke-width:1.2}
.lab-green-light .gl-plate{stroke:var(--lab-ink);stroke-width:1.1}
.lab-green-light .gl-ctrl{fill:var(--gl-bg);stroke:var(--lab-ink);stroke-width:1.2}
.lab-green-light .gl-link{fill:none;stroke:var(--lab-ink);stroke-width:1.5;stroke-dasharray:3 3}
.lab-green-light .gl-pump-body{fill:var(--gl-bg);stroke:var(--lab-tech);stroke-width:2.5}
.lab-green-light .gl-pump-arrow{fill:var(--lab-tech)}
.lab-green-light .gl-stub{fill:none;stroke:var(--lab-ink);stroke-width:1.5}
.lab-green-light .gl-valve-shape{fill:var(--gl-bg);stroke:var(--lab-ink);stroke-width:1.5;stroke-linejoin:round}
.lab-green-light .gl-rack-body{fill:var(--lab-ink)}
.lab-green-light .gl-t-rack{fill:var(--lab-paper);font-weight:600}
.lab-green-light .gl-t-rack.is-muted{fill:#c9ccc3;font-weight:500}
.lab-green-light .gl-svg :is(.gl-t-label,.gl-t-title,.gl-t-facility,.gl-t-reveal){paint-order:stroke;stroke:var(--gl-bg);stroke-width:5px;stroke-linejoin:round}
.lab-green-light .gl-t-label{fill:var(--lab-muted);font-weight:600}
.lab-green-light .gl-t-label.is-ink{fill:var(--lab-ink);stroke:none}
.lab-green-light .gl-t-label.is-supply{fill:var(--lab-tech-text)}
.lab-green-light .gl-t-label.is-return{fill:var(--lab-heat-text)}
.lab-green-light .gl-t-title{fill:var(--lab-muted);font-weight:650;letter-spacing:.08em}
.lab-green-light .gl-t-facility{fill:var(--lab-facility-text);font-weight:650}

/* Lamps and sensors light as they are read */
.lab-green-light .gl-lamp{fill:var(--gl-bg);stroke:var(--lab-muted);stroke-width:1.4;transition:fill .25s,stroke .25s}
.lab-green-light .gl-lamp.is-run{fill:var(--gl-go);stroke:var(--gl-go)}
.lab-green-light .gl-lamp.is-available{fill:var(--gl-bg);stroke:var(--gl-go);stroke-width:2.6}
.lab-green-light .gl-lamp.is-stopped{fill:var(--gl-stopped);stroke:var(--gl-stopped)}
.lab-green-light .gl-lamp.is-fault{fill:var(--lab-heat);stroke:var(--lab-heat)}
.lab-green-light .gl-lamp.is-no-fault{stroke:var(--gl-go);stroke-width:2.6}
.lab-green-light .gl-ring{fill:var(--gl-bg);stroke:var(--lab-ink);stroke-width:1.6;transition:fill .25s,stroke .25s,stroke-width .25s}
.lab-green-light .gl-ring.is-read{fill:var(--lab-ink)}
/* Off its design value: heat, and a heavier ring, so the mark does not rest on colour alone. */
.lab-green-light .gl-ring.is-off{fill:var(--lab-heat);stroke:var(--lab-heat);stroke-width:4.5}

/* A branch, once its flow is read: marks where water moves, dots where it stands still. */
.lab-green-light .gl-flowmark{fill:var(--lab-heat);opacity:0;transition:opacity .25s}
.lab-green-light .gl-branch.is-flowing .gl-flowmark{opacity:1}
.lab-green-light .gl-branch.is-still .gl-pipe{stroke-dasharray:.5 7.5;stroke-width:3.4}

/* An instrument under the pointer or focus, ringed on the plant */
.lab-green-light .gl-halo{fill:none;stroke:var(--lab-ink);stroke-width:2;opacity:0;transition:opacity .2s ease}
.lab-green-light .gl-halo.is-on{opacity:1}
/* The part a check would act on, outlined while that check is under the pointer or focus */
.lab-green-light .gl-target{fill:rgba(32,37,32,.08);stroke:var(--lab-ink);stroke-width:1.8;stroke-dasharray:4 3;opacity:0;transition:opacity .2s ease}
.lab-green-light .gl-target.is-on{opacity:1}
.lab-green-light .gl-target-lines{fill:none;stroke:none}
.lab-green-light .gl-target-lines path{fill:none;stroke:var(--lab-ink);stroke-opacity:.16;stroke-width:15;stroke-dasharray:none;stroke-linecap:round;stroke-linejoin:round}

/* What the reasoning reveals on the drawing */
.lab-green-light .gl-reveal-only{opacity:0;transition:opacity .28s ease}
.lab-green-light .is-revealed .gl-reveal-only{opacity:1}
.lab-green-light .gl-t-reveal{fill:var(--lab-heat-text);font-weight:650}
.lab-green-light .gl-cause-ring{fill:none;stroke:var(--lab-heat);stroke-width:2.5}
.lab-green-light .is-revealed .gl-valve.gl-cause .gl-valve-shape{fill:var(--lab-heat);stroke:var(--lab-heat)}
.lab-green-light .is-revealed .gl-ctrl-group.gl-cause .gl-ctrl{stroke:var(--lab-heat);stroke-width:2.4;fill:var(--lab-heat-soft)}
.lab-green-light .is-revealed .gl-ctrl-group.gl-cause .gl-link{stroke:var(--lab-heat);stroke-width:2}

/* Legend and caption */
.lab-green-light .gl-legend{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:var(--lab-muted)}
.lab-green-light .gl-legend li{display:flex;align-items:center;gap:7px}
.lab-green-light .gl-swatch{display:block;width:28px;height:14px;flex:none;overflow:visible}
.lab-green-light .gl-swatch .gl-ring.is-off{stroke-width:3}
.lab-green-light .gl-figure .lab-figure-caption{margin-top:8px;max-width:70ch}

/* ---- The instrument screen ---- */
/* Host pages style .lab-controls for other uses; reset here. */
.lab-green-light .gl-panel{
  display:block;margin:0;padding:18px 18px 20px;border:0;gap:0;border-radius:8px;color:var(--gl-on);
  background-color:var(--gl-night);
  background-image:linear-gradient(rgba(247,244,238,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(247,244,238,.035) 1px,transparent 1px);
  background-size:24px 24px;background-position:-1px -1px;
  container-type:inline-size;container-name:glpanel;
  outline:2px dashed transparent;outline-offset:6px;transition:outline-color .2s ease
}
.lab-green-light .gl-panel.is-target{outline-color:var(--lab-ink)}
.lab-green-light .gl-panel-heading{font:650 13px/1.3 var(--sans,Inter,Arial,sans-serif);letter-spacing:.08em;text-transform:uppercase;color:var(--gl-on-muted);margin:0 0 14px;padding:0 0 12px;border-bottom:1px solid var(--gl-on-line)}
.lab-green-light .gl-group+.gl-group{margin-top:18px}
.lab-green-light .gl-group-heading{font:600 13px/1.3 var(--sans,Inter,Arial,sans-serif);margin:0 0 8px;color:var(--gl-on)}

.lab-green-light .gl-panel .gl-inst{
  appearance:none;-webkit-appearance:none;position:relative;display:flex;flex-direction:column;align-items:stretch;gap:5px;
  width:100%;min-width:0;min-height:56px;margin:0;padding:10px 12px 11px;border:1px solid rgba(247,244,238,.12);border-radius:5px;
  background:rgba(247,244,238,.045);color:var(--gl-on);text-align:left;cursor:pointer;font:400 14px/1.3 var(--sans,Inter,Arial,sans-serif);
  transition:background-color .2s ease,border-color .2s ease
}
.lab-green-light .gl-panel .gl-inst:hover{background:rgba(247,244,238,.09);border-color:rgba(247,244,238,.34)}
.lab-green-light .gl-panel .gl-inst:focus-visible{outline:3px solid var(--gl-on);outline-offset:2px}
.lab-green-light .gl-inst-head{display:flex;align-items:center;gap:8px;min-width:0;font:600 13px/1.25 var(--sans,Inter,Arial,sans-serif);color:var(--gl-on-muted)}
.lab-green-light .gl-inst-value{font:500 13px/1.3 var(--sans,Inter,Arial,sans-serif);color:var(--gl-on-muted);white-space:nowrap}
.lab-green-light .gl-inst.is-read .gl-inst-value{font:400 24px/1.05 var(--display,Georgia,serif);color:var(--gl-on);letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.lab-green-light .gl-inst.is-read .gl-inst-value small{font:500 13px/1 var(--sans,Inter,Arial,sans-serif);color:var(--gl-on-muted);letter-spacing:0}
.lab-green-light .gl-inst.is-read.is-off .gl-inst-value{color:var(--gl-on-heat)}
.lab-green-light .gl-inst.is-status.is-read .gl-inst-value{font:650 15px/1.3 var(--sans,Inter,Arial,sans-serif);letter-spacing:.06em}
.lab-green-light .gl-inst-detail{font:400 13px/1.35 var(--sans,Inter,Arial,sans-serif);color:var(--gl-on-muted)}
.lab-green-light .gl-inst-detail:empty{display:none}

/* Status lamps: lit, ringed or dark, each with its word beside it */
.lab-green-light .gl-lamp-dot{flex:none;display:block;width:12px;height:12px;border-radius:50%;box-sizing:border-box;border:1.5px solid rgba(247,244,238,.4);background:transparent;transition:background-color .25s,border-color .25s,box-shadow .25s}
.lab-green-light .st-run .gl-lamp-dot{background:var(--gl-ok);border-color:var(--gl-ok);box-shadow:0 0 0 4px rgba(126,211,154,.16),0 0 12px rgba(126,211,154,.4)}
.lab-green-light .st-available .gl-lamp-dot,.lab-green-light .st-no-fault .gl-lamp-dot{border:2px solid var(--gl-ok)}
.lab-green-light .st-stopped .gl-lamp-dot{background:var(--gl-on-muted);border-color:var(--gl-on-muted)}
.lab-green-light .st-fault .gl-lamp-dot{background:var(--gl-on-heat);border-color:var(--gl-on-heat);box-shadow:0 0 0 4px rgba(240,138,110,.16),0 0 12px rgba(240,138,110,.4)}

/* Gauges: a flow bar with its design mark, a temperature scale centred on its design value,
   or a trend line for a sensor in still water */
.lab-green-light .gl-meter{position:relative;display:block;width:100%;height:14px;flex:none}
.lab-green-light .gl-bar-track{position:absolute;left:0;right:0;top:3px;height:8px;border-radius:4px;background:rgba(247,244,238,.13)}
.lab-green-light .gl-bar-fill{position:absolute;left:0;top:0;bottom:0;width:calc(var(--v,0) * 100%);border-radius:4px;background:var(--gl-on-water);transition:width .3s var(--gl-ease)}
.lab-green-light .gl-meter .gl-mark{position:absolute;top:-3px;bottom:-3px;left:calc(var(--d,.5) * 100%);width:2px;margin-left:-1px;border-radius:1px;background:var(--gl-on)}
.lab-green-light .gl-scale{position:absolute;inset:0}
.lab-green-light .gl-scale .gl-mark{top:0;bottom:0}
.lab-green-light .gl-scale-line{position:absolute;left:0;right:0;top:6px;height:2px;border-radius:1px;background:rgba(247,244,238,.26)}
.lab-green-light .gl-scale-dev{position:absolute;top:5px;height:4px;background:var(--gl-on-heat);transition:width .3s var(--gl-ease)}
.lab-green-light .gl-scale-dev.is-up{left:50%;width:calc(max(0, var(--v,.5) - .5) * 100%)}
.lab-green-light .gl-scale-dev.is-down{right:50%;width:calc(max(0, .5 - var(--v,.5)) * 100%)}
.lab-green-light .gl-scale-dot{position:absolute;top:2px;left:calc(var(--v,.5) * 100%);width:10px;height:10px;margin-left:-5px;border-radius:50%;background:var(--gl-on);opacity:0;transition:left .3s var(--gl-ease),opacity .2s ease}
.lab-green-light .gl-meter.is-set .gl-scale-dot{opacity:1}
.lab-green-light .gl-meter.is-off .gl-scale-dot{background:var(--gl-on-heat)}
.lab-green-light .gl-spark{display:none;width:64px;height:20px;overflow:visible}
.lab-green-light .gl-meter.is-trend{height:20px}
.lab-green-light .gl-meter.is-trend .gl-scale{display:none}
.lab-green-light .gl-meter.is-trend .gl-spark{display:block}
.lab-green-light .gl-spark-base{fill:none;stroke:rgba(247,244,238,.24);stroke-width:1.5;stroke-dasharray:2 4}
.lab-green-light .gl-spark-line{fill:none;stroke:var(--gl-on-heat);stroke-width:2.2;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset .3s var(--gl-ease)}
.lab-green-light .gl-meter.is-set .gl-spark-line{stroke-dashoffset:0}
.lab-green-light .gl-meter.is-set:not(.is-off) .gl-spark-line{stroke:var(--gl-on-muted)}

/* The instruments above the branches: one row each, name and lamp on the left, reading on the right */
.lab-green-light .gl-top-grid{display:grid;gap:6px}
.lab-green-light .gl-top-grid .gl-inst{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"head value" "detail meter";column-gap:14px;row-gap:4px;align-items:center}
.lab-green-light .gl-top-grid .gl-inst-head{grid-area:head}
.lab-green-light .gl-top-grid .gl-inst-value{grid-area:value;justify-self:end;text-align:right}
.lab-green-light .gl-top-grid .gl-inst-detail{grid-area:detail;align-self:start}
.lab-green-light .gl-top-grid .gl-meter{grid-area:meter;width:104px;justify-self:end;align-self:start}
.lab-green-light .gl-top-grid .gl-meter.is-trend{width:64px}
/* With room, the same instruments stand as three tiles in a row. */
@container glpanel (min-width:560px){
  .lab-green-light .gl-top-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .lab-green-light .gl-top-grid .gl-inst{display:flex;flex-direction:column;align-items:stretch}
  .lab-green-light .gl-top-grid .gl-inst-value{text-align:left;justify-self:auto}
  .lab-green-light .gl-top-grid .gl-meter{width:100%}
  .lab-green-light .gl-top-grid .gl-meter.is-trend{width:64px}
}

/* The branches: a row each, flow and return side by side */
.lab-green-light .gl-branch-table{display:grid;gap:6px}
.lab-green-light .gl-branch-row{display:grid;grid-template-columns:20px minmax(0,1fr) minmax(0,1fr);gap:6px;align-items:stretch}
.lab-green-light .gl-branch-letter{align-self:center;text-align:center;font:400 24px/1 var(--display,Georgia,serif);color:var(--gl-on)}
@container glpanel (min-width:560px){
  .lab-green-light .gl-branch-row{grid-template-columns:28px minmax(0,1fr) minmax(0,1fr);gap:8px}
  .lab-green-light .gl-branch-table{gap:8px}
}

/* Latest reading, at the foot of the screen */
.lab-green-light .gl-readout-wrap{margin-top:18px;padding-top:14px;border-top:1px solid var(--gl-on-line)}
.lab-green-light .gl-readout{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin:0;border:0;align-items:end}
.lab-green-light .gl-readout>div{padding:0;border:0;min-width:0}
.lab-green-light .gl-readout dt{font:600 13px/1.3 var(--sans,Inter,Arial,sans-serif);letter-spacing:.01em;color:var(--gl-on-muted);margin:0 0 4px}
.lab-green-light .gl-readout dd{margin:0;font:400 28px/1.1 var(--display,Georgia,serif);color:var(--gl-on);overflow-wrap:anywhere}
.lab-green-light .gl-readout dd.is-off{color:var(--gl-on-heat)}
.lab-green-light .gl-readout dd small{font:500 14px/1.3 var(--sans,Inter,Arial,sans-serif);margin-left:6px;color:var(--gl-on-muted)}
.lab-green-light .gl-readout dd.is-status{font:650 20px/1.25 var(--sans,Inter,Arial,sans-serif);letter-spacing:.06em}
.lab-green-light .gl-readout .gl-readout-detail{padding-top:8px}
.lab-green-light .gl-readout .gl-readout-detail dd{font:400 19px/1.25 var(--display,Georgia,serif);color:var(--gl-on-muted)}
.lab-green-light .gl-readout .gl-readout-detail.is-note dd{font:400 15px/1.45 var(--sans,Inter,Arial,sans-serif);color:var(--gl-on)}
.lab-green-light .gl-readout .gl-readout-about{padding-top:8px}
.lab-green-light .gl-readout .gl-readout-about dd{font:400 14px/1.5 var(--sans,Inter,Arial,sans-serif);color:var(--gl-on-muted);max-width:56ch}
.lab-green-light .gl-readout-empty p{margin:0}
.lab-green-light .gl-readout-empty .gl-readout-empty-label{font:600 13px/1.3 var(--sans,Inter,Arial,sans-serif);color:var(--gl-on-muted);margin:0 0 4px}
.lab-green-light .gl-readout-empty .gl-readout-empty-text{font:400 14px/1.5 var(--sans,Inter,Arial,sans-serif);color:var(--gl-on-muted);max-width:56ch}
@container glpanel (min-width:300px){
  .lab-green-light .gl-readout{grid-template-columns:auto minmax(0,1fr);column-gap:22px}
  .lab-green-light .gl-readout .gl-readout-detail{padding-top:0;max-width:26ch}
  .lab-green-light .gl-readout .gl-readout-about{grid-column:1/-1}
}

/* ---- Deciding ---- */
.lab-green-light .gl-decide{margin:26px 0 0}
.lab-green-light .gl-decide-heading{font-size:clamp(26px,3vw,32px);margin:0 0 16px}
.lab-green-light .gl-choice{display:flex;align-items:center;gap:14px;min-height:64px;padding:11px 16px 11px 12px;font-size:15px}
.lab-green-light .gl-choice-body{display:flex;flex-direction:column;gap:2px;min-width:0}
.lab-green-light .gl-choice-text{font-weight:550}
.lab-green-light .gl-choice.is-tried{color:var(--lab-muted);border-color:var(--lab-line)}
/* The muted colour already dims a tried choice; full opacity keeps its note above 4.5:1, on hover too. */
.lab-green-light .gl-choice.is-tried .gl-choice-note{opacity:1}
.lab-green-light .gl-choice.is-answer:not([aria-pressed=true]){border-width:2px;padding:10px 15px 10px 11px}
.lab-green-light .gl-choice-note:empty{display:none}
.lab-green-light .gl-glyph{flex:none;display:block;width:36px;height:36px;overflow:visible}
.lab-green-light .gl-glyph *{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.lab-green-light .gl-glyph .is-solid{fill:currentColor;stroke:none}
.lab-green-light .gl-glyph .is-thick{stroke-width:2.6}
.lab-green-light .gl-glyph .is-dashed{stroke-dasharray:2.4 2.4;stroke-linecap:butt}
.lab-green-light .gl-glyph .is-faint{opacity:.45}
.lab-green-light .gl-feedback{max-width:none}
.lab-green-light .gl-feedback-text{margin:0;max-width:70ch;line-height:1.55}
.lab-green-light .gl-feedback strong{font-weight:650}
.lab-green-light .gl-feedback-evidence:empty{display:none}
.lab-green-light .gl-show-wrap{margin:10px 0 0}
.lab-green-light .gl-show{
  appearance:none;-webkit-appearance:none;background:none;border:0;border-radius:0;padding:10px 0;min-height:44px;margin:0;cursor:pointer;
  font:600 14px/1.3 var(--sans,Inter,Arial,sans-serif);color:var(--lab-ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px
}
.lab-green-light .gl-show:hover{text-decoration-thickness:2px}

/* Instruments set beside the words that rest on them: small, silent copies of the screen */
.lab-green-light .gl-evidence{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.lab-green-light .gl-evidence-break{flex:0 0 100%;height:0;margin:-4px 0 0;padding:0}
.lab-green-light .gl-chip{display:inline-flex;align-items:center;gap:10px;min-height:38px;margin:0;padding:7px 12px;border-radius:5px;background:var(--gl-night);color:var(--gl-on);font:600 13px/1.2 var(--sans,Inter,Arial,sans-serif)}
.lab-green-light .gl-chip-name{color:var(--gl-on-muted);white-space:nowrap}
.lab-green-light .gl-chip-value{font:400 18px/1 var(--display,Georgia,serif);color:var(--gl-on);white-space:nowrap;font-variant-numeric:tabular-nums}
.lab-green-light .gl-chip-value small{font:500 13px/1 var(--sans,Inter,Arial,sans-serif);color:var(--gl-on-muted)}
.lab-green-light :is(.gl-chip.is-off:not(.is-pair) .gl-chip-value,.gl-chip-value.is-off){color:var(--gl-on-heat)}
.lab-green-light .gl-chip[class*=st-] .gl-chip-value{font:650 13px/1.2 var(--sans,Inter,Arial,sans-serif);letter-spacing:.06em}
.lab-green-light .gl-chip .gl-meter{width:56px}
.lab-green-light .gl-chip .gl-meter.is-trend{width:64px}

/* ---- Reasoning, laid out like the magazine's side-labelled pages ---- */
/* Headings that receive focus hug their text, so the ring never crosses neighbouring lines. */
.lab-green-light :is(.gl-case-heading,.gl-reasoning h3){width:fit-content;max-width:100%}
.lab-green-light :is(.gl-case-heading,.gl-reasoning h3):focus-visible{outline:2px solid var(--lab-ink);outline-offset:5px}
.lab-green-light .gl-reasoning{background:none;border:0;border-top:1px solid var(--lab-ink);padding:26px 0 0;margin:44px 0 0;scroll-margin-top:24px}
.lab-green-light .gl-answer{display:flex;align-items:center;gap:16px;font:400 clamp(21px,2.4vw,26px)/1.3 var(--display,Georgia,serif);margin:0 0 24px;max-width:46ch}
.lab-green-light .gl-answer-glyph{flex:none;display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--lab-heat-soft);color:var(--lab-heat-text)}
.lab-green-light .gl-answer-glyph .gl-glyph{width:34px;height:34px}
.lab-green-light .gl-answer-text{text-wrap:balance}
.lab-green-light .gl-reason-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:2px 32px;border-top:1px solid var(--lab-line);padding-top:18px}
.lab-green-light .gl-reason-grid h4{font:600 14px/1.4 var(--sans,Inter,Arial,sans-serif);letter-spacing:0;color:var(--lab-tech-text);margin:14px 0 4px}
.lab-green-light .gl-reason-grid h4:first-child{margin-top:0}
.lab-green-light .gl-reason-grid p{margin:0 0 6px;font-size:16px;line-height:1.6;max-width:64ch}
.lab-green-light .gl-reason-grid .lab-ref{margin:8px 0 0;font-size:13px}
.lab-green-light .gl-reason-evidence .gl-evidence{margin:10px 0 4px}
.lab-green-light .gl-reflection{margin:24px 0 0;font-size:15px;color:var(--lab-muted);max-width:70ch}
@media (min-width:760px){
  .lab-green-light .gl-reason-grid{grid-template-columns:200px minmax(0,1fr)}
  .lab-green-light .gl-reason-grid h4{margin:3px 0 0}
  .lab-green-light .gl-reason-grid>*:nth-child(2n){margin-bottom:18px}
}

/* Actions and closing */
.lab-green-light .gl-actions{margin-top:30px}
.lab-green-light .gl-closing{font:400 clamp(21px,2.4vw,25px)/1.35 var(--display,Georgia,serif);margin:32px 0 0;max-width:48ch;padding-left:18px;border-left:3px solid var(--lab-ink);text-wrap:balance}

@media (max-width:600px){
  .lab-green-light .gl-cases ol{gap:0 12px;margin-bottom:26px}
  /* Titles are hidden here, so the case number and its status sit in a shorter tab. */
  .lab-green-light .gl-case{min-height:52px;padding:11px 0 6px}
  .lab-green-light .gl-case-title{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .lab-green-light .gl-case-heading{font-size:28px}
  .lab-green-light .gl-board{row-gap:22px}
  .lab-green-light .gl-panel{padding:16px 14px 18px}
  .lab-green-light .gl-decide{margin-top:14px}
  .lab-green-light .gl-answer{gap:12px}
  .lab-green-light .gl-answer-glyph{width:44px;height:44px}
}

@media (prefers-reduced-motion:reduce){
  .lab-green-light *{transition:none!important}
}
.lab-green-light.is-reduced *{transition:none!important}

/* Schematic and console: one precise workbench, with readings revealed on demand. */
.lab-green-light .gl-cases ol{gap:0 20px;margin-bottom:28px}
.lab-green-light .gl-case{padding:14px 12px 12px;border-top-color:var(--lab-line);border-radius:0 0 6px 6px}
.lab-green-light .gl-case[aria-current=step]{background:var(--lab-surface);box-shadow:inset 0 2px 0 var(--lab-ink)}
.lab-green-light .gl-case-num{font-size:12px;letter-spacing:.07em}
.lab-green-light .gl-case-title{font-size:20px;line-height:1.25}
.lab-green-light .gl-figure{padding-block:18px;border-block:1px solid var(--lab-line)}
.lab-green-light .gl-legend{gap:8px 16px;margin-top:18px}
.lab-green-light .gl-figure .lab-figure-caption{line-height:1.6;margin-top:12px}
.lab-green-light .gl-panel{background-image:none;border:1px solid #34454a;border-radius:8px;padding:20px}
.lab-green-light .gl-panel-heading{letter-spacing:.1em;font-size:11px;padding-bottom:14px;margin-bottom:16px;color:#bfcacb}
.lab-green-light .gl-group-heading{font-size:12px;letter-spacing:.02em;margin-bottom:10px;color:#c2cdcc}
.lab-green-light .gl-panel .gl-inst{background:#ffffff04;border-color:#ffffff1c;border-radius:5px;padding:11px 12px;gap:7px}
.lab-green-light .gl-panel .gl-inst:hover{background:#ffffff0c;border-color:#ffffff4a}
.lab-green-light .gl-panel .gl-inst.is-read{border-left:2px solid var(--gl-on-water);background:#ffffff09;padding-left:11px}
.lab-green-light .gl-panel .gl-inst.is-read.is-off{border-left-color:var(--gl-on-heat)}
.lab-green-light .gl-inst.is-read .gl-inst-value{font-size:23px;line-height:1.15}
.lab-green-light .gl-inst.is-status.is-read .gl-inst-value{font-size:14px;letter-spacing:.04em}
.lab-green-light :is(.st-run,.st-fault) .gl-lamp-dot{box-shadow:none}
.lab-green-light .gl-readout-wrap{padding-top:18px;margin-top:20px}
.lab-green-light .gl-readout dt{font-size:12px;color:#b8c5c5}
.lab-green-light .gl-readout dd{font-size:27px;line-height:1.15}
.lab-green-light .gl-readout dd small{font-size:13px}
.lab-green-light .gl-decide-heading{font-size:27px;line-height:1.2;margin-bottom:18px}
.lab-green-light .gl-choice{border:1px solid var(--lab-line);border-radius:6px;background:#ffffff66;min-height:68px;padding:13px 16px}
.lab-green-light .gl-choice:hover{background:#ffffff;border-color:#859a96}
.lab-green-light .gl-choice[aria-pressed=true]{background:var(--lab-ink);color:var(--lab-paper);border-color:var(--lab-ink);box-shadow:inset 3px 0 0 #9ac4bc}
.lab-green-light .gl-choice.is-answer:not([aria-pressed=true]){padding:12px 15px;border-color:var(--lab-tech)}
.lab-green-light .gl-glyph{width:30px;height:30px}
.lab-green-light .gl-answer-glyph{border-radius:8px;width:44px;height:44px;background:var(--lab-surface)}
.lab-green-light .gl-answer-glyph .gl-glyph{width:28px;height:28px}
.lab-green-light .gl-reasoning{margin-top:32px;padding-top:24px;border-top-color:var(--lab-line)}
.lab-green-light .gl-answer{font-size:24px;line-height:1.4;margin-bottom:22px}
.lab-green-light .gl-case[aria-current=step]{box-shadow:inset 0 2px 0 var(--lab-copper);background:#eae7dc80}
.lab-green-light .gl-case[aria-current=step] .gl-case-num{color:var(--lab-copper)}
.lab-green-light .gl-panel{border-color:var(--lab-console-rule);border-radius:4px}
.lab-green-light .gl-panel .gl-inst{border-radius:3px}
.lab-green-light .gl-choice{border-radius:4px;background:#fffdf866}
.lab-green-light .gl-choice[aria-pressed=true]{background:var(--ed-ink,#192b30);box-shadow:inset 2px 0 0 #d6a17e}
.lab-green-light .gl-choice.is-answer:not([aria-pressed=true]){border-color:#48716d;background:#e7eee8}
.lab-green-light .gl-feedback{background:#ece9de;border-left-color:var(--lab-copper);border-radius:0 4px 4px 0}
.lab-green-light .gl-reason-grid h4{font-size:12px;line-height:1.55;color:#3f6562}
@media(max-width:600px){
  .lab-green-light .gl-cases ol{gap:0 10px}
  .lab-green-light .gl-case{padding:12px 8px;min-height:48px}
  .lab-green-light .gl-panel{padding:18px 14px}
  .lab-green-light .gl-choice{min-height:64px;padding:12px}
  .lab-green-light .gl-decide-heading{font-size:25px}
}

/* A live schematic surface, using the existing pipe and instrument meanings. */
.lab-green-light .gl-figure{
  --gl-bg:#10262f;--lab-ink:#eef4f0;--lab-muted:#b9cbd0;--lab-line:#4d6b73;
  --lab-tech:#82d4d9;--lab-tech-text:#a2e0e3;--lab-tech-soft:#21444d;
  --lab-heat:#df9b7a;--lab-heat-text:#edb396;--lab-heat-soft:#493b35;
  --lab-facility:#9ebde6;--lab-facility-text:#b3cdf0;--gl-go:#8bc5a1;
  background-color:var(--gl-bg);
  background-image:linear-gradient(#d6eef605 1px,transparent 1px),linear-gradient(90deg,#d6eef605 1px,transparent 1px);
  background-size:48px 48px;border:1px solid #46636d;border-radius:4px;
  box-shadow:inset 0 1px 0 #a2dbe124;color:var(--lab-muted)
}
.lab-green-light .gl-figure .gl-cdu{fill:#18343d;stroke:#6a8790}
.lab-green-light .gl-figure .gl-ctrl{fill:#18343d;stroke:#adbec1}
.lab-green-light .gl-figure .gl-rack-body{fill:#213c46;stroke:#92a9ad;stroke-width:1.1}
.lab-green-light .gl-figure .gl-t-rack{fill:#f5f4eb}
.lab-green-light .gl-figure .gl-t-rack.is-muted{fill:#bbced2}
.lab-green-light .gl-figure .gl-legend{padding-inline:14px;gap:8px 14px}
.lab-green-light .gl-figure .lab-figure-caption{padding-inline:14px;color:#b9cbd0}
.lab-green-light .gl-figure .gl-target{fill:#82d4d914;stroke:#a2e0e3}
.lab-green-light .gl-figure .gl-halo{stroke:#a2e0e3}
.lab-green-light .gl-panel{background-color:#10262f;box-shadow:inset 0 1px 0 #a2dbe124}
.lab-green-light .gl-panel .gl-inst{background:#18343d;border-color:#45606a}
.lab-green-light .gl-panel .gl-inst:hover{background:#1c3c46;border-color:#82a9b2}
.lab-green-light .gl-panel .gl-inst.is-read{background:#1b3b45;border-color:#65848d;border-left-color:var(--lab-cyan)}
.lab-green-light .gl-panel .gl-inst.is-read.is-off{border-left-color:var(--lab-copper-on)}
.lab-green-light .gl-panel-heading{color:#a2dce0}
.lab-green-light .gl-choice[aria-pressed=true]{box-shadow:inset 2px 0 0 var(--lab-cyan)}
@media(prefers-reduced-motion:no-preference){
  html[data-motion=on] .lab-green-light .gl-inst.is-read .gl-inst-value{animation:lab-reading-arrive 260ms ease-out both}
  html[data-motion=on] .lab-green-light .gl-choice[aria-pressed=true] .gl-glyph{animation:lab-mark-confirm 280ms ease-out both}
}
@media(forced-colors:active){
  .lab-green-light .gl-figure{forced-color-adjust:none}
}
