/* ECHOLOGISTS Laboratory workspace design contract — v0.4.96
 * Shared by Anatomy Lab now and reserved for Measurement / Volume / Doppler workspaces.
 */
:root{
  --eco-lab-green:var(--eco-cs-green,#4aff91);
  --eco-lab-green2:var(--eco-cs-green-strong,#75ffb0);
  --eco-lab-bg:var(--eco-cs-bg,#080a09);
  --eco-lab-bg2:var(--eco-cs-bg2,#0b0e0c);
  --eco-lab-panel:var(--eco-cs-bg2,#0b0e0c);
  --eco-lab-text:var(--eco-cs-text,#edf1ee);
  --eco-lab-muted:var(--eco-cs-text-mid,rgba(237,241,238,.74));
  --eco-lab-faint:var(--eco-cs-text-faint,rgba(237,241,238,.34));
  --eco-lab-line:var(--eco-cs-border,rgba(74,255,145,.20));
  --eco-lab-line2:var(--eco-cs-border-dim,rgba(232,232,232,.105));
  --eco-lab-mono:var(--eco-cs-mono,"JetBrains Mono","SFMono-Regular",Consolas,monospace);
  --eco-lab-soft:var(--eco-cs-soft,"Space Grotesk",Inter,system-ui,sans-serif);
  --eco-lab-display:var(--eco-cs-display,"Space Grotesk",Inter,system-ui,sans-serif);
}

/* Shared page frame. Future lab pages should use .eco-lab-workspace on the root section. */
.eco-lab-workspace{
  position:relative;
  isolation:isolate;
  width:min(100%,var(--eco-cs-max,1440px))!important;
  max-width:var(--eco-cs-max,1440px)!important;
  margin:0 auto!important;
  padding:0 0 clamp(44px,5vw,72px)!important;
  overflow:hidden;
  border-inline:1px solid var(--eco-lab-line2);
  background:
    linear-gradient(rgba(74,255,145,.011) 1px,transparent 1px),
    radial-gradient(circle at 8% 2%,var(--eco-cs-green-glow,rgba(74,255,145,.15)),transparent 29%),
    var(--eco-lab-bg)!important;
  background-size:100% 5px,auto,auto!important;
  color:var(--eco-lab-text)!important;
  font-family:var(--eco-lab-soft)!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.eco-lab-workspace *{box-sizing:border-box}
.eco-lab-workspace a{color:inherit;text-decoration:none!important}
.eco-lab-workspace .eco-anatomy-lab__matrix{opacity:.10;background-size:64px 64px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 52%)}

/* Hero mirrors /laboratory instead of behaving like an isolated simulator. */
.eco-lab-workspace .eco-anatomy-lab__hero{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:36px;
  max-width:none;
  min-height:278px;
  margin:0 0 18px!important;
  padding:clamp(48px,6vw,78px) clamp(24px,5vw,72px) clamp(30px,4vw,46px)!important;
  border-bottom:1px solid var(--eco-lab-line2)!important;
  background:linear-gradient(180deg,rgba(8,10,9,.38),rgba(11,14,12,.70));
}
.eco-lab-workspace .eco-anatomy-lab__hero:after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:1px;
  background:linear-gradient(90deg,transparent 2%,var(--eco-lab-green) 38%,rgba(74,255,145,.12) 78%,transparent);
  box-shadow:0 0 18px var(--eco-cs-green-glow,rgba(74,255,145,.16));
}
.eco-lab-workspace .eco-anatomy-lab__hero>div:first-child{max-width:800px}
.eco-lab-workspace .eco-anatomy-lab__kicker{
  margin:0 0 17px!important;
  color:var(--eco-cs-green-dim,var(--eco-lab-green))!important;
  font:600 9px/1.4 var(--eco-lab-mono)!important;
  letter-spacing:.22em!important;
  text-transform:uppercase;
}
.eco-lab-workspace .eco-anatomy-lab__kicker span{width:6px;height:6px;box-shadow:0 0 14px var(--eco-cs-green-glow,rgba(74,255,145,.22))}
.eco-lab-workspace .eco-anatomy-lab__hero h1{
  max-width:900px;
  margin:0 0 16px!important;
  color:var(--eco-lab-text)!important;
  font:520 clamp(40px,5.4vw,70px)/.98 var(--eco-lab-display)!important;
  letter-spacing:-.058em!important;
  text-wrap:balance;
}
.eco-lab-workspace .eco-anatomy-lab__hero h1 em{color:var(--eco-lab-green)!important;font-style:normal}
.eco-lab-workspace .eco-anatomy-lab__intro{
  max-width:720px;
  margin:0!important;
  color:var(--eco-lab-muted)!important;
  font:400 clamp(13px,1.25vw,16px)/1.72 var(--eco-lab-soft)!important;
  letter-spacing:0!important;
}
.eco-lab-workspace .eco-anatomy-lab__hero-actions{min-width:210px;gap:10px}
.eco-lab-workspace .eco-anatomy-lab__hero-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 13px;
  border:1px solid var(--eco-lab-line);
  background:var(--eco-cs-green-faint,rgba(74,255,145,.065));
  color:var(--eco-cs-green-dim,var(--eco-lab-green))!important;
  font:650 8px/1 var(--eco-lab-mono)!important;
  letter-spacing:.10em!important;
  text-decoration:none!important;
  transition:border-color .18s ease,background .18s ease,color .18s ease;
}
.eco-lab-workspace .eco-anatomy-lab__hero-actions a:hover,.eco-lab-workspace .eco-anatomy-lab__hero-actions a:focus-visible{border-color:var(--eco-cs-border-strong,rgba(74,255,145,.38));background:rgba(74,255,145,.10);color:var(--eco-lab-green2)!important}
.eco-lab-workspace .eco-anatomy-lab__hero-actions span{color:var(--eco-lab-faint)!important;font:600 7px/1.45 var(--eco-lab-mono)!important;letter-spacing:.12em!important}

/* Shared module rail + workstation frame. */
.eco-lab-workspace .eco-anatomy-lab__module-nav,
.eco-lab-workspace .eco-anatomy-lab__workspace,
.eco-lab-workspace .eco-anatomy-lab__footer-note{
  width:auto;
  max-width:none;
  margin-left:clamp(24px,5vw,72px)!important;
  margin-right:clamp(24px,5vw,72px)!important;
}
.eco-lab-workspace .eco-anatomy-lab__module-nav{margin-bottom:14px!important;border-color:var(--eco-lab-line2);background:var(--eco-lab-bg2)}
.eco-lab-workspace .eco-anatomy-lab__module-nav button{min-height:58px;padding:0 15px;border-color:var(--eco-lab-line2);color:var(--eco-lab-faint)!important}
.eco-lab-workspace .eco-anatomy-lab__module-nav button.is-active{background:linear-gradient(90deg,rgba(74,255,145,.075),rgba(74,255,145,.012));color:var(--eco-lab-text)!important}
.eco-lab-workspace .eco-anatomy-lab__module-nav small,.eco-lab-workspace .eco-anatomy-lab__module-nav span{font:650 7px/1 var(--eco-lab-mono)!important}
.eco-lab-workspace .eco-anatomy-lab__module-nav b{font:650 9px/1.2 var(--eco-lab-mono)!important}

.eco-lab-workspace .eco-anatomy-lab__workspace{gap:12px}
.eco-lab-workspace .eco-anatomy-lab__viewrail,.eco-lab-workspace .eco-anatomy-lab__stage-panel,.eco-lab-workspace .eco-anatomy-lab__intel{border-color:var(--eco-lab-line2);background:linear-gradient(180deg,var(--eco-lab-bg2),var(--eco-lab-bg))}
.eco-lab-workspace .eco-anatomy-lab__panel-label{color:var(--eco-lab-faint)!important;font:650 7px/1 var(--eco-lab-mono)!important;letter-spacing:.15em!important}

/* Educational copy uses the site font; machine/HUD metadata remains mono. */
.eco-lab-workspace .eco-anatomy-lab__viewrail-note span,
.eco-lab-workspace .eco-anatomy-lab__control-help,
.eco-lab-workspace .eco-anatomy-lab__view-card h2,
.eco-lab-workspace .eco-anatomy-lab__view-card dd,
.eco-lab-workspace .eco-anatomy-lab__cue,
.eco-lab-workspace .eco-anatomy-lab__challenge h2,
.eco-lab-workspace .eco-anatomy-lab__acquire h2,
.eco-lab-workspace .eco-anatomy-lab__acquire>span,
.eco-lab-workspace .eco-anatomy-lab__footer-note p{
  font-family:var(--eco-lab-soft)!important;
}
.eco-lab-workspace .eco-anatomy-lab__view-card h2,
.eco-lab-workspace .eco-anatomy-lab__challenge h2,
.eco-lab-workspace .eco-anatomy-lab__acquire h2{
  color:var(--eco-lab-text)!important;
  font-weight:520!important;
  letter-spacing:-.035em!important;
}
.eco-lab-workspace .eco-anatomy-lab__control-help,
.eco-lab-workspace .eco-anatomy-lab__viewrail-note span,
.eco-lab-workspace .eco-anatomy-lab__view-card dd,
.eco-lab-workspace .eco-anatomy-lab__cue,
.eco-lab-workspace .eco-anatomy-lab__acquire>span,
.eco-lab-workspace .eco-anatomy-lab__footer-note p{color:var(--eco-cs-text-dim,rgba(237,241,238,.57))!important}

.eco-lab-workspace .eco-anatomy-lab__view-card,.eco-lab-workspace .eco-anatomy-lab__challenge,.eco-lab-workspace .eco-anatomy-lab__visibility,.eco-lab-workspace .eco-anatomy-lab__structures,.eco-lab-workspace .eco-anatomy-lab__acquire{border-color:var(--eco-lab-line2);background:var(--eco-lab-bg2)}

.eco-lab-workspace .eco-anatomy-lab__footer-note{margin-top:14px!important;padding:15px 17px;border-color:var(--eco-lab-line2);background:var(--eco-lab-bg2)}
.eco-lab-workspace .eco-anatomy-lab__footer-note p{font-size:10px!important;line-height:1.55!important}

/* Prevent parent theme heading/link colors from bleeding into lab workspaces. */
.eco-lab-workspace h1,.eco-lab-workspace h2,.eco-lab-workspace h3{color:var(--eco-lab-text)!important}
.eco-lab-workspace button:focus-visible,.eco-lab-workspace a:focus-visible{outline:1px solid var(--eco-lab-green);outline-offset:2px}
body.eco-cs-route-echo_anatomy_lab .entry-content,body.eco-cs-route-echo_anatomy_lab .wp-block-post-content{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}

@media(max-width:1180px){
  .eco-lab-workspace .eco-anatomy-lab__module-nav,.eco-lab-workspace .eco-anatomy-lab__workspace,.eco-lab-workspace .eco-anatomy-lab__footer-note{margin-left:clamp(18px,3vw,34px)!important;margin-right:clamp(18px,3vw,34px)!important}
}
@media(max-width:820px){
  .eco-lab-workspace{width:100%!important;border-inline:0;padding-inline:0!important}
  .eco-lab-workspace .eco-anatomy-lab__hero{display:block;min-height:0;padding:44px 20px 32px!important}
  .eco-lab-workspace .eco-anatomy-lab__hero-actions{margin-top:22px;align-items:flex-start}
  .eco-lab-workspace .eco-anatomy-lab__hero-actions span{text-align:left}
  .eco-lab-workspace .eco-anatomy-lab__module-nav,.eco-lab-workspace .eco-anatomy-lab__workspace,.eco-lab-workspace .eco-anatomy-lab__footer-note{margin-left:12px!important;margin-right:12px!important}
}
@media(max-width:520px){
  .eco-lab-workspace .eco-anatomy-lab__hero h1{font-size:42px!important}
  .eco-lab-workspace .eco-anatomy-lab__intro{font-size:14px!important}
  .eco-lab-workspace .eco-anatomy-lab__hero-actions a{width:100%;justify-content:flex-start}
}
@media(prefers-reduced-motion:reduce){.eco-lab-workspace *{transition:none!important;scroll-behavior:auto!important}}

/* v0.4.98 — Anatomy workspace containment / overlap repair.
 * Keep the interactive stage inside its grid track even when a parent theme,
 * browser zoom level, or a narrower desktop viewport changes intrinsic sizes.
 */
.eco-lab-workspace .eco-anatomy-lab__workspace{
  grid-template-columns:minmax(148px,178px) minmax(0,1.55fr) minmax(280px,.78fr);
  align-items:start;
  min-width:0;
}
.eco-lab-workspace .eco-anatomy-lab__workspace > .eco-anatomy-lab__viewrail,
.eco-lab-workspace .eco-anatomy-lab__workspace > .eco-anatomy-lab__stage-panel,
.eco-lab-workspace .eco-anatomy-lab__workspace > .eco-anatomy-lab__intel{
  min-width:0!important;
  width:auto!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  justify-self:stretch;
}
.eco-lab-workspace .eco-anatomy-lab__stage-panel{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  contain:layout paint;
}
.eco-lab-workspace .eco-anatomy-lab__stage-toolbar,
.eco-lab-workspace .eco-anatomy-lab__viewport,
.eco-lab-workspace .eco-anatomy-lab__manipulation{
  width:100%;
  max-width:100%;
  min-width:0;
}
.eco-lab-workspace .eco-anatomy-lab__viewport canvas,
.eco-lab-workspace .eco-anatomy-lab__echo-stage canvas{
  max-width:100%;
}
.eco-lab-workspace .eco-anatomy-lab__intel{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.eco-lab-workspace .eco-anatomy-lab__view-card,
.eco-lab-workspace .eco-anatomy-lab__challenge,
.eco-lab-workspace .eco-anatomy-lab__visibility,
.eco-lab-workspace .eco-anatomy-lab__structures,
.eco-lab-workspace .eco-anatomy-lab__acquire,
.eco-lab-workspace .eco-anatomy-lab__echo-stage{
  min-width:0;
  max-width:calc(100% - 28px);
}

/* Move the plane-output column beneath the stage sooner. This protects the
 * lab at common 110–125% browser zoom levels instead of waiting until 1180px.
 */
@media (min-width:981px) and (max-width:1320px){
  .eco-lab-workspace .eco-anatomy-lab__workspace{
    grid-template-columns:minmax(148px,168px) minmax(0,1fr)!important;
  }
  .eco-lab-workspace .eco-anatomy-lab__intel{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:minmax(240px,.85fr) minmax(240px,1fr) minmax(220px,.9fr);
    align-items:start;
  }
  .eco-lab-workspace .eco-anatomy-lab__intel > .eco-anatomy-lab__panel-label{grid-column:1/-1}
  .eco-lab-workspace .eco-anatomy-lab__echo-stage{grid-column:1;grid-row:2/6}
  .eco-lab-workspace .eco-anatomy-lab__view-card,
  .eco-lab-workspace .eco-anatomy-lab__challenge,
  .eco-lab-workspace .eco-anatomy-lab__acquire{grid-column:2}
  .eco-lab-workspace .eco-anatomy-lab__visibility,
  .eco-lab-workspace .eco-anatomy-lab__structures{grid-column:3}
  .eco-lab-workspace .eco-anatomy-lab__structures{margin-top:0}
}
@media (min-width:821px) and (max-width:980px){
  .eco-lab-workspace .eco-anatomy-lab__workspace{
    grid-template-columns:138px minmax(0,1fr)!important;
  }
  .eco-lab-workspace .eco-anatomy-lab__intel{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
    align-items:start;
  }
  .eco-lab-workspace .eco-anatomy-lab__intel > .eco-anatomy-lab__panel-label{grid-column:1/-1}
  .eco-lab-workspace .eco-anatomy-lab__echo-stage{grid-column:1;grid-row:2/7}
  .eco-lab-workspace .eco-anatomy-lab__view-card,
  .eco-lab-workspace .eco-anatomy-lab__challenge,
  .eco-lab-workspace .eco-anatomy-lab__acquire,
  .eco-lab-workspace .eco-anatomy-lab__visibility,
  .eco-lab-workspace .eco-anatomy-lab__structures{grid-column:2}
  .eco-lab-workspace .eco-anatomy-lab__structures{margin-top:0}
}
@media (max-width:820px){
  .eco-lab-workspace .eco-anatomy-lab__workspace{display:block!important}
  .eco-lab-workspace .eco-anatomy-lab__intel{display:block!important;overflow:hidden}
  .eco-lab-workspace .eco-anatomy-lab__view-card,
  .eco-lab-workspace .eco-anatomy-lab__challenge,
  .eco-lab-workspace .eco-anatomy-lab__visibility,
  .eco-lab-workspace .eco-anatomy-lab__structures,
  .eco-lab-workspace .eco-anatomy-lab__acquire,
  .eco-lab-workspace .eco-anatomy-lab__echo-stage{max-width:none}
}


/* v0.4.99 — keep the workstation free of inherited theme link underlines. */
.eco-lab-workspace a,
.eco-lab-workspace a:hover,
.eco-lab-workspace a:focus,
.eco-lab-workspace a:focus-visible,
.eco-lab-workspace a *{
  text-decoration:none!important;
  text-decoration-line:none!important;
}

/* v0.5.27.11 — daylight laboratory surface alignment.
   Shared visual treatment only; simulator geometry and interaction logic remain untouched. */
html[data-eco-theme="light"] .eco-lab-workspace{
  --eco-lab-bg:#f4f7f4;
  --eco-lab-bg2:#ffffff;
  --eco-lab-panel:#ffffff;
  --eco-lab-text:#17231c;
  --eco-lab-muted:rgba(23,35,28,.76);
  --eco-lab-faint:rgba(23,35,28,.43);
  --eco-lab-line:rgba(31,90,55,.22);
  --eco-lab-line2:rgba(23,35,28,.13);
  background:
    linear-gradient(rgba(31,90,55,.018) 1px,transparent 1px),
    radial-gradient(circle at 8% 2%,rgba(31,90,55,.075),transparent 30%),
    #f4f7f4!important;
  background-size:100% 5px,auto,auto!important;
}
html[data-eco-theme="light"] .eco-lab-workspace .eco-anatomy-lab__matrix{
  opacity:.055;
  background-image:linear-gradient(rgba(31,90,55,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(31,90,55,.075) 1px,transparent 1px);
}
html[data-eco-theme="light"] .eco-lab-workspace .eco-anatomy-lab__hero{
  background:linear-gradient(180deg,#fbfdfb,#f1f5f2);
}
html[data-eco-theme="light"] .eco-lab-workspace .eco-anatomy-lab__module-nav,
html[data-eco-theme="light"] .eco-lab-workspace .eco-anatomy-lab__viewrail,
html[data-eco-theme="light"] .eco-lab-workspace .eco-anatomy-lab__stage-panel,
html[data-eco-theme="light"] .eco-lab-workspace .eco-anatomy-lab__intel,
html[data-eco-theme="light"] .eco-lab-workspace .eco-anatomy-lab__view-card,
html[data-eco-theme="light"] .eco-lab-workspace .eco-anatomy-lab__challenge,
html[data-eco-theme="light"] .eco-lab-workspace .eco-anatomy-lab__visibility,
html[data-eco-theme="light"] .eco-lab-workspace .eco-anatomy-lab__structures,
html[data-eco-theme="light"] .eco-lab-workspace .eco-anatomy-lab__acquire,
html[data-eco-theme="light"] .eco-lab-workspace .eco-anatomy-lab__footer-note{
  background:#fff!important;
  border-color:rgba(23,35,28,.13)!important;
}
html[data-eco-theme="light"] .eco-lab-workspace .eco-anatomy-lab__module-nav button{
  color:rgba(23,35,28,.48)!important;
  border-color:rgba(23,35,28,.12)!important;
}
html[data-eco-theme="light"] .eco-lab-workspace .eco-anatomy-lab__module-nav button.is-active{
  color:#17231c!important;
  background:linear-gradient(90deg,rgba(31,90,55,.10),rgba(31,90,55,.025));
}
html[data-eco-theme="light"] .eco-lab-workspace .eco-anatomy-lab__panel-label{
  color:rgba(23,35,28,.47)!important;
}
