/* MEV 2.0 — Phase 03B cross-family resistance lab — P04/P02/P05. */
html.mev-ir-js body.mev-ir-active .mev-p04h-cycle,
html.mev-ir-js body.mev-ir-active .mev-p04h-cycle-row,
html.mev-ir-js body.mev-ir-active .mev-p04h-overview,
html.mev-ir-js body.mev-ir-active .mev-p04h-overview-row,
html.mev-ir-js body.mev-ir-active .mev-p02h-field,
html.mev-ir-js body.mev-ir-active .mev-p02h-onward,
html.mev-ir-js body.mev-ir-active .mev-p15-retained,
html.mev-ir-js body.mev-ir-active .mev-p15-retained-row,
html.mev-ir-js body.mev-ir-active .mev-p15-subparts,
html.mev-ir-js body.mev-ir-active .mev-p15-subpart,
html.mev-ir-js body.mev-ir-active .mev-p15-value-groups,
html.mev-ir-js body.mev-ir-active .mev-p15-value-group,
html.mev-ir-js body.mev-ir-active .mev-p15-value-register,
html.mev-ir-js body.mev-ir-active .mev-p15-value-row{position:relative}

/* P04 — sequential structure + deterministic doctrinal fields. */
html.mev-ir-js body.mev-ir-p04 .mev-p04h-cycle{border-top-color:transparent!important}
html.mev-ir-js body.mev-ir-p04 .mev-p04h-cycle-row{border-bottom-color:transparent!important}
html.mev-ir-js body.mev-ir-p04 .mev-p04h-cycle-marker:after{background:transparent!important}
html.mev-ir-js body.mev-ir-p04 .mev-p04h-overview{border-top-color:transparent!important;border-bottom-color:transparent!important}
html.mev-ir-js body.mev-ir-p04 .mev-p04h-overview-row{border-bottom-color:transparent!important}
html.mev-ir-js body.mev-ir-p04 .mev-p04h-section-lead{max-width:none!important;text-wrap:wrap!important;white-space:normal!important}
html.mev-ir-js body.mev-ir-p04 .mev-p04h-principle{
  position:relative;box-sizing:border-box;width:100%!important;max-width:none!important;
  margin:40px 0 0!important;padding:14px 0!important;border:0!important;
  font-size:1.18rem!important;line-height:1.46!important;letter-spacing:0!important;
  text-wrap:wrap!important;white-space:normal!important;overflow-wrap:normal;word-break:normal;hyphens:none;
}
html.mev-ir-js body.mev-ir-p04 .mev-p04h-section--beige .mev-p04h-principle{
  background:linear-gradient(to right,var(--p04h-beige) 0%,#f1f2e9 8%,var(--p04h-grey) 14%,var(--p04h-grey) 86%,#f1f2e9 92%,var(--p04h-beige) 100%);
}
html.mev-ir-js body.mev-ir-p04 .mev-p04h-section--grey .mev-p04h-principle{
  background:linear-gradient(to right,var(--p04h-grey) 0%,#f5f6ef 8%,var(--p04h-beige) 14%,var(--p04h-beige) 86%,#f5f6ef 92%,var(--p04h-grey) 100%);
}
html.mev-ir-js body.mev-ir-p04 .mev-p04h-principle:before,
html.mev-ir-js body.mev-ir-p04 .mev-p04h-principle:after{
  content:'';position:absolute;left:0;right:0;height:1px;
  background:linear-gradient(to right,rgba(253,6,0,0) 0%,rgba(253,6,0,.42) 8%,#FD0600 14%,#FD0600 86%,rgba(253,6,0,.42) 92%,rgba(253,6,0,0) 100%);
  clip-path:inset(0 50% 0 50%);transition:clip-path 1100ms cubic-bezier(.18,.72,.22,1);pointer-events:none;
}
html.mev-ir-js body.mev-ir-p04 .mev-p04h-principle:before{top:0}
html.mev-ir-js body.mev-ir-p04 .mev-p04h-principle:after{bottom:0;transition-delay:110ms}
html.mev-ir-js body.mev-ir-p04 .mev-p04h-principle.is-doctrinal-built:before,
html.mev-ir-js body.mev-ir-p04 .mev-p04h-principle.is-doctrinal-built:after{clip-path:inset(0 0 0 0)}
html.mev-ir-js body.mev-ir-p04 .mev-p04h-tech-field{margin:34px 0 0!important;padding:22px 0!important;font-size:.98rem!important;line-height:1.62!important}
html.mev-ir-js body.mev-ir-p04 .mev-p04h-tech-field p{margin:0 0 1em!important;font-family:'General Sans',sans-serif!important;font-size:.98rem!important;font-weight:400!important;line-height:1.62!important;letter-spacing:0!important;text-wrap:pretty!important;white-space:normal!important}
html.mev-ir-js body.mev-ir-p04 .mev-p04h-tech-field .mev-p04h-tech-title{margin-bottom:14px!important;font-family:'Karrik',sans-serif!important;font-size:1.16rem!important;line-height:1.2!important;letter-spacing:-.008em!important;text-wrap:balance!important}
html.mev-ir-js body.mev-ir-p04 .mev-p04h-tech-field p:last-child{margin-bottom:0!important}

/* P02 — relation only. Existing red rails remain static. */
html.mev-ir-js body.mev-ir-p02 .mev-p02h-identity-pair .mev-p02h-field+.mev-p02h-field:before,
html.mev-ir-js body.mev-ir-p02 .mev-p02h-grammar-pair .mev-p02h-field+.mev-p02h-field:before,
html.mev-ir-js body.mev-ir-p02 .mev-p02h-onward-pair .mev-p02h-onward+.mev-p02h-onward:before{background:transparent!important}

/* P05 — hierarchical registers + deterministic doctrinal memory points. */
html.mev-ir-js body.mev-ir-p05 .mev-p15-retained{border-top-color:transparent!important}
html.mev-ir-js body.mev-ir-p05 .mev-p15-retained-row{border-bottom-color:transparent!important}
html.mev-ir-js body.mev-ir-p05 .mev-p15-subparts{border-top-color:transparent!important}
html.mev-ir-js body.mev-ir-p05 .mev-p15-subpart{border-bottom-color:transparent!important}
html.mev-ir-js body.mev-ir-p05 .mev-p15-value-groups{border-top-color:transparent!important}
html.mev-ir-js body.mev-ir-p05 .mev-p15-value-group{border-bottom-color:transparent!important}
html.mev-ir-js body.mev-ir-p05 .mev-p15-value-register{border-top-color:transparent!important}
html.mev-ir-js body.mev-ir-p05 .mev-p15-value-row{border-bottom-color:transparent!important}
html.mev-ir-js body.mev-ir-p05 .mev-p15-section-lead{max-width:none!important;text-wrap:wrap!important;white-space:normal!important}
html.mev-ir-js body.mev-ir-p05 .mev-p15-memory{
  position:relative;box-sizing:border-box;width:100%!important;max-width:none!important;
  margin:40px 0 0!important;padding:14px 0!important;border:0!important;
  font-size:1.18rem!important;line-height:1.46!important;letter-spacing:0!important;
  text-wrap:wrap!important;white-space:normal!important;overflow-wrap:normal;word-break:normal;hyphens:none;
}
html.mev-ir-js body.mev-ir-p05 .mev-p15-section--mastery .mev-p15-memory{
  background:linear-gradient(to right,var(--mev-p15-beige) 0%,#f1f2e9 8%,var(--mev-p15-grey) 14%,var(--mev-p15-grey) 86%,#f1f2e9 92%,var(--mev-p15-beige) 100%);
}
html.mev-ir-js body.mev-ir-p05 .mev-p15-section--value .mev-p15-memory{
  background:linear-gradient(to right,var(--mev-p15-grey) 0%,#f5f6ef 8%,var(--mev-p15-beige) 14%,var(--mev-p15-beige) 86%,#f5f6ef 92%,var(--mev-p15-grey) 100%);
}
html.mev-ir-js body.mev-ir-p05 .mev-p15-memory:before,
html.mev-ir-js body.mev-ir-p05 .mev-p15-memory:after{
  content:'';position:absolute;left:0;right:0;height:1px;
  background:linear-gradient(to right,rgba(253,6,0,0) 0%,rgba(253,6,0,.42) 8%,#FD0600 14%,#FD0600 86%,rgba(253,6,0,.42) 92%,rgba(253,6,0,0) 100%);
  clip-path:inset(0 50% 0 50%);transition:clip-path 1100ms cubic-bezier(.18,.72,.22,1);pointer-events:none;
}
html.mev-ir-js body.mev-ir-p05 .mev-p15-memory:before{top:0}
html.mev-ir-js body.mev-ir-p05 .mev-p15-memory:after{bottom:0;transition-delay:110ms}
html.mev-ir-js body.mev-ir-p05 .mev-p15-memory.is-doctrinal-built:before,
html.mev-ir-js body.mev-ir-p05 .mev-p15-memory.is-doctrinal-built:after{clip-path:inset(0 0 0 0)}

html.mev-ir-js body.mev-ir-active .mev-ir-line{
  --mev-ir-color:#000;
  --mev-ir-ms:1000ms;
  position:absolute;
  display:block;
  pointer-events:none;
  z-index:6;
  background:var(--mev-ir-color);
  will-change:transform;
}
html.mev-ir-js body.mev-ir-active .mev-ir-line--h{
  left:0;right:0;height:1px;
  transform:scaleX(0);
  transition:transform var(--mev-ir-ms) cubic-bezier(.18,.72,.22,1);
}
html.mev-ir-js body.mev-ir-active .mev-ir-line--v{
  top:0;bottom:0;width:1px;
  transform:scaleY(0);
  transition:transform var(--mev-ir-ms) cubic-bezier(.18,.72,.22,1);
}
html.mev-ir-js body.mev-ir-active .mev-ir-line[data-dir="ltr"]{transform-origin:0 50%}
html.mev-ir-js body.mev-ir-active .mev-ir-line[data-dir="rtl"]{transform-origin:100% 50%}
html.mev-ir-js body.mev-ir-active .mev-ir-line[data-dir="ttb"]{transform-origin:50% 0}
html.mev-ir-js body.mev-ir-active .mev-ir-line[data-dir="btt"]{transform-origin:50% 100%}
html.mev-ir-js body.mev-ir-active .mev-ir-line[data-dir="c2e"]{transform-origin:50% 50%}
html.mev-ir-js body.mev-ir-active .mev-ir-line.is-built.mev-ir-line--h{transform:scaleX(1)}
html.mev-ir-js body.mev-ir-active .mev-ir-line.is-built.mev-ir-line--v{transform:scaleY(1)}
html.mev-ir-js body.mev-ir-active .mev-ir-line[data-edge="top"]{top:0}
html.mev-ir-js body.mev-ir-active .mev-ir-line[data-edge="bottom"]{bottom:0}
html.mev-ir-js body.mev-ir-p04 .mev-ir-line[data-role="p04-cycle-axis"]{left:220px;top:28px;bottom:28px}
html.mev-ir-js body.mev-ir-p02 .mev-ir-line[data-role="p02-pair-axis"]{left:0;top:0;bottom:0}
html.mev-ir-js body.mev-p02-composition-r1.mev-ir-p02 .mev-ir-line[data-role="p02-pair-axis"]{top:28px;bottom:28px}
/* P02 R1 owns a separate mobile hinge. It is absent on desktop. */
html.mev-ir-js body.mev-ir-p02 .mev-ir-line[data-role="p02-pair-middle"],
html.mev-ir-js body.mev-ir-p02 .mev-ir-sentinel[data-role="p02-pair-middle"]{display:none!important}

html.mev-ir-js body.mev-ir-active .mev-ir-line[data-tone="black"]{--mev-ir-color:#000}
html.mev-ir-js body.mev-ir-active .mev-ir-line[data-tone="55"]{--mev-ir-color:rgba(0,0,0,.55)}
html.mev-ir-js body.mev-ir-active .mev-ir-line[data-tone="52"]{--mev-ir-color:rgba(0,0,0,.52)}
html.mev-ir-js body.mev-ir-active .mev-ir-line[data-tone="42"]{--mev-ir-color:rgba(0,0,0,.42)}
html.mev-ir-js body.mev-ir-active .mev-ir-line[data-tone="38"]{--mev-ir-color:rgba(0,0,0,.38)}
html.mev-ir-js body.mev-ir-active .mev-ir-line[data-tone="35"]{--mev-ir-color:rgba(0,0,0,.35)}

html.mev-ir-js body.mev-ir-active .mev-ir-sentinel{
  position:absolute;
  width:1px;height:1px;
  left:50%;
  pointer-events:none;
  opacity:0;
}
html.mev-ir-js body.mev-ir-active .mev-ir-sentinel[data-edge="top"]{top:0}
html.mev-ir-js body.mev-ir-active .mev-ir-sentinel[data-edge="bottom"]{bottom:0}
html.mev-ir-js body.mev-ir-active .mev-ir-sentinel[data-edge="axis"]{top:0}

@media(max-width:780px){
  /* P04 overview is structurally last-child sensitive: preserve the semantic third span. */
  html.mev-ir-js body.mev-ir-p04 .mev-p04h-overview-row>span:nth-child(3):not(.mev-ir-line):not(.mev-ir-sentinel){
    grid-column:2;
    grid-row:2;
    min-width:0;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }
  /* P04 desktop axes do not exist in the frozen mobile geometry. */
  html.mev-ir-js body.mev-ir-p04 .mev-ir-line[data-role="p04-cycle-axis"],
  html.mev-ir-js body.mev-ir-p04 .mev-ir-sentinel[data-role="p04-cycle-axis"]{display:none!important}
  html.mev-ir-js body.mev-ir-p04 .mev-p04h-principle{
    width:100%!important;max-width:none!important;margin:32px 0 0!important;padding:12px 0!important;
    font-size:1rem!important;line-height:1.48!important;text-wrap:wrap!important;white-space:normal!important;
  }
  html.mev-ir-js body.mev-ir-p04 .mev-p04h-tech-field{margin:28px 0 0!important;padding:18px 0!important}
  html.mev-ir-js body.mev-ir-p04 .mev-p04h-tech-field .mev-p04h-tech-title{font-size:1.1rem!important;margin-bottom:12px!important}
  html.mev-ir-js body.mev-ir-p04 .mev-p04h-tech-field p{font-size:.96rem!important;line-height:1.6!important}
  html.mev-ir-js body.mev-ir-p05 .mev-p15-memory{
    width:100%!important;max-width:none!important;margin:32px 0 0!important;padding:12px 0!important;
    font-size:1rem!important;line-height:1.48!important;text-wrap:wrap!important;white-space:normal!important;
  }
  /* P02 desktop axes disappear on mobile. In R1 composition the native mobile relation is a horizontal hinge. */
  html.mev-ir-js body.mev-ir-p02 .mev-ir-line[data-role="p02-pair-axis"],
  html.mev-ir-js body.mev-ir-p02 .mev-ir-sentinel[data-role="p02-pair-axis"]{display:none!important}
  html.mev-ir-js body.mev-p02-composition-r1.mev-ir-p02 .mev-ir-line[data-role="p02-pair-middle"],
  html.mev-ir-js body.mev-p02-composition-r1.mev-ir-p02 .mev-ir-sentinel[data-role="p02-pair-middle"]{display:block!important}
}

@media(prefers-reduced-motion:reduce){
  html.mev-ir-js body.mev-ir-active .mev-ir-line{transition:none!important;transform:none!important;background:var(--mev-ir-color)!important}
  html.mev-ir-js body.mev-ir-p04 .mev-p04h-principle:before,
  html.mev-ir-js body.mev-ir-p04 .mev-p04h-principle:after,
  html.mev-ir-js body.mev-ir-p05 .mev-p15-memory:before,
  html.mev-ir-js body.mev-ir-p05 .mev-p15-memory:after{transition:none!important;clip-path:inset(0 0 0 0)!important}
}
