/* Shared finishing layer for retained working demonstrations and record pages. */
:root{--display:Georgia,'Times New Roman',serif;--reading:'Segoe UI',Arial,sans-serif;--notation:Consolas,'Courier New',monospace}
body.record-page{font-family:var(--reading)!important;font-size:16px;line-height:1.65;overflow-x:clip}
body.record-page .wrap{max-width:1440px!important;padding-inline:var(--gutter)}
body.record-page .site-nav{box-shadow:none!important;background:rgba(244,239,230,.98)!important}
body.record-page .site-nav .nav-inner{min-height:68px}
body.record-page .site-links a,body.record-page .wordmark{font-family:var(--notation)!important;font-size:12px!important;letter-spacing:0!important;color:var(--ink)!important}
body.record-page .site-links a[aria-current=page]{color:var(--oxide)!important}
body.record-page .hero{padding:60px 0 44px!important;border-bottom:1px solid var(--rule);min-height:0!important;background:var(--paper)!important}
body.record-page header.wrap.hero{padding:60px var(--gutter) 44px!important}
body.record-page .hero h1{font-size:clamp(62px,8.4vw,136px)!important;line-height:.97!important;max-width:18ch!important;letter-spacing:-.065em!important;margin:20px 0 24px!important;font-family:var(--display)!important}
body.record-page .hero .lede,body.record-page .hero .summary{max-width:65ch!important;font-size:16px!important;line-height:1.65!important;margin-top:20px!important;color:var(--taupe)!important;display:block!important}
body.record-page .hero .contact{display:flex!important;flex-wrap:wrap;gap:12px 24px;margin-top:26px}
body.record-page .hero .contact .cchip,body.record-page .hero .contact .dlbtn{font-size:13px!important;background:transparent!important;border:0;border-bottom:1px solid var(--rule);border-radius:0;min-height:44px;padding:8px 0;display:inline-flex;align-items:center;gap:10px;color:var(--ink)!important}
body.record-page .hero .contact .k{color:var(--taupe);font:11px var(--notation)}
body.record-page .hero .role{font-size:21px;color:var(--wine);font-weight:400}
body.record-page .hero .eyebrow,body.record-page .hero h1,body.record-page .hero .lede,body.record-page .hero .summary,body.record-page .hero .role,body.record-page .hero .contact{opacity:1!important;transform:none!important;animation:none!important}
body.record-page .site-nav::before,body.record-page .site-nav::after{display:none!important}
body.record-page .hero .metrics,body.record-page .flow,body.record-page .field,body.record-page .pointer-halo{display:none!important}
body.record-page .eyebrow,body.record-page .idx,body.record-page .file,body.record-page .meta,body.record-page .paper-record-label,body.record-page .backend-label{font-size:12px!important;line-height:1.5;letter-spacing:.06em!important}
body.record-page .page-index{display:flex;flex-wrap:wrap;gap:8px 28px;padding:20px var(--gutter);border-bottom:1px solid var(--rule);background:var(--paper-deep)}
body.record-page .page-index a{display:inline-flex;align-items:center;gap:10px;min-height:44px;font:13px var(--notation)}
body.record-page .page-index a span{color:var(--wine);font-size:11px}
body.record-page .page-index a:hover{color:var(--wine)}
/* The solver index reveals its matching live diagram without moving page content. */
body.record-page .solver-page-index{position:relative;isolation:isolate;z-index:8;--solver-preview-x:12px;--solver-preview-y:9px}
body.record-page .solver-page-index>a{position:relative;z-index:1;text-decoration:none}
body.record-page .solver-page-index>a:focus-visible{outline:2px solid var(--wine);outline-offset:4px;border-radius:1px}
body.record-page .solver-page-index>a[data-preview-active="true"]{color:var(--wine)}
body.record-page .solver-hover-preview{position:absolute;z-index:3;top:calc(100% + 1px);left:0;width:min(440px,calc(100vw - var(--gutter) - var(--gutter)));display:grid;grid-template-columns:minmax(0,1.25fr) minmax(128px,.75fr);gap:15px;align-items:center;padding:12px;background:var(--dark);border:1px solid #4a4540;border-top:2px solid var(--wine);color:var(--bone);box-shadow:0 18px 42px -28px rgba(24,23,28,.72);opacity:0;visibility:hidden;pointer-events:none;transform:translate3d(var(--solver-preview-x),var(--solver-preview-y),0);transition:opacity 180ms ease-out,transform 210ms cubic-bezier(.23,1,.32,1),visibility 0s linear 210ms}
body.record-page .solver-hover-preview__art{display:grid;place-items:center;min-width:0;aspect-ratio:1.24;background:#191820;overflow:hidden}
body.record-page .solver-hover-preview__art svg{display:block;width:100%;height:100%;max-width:none!important;min-height:0!important;cursor:default!important}
body.record-page .solver-hover-preview__copy{min-width:0}
body.record-page .solver-hover-preview__eyebrow{display:block;margin-bottom:9px;color:#D8849C;font:10px/1.4 var(--notation);letter-spacing:.06em}
body.record-page .solver-hover-preview__copy h2{margin:0 0 8px;color:var(--bone);font:20px/1.08 var(--display);letter-spacing:-.025em}
body.record-page .solver-hover-preview__copy p{margin:0;color:#C1BDB7;font:12px/1.5 var(--reading)}
body.record-page .solver-page-index[data-preview-open="true"] .solver-hover-preview{opacity:1;visibility:visible;pointer-events:auto;transform:translate3d(var(--solver-preview-x),0,0);transition:opacity 180ms ease-out,transform 210ms cubic-bezier(.23,1,.32,1),visibility 0s}
body.record-page .solver-page-index[data-input="keyboard"] .solver-hover-preview{transition:none}
@media(hover:hover) and (pointer:fine){body.record-page .solver-page-index>a:hover{color:var(--wine)}}
@media(max-width:600px){body.record-page .solver-hover-preview{grid-template-columns:1fr;gap:10px;padding:10px}body.record-page .solver-hover-preview__art{aspect-ratio:1.55}body.record-page .solver-hover-preview__copy{padding:2px 3px 3px}body.record-page .solver-hover-preview__copy h2{font-size:18px}}
@media(prefers-reduced-motion:reduce){body.record-page .solver-hover-preview,body.record-page .solver-page-index[data-preview-open="true"] .solver-hover-preview{transition:none;transform:translate3d(var(--solver-preview-x),0,0)}}
body.record-page .feat{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)!important;gap:clamp(28px,5vw,80px)!important;align-items:center!important;padding:70px 0!important}
body.record-page .feat.flip .txt{order:0!important}
body.record-page .feat h2{font-size:clamp(35px,4.1vw,64px)!important;line-height:1.05!important;max-width:16ch;letter-spacing:-.045em!important}
body.record-page .feat p,body.record-page .tool-proof,body.record-page .editorial-block p{font-size:15px!important;line-height:1.65!important;max-width:60ch}
body.record-page .stage{min-width:0;min-height:390px!important;border:1px solid var(--rule)!important;background:var(--paper-deep)!important;padding:24px!important;box-shadow:none!important}
body.record-page .stage>svg{height:auto!important;min-height:310px;width:100%!important;max-width:100%!important}
/* Solver graphics are instruments, not hero images: keep them readable and contained at 100% zoom. */
body.record-page:has(#cc,#dl,#ra,#rs,#wd) .stage{min-height:320px!important;padding:18px!important}
body.record-page:has(#cc,#dl,#ra,#rs,#wd) .stage>svg#cc,
body.record-page:has(#cc,#dl,#ra,#rs,#wd) .stage>svg#dl,
body.record-page:has(#cc,#dl,#ra,#rs,#wd) .stage>svg#ra,
body.record-page:has(#cc,#dl,#ra,#rs,#wd) .stage>svg#rs,
body.record-page:has(#cc,#dl,#ra,#rs,#wd) .stage>svg#wd{width:100%!important;max-width:360px!important;min-height:0!important;height:auto!important}
body.record-page .ctrls,body.record-page .readout{gap:12px;flex-wrap:wrap;font-size:12px!important;position:relative}
body.record-page .ctrl,body.record-page .ctrls label{font-size:12px!important;display:flex;align-items:center;gap:8px}
body.record-page input[type=range]{min-height:44px;accent-color:var(--wine);max-width:100%}
body.record-page button{min-height:44px;min-width:44px;font-size:12px!important;line-height:1.4}
body.record-page .hint{font-size:12px!important;line-height:1.65;margin-top:18px;display:block;color:var(--taupe)!important}
body.record-page .hint .pd{display:none}
body.record-page .editorial-stack{gap:12px}
body.record-page .editorial-block h3{font-size:13px;color:var(--wine)!important}
body.record-page .tool-proof{padding:16px 0!important;border:0!important;border-top:1px solid var(--rule)!important;background:transparent!important}
body.record-page .tool-proof strong{font-size:15px;display:block;margin-bottom:6px}
body.record-page .media{padding:20px 0 52px!important}
body.record-page .media-grid{display:block!important}
body.record-page .media-slot:has(video){width:100%!important;border:0!important;background:transparent!important}
body.record-page .media video{display:block;width:100%;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:fill;background:#191719!important}
body.record-page .media .cap,body.record-page .video-caption{font-size:14px!important;line-height:1.6;padding:16px 0!important;background:transparent!important}
body.record-page .media .cap strong{font-size:16px}
body.record-page .solver-backend{padding:28px!important;margin-block:12px 30px;background:var(--paper-deep)!important;color:var(--ink)!important}
body.record-page .solver-backend h3,body.record-page .solver-backend .backend-title,body.record-page .solver-backend .backend-copy{color:var(--ink)!important}
body.record-page .solver-backend::before{display:none!important}
body.record-page .solver-backend .backend-copy{font-size:14px!important;max-width:76ch}
body.record-page .backend-flow{gap:12px}
body.record-page .backend-step{border-color:var(--rule)!important;min-width:0}
body.record-page .backend-title{font-size:13px!important;line-height:1.4}
body.record-page .backend-detail{font-size:12px;color:var(--taupe)}
body.record-page .tool-index,body.record-page .explainer{display:none!important}
body.record-page .gh-structure{margin-block:20px}
body.record-page .gh-toggle{padding:10px 16px;color:var(--ink);background:transparent;border:1px solid var(--rule)}
body.record-page .gh-canvas-wrap{overflow:auto;max-width:100%;padding:18px!important}
body.record-page .gh-caption{font-size:12px!important;line-height:1.5}
body.record-page .gh-canvas{min-width:720px}
body.record-page .feature-reveal{display:none!important}
body.record-page .ref-graph{padding:26px!important;margin-block:8px 36px!important;background:var(--paper-deep)!important;border:0!important}
body.record-page .ref-graph h2{font-size:32px!important}
body.record-page .ref-flow{gap:16px!important}
body.record-page .ref-node{padding:16px!important;min-width:0}
body.record-page .ref-node b{font-size:14px!important}
body.record-page .ref-node span,body.record-page .ref-caption{font-size:13px!important;line-height:1.55}
body.record-page .reveal,body.record-page .motion-ready .feat,body.record-page .blk{opacity:1!important;transform:none!important}
body.record-page .paper-record{padding:54px 0!important}
body.record-page .wrap.paper-record{padding-inline:var(--gutter)!important}
body.record-page #heavy{width:100%;min-width:0}
body.record-page #heavy .hrow{min-height:38px!important;gap:8px!important;padding:7px 0!important}
body.record-page #heavy .hrow .track{padding:0!important;margin:0!important;height:12px!important;min-height:12px!important;border:0!important;background:var(--rule)!important}
body.record-page #heavy .hrow .lab{font-size:12px!important;width:90px;flex-shrink:0}
body.record-page #heavy .hrow .mono{font-size:11px!important;width:62px}
body.record-page .ref-graph .ref-flow{background:transparent!important}
body.record-page .card{width:100%;max-width:360px;background:var(--paper)!important;opacity:1!important;transform:none!important}
body.record-page .card .meta{min-width:0;flex:1;overflow-wrap:anywhere}
body.record-page .card .meta .t,body.record-page .card .meta .d{font-size:11px!important;letter-spacing:0!important}
body.record-page #xlSvg,body.record-page #ssSvg,body.record-page #boq2{background:var(--paper-deep)!important}
body.record-page .paper-record h2{font-size:clamp(31px,3.4vw,55px)!important;line-height:1.12!important;letter-spacing:-.04em!important;max-width:28ch}
body.record-page .paper-record-head{max-width:100%;display:grid;grid-template-columns:1.2fr 1fr;gap:24px 7vw;align-items:start}
body.record-page .paper-record-label{grid-column:1/-1;color:var(--wine)!important}
body.record-page .paper-record-head p{font-size:16px!important;color:var(--taupe)!important}
body.record-page .paper-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:35px}
body.record-page .paper-fact{padding:20px 0!important;border:0!important;border-top:1px solid var(--rule)!important;background:transparent!important}
body.record-page .paper-fact h3{font:12px var(--notation);color:var(--wine);margin-bottom:12px}
body.record-page .paper-fact p{font-size:15px;line-height:1.65}
body.record-page .paper-links a{font-size:13px!important;min-height:44px;padding:10px 14px!important;display:inline-flex;align-items:center}
body.record-page .research-method{padding:48px 0!important}
body.record-page .research-method h2{font-size:46px!important;max-width:22ch}
body.record-page .research-method p{font-size:16px!important;max-width:75ch}
body.record-page .method-flow{margin-top:28px!important;gap:20px!important}
body.record-page .method-node{padding:20px!important;text-align:left;font-size:13px!important;background:transparent!important;border:0!important;border-top:2px solid var(--wine)!important}
body.record-page .method-node strong{font-size:19px!important;margin-bottom:10px}
body.record-page .method-node::after{display:none!important}
body.record-page .blk{padding:38px 0!important}
body.record-page .grid2{gap:30px!important}
body.record-page .job{padding:24px 0!important;border-top:1px solid var(--rule)!important}
body.record-page .job ul{padding-left:18px;margin-top:18px}
body.record-page .job li{font-size:15px!important;line-height:1.65!important;margin-block:10px;text-align:justify}
body.record-page .sh{font:12px var(--notation)!important;letter-spacing:.1em;color:var(--wine)!important}
body.record-page .when,body.record-page .org,body.record-page .practice-links a{font-size:12px!important;line-height:1.6}
body.record-page .practice-links a{min-height:36px;display:inline-flex;align-items:center}
body.record-page .job h3{font-size:21px!important;line-height:1.3}
body.record-page .system,body.record-page .sequence article{background:transparent!important;border:0!important;border-top:2px solid var(--wine)!important;padding:22px 0!important}
body.record-page .systems{gap:24px!important;margin-top:32px!important}
body.record-page .system b{font-family:var(--display);font-size:27px;font-weight:400}
body.record-page .system span,body.record-page .sequence p{font-size:15px!important;line-height:1.65}
body.record-page .sequence{gap:32px!important;margin-top:32px!important}
body.record-page .sequence article::after{display:none}
body.record-page .section{padding-block:52px!important}
body.record-page .section h2{font-size:clamp(34px,4.3vw,66px)!important;line-height:1.05!important;max-width:20ch}
body.record-page .scope span{font-size:12px;border:0;border-bottom:1px solid var(--rule);padding:8px 0;margin-right:16px;color:var(--wine)!important}
body.record-page .site-footer{padding:54px var(--gutter) 26px!important;background:var(--ink)!important;color:var(--paper)!important}
body.record-page .site-footer h2{color:var(--paper)!important;font-size:clamp(46px,8vw,128px)!important;max-width:none!important}
body.record-page .site-footer a{color:var(--paper)!important}
body.record-page .recording-intro{padding-block:40px;border-bottom:1px solid var(--rule)}
body.record-page .recording-intro video{width:100%;height:auto!important;aspect-ratio:auto!important;background:#181518;object-fit:fill}
body.record-page .recording-intro figcaption{font-size:13px;padding:14px 0;display:flex;justify-content:space-between;gap:20px;color:var(--taupe)}
body.record-page .demo-note{font:12px/1.65 var(--notation);padding:20px var(--gutter);color:var(--taupe);border-bottom:1px solid var(--rule)}
@media(max-width:950px){body.record-page .feat{grid-template-columns:1fr!important;gap:26px!important;padding-block:46px!important}body.record-page .feat .txt{max-width:70ch}body.record-page .stage{min-height:340px!important}body.record-page .paper-record-head{grid-template-columns:1fr}body.record-page .paper-facts{grid-template-columns:1fr 1fr}body.record-page .ref-flow,body.record-page .backend-flow{grid-template-columns:repeat(2,minmax(0,1fr))!important;display:grid!important}body.record-page .ref-node::after{display:none}body.record-page .systems{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){body.record-page .hero{padding-block:32px!important}body.record-page header.wrap.hero{padding-block:32px!important}body.record-page .hero h1{font-size:clamp(48px,12vw,72px)!important;max-width:100%!important;line-height:1!important}body.record-page .hero .lede{font-size:15px!important}body.record-page .site-nav .nav-inner{min-height:60px}body.record-page .page-index{gap:0 18px;padding-block:12px}body.record-page .page-index a{font-size:12px}body.record-page .feat h2{font-size:39px!important}body.record-page .stage{padding:16px!important;min-height:300px!important}body.record-page .stage>svg{min-height:240px!important}body.record-page .ctrls{justify-content:flex-start!important}body.record-page .ctrl{flex-wrap:wrap}body.record-page .paper-facts,body.record-page .grid2,body.record-page .systems{grid-template-columns:1fr!important}body.record-page .paper-record{padding-block:34px!important}body.record-page .paper-record h2{font-size:31px!important}body.record-page .research-method h2{font-size:36px!important}body.record-page .sequence{display:grid;grid-template-columns:1fr}body.record-page .backend-flow{grid-template-columns:1fr 1fr!important}body.record-page .ref-flow{grid-template-columns:1fr!important}body.record-page .hero .contact{gap:8px 16px}body.record-page .hero .contact .cchip{font-size:12px!important}body.record-page .site-footer{padding-top:40px!important}}
@media print{.site-nav,.site-footer,.page-index,.skip-link,.print-cv{display:none!important}body.record-page{background:white!important;color:black!important;font-size:11pt}body.record-page .hero{padding:0 0 18px!important}body.record-page .hero h1{font-size:36pt!important}body.record-page .wrap{padding-inline:0!important;max-width:none!important}body.record-page .blk{padding:16px 0!important}body.record-page .job{break-inside:avoid;padding:10px 0!important}body.record-page .job li{font-size:10pt!important}body.record-page .grid2{display:block}body.record-page .contact .cchip{font-size:10pt!important}a{color:black!important}}
