/* pv-bench.css — "THE PROVING GROUND" for figure#pm-bench (Primae hero).
   Companion to js/pv-bench.js. The stage is appended inside
   .pm-bench-field (aria-hidden) and activated by adding .pv1-live to the
   field; the original static grid stays in the DOM as the no-JS /
   forced-colors / narrow-container fallback and is hidden only while live.
   primae-page.js remains the sole state controller — this layer only
   observes data-bench-state on #pm-bench.

   Three acts on one ink floor:
     select  — three candidate rigs actually running (scopes, ribbons,
               lamps, logs) over an observed-behavior meter bar.
     adapt   — the selected rig crosses to center; a preserved foundation
               of intact blocks assembles and a rust delta slot is carved
               and forged.
     handoff — the assembly compacts left, four checks stamp in
               sequence (three PASS, one FLAG — failure stays visible),
               and code + signed record fuse into a sealed paper package.

   Ink ground, paper text, rust accents. Type floor 13px. All continuous
   motion is driven by the JS clock; CSS transitions only carry the
   discrete state swaps. */

/* ---------- activation / fallback frame ---------- */

.pv1-stage { display: none; }

.pm-bench-field.pv1-live { display: block; }
/* repeated class boosts specificity above primae-v2's compact
   one-panel-at-a-time rules (0,5,0) without touching that file */
.pm-bench-field.pv1-live.pv1-live.pv1-live.pv1-live.pv1-live > :not(.pv1-stage) { display: none; }
.pm-bench-field.pv1-live > .pv1-stage {
    display: grid;
    gap: 0.55rem;
    width: 100%;
    --pv1-e: cubic-bezier(0.25, 0.8, 0.25, 1);
    --pv1-mono: var(--pm-mono, ui-monospace, "SF Mono", Menlo, monospace);
    --pv1-sans: var(--pm-sans, system-ui, sans-serif);
    --pv1-card: #21201c;
    --pv1-card-2: #24231e;
    --pv1-edge: rgba(244, 241, 233, 0.14);
    --pv1-edge-soft: rgba(244, 241, 233, 0.09);
    --pv1-label: #c8c2b7;
    --pv1-bright: #ece8de;
    --pv1-green: #6ec6a0;
    --pv1-amber: #e0b05e;
    --pv1-red: #e8836a;
}

/* ---------- brief bar (defined software problem) ---------- */

