/* testing-ivv, round 3: working document, sticky scrollytelling.
   Left: the build team's readiness log, the one framed object on the page.
   Right: the prose. testing-ivv.js marks the log up step by step as the
   sections pass. Without JS, under reduced motion, and in print the log
   shows its finished state. */

.tvx{--pen:#A93A3A;--navy2:#16304F;--gold:#B8862F;--green:#2E7D5B;
  --wW:min(1240px,calc(100% - 2.5rem));--gap:4.5rem;}
.tvx ::selection{background:var(--navy2);color:var(--paper);}
.tvx :focus-visible{outline:2px solid var(--red);outline-offset:3px;}
.tvx-page .art-rail{display:none !important;}
.tvx-wrap{width:var(--wW);margin:0 auto;}

/* ---------- hero ---------- */
.tvx-hero{padding:clamp(2rem,5vw,3.6rem) 0 clamp(2.2rem,4vw,3.4rem);border-bottom:1px solid var(--ink);}
.tvx-hero-g{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:1.5rem;align-items:end;}
.tvx-hero .back-link{grid-column:1/-1;justify-self:start;margin:0 0 2.2rem;font-family:var(--sans);
  font-size:.82rem;font-weight:600;color:var(--muted);text-decoration:none;}
.tvx-hero .back-link:hover{color:var(--ink);}
.tvx-kick{grid-column:1/-1;margin:0 0 .9rem;font:600 .95rem/1 var(--sans);font-variant-caps:all-small-caps;
  letter-spacing:.07em;color:var(--red);}
.tvx-hero h1{grid-column:1/9;margin:0;font-size:clamp(2.5rem,5.4vw,4.9rem);font-weight:500;line-height:1;
  letter-spacing:-.032em;text-wrap:balance;}
.tvx-hero h1 em{display:block;font-style:italic;font-weight:400;color:var(--navy2);}
.tvx-hero-side{grid-column:9/13;padding-bottom:.35rem;}
.tvx-hero .dek{margin:0 0 1.2rem;font-size:1.22rem;line-height:1.45;color:var(--ink-2);}
.tvx-hero .article-meta{margin:0;font-family:var(--sans);font-size:.82rem;color:var(--muted);}
.tvx-hero .article-meta b{color:var(--ink);font-weight:600;}
.tvx-hero .article-meta .nw{white-space:nowrap;}

/* ---------- the two column stage ---------- */
.tvx-scroll{padding:0 0 clamp(3rem,6vw,5rem);}
.tvx-grid{display:block;}
.tvx-prose{max-width:40rem;margin:0 auto;padding:2.6rem 0 0;}
.tvx-prose p:not(.sheet *){font-size:1.2rem;line-height:1.62;color:var(--ink-2);margin:0 0 1.15rem;max-width:62ch;}
.tvx-prose .lede{font-size:1.38rem;line-height:1.5;color:var(--ink);}
.tvx-prose .lede{font-size:1.18em;line-height:1.55;color:var(--ink);}
.tvx-prose h2{position:relative;margin:4.6rem 0 1.3rem;font-size:clamp(1.65rem,2.6vw,2.15rem);font-weight:500;
  line-height:1.12;letter-spacing:-.024em;max-width:24ch;}
.tvx-prose h2::before{content:"Part " attr(data-n) " of 5";display:block;font-family:Inter,system-ui,sans-serif;font-size:.8rem;font-style:normal;font-weight:600;
  letter-spacing:0;color:var(--muted);line-height:1;margin-bottom:.6rem;padding-top:.7rem;border-top:1px solid currentColor;width:6.5rem;font-variant-numeric:tabular-nums;}
/* the prose sections are not page sections: drop the site-wide section padding that stacked on top of the h2 margin (QA 2026-10-10) */
.tvx-prose section{padding:0;}
.tvx-prose .coda{margin-top:2.4rem;font-style:italic;color:var(--ink);}

@media (min-width:980px){
  .tvx-scroll{background:linear-gradient(90deg,var(--paper-2) 0,var(--paper-2)
    calc((100% - var(--wW))/2 + (var(--wW) - var(--gap))*.44 + var(--gap)/2),var(--paper) 0);}
  .tvx-grid{display:grid;grid-template-columns:minmax(0,44fr) minmax(0,56fr);column-gap:var(--gap);}
  .tv-stage{padding:2.6rem 0 2rem;}
  .tvx-prose{margin:0;padding:3.2rem 0 0 2.5rem;}
}

