/* Section 2: two-level figure and scroll-driven control loop (after the Schema Harness "Thinking like a physicist" figures). Selectors stay inside .lv-root / .lp-root. */
.lv-root{margin:34px 0 0}
.lv-wrap{position:relative;padding:26px 40px;background:var(--paper)}
.lv-wrap>.lv-br{position:absolute;top:0;bottom:0;width:20px;border:5px solid var(--green)}
.lv-wrap>.lv-br-l{left:0;border-right:none}.lv-wrap>.lv-br-r{right:0;border-left:none}
.lv-box{background:var(--white);border:1px solid var(--line);padding:20px 24px;display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.lv-text{flex:1 1 300px;min-width:0}
.lv-kicker{font:600 12px/1.5 var(--mono);letter-spacing:1.2px;color:var(--muted)}
.lv-sig{font:14px/1.5 var(--mono);color:var(--ink);margin-top:12px}
.lv-desc{font-size:14px;line-height:1.65;color:var(--ink);margin:9px 0 0}
.lv-side{flex:0 1 auto;min-width:0;max-width:100%;display:flex;gap:12px;justify-content:flex-end}
.lv-code{font:12px/1.65 var(--mono);background:var(--ink);color:#e9e8dd;padding:12px 14px;margin:0;white-space:pre;overflow-x:auto;max-width:100%}
.lv-code b{color:#9fd3b5;font-weight:400}.lv-code i{color:#e7a183;font-style:normal}
.lv-chip{display:flex;flex-direction:column;align-items:center;gap:6px}
.lv-chip img{width:104px;height:104px;object-fit:cover;border:1px solid var(--line)}
.lv-chip span{font:10px/1.3 var(--mono);color:var(--muted);text-align:center;max-width:110px}
.lv-arrows{height:84px}.lv-arrows svg{display:block;width:100%;height:84px;overflow:visible}
.lv-arrows text{font:13px var(--sans);fill:var(--ink)}.lv-arrows .lv-warn{fill:var(--rust)}
.lv-foot{text-align:center;margin-top:22px;font-size:15px;color:var(--ink)}
.lv-foot .lv-brace{color:var(--green);font-family:var(--mono)}
.lv-root figcaption{max-width:715px}

.core-idea{display:flex;gap:18px;padding:24px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);margin:30px 0 0;max-width:715px}
.core-idea .logo-mark{flex-shrink:0;margin-top:2px}
.core-idea p{font-size:16px;line-height:1.7;margin:0}

.lp-root{margin:20px 0 0;position:relative}
.lp-scroll{position:relative}
.lp-stick{position:sticky;top:0;height:100vh;display:flex;align-items:flex-start;justify-content:flex-end;overflow:hidden;padding:0 10px}
.lp-fit{position:relative;overflow:hidden;width:1040px;height:620px;max-width:100%;transition:height .45s ease}
.lp-stage{position:absolute;left:0;top:0;width:1040px;height:620px;transform-origin:0 0;background:var(--white);border:1px solid var(--line);font-family:var(--sans);line-height:1.5}
.lp-stage svg text{font-family:var(--mono)}
.lp-cam{position:absolute;inset:0;will-change:transform,opacity}
.lp-svg{position:absolute;inset:0}
.lp-edges,.lp-sup,.lp-held{transition:opacity .3s}
.lp-key{position:absolute;box-sizing:border-box;transition:background .25s}
.lp-key [data-br]{position:absolute;top:0;bottom:0;width:13px;border:3.5px solid #b9b8ac;transition:border-color .25s}
.lp-key [data-br=l]{left:0;border-right:none}.lp-key [data-br=r]{right:0;border-left:none}
.lp-key [data-t]{display:block;font:400 26px/1.15 var(--serif);letter-spacing:-.5px;color:#9a9a90;transition:color .25s}
.lp-key .lp-tool{display:block;font:600 12px/1.4 var(--mono);color:var(--muted);margin-top:3px}
.lp-key .lp-d{display:block;font-size:12.5px;line-height:1.5;color:var(--ink);margin-top:6px}
.lp-outer{top:44px;width:230px;height:124px;padding:12px 20px}
.lp-badge{font:600 9.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--white);background:var(--ink);padding:3px 6px;display:inline-block;margin-top:7px}
.lp-label{font:600 9.5px/1.4 var(--mono);letter-spacing:.08em;color:var(--muted)}
.lp-ledger{position:absolute;left:810px;top:198px;width:230px}
.lp-cells{display:flex;gap:3px;margin-top:6px}
.lp-cells i{width:13px;height:13px;display:block;background:#efeee6;border:1px solid #deddd2}
.lp-held{position:absolute;left:810px;top:240px;width:222px;height:92px;border:1.5px dashed var(--ink);padding:9px 13px;opacity:.35;background:var(--paper)}
.lp-held strong{display:block;font:400 21px/1.15 var(--serif)}
.lp-held span{display:block;font-size:11.5px;line-height:1.45;margin-top:3px}
.lp-zb{position:absolute;opacity:0;pointer-events:none}
.lp-zb span{position:absolute;top:0;bottom:0;width:18px;border:4.5px solid var(--green)}
.lp-zb span:first-child{left:0;border-right:none}.lp-zb span:last-child{right:0;border-left:none}
.lp-zt{position:absolute;transform:translate(-50%,-50%);font:400 26px/1 var(--serif);color:var(--green);opacity:0;pointer-events:none;white-space:nowrap}
.lp-pin{position:absolute;left:50px;right:50px;top:124px;padding:16px 44px 22px;opacity:0;visibility:hidden;transform:scale(.55);transform-origin:50% 35%;pointer-events:none;will-change:transform,opacity}
.lp-pin-title{text-align:center;font:600 11px/1.4 var(--mono);letter-spacing:.1em;color:var(--muted)}
.lp-inner-wrap{position:relative;margin-top:12px;padding-top:54px}
.lp-inner-wrap svg{position:absolute;left:0;top:0;pointer-events:none;z-index:1}
.lp-inner{display:flex;gap:28px}
.lp-inner .lp-key{position:relative;flex:1;padding:8px 17px 12px}
.lp-inner .lp-key [data-br]{width:11px;border-width:3px}
.lp-inner .lp-key [data-t]{font-size:23px}
.lp-who{margin-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lp-who div{border:1px solid var(--line);background:var(--paper);padding:8px 12px;font-size:12px;line-height:1.5}
.lp-who b{font:600 10.5px/1.4 var(--mono);letter-spacing:.06em;display:block;color:var(--green)}
.lp-mem{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);display:flex;justify-content:center;align-items:baseline;gap:9px;flex-wrap:wrap}
.lp-mem code{font-size:11px;background:#e9e8dd}
.lp-steps{position:relative;z-index:2;width:400px;max-width:92%;margin-top:-100vh}
.lp-step{min-height:62vh;display:flex;align-items:center}
.lp-step:last-child{min-height:56vh}
.lp-step>div{background:rgba(255,254,249,.97);border:1px solid var(--line);padding:19px 22px;font-size:15px;line-height:1.65;color:var(--ink);box-shadow:0 1px 0 rgba(36,38,32,.04)}
.lp-root figcaption{max-width:715px}
.lp-fallback{display:none;border:1px solid var(--line);background:var(--white)}
body.lp-in-view .contents{opacity:0;pointer-events:none}
.contents{transition:opacity .25s}
/* Without JavaScript the static overview replaces the stage and the steps read as plain text. */
.lp-root:not(.lp-ready) .lp-stick{display:none}
.lp-root:not(.lp-ready) .lp-fallback{display:block}
.lp-root:not(.lp-ready) .lp-steps{margin-top:16px;width:auto;max-width:none}
.lp-root:not(.lp-ready) .lp-step{min-height:0;margin-bottom:10px}
@media(max-width:760px){.lv-wrap{padding:18px 22px}.lv-wrap>.lv-br{width:12px;border-width:4px}.lv-side{justify-content:flex-start;flex-basis:100%}.lv-box{padding:16px}.lv-code{font-size:11px}.lv-arrows text{font-size:11px}.lp-step{align-items:flex-end;padding-bottom:5vh}.lp-step>div{font-size:14px;padding:15px 17px}.lp-steps{width:auto;margin-left:12px;margin-right:12px;max-width:none}}
@media print{.lp-root .lp-stick{display:none}.lp-root .lp-fallback{display:block}.lp-root .lp-steps{margin-top:16px;width:auto;max-width:none}.lp-root .lp-step{min-height:0}}

/* Figure 3's artifacts share the scene, outside the scaled, decorative diagram. */
.lp-scene{position:relative;max-width:1040px;max-height:calc(100vh - 32px);overflow:auto;background:var(--white);border:1px solid var(--line);scrollbar-gutter:stable;overscroll-behavior-x:contain}
.lp-stick{overflow:visible}
.lp-fit{border:0;max-width:none;transition:none}
.lp-stage{border:0}
.lp-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 17px;border-bottom:1px solid var(--line);background:var(--white);position:sticky;top:0;z-index:5}
.lp-navigation button{border:1px solid var(--line);border-radius:2px;background:var(--paper);padding:7px 12px;color:var(--green);font:11px/1.5 var(--mono);min-height:34px;white-space:nowrap}
.lp-navigation button:hover{border-color:var(--green)}
.lp-navigation button[aria-disabled=true]{color:var(--muted);opacity:.45;cursor:default}
.lp-map,.lp-compact-note{display:none}
.lp-evidence{border-top:1px solid var(--line);background:var(--white);padding:18px;font:12.5px/1.5 var(--sans);color:var(--ink)}
.lp-evidence[hidden],.lp-evidence-panel[hidden]{display:none!important}
.lp-evidence-panel{position:relative;min-width:0;padding:12px 20px}
.lp-evidence-panel::before,.lp-evidence-panel::after{content:"";position:absolute;top:0;bottom:0;width:13px;border:3.5px solid var(--green);pointer-events:none}
.lp-evidence-panel::before{left:0;border-right:0}.lp-evidence-panel::after{right:0;border-left:0}
.lp-evidence-with-video{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,235px);gap:24px;align-items:start}
.lp-evidence-copy{min-width:0}
.lp-evidence-panel h4{font:400 26px/1.15 var(--serif);letter-spacing:-.5px;color:var(--green);margin:0 0 8px}
.lp-evidence-panel p{font:inherit;line-height:1.5;margin:0;max-width:660px}
.lp-evidence-video{border:1px solid var(--line);background:var(--white)}
.lp-evidence-video video{width:100%;aspect-ratio:4/3;object-fit:contain}
.lp-evidence-video>span{display:block;padding:7px 10px;font:inherit}
.lp-evidence-code{margin-top:14px}
.lp-evidence-code summary{font:inherit;cursor:pointer}
.lp-evidence-code .code-window{margin:12px 0;background:var(--white);border:1px solid var(--line);color:var(--ink)}
.lp-evidence-code .code-toolbar{padding:10px 12px;font:inherit;color:var(--ink);border-bottom:1px solid var(--line)}
.lp-evidence-code .copy-code{font:inherit;color:var(--ink);border-color:var(--line)}
.lp-evidence-code .code-window pre{padding:12px}
.lp-evidence-code .code-window pre code{font:12.5px/1.5 var(--mono);color:var(--ink)}
.lp-evidence-code .code-comment{color:var(--muted)}
.lp-evidence-footer{display:flex;gap:18px;align-items:baseline;justify-content:space-between;margin:14px 20px 0;font:inherit}
.lp-evidence-footer summary{font:inherit;cursor:pointer}
.lp-evidence-footer p{font:inherit;margin:10px 0 0;max-width:660px}
.lp-evidence-footer a{flex-shrink:0;font:inherit;white-space:nowrap;color:var(--ink)}
.lp-step{min-height:65vh}
.lp-step:last-child{min-height:65vh}
.lp-step.is-active>div{border-left:2px solid var(--green)}
/* One sequence on small screens; native-sized text and controls instead of a scaled artifact. */
.lp-compact .lp-stick{position:static;display:block;height:auto;padding:0!important;overflow:visible}
.lp-compact .lp-scene{width:100%;max-height:none;overflow:visible;margin-top:0;scrollbar-gutter:auto}
.lp-compact .lp-fit,.lp-compact .lp-steps{display:none}
.lp-compact .lp-map{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:17px}
.lp-map>div{padding:10px 12px;border:1px solid var(--line);background:var(--paper)}
.lp-map>div strong{display:block;font:21px/1.2 var(--serif);color:var(--muted)}
.lp-map>div span{display:block;font-size:11px;line-height:1.5;color:var(--muted);margin-top:4px}
.lp-map>div.is-active{border-color:var(--green);background:var(--green-soft)}
.lp-map>div.is-active strong{color:var(--green)}
.lp-map p{grid-column:1/-1;margin:0;font:12px/1.6 var(--mono);padding:10px 12px}
.lp-map p[hidden]{display:none}
.lp-mini-search{color:var(--green);background:var(--green-soft)}
.lp-mini-search span{font:11px/1.5 var(--sans);color:var(--muted)}
.lp-map .lp-mini-held{border:1px dashed var(--line);color:var(--muted);font-family:var(--serif);font-size:18px}
.lp-mini-held span{display:block;font:10px/1.5 var(--sans)}
.lp-map .lp-mini-held.is-active{border-color:var(--green);background:var(--green-soft);color:var(--green)}
.lp-compact .lp-compact-note:not([hidden]){display:block;padding:0 17px 17px;font-size:13px;line-height:1.7}
.lp-compact .lp-navigation{gap:9px;padding:10px 12px}
.lp-compact .lp-evidence-footer{display:block}
.lp-compact .lp-evidence-footer a{display:inline-block;margin-top:5px}
@media(max-width:600px){
 .lp-compact .lp-evidence{padding:16px}
 .lp-evidence-with-video{display:flex;flex-direction:column;gap:14px}
 .lp-evidence-video{width:100%;max-width:360px;align-self:center}
 .lp-map>div{padding:10px}
 .lp-map>div strong{font-size:20px}
}
/* The complete record remains available when scripting is off and when printing. */
.lp-root:not(.lp-ready) .lp-stick{display:block;position:static;height:auto;padding:0}
.lp-root:not(.lp-ready) .lp-scene{max-height:none;width:auto;overflow:visible;border:0}
.lp-root:not(.lp-ready) .lp-fit,.lp-root:not(.lp-ready) .lp-navigation{display:none}
.lp-root:not(.lp-ready) .lp-evidence[hidden],.lp-root:not(.lp-ready) .lp-evidence-panel[hidden]{display:block!important}
.lp-root:not(.lp-ready) .lp-evidence-panel+.lp-evidence-panel{margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}
@media print{
 .lp-root .lp-scroll{width:auto!important;margin:0!important}
 .lp-root .lp-stick{display:block!important;position:static;height:auto;padding:0!important}
 .lp-root .lp-scene{width:auto!important;max-height:none;margin:0!important;overflow:visible;border:0}
 .lp-root .lp-fit,.lp-root .lp-map,.lp-root .lp-navigation,.lp-root .lp-compact-note{display:none!important}
 .lp-root .lp-evidence[hidden],.lp-root .lp-evidence-panel[hidden]{display:block!important}
 .lp-root .lp-evidence-panel{break-inside:avoid;margin-bottom:20px}
 .lp-root .lp-steps{display:block;margin:16px 0 0!important;width:auto;max-width:none}
 .lp-root .lp-step{min-height:0;padding:0;margin-bottom:10px}
 .lp-root .lp-fallback{display:block}
}
@media(prefers-reduced-motion:reduce){.lp-root,.lp-root *{transition:none!important;animation:none!important}}

/* Original Pen frames from the paper, alongside the final recorded replay. */
.lp-paper-poses{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:15px}
.lp-paper-poses figure{margin:0;min-width:0}.lp-paper-poses img{width:100%;height:auto;border:1px solid var(--line)}
.lp-paper-poses figcaption{font:inherit;color:var(--ink);margin-top:4px;text-align:center}
.lp-evidence-panel .lp-pose-caption{margin-top:7px;color:var(--muted)}
@media(max-width:420px){.lp-paper-poses{grid-template-columns:repeat(2,minmax(0,1fr))}}
