/* Proof pages (/algogens/, /patents/, /fraud-surface-os/, /about/). Page-only styles on top of /css/cf-tokens.css and
   /css/cf.css. Owned by lane B. Components to promote are listed in the lane report. */
.pf-open{padding-block:var(--cf-s-8) var(--cf-s-6)}
.pf-open .cf-exhibit__title{max-width:22ch;text-wrap:balance}
.pf-links{display:flex;flex-wrap:wrap;gap:var(--cf-s-3);align-items:center;margin:var(--cf-s-5) 0 0}
.pf-scope{margin:var(--cf-s-5) 0 0;font-size:var(--cf-fs-sm);line-height:var(--cf-lh-body);color:var(--cf-ink-3);max-width:var(--cf-measure)}
.pf-scope a,.pf-checks a,.pf-papers a,.pf-engine a{color:var(--cf-blue-deep);text-decoration:underline;text-underline-offset:3px}
.cf-compare{margin-top:var(--cf-s-6)}

/* Validation: two labelled sets */
.pf-two{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--cf-s-5)}
.pf-checks__label{margin:0 0 var(--cf-s-2);font-family:var(--cf-font-mono);font-size:var(--cf-fs-xs);letter-spacing:var(--cf-track-label);text-transform:uppercase;color:var(--cf-blue)}
.pf-stages{margin:var(--cf-s-3) 0;padding-left:1.4em;display:grid;gap:var(--cf-s-3);font-size:var(--cf-fs-base);line-height:var(--cf-lh-body);color:var(--cf-ink-2)}
.pf-stages li::marker{font-family:var(--cf-font-mono);color:var(--cf-blue)}
.pf-steps{list-style:none;margin:var(--cf-s-6) 0 0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--cf-s-4)}
.pf-steps__n{display:inline-block;margin-right:var(--cf-s-2);padding:2px 6px;font-family:var(--cf-font-mono);font-size:var(--cf-fs-sm);color:var(--cf-blue);border:1px solid var(--cf-blue-light);border-radius:var(--cf-r-1);background:var(--cf-blue-tint)}
@media (min-width:48rem){.pf-two,.pf-papers{grid-template-columns:repeat(2,minmax(0,1fr))}.pf-steps{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Patents: plain grouped lists */
.pf-headline{margin:0 0 var(--cf-s-6);font-size:var(--cf-fs-lg);font-weight:var(--cf-w-semibold);color:var(--cf-ink)}
.pf-group{margin-top:var(--cf-s-7)}
.pf-group__title{margin:0;font-size:var(--cf-fs-xl);line-height:var(--cf-lh-snug);color:var(--cf-ink)}
.pf-group__count{margin-left:var(--cf-s-2);font-family:var(--cf-font-mono);font-size:var(--cf-fs-sm);font-weight:var(--cf-w-regular);color:var(--cf-muted)}
.pf-inventor{margin:var(--cf-s-2) 0 var(--cf-s-4);font-family:var(--cf-font-mono);font-size:var(--cf-fs-xs);letter-spacing:var(--cf-track-label);text-transform:uppercase;color:var(--cf-blue)}
.pf-patents{list-style:none;margin:0;padding:0;border-top:1px solid var(--cf-line-strong)}
.pf-patent{display:grid;gap:var(--cf-s-1);padding:var(--cf-s-4) 0;border-bottom:1px solid var(--cf-line)}
.pf-patent__kind{font-family:var(--cf-font-mono);font-size:var(--cf-fs-xs);letter-spacing:var(--cf-track-label);text-transform:uppercase;color:var(--cf-muted)}
.pf-patent__title{font-size:var(--cf-fs-base);font-weight:var(--cf-w-semibold);color:var(--cf-ink);text-decoration:underline;text-decoration-color:var(--cf-line-strong);text-underline-offset:3px;min-height:44px;display:inline-flex;align-items:center;max-width:var(--cf-measure)}
.pf-patent__title:hover{color:var(--cf-blue-deep);text-decoration-color:currentColor}
.pf-patent__body{font-size:var(--cf-fs-sm);line-height:var(--cf-lh-body);color:var(--cf-ink-3);max-width:var(--cf-measure)}
.pf-patent__id{font-family:var(--cf-font-mono);font-size:var(--cf-fs-xs);color:var(--cf-ink-2)}
.pf-papers{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--cf-s-4)}

/* Fraud Surface OS: live API block on the terminal navy */
.pf-api{background:var(--cf-terminal);color:#E6EDF6}
.pf-api .cf-exhibit__tab,.pf-api .cf-exhibit__id{color:#8CC6E8}
.pf-api .cf-exhibit__title{color:#fff}
.pf-api .cf-exhibit__lead{color:#B9C6D6}
.pf-api__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--cf-s-7);align-items:start;margin-top:var(--cf-s-6)}
.pf-api__col{min-width:0}
.pf-api__h3{margin:0 0 var(--cf-s-4);font-size:var(--cf-fs-xl);color:#fff}
.pf-api__note{margin:var(--cf-s-5) 0 0;font-size:var(--cf-fs-sm);line-height:var(--cf-lh-body);color:#B9C6D6}
.pf-api__note strong{color:#fff}
.pf-api .rk-code-tabs .rk-tab{min-height:44px}
.pf-api pre.rk-code{overflow-x:auto}
@media (min-width:62rem){.pf-api__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pf-engines{list-style:none;margin:var(--cf-s-5) 0 0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--cf-s-4)}
.pf-engine{padding:var(--cf-s-5);background:var(--cf-paper);border:1px solid var(--cf-line-strong);border-radius:var(--cf-r-2)}
.pf-engine__name{margin:0 0 var(--cf-s-2);display:flex;flex-wrap:wrap;gap:var(--cf-s-2);align-items:center;font-size:var(--cf-fs-lg);color:var(--cf-ink)}
.pf-engine p{margin:0;font-size:var(--cf-fs-base);line-height:var(--cf-lh-body);color:var(--cf-ink-2)}
@media (min-width:48rem){.pf-engines{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* About */
.pf-about{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--cf-s-7);align-items:start}
.pf-photo{margin:0;max-width:24rem}
.pf-photo img{display:block;width:100%;height:auto;border-radius:var(--cf-r-2);border:1px solid var(--cf-line-strong)}
.pf-photo figcaption{display:grid;gap:2px;margin-top:var(--cf-s-3);font-size:var(--cf-fs-sm);color:var(--cf-ink-3)}
.pf-photo figcaption strong{color:var(--cf-ink)}
.pf-record h2{margin-top:0}
@media (min-width:48rem){.pf-about{grid-template-columns:minmax(0,24rem) minmax(0,1fr)}}
/* Track-record tiles: numbers never wrap mid-token; lines show whole without 2-line clamp */
.cf-tile__num{white-space:nowrap}
#track-record .cf-tile__line{display:block;-webkit-line-clamp:unset;overflow:visible}
@media (max-width:30rem){.cf-tile__num{font-size:clamp(1.2rem,5.76vw,2.4rem)}.cf-tile__line{-webkit-line-clamp:unset;display:block}}
.cf-tile__unit{display:block;margin-top:var(--cf-s-1);font-size:var(--cf-fs-sm);font-weight:var(--cf-w-regular);letter-spacing:0;line-height:1.2;color:var(--cf-ink-3)}