/* ---------- the readiness log ---------- */
.tv-panel{margin:0;}
.sheet{background:#fff;border:1px solid var(--rule-2);box-shadow:4px 4px 0 var(--rule-2);
  padding:.95rem 1.2rem 1rem 1.5rem;font-family:var(--sans);font-size:12px;line-height:1.35;color:var(--ink);
  font-variant-numeric:tabular-nums;transform-origin:0 0;}
.sh-h{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;
  border-bottom:1.5px solid var(--ink);padding-bottom:.4rem;}
.sh-t{margin:0;font-family:var(--serif);font-size:17px;font-weight:600;letter-spacing:-.01em;}
.sh-m{margin:0;color:var(--ink-2);}
.k{color:var(--muted);margin-right:.3em;}
.b{position:relative;padding:.5rem 0 .45rem;border-bottom:1px solid var(--rule);}
.b:last-child{border-bottom:0;padding-bottom:0;}
.bh{margin:0 0 .2rem;font-weight:600;color:var(--muted);display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem .6rem;}
.pen{font-family:var(--serif);font-style:italic;font-size:13.5px;color:var(--pen);font-weight:500;line-height:1.2;}
.bh .pen{font-weight:500;}

/* strike lines are drawn, not typed */
.dl,.dg .d{position:relative;text-decoration:none;color:var(--ink);}
.dl::after,.dg .d::after{content:"";position:absolute;left:-2px;right:-2px;top:52%;height:1.5px;background:var(--pen);
  transform-origin:0 50%;}

.dg{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:1rem;}
.dg li{display:grid;align-items:center;min-height:17px;border-bottom:1px dotted var(--rule);}
.dg li>*{grid-area:1/1;}
.dg .d{opacity:0;justify-self:start;}

.scn{display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:.8rem;align-items:start;}
.sc{width:100%;border-collapse:collapse;}
.sc th{text-align:left;font-weight:600;color:var(--muted);padding:0 0 .1rem;border-bottom:1px solid var(--ink);}
.sc th:last-child,.sc td:last-child{text-align:right;width:2.6rem;padding-left:.4rem;}
.sc-nr td:last-child{width:3.6rem;}
.sc-nr .pen{font-size:13px;}
.sc th{height:19px;vertical-align:bottom;white-space:nowrap;}
.sc-nr th{text-align:left !important;padding-left:0 !important;}
.sc td{white-space:nowrap;}
.sc td{height:18px;padding:0;border-bottom:1px solid var(--rule);vertical-align:middle;}
.ok{color:var(--green);font-weight:600;}
.sw{display:inline-grid;justify-items:end;}
.sw>*{grid-area:1/1;}
.sw .nrun{opacity:0;}
.own{white-space:nowrap;}
.own::after{content:"";display:inline-block;width:1rem;margin-left:.25rem;border-bottom:1px solid var(--pen);vertical-align:-1px;}

.fl{margin:0;}
.fl div{display:grid;grid-template-columns:6.2rem 1fr;align-items:baseline;min-height:18px;border-bottom:1px dotted var(--rule);}
.fl dt{color:var(--muted);}
.fl dd{margin:0;}

.tol .pen{font-size:13px;}
.bars{position:relative;height:36px;margin:.2rem 0 .1rem;border-bottom:1px solid var(--ink);}
.ghost{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);opacity:0;}
.bar{--tx:calc(var(--c)*100%);--sy:1;position:absolute;left:0;bottom:0;width:5%;height:11px;padding:0 2px;
  background:var(--navy2);background-clip:content-box;transform-origin:50% 100%;
  transform:translateX(var(--tx)) scaleY(var(--sy));}
