/* RuGo v079 — LAB SPACE
   Priority order:
   1) exact field proportion;
   2) mirrored editorial alignment;
   3) solid accent masonry;
   4) Tetris-like continuous vertical fall;
   5) direct-response RuGo cursor block.

   No shared branch work is included in this version. */

.core-panel--lab{
  --lab-red:var(--launch-accent,#e1261c);
  --lab-ink:var(--launch-ink,#11110f);
  --lab-paper:var(--launch-paper,#f4f1ea);
  --lab-muted:rgba(17,17,15,.64);
  --lab-title-scale:clamp(38px,calc((100vh / 8) * .583),74px);
  --lab-statement-scale:clamp(13px,calc((100vh / 8) * .175),18px);
  --lab-right-axis:8.45vw;
  --lab-field-left:5.55vw;
  --lab-field-width:26.25vw;
}

/* Use the complete LAB panel as the coordinate system.
   This removes the internal letterbox/frame dependency that kept the
   v078 field from reading as a full-height vertical proportion. */
.lab-space-v079{
  position:absolute;
  inset:0;
  z-index:18;
  color:var(--lab-ink);
  font-family:var(--launch-font);
  overflow:hidden;
}

/* ==========================================================
   PRIMARY PROPORTION LOCK
   ----------------------------------------------------------
   Reference:
   - blue Admin markup ≈ 5.5vw left offset
   - ≈ 26.3vw band width
   - complete viewport height
   This is intentionally solved BEFORE further graphic polish.
   ========================================================== */

.lab-space-v079__visual{
  position:absolute;
  z-index:1;
  left:var(--lab-field-left);
  top:0;
  bottom:0;
  width:var(--lab-field-width);
  height:100%;
  margin:0;
  padding:0;
  overflow:hidden;
}

.lab-masonry-v079{
  position:absolute;
  inset:0;
  overflow:hidden;
  background:transparent;
  isolation:isolate;
}

.lab-masonry-v079__canvas{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  touch-action:none;
  background:transparent;
}

/* Native cursor disappears ONLY while the RuGo block is still active.
   When RuGo becomes trapped or the diagram completes, the class is
   removed and the normal website cursor resumes inside the field. */
.lab-masonry-v079.is-rugo-active .lab-masonry-v079__canvas{
  cursor:none;
}

.lab-masonry-v079:not(.is-rugo-active) .lab-masonry-v079__canvas{
  cursor:auto;
}

/* ==========================================================
   MIRRORED EDITORIAL FIELD
   ----------------------------------------------------------
   All lines share one RIGHT alignment axis.
   This directly follows the Admin's second reference diagram:
   fixed right edge / ragged left edge.
   ========================================================== */

.lab-space-v079__content{
  position:absolute;
  z-index:3;
  right:var(--lab-right-axis);
  top:50%;
  transform:translateY(-50%);
  width:min(46vw,610px);
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  text-align:right;
}

.lab-space-v079__content-inner{
  width:100%;
  min-width:0;
}

.lab-space-v079__intro{
  width:100%;
  margin:0 0 calc((100vh / 8) * .22);
  text-align:right;
}

.lab-space-v079__kicker{
  display:block;
  margin:0 0 clamp(7px,.7vh,11px);
  font-size:clamp(10px,.72vw,12px);
  line-height:1;
  font-weight:650;
  letter-spacing:.12em;
  color:var(--lab-red);
  text-align:right;
}

.lab-space-v079__lead{
  margin:0 0 0 auto;
  width:min(100%,520px);
  font-size:clamp(13px,1.02vw,17px);
  line-height:1.42;
  letter-spacing:-.012em;
  color:var(--lab-muted);
  text-align:right;
}

.lab-space-v079__lead strong{
  color:var(--lab-ink);
  font-weight:650;
}

.lab-space-v079__territories{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:calc((100vh / 8) * .29);
}

.lab-space-v079__territory{
  width:100%;
  margin:0;
  padding:0;
  cursor:default;
  text-align:right;
}

.lab-space-v079__territory-title{
  display:block;
  width:max-content;
  max-width:none;
  margin:0 0 0 auto;
  padding:0;
  white-space:nowrap;
  font-size:var(--lab-title-scale)!important;
  font-weight:650;
  line-height:.90;
  letter-spacing:-.055em;
  color:var(--lab-ink);
  text-align:right;
  transition:color 180ms ease;
}

.lab-space-v079__territory:hover .lab-space-v079__territory-title{
  color:var(--lab-red);
}

.lab-space-v079__territory-copy{
  display:block;
  width:min(100%,520px);
  margin:calc((100vh / 8) * .08) 0 0 auto;
  font-size:var(--lab-statement-scale);
  line-height:1.42;
  letter-spacing:-.012em;
  color:var(--lab-muted);
  font-weight:400;
  text-align:right;
}

.lab-space-v079__territory-copy strong{
  color:var(--lab-red);
  font-weight:650;
}

.lab-space-v079__note{
  width:min(100%,520px);
  margin:calc((100vh / 8) * .20) 0 0 auto;
  font-size:clamp(10.5px,.78vw,13px);
  line-height:1.42;
  letter-spacing:-.006em;
  color:rgba(17,17,15,.50);
  text-align:right;
}

@media (max-width:1180px){
  .core-panel--lab{
    --lab-right-axis:7.6vw;
    --lab-field-left:5.0vw;
    --lab-field-width:26.5vw;
  }

  .lab-space-v079__content{
    width:min(49vw,600px);
  }

  .lab-space-v079__lead,
  .lab-space-v079__territory-copy{
    font-size:13px;
  }

  .lab-space-v079__note{
    font-size:10.5px;
  }
}