.pv1-brief {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 3.1rem;
    padding: 0.55rem 0.85rem;
    color: var(--pm-ink, #191917);
    background: var(--pm-paper, #f4f1e9);
    border-left: 3px solid var(--pm-rust, #bd4321);
}
.pv1-brief span {
    font-family: var(--pv1-mono);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.07em;
    white-space: nowrap;
}
.pv1-brief strong {
    font-family: var(--pv1-sans);
    font-size: 0.8125rem;
    font-weight: 620;
    text-align: right;
    line-height: 1.3;
}

/* ---------- floor ---------- */

.pv1-floor {
    position: relative;
    height: 18.75rem;
    overflow: hidden;
}

.pv1-floor > * { position: absolute; }

/* shared actor chrome */
.pv1-rig,
.pv1-obs,
.pv1-found,
.pv1-checks {
    background: var(--pv1-card);
    border: 1px solid var(--pv1-edge);
    transition:
        left 0.62s var(--pv1-e),
        top 0.62s var(--pv1-e),
        width 0.62s var(--pv1-e),
        height 0.62s var(--pv1-e),
        transform 0.62s var(--pv1-e),
        opacity 0.45s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease;
}

/* ---------- candidate rigs ---------- */

.pv1-rig {
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 0.42rem;
    padding: 0.55rem 0.6rem;
    overflow: hidden;
}
.pv1-rig-h {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    min-width: 0;
    min-height: 1.1rem;
}
.pv1-rig-h b {
    flex: 0 0 auto;
    font-family: var(--pv1-mono);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    color: #e4dfd4;
    white-space: nowrap;
}
.pv1-lamp {
    flex: 0 0 auto;
    margin-left: auto;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
}
.pv1-rig--a .pv1-lamp { background: var(--pv1-green); box-shadow: 0 0 0.45rem rgba(110, 198, 160, 0.6); }
.pv1-rig--b .pv1-lamp { background: var(--pv1-amber); box-shadow: 0 0 0.45rem rgba(224, 176, 94, 0.55); }
.pv1-rig--c .pv1-lamp { background: var(--pv1-red); box-shadow: 0 0 0.45rem rgba(232, 131, 106, 0.55); }

.pv1-scope {
    flex: 1 1 auto;
    width: 100%;
    height: auto;
    min-height: 3rem;
    background: rgba(244, 241, 233, 0.04);
    border: 1px solid var(--pv1-edge-soft);
}
.pv1-scope polyline {
    fill: none;
    stroke-width: 1.5;
    stroke-linejoin: round;
    stroke-linecap: round;
}
.pv1-rig--a .pv1-scope polyline { stroke: var(--pm-rust-light, #f09a78); }
.pv1-rig--b .pv1-scope polyline { stroke: #c9c3b6; }
.pv1-rig--c .pv1-scope polyline { stroke: #b3ada0; }

.pv1-ribbon {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 1rem;
}
.pv1-ribbon span {
    min-width: 4.4em;
    font-family: var(--pv1-mono);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--pv1-label);
    white-space: nowrap;
}
.pv1-ribbon.pv1-warn span { color: var(--pv1-amber); }
.pv1-ribbon.pv1-bad span { color: var(--pv1-red); }
.pv1-ribbon i {
    position: relative;
    flex: 1 1 auto;
    height: 4px;
    background: rgba(244, 241, 233, 0.12);
    overflow: hidden;
}
.pv1-ribbon u {
    position: absolute;
    inset: 0;
    background: var(--pm-rust-light, #f09a78);
    transform-origin: left center;
    transform: scaleX(0);
}
.pv1-ribbon.pv1-warn u { background: var(--pv1-amber); }
.pv1-ribbon.pv1-bad u { background: var(--pv1-red); }

.pv1-note {
    margin: 0;
    min-height: 2.3em;
    font-family: var(--pv1-mono);
    font-size: 0.8125rem;
    line-height: 1.35;
    color: var(--pv1-label);
}

.pv1-tag {
    display: none;
    flex: 0 1 auto;
    min-width: 0;
    margin-left: auto;
    font-family: var(--pv1-mono);
    font-size: 0.8125rem;
    letter-spacing: 0.01em;
    color: var(--pv1-label);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* SELECTED stamp — lands on rig A the moment it is chosen */
.pv1-stamp {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 2;
    padding: 0.3rem 0.6rem;
    font-family: var(--pv1-mono);
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: var(--pm-paper, #f4f1e9);
    background: rgba(25, 25, 23, 0.82);
    border: 2px solid var(--pm-rust-light, #f09a78);
    white-space: nowrap;
    opacity: 0;
    transform: translate(-50%, -50%) scale(1.5) rotate(-7deg);
    transition: opacity 0.3s ease, transform 0.34s cubic-bezier(0.2, 0.9, 0.3, 1.25);
    pointer-events: none;
}

/* ---------- observed-behavior meter bar (select only) ---------- */

.pv1-obs {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.45rem 0.65rem;
}
.pv1-obs > b {
    font-family: var(--pv1-mono);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.07em;
    color: var(--pv1-label);
    white-space: nowrap;
}
.pv1-meter {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex: 1 1 0;
    min-width: 0;
}
.pv1-meter span {
    font-family: var(--pv1-mono);
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--pv1-bright);
}
.pv1-meter i {
    position: relative;
    flex: 1 1 auto;
    height: 4px;
    background: rgba(244, 241, 233, 0.12);
    overflow: hidden;
}
.pv1-meter u {
    position: absolute;
    inset: 0;
    transform-origin: left center;
    transform: scaleX(0);
}
.pv1-meter--a u { background: var(--pv1-green); }
.pv1-meter--b u { background: var(--pv1-amber); }
.pv1-meter--c u { background: var(--pv1-red); }

/* ---------- foundation (adapt / handoff) ---------- */

.pv1-found {
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.6rem 0.65rem;
}
.pv1-found-h {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.6rem;
    min-height: 1.1rem;
}
.pv1-found-h b {
    flex: 0 0 auto;
    font-family: var(--pv1-mono);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.07em;
    color: var(--pm-paper, #f4f1e9);
    white-space: nowrap;
}
.pv1-found-h span {
    flex: 0 1 auto;
    min-width: 0;
    font-family: var(--pv1-mono);
    font-size: 0.8125rem;
    color: var(--pv1-green);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pv1-slabs {
    position: relative;
    flex: 1 1 auto;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    grid-auto-rows: minmax(0, 1fr);
    gap: 0.38rem;
    min-height: 0;
}
.pv1-slab {
    background: #2c2b25;
    border: 1px solid rgba(244, 241, 233, 0.15);
    opacity: 0;
    transform: translateY(6px) scale(0.95);
    transition: opacity 0.35s ease, transform 0.4s var(--pv1-e);
}
.pv1-slab.pv1-in { opacity: 1; transform: none; }

.pv1-slabglow {
    position: absolute;
    inset: -0.3rem;
    z-index: 1;
    background: radial-gradient(ellipse at 50% 55%, rgba(240, 154, 120, 0.12), transparent 70%);
    opacity: 0;
    pointer-events: none;
}

/* the carved / forged delta cell */
.pv1-delta {
    position: relative;
    z-index: 2;
    display: grid;
    place-items: center;
    background: rgba(189, 67, 33, 0.1);
    border: 1px dashed rgba(240, 154, 120, 0);
    opacity: 0;
    transition: opacity 0.3s ease;
}
.pv1-delta.pv1-carve { opacity: 1; }
.pv1-dfill {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, var(--pm-rust-light, #f09a78), var(--pm-rust, #bd4321));
    transform-origin: bottom center;
    transform: scaleY(0);
    transition: transform 0.5s var(--pv1-e);
}
.pv1-delta.pv1-forged .pv1-dfill { transform: scaleY(1); }
.pv1-dglow {
    position: absolute;
    inset: -0.45rem;
    background: radial-gradient(ellipse, rgba(240, 154, 120, 0.55), transparent 70%);
    opacity: 0;
    pointer-events: none;
}
.pv1-dmark {
    position: relative;
    z-index: 1;
    font-family: var(--pv1-mono);
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--pm-ink, #191917);
    opacity: 0;
    transition: opacity 0.3s ease 0.25s;
}
.pv1-delta.pv1-forged .pv1-dmark { opacity: 1; }

.pv1-spark {
    position: absolute;
    z-index: 3;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: var(--pm-rust-light, #f09a78);
    opacity: 0;
    pointer-events: none;
}

.pv1-forge {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.6rem;
    min-height: 1.05rem;
}
.pv1-forge span {
    flex: 0 0 auto;
    font-family: var(--pv1-mono);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    color: var(--pm-rust-light, #f09a78);
    white-space: nowrap;
}
.pv1-forge em {
    flex: 0 1 auto;
    min-width: 0;
    font-style: normal;
    font-family: var(--pv1-mono);
    font-size: 0.8125rem;
    color: var(--pv1-label);
    text-align: right;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ---------- check battery (handoff) ---------- */

.pv1-checks {
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 0.6rem 0.65rem;
}
.pv1-checks-h {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.6rem;
    min-height: 1.05rem;
}
.pv1-checks-h b {
    font-family: var(--pv1-mono);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.07em;
    color: var(--pm-paper, #f4f1e9);
    white-space: nowrap;
}
.pv1-check {
    flex: 1 1 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 1.7rem;
    padding: 0.2rem 0.5rem;
    background: var(--pv1-card-2);
    border: 1px solid rgba(244, 241, 233, 0.11);
    opacity: 0.45;
    transition: opacity 0.25s ease, border-color 0.25s ease;
}
.pv1-check.pv1-run { opacity: 1; border-color: rgba(240, 154, 120, 0.55); }
.pv1-check.pv1-pass { opacity: 1; border-color: rgba(110, 198, 160, 0.4); }
.pv1-check.pv1-flag { opacity: 1; border-color: rgba(232, 131, 106, 0.45); }
.pv1-ck-lamp {
    flex: 0 0 auto;
    width: 0.4rem;
    height: 0.4rem;
    border-radius: 50%;
    background: rgba(244, 241, 233, 0.25);
}
.pv1-check.pv1-run .pv1-ck-lamp { background: var(--pm-rust-light, #f09a78); box-shadow: 0 0 0.4rem rgba(240, 154, 120, 0.7); }
.pv1-check.pv1-pass .pv1-ck-lamp { background: var(--pv1-green); box-shadow: 0 0 0.4rem rgba(110, 198, 160, 0.6); }
.pv1-check.pv1-flag .pv1-ck-lamp { background: var(--pv1-red); box-shadow: 0 0 0.4rem rgba(232, 131, 106, 0.55); }
.pv1-check b {
    font-family: var(--pv1-mono);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    color: #e4dfd4;
    white-space: nowrap;
}
.pv1-ck-res {
    margin-left: auto;
    font-style: normal;
    font-family: var(--pv1-mono);
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--pm-rust-light, #f09a78);
    opacity: 0;
    transform: translateY(4px);
    transition: opacity 0.22s ease, transform 0.24s cubic-bezier(0.2, 0.9, 0.3, 1.3);
}
.pv1-check.pv1-run .pv1-ck-res { opacity: 0.9; transform: none; }
.pv1-check.pv1-pass .pv1-ck-res { color: var(--pv1-green); opacity: 1; transform: none; }
.pv1-check.pv1-flag .pv1-ck-res { color: var(--pv1-red); opacity: 1; transform: none; }

/* ---------- sealed package (handoff finale) ---------- */

.pv1-package {
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 0.5rem 0.8rem;
    color: var(--pm-ink, #191917);
    background: var(--pm-paper, #f4f1e9);
    border: 2px solid var(--pm-rust, #bd4321);
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 0.45s ease, transform 0.5s var(--pv1-e);
}
.pv1-package.pv1-up { opacity: 1; transform: none; }
.pv1-pack-t {
    flex: 1 1 auto;
    min-width: 0;
    display: grid;
    gap: 0.12rem;
}
.pv1-pack-t small {
    font-family: var(--pv1-mono);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.07em;
    color: var(--pm-muted, #5e5a52);
}
.pv1-pack-t b {
    font-family: var(--pv1-sans);
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.2;
}
.pv1-pack-t b u {
    text-decoration: none;
    color: var(--pm-rust, #bd4321);
}
.pv1-pack-t span {
    font-family: var(--pv1-mono);
    font-size: 0.8125rem;
    color: var(--pm-muted, #5e5a52);
}
.pv1-seal {
    position: relative;
    flex: 0 0 auto;
    width: 3rem;
    height: 3rem;
    display: grid;
    place-items: center;
    border: 2px solid var(--pm-rust, #bd4321);
    border-radius: 50%;
    color: var(--pm-rust, #bd4321);
    font-family: var(--pv1-mono);
    font-size: 1.25rem;
    font-weight: 700;
    opacity: 0;
    transform: scale(1.9) rotate(-16deg);
    transition: opacity 0.28s ease, transform 0.4s cubic-bezier(0.2, 0.9, 0.25, 1.2);
}
.pv1-package.pv1-sealed .pv1-seal { opacity: 1; transform: none; }
.pv1-seal-ring {
    position: absolute;
    inset: -0.4rem;
    border: 1px dashed var(--pm-rust, #bd4321);
    border-radius: 50%;
    opacity: 0;
}

/* ---------- status ticker ---------- */

.pv1-status {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 1.4rem;
}
.pv1-status i {
    flex: 0 0 auto;
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 50%;
    background: var(--pm-rust-light, #f09a78);
}
.pv1-status.pv1-ok i { background: var(--pv1-green); }
.pv1-status span {
    font-family: var(--pv1-mono);
    font-size: 0.8125rem;
    line-height: 1.3;
    color: var(--pv1-label);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ==========================================================
   STATE CHOREOGRAPHY — positions per data-pv1-state
   ========================================================== */

/* -- select: three rigs run over the observation bar -- */
.pv1-stage[data-pv1-state="select"] .pv1-rig--a { left: 0; top: 0; width: 32.2%; height: 76%; opacity: 1; }
.pv1-stage[data-pv1-state="select"] .pv1-rig--b { left: 33.9%; top: 0; width: 32.2%; height: 76%; opacity: 1; }
.pv1-stage[data-pv1-state="select"] .pv1-rig--c { left: 67.8%; top: 0; width: 32.2%; height: 76%; opacity: 1; }
.pv1-stage[data-pv1-state="select"] .pv1-obs { left: 0; top: 80%; width: 100%; height: 20%; opacity: 1; transition-delay: 0.12s; }
.pv1-stage[data-pv1-state="select"] .pv1-found { left: 7%; top: 2%; width: 86%; height: 80%; opacity: 0; transform: scale(0.94); pointer-events: none; }
.pv1-stage[data-pv1-state="select"] .pv1-checks { left: 49.5%; top: 0; width: 50.5%; height: 71%; opacity: 0; transform: translateX(16px); }
.pv1-stage[data-pv1-state="select"] .pv1-package { left: 0; top: 75%; width: 100%; }

/* -- adapt: A crosses over, foundation + forge take the floor -- */
.pv1-stage[data-pv1-state="adapt"] .pv1-rig--a {
    left: 25%; top: 5%; width: 50%; height: 62%;
    opacity: 0;
    border-color: var(--pm-rust-light, #f09a78);
    box-shadow: 0 0 0 1px var(--pm-rust-light, #f09a78);
    transition:
        left 0.62s var(--pv1-e),
        top 0.62s var(--pv1-e),
        width 0.62s var(--pv1-e),
        height 0.62s var(--pv1-e),
        transform 0.62s var(--pv1-e),
        opacity 0.4s ease 0.3s,
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}
.pv1-stage[data-pv1-state="adapt"] .pv1-rig--a .pv1-stamp { opacity: 1; transform: translate(-50%, -50%) scale(1) rotate(-4deg); }
.pv1-stage[data-pv1-state="adapt"] .pv1-rig--b { left: 0; top: 86.5%; width: 29.5%; height: 13.5%; opacity: 0.55; }
.pv1-stage[data-pv1-state="adapt"] .pv1-rig--c { left: 70.5%; top: 86.5%; width: 29.5%; height: 13.5%; opacity: 0.55; }
.pv1-stage[data-pv1-state="adapt"] .pv1-rig--b .pv1-scope,
.pv1-stage[data-pv1-state="adapt"] .pv1-rig--b .pv1-ribbon,
.pv1-stage[data-pv1-state="adapt"] .pv1-rig--b .pv1-note,
.pv1-stage[data-pv1-state="adapt"] .pv1-rig--c .pv1-scope,
.pv1-stage[data-pv1-state="adapt"] .pv1-rig--c .pv1-ribbon,
.pv1-stage[data-pv1-state="adapt"] .pv1-rig--c .pv1-note { display: none; }
.pv1-stage[data-pv1-state="adapt"] .pv1-rig--b .pv1-lamp,
.pv1-stage[data-pv1-state="adapt"] .pv1-rig--c .pv1-lamp { display: none; }
.pv1-stage[data-pv1-state="adapt"] .pv1-rig--b,
.pv1-stage[data-pv1-state="adapt"] .pv1-rig--c { justify-content: center; }
.pv1-stage[data-pv1-state="adapt"] .pv1-tag { display: inline; }
.pv1-stage[data-pv1-state="adapt"] .pv1-obs { left: 0; top: 80%; width: 100%; height: 20%; opacity: 0; }
.pv1-stage[data-pv1-state="adapt"] .pv1-found {
    left: 6%; top: 0; width: 88%; height: 84%;
    opacity: 1; transform: none;
    transition:
        left 0.62s var(--pv1-e),
        top 0.62s var(--pv1-e),
        width 0.62s var(--pv1-e),
        height 0.62s var(--pv1-e),
        transform 0.62s var(--pv1-e),
        opacity 0.4s ease 0.22s;
}
.pv1-stage[data-pv1-state="adapt"] .pv1-checks { left: 49.5%; top: 0; width: 50.5%; height: 71%; opacity: 0; transform: translateX(16px); }
.pv1-stage[data-pv1-state="adapt"] .pv1-package { left: 0; top: 75%; width: 100%; }

/* -- handoff: assembly left, checks right, sealed package below -- */
.pv1-stage[data-pv1-state="handoff"] .pv1-rig--a { left: 25%; top: 5%; width: 50%; height: 62%; opacity: 0; }
.pv1-stage[data-pv1-state="handoff"] .pv1-rig--b { left: 0; top: 86.5%; width: 24.5%; height: 13.5%; opacity: 0; }
.pv1-stage[data-pv1-state="handoff"] .pv1-rig--c { left: 75.5%; top: 86.5%; width: 24.5%; height: 13.5%; opacity: 0; }
.pv1-stage[data-pv1-state="handoff"] .pv1-rig--b .pv1-scope,
.pv1-stage[data-pv1-state="handoff"] .pv1-rig--b .pv1-ribbon,
.pv1-stage[data-pv1-state="handoff"] .pv1-rig--b .pv1-note,
.pv1-stage[data-pv1-state="handoff"] .pv1-rig--c .pv1-scope,
.pv1-stage[data-pv1-state="handoff"] .pv1-rig--c .pv1-ribbon,
.pv1-stage[data-pv1-state="handoff"] .pv1-rig--c .pv1-note { display: none; }
.pv1-stage[data-pv1-state="handoff"] .pv1-obs { left: 0; top: 80%; width: 100%; height: 20%; opacity: 0; }
.pv1-stage[data-pv1-state="handoff"] .pv1-found { left: 0; top: 0; width: 46.5%; height: 71%; opacity: 1; transform: none; }
.pv1-stage[data-pv1-state="handoff"] .pv1-checks { left: 49.5%; top: 0; width: 50.5%; height: 71%; opacity: 1; transform: none; transition-delay: 0.1s; }
.pv1-stage[data-pv1-state="handoff"] .pv1-package { left: 0; top: 75%; width: 100%; }

/* ---------- reduced motion: composed static frames ---------- */

.pv1-stage.pv1-reduce,
.pv1-stage.pv1-reduce * { transition: none !important; }

/* ---------- compact container ---------- */

@container pm-bench (max-width: 36rem) {
    .pv1-floor { height: 19.5rem; }
    .pv1-rig { padding: 0.45rem 0.5rem; gap: 0.35rem; }
    .pv1-scope { height: 2.7rem; }
    .pv1-brief strong { font-size: 0.8125rem; }
    .pv1-obs > b { display: none; }
    .pv1-pack-t b { font-size: 0.84rem; }
    .pv1-seal { width: 2.7rem; height: 2.7rem; font-size: 1.1rem; }
}

/* ---------- forced colors: fall back to the original markup ---------- */

@media (forced-colors: active) {
    .pm-bench-field.pv1-live > .pv1-stage { display: none; }
    .pm-bench-field.pv1-live { display: grid; }
    .pm-bench-field.pv1-live > .pm-bench-brief { display: flex; }
    .pm-bench-field.pv1-live > .pm-bench-panel { display: grid; }
    .pm-bench-field.pv1-live > .pm-bench-transfer { display: grid; }
}