.bar.big{--tx:300%;width:20%;height:33px;background:var(--gold);background-clip:content-box;}
.blab{display:grid;min-height:16px;color:var(--ink-2);}
.blab>*{grid-area:1/1;}
.by-size{opacity:0;}
.by-cause{position:relative;}
.by-cause b{position:absolute;top:0;font-weight:500;}
.g1{left:0;width:58%;}
.g2{left:60%;}
.cy{list-style:none;margin:.35rem 0 0;padding:0;display:grid;gap:.2rem;}
.cy li{display:flex;align-items:center;gap:.4rem;min-height:17px;}
.cy svg,.bx{flex:none;width:14px;height:14px;border:1px solid var(--ink);background:#fff;}
.cy svg path,.bx path{fill:none;stroke:var(--pen);stroke-width:2;stroke-dasharray:20;stroke-dashoffset:0;}
.cy .pen{font-size:13px;}

.b-gate{display:grid;grid-template-columns:auto 1fr;gap:1.2rem;align-items:center;padding-top:.6rem;}
.stamp{position:relative;display:inline-block;transform:rotate(-4deg);}
.st-in{display:grid;justify-items:center;padding:.4rem .75rem .35rem;border:2px solid var(--navy2);color:var(--navy2);opacity:.4;}
.stamp span{font-weight:700;font-size:14px;letter-spacing:.04em;text-transform:uppercase;}
.stamp small{font-size:11px;color:var(--navy2);}
.stamp::after{content:"";position:absolute;left:-8px;right:-8px;top:46%;height:2.5px;background:var(--pen);transform-origin:0 50%;}
.gate .gt{margin:0 0 .3rem;font-size:16px;}
.gate ul{list-style:none;margin:0;padding:0;}
.gate li{display:flex;align-items:center;gap:.45rem;min-height:17px;}
.bx{display:inline-block;}
.bx svg{display:block;width:100%;height:100%;}

.tv-capbar{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem .7rem;margin-top:.75rem;font-family:var(--sans);
  font-size:.8rem;color:var(--ink-2);line-height:1.4;}
.tv-n{font-variant-numeric:tabular-nums;color:var(--red);font-weight:600;}
.tv-n:empty{display:none;}
.tv-cap{flex:1 1 14rem;}
.tv-all{all:unset;cursor:pointer;color:var(--muted);text-decoration:underline;text-underline-offset:3px;font-size:.78rem;}
.tv-all:hover{color:var(--ink);}
.tv-all:focus-visible{outline:2px solid var(--red);outline-offset:3px;}
.snap{display:none;}

/* ---------- prose furniture ---------- */
.tvx-cond{margin:2rem 0 2.2rem;counter-reset:cond;}
.tvx-cond dt{counter-increment:cond;position:relative;margin:1.6rem 0 .35rem;font-family:var(--serif);
  font-size:1.32rem;font-weight:600;letter-spacing:-.012em;color:var(--ink);}
.tvx-cond dt::before{content:counter(cond,lower-roman) ".";font-style:italic;font-weight:400;color:var(--red);margin-right:.5rem;}
.tvx-cond dd{margin:0 0 .3rem;font-size:1.12rem;line-height:1.58;color:var(--ink-2);max-width:60ch;}
.tvx-cond dd.q{font-style:italic;color:var(--navy2);}

.tvx-four{margin:2.6rem 0 1rem;padding:1.3rem 0 1.4rem;border-top:1.5px solid var(--ink);border-bottom:1px solid var(--rule-2);}
.tvx-four .lead{font-size:1.36rem;font-style:italic;line-height:1.3;color:var(--ink);margin:0 0 1rem;}
.tvx-four ol{list-style:none;margin:0;padding:0;counter-reset:f;display:grid;grid-template-columns:1fr 1fr;gap:.8rem 2rem;}
.tvx-four li{counter-increment:f;display:grid;grid-template-columns:1.6rem 1fr;font-size:1.02rem;line-height:1.45;color:var(--ink-2);}
.tvx-four li::before{content:counter(f);font-family:var(--sans);font-size:.85rem;font-weight:600;color:var(--red);padding-top:.15rem;}

.tvx-ledger{width:100%;border-collapse:collapse;margin:1.8rem 0 1rem;font-variant-numeric:tabular-nums;}
.tvx-ledger caption{caption-side:top;text-align:left;font-style:italic;color:var(--muted);font-size:.98rem;padding-bottom:.6rem;}
.tvx-ledger thead th{font-family:var(--sans);font-size:.78rem;font-weight:600;color:var(--muted);text-align:left;
  padding:0 1rem .45rem 0;border-bottom:1.5px solid var(--ink);}
.tvx-ledger tbody th,.tvx-ledger td{padding:.8rem 1rem .8rem 0;border-bottom:1px solid var(--rule);vertical-align:top;text-align:left;}
.tvx-ledger tbody th{font-family:var(--serif);font-size:1.04rem;font-weight:600;color:var(--ink);width:11rem;line-height:1.3;}
.tvx-ledger td{font-size:1rem;line-height:1.5;color:var(--ink-2);}
.tvx-ledger td.o{width:5.5rem;padding-right:0;position:relative;}
.tvx-ledger td.o::after{content:"";position:absolute;left:0;right:0;bottom:1.05rem;border-bottom:1px solid var(--ink-2);}

.tvx-ruler{list-style:none;margin:2.4rem 0 1rem;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  column-gap:1.4rem;border-top:1.5px solid var(--ink);}
.tvx-ruler>li{position:relative;padding-top:1.2rem;}
.tvx-ruler>li::before{content:"";position:absolute;left:0;top:-7px;width:1.5px;height:13px;background:var(--ink);}
.tvx-ruler>li:first-child::before{width:3px;background:var(--red);height:17px;top:-9px;}
.tvx-ruler h3{margin:0 0 .6rem;font-size:1.15rem;font-style:italic;font-weight:500;color:var(--ink);}
.tvx-ruler>li:first-child h3{color:var(--red);}
.tvx-ruler ul{list-style:none;margin:0;padding:0;}
.tvx-ruler ul li{font-size:.98rem;line-height:1.42;color:var(--ink-2);padding:.42rem 0;border-top:1px solid var(--rule);}
.tvx-ruler ul li:first-child{border-top:0;padding-top:0;}

.tvx-cta{padding:0 0 clamp(2.5rem,5vw,4rem);}
.tvx-cta .cta-band{margin-top:clamp(1rem,3vw,2rem);}

/* ---------- narrow screens ---------- */
@media (max-width:979px){
  .tvx-hero h1,.tvx-hero-side{grid-column:1/-1;}
  .tvx-hero-side{margin-top:1.4rem;max-width:36rem;}
  .tvx-hero .back-link{margin-bottom:1.4rem;}
  .tv-stage{max-width:34rem;margin:2.2rem auto 0;}
  .tvx-prose{max-width:40rem;}
}
@media (max-width:700px){
  .tvx-four ol{grid-template-columns:1fr;}
  .tvx-ruler{grid-template-columns:1fr;border-top:0;border-left:1.5px solid var(--ink);padding-left:1.2rem;row-gap:1.6rem;}
  .tvx-ruler>li{padding-top:0;}
  .tvx-ruler>li::before{left:calc(-1.2rem - 7px);top:.55rem;width:13px;height:1.5px;}
  .tvx-ruler>li:first-child::before{left:calc(-1.2rem - 9px);top:.5rem;width:17px;height:3px;}
  .tvx-ledger thead{display:none;}
  .tvx-ledger caption{display:block;}
  .tvx-ledger,.tvx-ledger tbody,.tvx-ledger tr,.tvx-ledger th,.tvx-ledger td{display:block;width:auto;}
  .tvx-ledger tr{padding:.9rem 0;border-bottom:1px solid var(--rule);}
  .tvx-ledger tbody th,.tvx-ledger td{border:0;padding:0 0 .3rem;}
  .tvx-ledger tbody th{width:auto;}
  .tvx-ledger td.o{width:auto;padding-top:.4rem;}
  .tvx-ledger td.o::before{content:"Owner";font-family:var(--sans);font-size:.78rem;color:var(--muted);}
  .tvx-ledger td.o::after{position:static;display:inline-block;width:8rem;margin-left:.5rem;}
  .tvx-prose p:not(.sheet *){font-size:1.12rem;}
  .tvx-prose .lede{font-size:1.24rem;}
}
@media (max-width:560px){
  .tvx-hero .article-meta .sep1{display:none;}
  .tvx-hero .article-meta .nw{display:block;margin-top:.35rem;}
  .scn{grid-template-columns:1fr;row-gap:.6rem;}
  .sc th:last-child,.sc td:last-child{width:5rem;}
}
@media (max-width:440px){
  .sheet{padding:.9rem .85rem 1rem 1.05rem;font-size:12px;}
  .fl div{grid-template-columns:5rem 1fr;}
  .b-gate{grid-template-columns:1fr;gap:.8rem;}
  .stamp{justify-self:start;}
  .g1{width:56%;font-size:11.5px;}
  .g2{font-size:11.5px;}
}

/* ---------- the scroll-driven states (JS adds .tvj and .onN classes) ---------- */
@media screen and (prefers-reduced-motion:no-preference){
  .tvj .sheet *{transition-timing-function:cubic-bezier(.3,.7,.2,1);}
  /* finished pen marks carry an explicit inset so the wipe interpolates (clip-path:none would snap) */
  .tvj .dg .m,.tvj .ml,.tvj .w2,.tvj .w4,.tvj .fl .pen,.tvj .tol .pen,.tvj .cy .pen,.tvj .gate .gt{clip-path:inset(-3px -6px -3px -3px);}
  .tvj .b::before{content:"";position:absolute;left:-1rem;top:.75rem;width:6px;height:6px;background:var(--red);
    opacity:0;transform:scale(.3);transition:opacity .4s,transform .4s;}
  .tvj .sheet[data-step="0"] .b-scen::before,.tvj .sheet[data-step="0"] .b-gate::before,
  .tvj .sheet[data-step="1"] .b-data::before,.tvj .sheet[data-step="2"] .b-scen::before,
  .tvj .sheet[data-step="3"] .b-ind::before,.tvj .sheet[data-step="4"] .b-scen::before,
  .tvj .sheet[data-step="5"] .b-par::before,.tvj .sheet[data-step="6"] .b-par::before,
  .tvj .sheet[data-step="7"] .b-par::before,.tvj .sheet[data-step="8"] .b-gate::before{opacity:1;transform:none;}

  /* step 0: the stamp lands */
  .tvj .stamp{transition:opacity .5s,transform .5s cubic-bezier(.5,1.6,.4,1);}
  .tvj .sheet:not(.on0) .stamp{opacity:0;transform:rotate(-4deg) scale(1.4);}
  .tvj .st-in{transition:opacity .5s .3s;}
  .tvj .sheet:not(.on8) .st-in{opacity:1;}

  /* step 1: each demo value is struck, then Monday is written over it */
  .tvj .dg .d::after,.tvj .dl::after{transition:transform .4s calc(var(--i,0)*.13s);}
  .tvj .dg .d{transition:opacity .3s calc(var(--i)*.13s + .45s);}
  .tvj .dg .m,.tvj .ml{transition:clip-path .7s calc(var(--i,0)*.13s + .8s);}
  .tvj .ml{--i:8;}
  .tvj .sheet:not(.on1) .dg .d::after,.tvj .sheet:not(.on1) .dl::after{transform:scaleX(0);}
  .tvj .sheet:not(.on1) .dg .d{opacity:1;}
  .tvj .sheet:not(.on1) .dg .m,.tvj .sheet:not(.on1) .ml{clip-path:inset(0 100% 0 0);}

  /* step 2: what never ran is written onto the empty rows */
  .tvj .w2{display:inline-block;transition:clip-path .7s calc(var(--i,0)*.3s + .2s);}
  .tvj .nlh{--i:-.6;}
  .tvj .sheet:not(.on2) .w2{clip-path:inset(0 100% 0 0);}
  /* step 4: three more classes, and an owner line on all seven */
  .tvj .w4{display:inline-block;transition:clip-path .7s calc(var(--i,0)*.22s + .2s);}
  .tvj .sw .nrun{transition:opacity .3s calc(var(--i,0)*.22s);}
  .tvj .sheet:not(.on4) .w4{clip-path:inset(0 100% 0 0);}
  .tvj .sheet:not(.on4) .sw .nrun{opacity:1;}

  /* step 3: independent verification is filled in */
  .tvj .fl .pen{display:inline-block;transition:clip-path .8s calc(var(--i)*.45s + .2s);}
  .tvj .sheet:not(.on3) .fl .pen{clip-path:inset(0 100% 0 0);}

  /* steps 5 to 7: variances rise by size, re-sort by cause, then two cycles tick */
  .tvj .tol .pen{display:inline-block;transition:clip-path .8s .1s;}
  .tvj .sheet:not(.on5) .tol .pen{clip-path:inset(0 100% 0 0);}
  .tvj .ghost{transition:opacity .4s;}
  .tvj .sheet:not(.on5) .ghost{opacity:1;}
  .tvj .bar{transition:transform 1.1s cubic-bezier(.6,0,.2,1) calc(var(--i)*.06s);}
  .tvj .sheet:not(.on6) .bar{--tx:calc(var(--s)*100%);}
  .tvj .sheet:not(.on6) .bar.big{--tx:0%;}
  .tvj .sheet:not(.on5) .bar{--sy:0;}
  .tvj .sheet.on5:not(.on6) .bar{transition-delay:calc(var(--i)*.09s + .5s);}
  .tvj .by-size,.tvj .by-cause{transition:opacity .5s .3s;}
  .tvj .sheet.on5:not(.on6) .by-size{opacity:1;transition-delay:1.6s;}
  .tvj .sheet:not(.on6) .by-cause{opacity:0;transition-delay:0s;}
  .tvj .sheet.on6 .by-cause{transition-delay:1.3s;}
  .tvj .cy path{transition:stroke-dashoffset .6s calc(var(--i)*1s + .3s);}
  .tvj .cy .pen{display:inline-block;transition:clip-path .8s calc(var(--i)*1s + .6s);}
  .tvj .sheet:not(.on7) .cy path{stroke-dashoffset:20;}
  .tvj .sheet:not(.on7) .cy .pen{clip-path:inset(0 100% 0 0);}

  /* step 8: the stamp is struck and the gate takes over */
  .tvj .stamp::after{transition:transform .5s .2s;}
  .tvj .sheet:not(.on8) .stamp::after{transform:scaleX(0);}
  .tvj .gate .gt{transition:clip-path .9s .8s;}
  .tvj .sheet:not(.on8) .gate .gt{clip-path:inset(0 100% 0 0);}
  .tvj .gate li{transition:opacity .5s calc(var(--i)*.35s + 1.6s),transform .5s calc(var(--i)*.35s + 1.6s);}
  .tvj .sheet:not(.on8) .gate li{opacity:0;transform:translateY(6px);}
  .tvj .gate .bx path{transition:stroke-dashoffset .5s 2.6s;}
  .tvj .sheet:not(.on8) .gate .bx path{stroke-dashoffset:20;}

  .tvj .tv-cap{transition:opacity .3s;}
  .tvx-still .sheet,.tvx-still .sheet *,.tvx-still .sheet *::before,.tvx-still .sheet *::after{transition:none !important;}

  /* desktop: the log sticks beside the prose */
  @media (min-width:980px){
    .tvj .tv-stage{padding-top:1.4rem;padding-bottom:0;}
    .tvj .tv-panel{position:sticky;top:76px;}
    .tvj .tv-fit{height:var(--fh,auto);}
    .tvj .tv-fit .sheet{transform:scale(var(--k,1));width:calc(100% / var(--k,1));}
    .tvj .tvx-prose .tv-step{min-height:min(32vh,290px);}
    .tvj .tvx-prose .tv-step[data-step="8"]{min-height:0;}
  }
  /* phones and tablets: the live log turns into inline snapshots, one per step */
  @media (max-width:979px){
    .tvj .tv-stage{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);margin:0;}
    .tvj .snap{display:block;margin:2rem 0 2.2rem;}
    .snap .b{display:none;}
    .snap.f0 .b-scen,.snap.f0 .b-gate,.snap.f1 .b-data,.snap.f2 .b-scen,.snap.f3 .b-ind,.snap.f4 .b-scen,
    .snap.f5 .b-par,.snap.f6 .b-par,.snap.f7 .b-par,.snap.f8 .b-gate{display:block;}
    .snap .b-gate{display:none;}
    .snap.f0 .b-gate,.snap.f8 .b-gate{display:grid;border-bottom:0;}
    .snap .b{border-bottom:0;padding-bottom:0;}
    .snap .b::before{display:none;}
    .snap.f0 .sc-nr,.snap.f0 .gate{display:none;}
    .snap .tv-capbar{margin-top:.7rem;}
  }
}

@media print{
  .tvx-scroll{background:none;}
  .sheet{-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  .tv-stage{position:static !important;}
  .tv-panel{position:static;break-inside:avoid;}
  .snap,.tv-all{display:none !important;}
  .tvx-grid{display:block;}
  .tvx-prose{max-width:none;padding:1rem 0 0;}
  .tvx-prose h2::before{position:static;}
  .tvx-ledger tr,.tvx-ruler,.tvx-four{break-inside:avoid;}
}

/* ---------- Color 2026-10-09: lead electric blue, red pen and gold in support ---------- */
.tvx{--blue:#0003cc;--blue-d:#0002a8;--blue-t:#ececfb;--gold-d:#8A6413;--red-d:#A93A3A;}

/* hero: a ruled pad washed in blue */
.tvx-hero{background-color:var(--paper);
  background-image:
    linear-gradient(112deg,rgba(236,236,251,.95) 0%,rgba(236,236,251,.7) 42%,rgba(247,245,240,0) 78%);
  position:relative;isolation:isolate;
  -webkit-print-color-adjust:exact;print-color-adjust:exact;}
/* the ruled lines live under the title only; they fade out before the dek so they never sit beside the byline rules (QA 2026-10-10) */
.tvx-hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:repeating-linear-gradient(180deg,transparent 0 31px,rgba(0,3,204,.075) 31px 32px);
  -webkit-mask-image:linear-gradient(90deg,#000 0,#000 34%,transparent 56%);mask-image:linear-gradient(90deg,#000 0,#000 34%,transparent 56%);
  -webkit-print-color-adjust:exact;print-color-adjust:exact;}
@media (max-width:979px){.tvx-hero::before{-webkit-mask-image:linear-gradient(180deg,#000 0,#000 45%,transparent 62%);mask-image:linear-gradient(180deg,#000 0,#000 45%,transparent 62%);}}
.tvx-hero h1 em{color:var(--blue);}
.tvx-kick{color:var(--red-d);}

/* section labels and the log's variance bars take the lead blue */
.tvx-prose h2::before{color:var(--blue);}
.bar{background:var(--blue);background-clip:content-box;}
.tvx-cond dd.q{color:var(--blue-d);}

/* the demo set against Monday */
.tvx-scale{margin:2.4rem 0 2.6rem;padding:1.1rem 0 0;border-top:3px solid var(--blue);}
.tvx-scale figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.4rem 1.2rem;margin:0 0 .9rem;}
.tvx-scale figcaption b{font-family:var(--serif);font-size:1.32rem;font-weight:500;letter-spacing:-.012em;color:var(--ink);}
.sc-key{font-family:var(--sans);font-size:.78rem;color:var(--muted);display:inline-flex;align-items:center;gap:.4rem;}
.sc-key i{display:inline-block;width:.9rem;height:.6rem;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
.sc-key .k-d{background:var(--ink);}
.sc-key .k-m{background:var(--blue);margin-left:.6rem;}
.tvx-scale dl{margin:0;}
.sr{display:grid;grid-template-columns:7.2rem minmax(0,1fr) 9.5rem;column-gap:1.1rem;align-items:center;padding:.85rem 0;border-bottom:1px solid var(--rule);}
.sr dt{font-family:var(--sans);font-size:.86rem;font-weight:600;color:var(--ink);}
.sr dd{margin:0;}
.sb{position:relative;height:12px;background:var(--blue);-webkit-print-color-adjust:exact;print-color-adjust:exact;}
.sb i{position:absolute;left:0;top:-3px;bottom:-3px;width:max(3px,calc(var(--d) * 100%));background:var(--ink);}
.sn b{display:block;font-family:var(--serif);font-weight:400;font-size:2.15rem;line-height:1;letter-spacing:-.03em;color:var(--blue);font-variant-numeric:lining-nums tabular-nums;}
.sn span{display:block;margin-top:.25rem;font-family:var(--sans);font-size:.78rem;line-height:1.35;color:var(--ink-2);}
.tvx-prose p.sc-note{margin:.7rem 0 0;font-family:var(--sans);font-size:.8rem;line-height:1.4;color:var(--muted);max-width:none;}

/* the short version: a tinted panel under a blue header bar */
.tvx-four{border:0;padding:0;background:var(--blue-t);-webkit-print-color-adjust:exact;print-color-adjust:exact;}
.tvx-four .lead{margin:0 !important;padding:.8rem 1.3rem .85rem;background:var(--blue);color:#fff !important;font-size:1.2rem !important;max-width:none !important;}
.tvx-four ol{padding:1.2rem 1.3rem 1.4rem;}
.tvx-four li{color:var(--ink-2);}
.tvx-four li::before{color:var(--blue);}

/* the test plan ledger */
.tvx-ledger thead th{border-bottom-color:var(--blue);color:var(--blue-d);}
.tvx-ledger td.o::after{border-bottom-color:var(--blue);}

/* one cycle against two */
.tvx-cyc{display:grid;grid-template-columns:1fr 1fr;margin:1.8rem 0 1rem;border-top:1px solid var(--rule-2);}
.tvx-prose .tvx-cyc p{margin:0;padding:1.1rem 1.4rem .2rem 0;max-width:none;font-family:var(--sans);font-size:.95rem;line-height:1.45;color:var(--ink-2);}
.tvx-prose .tvx-cyc .c2{padding-left:1.4rem;border-left:1px solid var(--rule-2);color:var(--ink);}
.tvx-cyc b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(3.4rem,6vw,4.6rem);line-height:.9;letter-spacing:-.04em;margin-bottom:.55rem;font-variant-numeric:lining-nums;}
.tvx-cyc .c1 b{color:#8a857c;}
.tvx-cyc .c2 b{color:var(--blue);}
.tvx-cyc .c2{position:relative;}
.tvx-cyc .c2::before{content:"";position:absolute;left:-1px;right:0;top:-1px;height:3px;background:var(--blue);-webkit-print-color-adjust:exact;print-color-adjust:exact;}

/* severity: three phases under colored bars, define to watch to gate */
.tvx-ruler{border-top:0;column-gap:4px;}
.tvx-ruler>li{padding-top:0;}
.tvx-ruler>li::before,.tvx-ruler>li:first-child::before{display:none;}
.tvx-ruler h3,.tvx-ruler>li:first-child h3{margin:0 0 .8rem;padding:.6rem .85rem .65rem;color:#fff;background:var(--ph);font-size:1.08rem;
  -webkit-print-color-adjust:exact;print-color-adjust:exact;}
.tvx-ruler>li:nth-child(1){--ph:var(--blue);}
.tvx-ruler>li:nth-child(2){--ph:var(--gold);}
.tvx-ruler>li:nth-child(2) h3{color:var(--ink);}
.tvx-ruler>li:nth-child(3){--ph:var(--red-d);}
.tvx-ruler ul{padding:0 .85rem 0 .85rem;}
@media (max-width:700px){
  .tvx-ruler{border-left:0;padding-left:0;row-gap:1.4rem;}
  .tvx-ruler ul{padding:0 0 0 .85rem;border-left:3px solid var(--ph);}
  .tvx-ruler h3{margin-bottom:.6rem;}
  .tvx-cyc .c2,.tvx-prose .tvx-cyc .c2{padding-left:1rem;}
  .tvx-prose .tvx-cyc p{padding-right:1rem;font-size:.9rem;}
  .sr{grid-template-columns:minmax(0,1fr) 8.4rem;row-gap:.45rem;}
  .sr dt{grid-column:1;grid-row:1;}
  .sr .sn{grid-column:2;grid-row:1 / span 2;text-align:right;align-self:center;padding-left:.6rem;}
  .sr .sb{grid-column:1;grid-row:2;}
  .sn b{font-size:1.85rem;}
  .sn span{max-width:9rem;margin-left:auto;}
  .tvx-four .lead{font-size:1.1rem !important;padding:.75rem 1rem;}
  .tvx-four ol{padding:1rem 1rem 1.2rem;}
}
