.fpe-doc{--fpe-page:#ecedef;--fpe-paper:#fff;--fpe-ink:#2b3440;--fpe-ink-body:#424b58;--fpe-ink-soft:#6b7480;--fpe-ink-faint:#97a0ac;--fpe-rule:#dfe2e7;--fpe-rule-strong:#2b3440;--fpe-orange:#c0531f;--fpe-blue:#2456c4;--fpe-teal:#0f766e;--fpe-ochre:#9a6a16;--fpe-serif:"Source Serif 4",Georgia,serif;--fpe-sans:"IBM Plex Sans",system-ui,sans-serif;--fpe-mono:"IBM Plex Mono",monospace;background:var(--fpe-page);color:var(--fpe-ink-body);font-family:var(--fpe-sans);-webkit-font-smoothing:antialiased;font-size:17px;line-height:1.7}.fpe-doc .shell{grid-template-columns:200px 1fr;align-items:start;gap:48px;max-width:1180px;margin:0 auto;padding:0 32px;display:grid}@media (max-width:980px){.fpe-doc .shell{grid-template-columns:1fr;gap:0}.fpe-doc nav.toc{display:none}}.fpe-doc nav.toc{align-self:start;padding-top:40px;position:sticky;top:100px}.fpe-doc nav.toc .toc-title{font-family:var(--fpe-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--fpe-ink-faint);margin-bottom:14px;font-size:10px}.fpe-doc nav.toc a{font-family:var(--fpe-sans);color:var(--fpe-ink-faint);border-left:2px solid #0000;padding:4px 0 4px 12px;font-size:13px;line-height:1.4;text-decoration:none;transition:color .16s,border-color .16s;display:block}.fpe-doc nav.toc a:hover{color:var(--fpe-ink-soft)}.fpe-doc nav.toc a.active{color:var(--fpe-orange);border-left-color:var(--fpe-orange)}.fpe-doc nav.toc a .n{font-family:var(--fpe-mono);color:var(--fpe-ink-faint);margin-right:7px;font-size:10.5px}.fpe-doc .paper{background:var(--fpe-paper);border:1px solid var(--fpe-rule);counter-reset:fpe-eq fpe-fig;border-radius:6px;max-width:800px;margin:40px 0 60px;padding:64px 72px 80px;box-shadow:0 1px 2px #141e320a,0 8px 30px #141e320d}@media (max-width:980px){.fpe-doc .paper{margin:28px 0 40px;padding:44px 28px 56px}}.fpe-doc .masthead{border-bottom:1px solid var(--fpe-rule-strong);padding-bottom:30px}.fpe-doc .breadcrumb{font-family:var(--fpe-sans);color:var(--fpe-ink-faint);margin-bottom:22px;font-size:13px}.fpe-doc .breadcrumb a{color:var(--fpe-ink-faint);text-decoration:none}.fpe-doc .breadcrumb a:hover{color:var(--fpe-ink-soft)}.fpe-doc .eyebrow{font-family:var(--fpe-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--fpe-orange);margin-bottom:18px;font-size:12.5px;font-weight:600}.fpe-doc h1.title{font-family:var(--fpe-serif);letter-spacing:-.015em;color:var(--fpe-ink);font-size:clamp(30px,4.6vw,44px);font-weight:600;line-height:1.1}.fpe-doc .subtitle{font-family:var(--fpe-serif);color:var(--fpe-ink-soft);margin-top:6px;font-size:clamp(19px,2.6vw,24px);font-style:italic;font-weight:400}.fpe-doc .authorline{font-family:var(--fpe-sans);color:var(--fpe-ink-soft);flex-wrap:wrap;gap:8px 16px;margin-top:24px;font-size:13.5px;display:flex}.fpe-doc .authorline .sep{color:var(--fpe-ink-faint)}.fpe-doc .authorline .mono{font-family:var(--fpe-mono);font-size:12.5px}.fpe-doc .abstract-wrap{border:1px solid var(--fpe-rule);background:#f6f7f9;border-radius:8px;margin:34px 0 0;padding:22px 26px}.fpe-doc .abstract .ab-label{font-family:var(--fpe-serif);color:var(--fpe-ink);margin-right:8px;font-size:16px;font-style:italic;font-weight:600}.fpe-doc .abstract p{color:var(--fpe-ink-body);margin:0;font-size:16px;line-height:1.66;display:inline}.fpe-doc section{margin-top:56px;scroll-margin-top:120px}.fpe-doc section p{margin-top:16px}.fpe-doc h2{font-family:var(--fpe-serif);letter-spacing:-.01em;color:var(--fpe-ink);align-items:baseline;gap:12px;margin-bottom:6px;font-size:25px;font-weight:600;line-height:1.2;display:flex}.fpe-doc h2 .sn{font-family:var(--fpe-mono);color:var(--fpe-orange);font-size:14px;font-weight:500}.fpe-doc h3{font-family:var(--fpe-sans);color:var(--fpe-ink);margin:30px 0 2px;font-size:15.5px;font-weight:600}.fpe-doc .paper p{margin-top:16px}.fpe-doc .paper p strong{color:var(--fpe-ink);font-weight:600}.fpe-doc .paper p em{color:var(--fpe-ink);font-style:italic}.fpe-doc .soft{color:var(--fpe-ink-soft)}.fpe-doc code{font-family:var(--fpe-mono);border:1px solid var(--fpe-rule);color:var(--fpe-orange);background:#f3f4f6;border-radius:4px;padding:1px 5px;font-size:.82em}.fpe-doc .var{font-family:var(--fpe-mono);color:var(--fpe-blue);font-size:.88em}.fpe-doc .callout{border:1px solid var(--fpe-rule);border-left:3px solid var(--fpe-orange);background:#f6f7f9;border-radius:7px;margin:28px 0;padding:18px 22px}.fpe-doc .callout .co-label{font-family:var(--fpe-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--fpe-orange);margin-bottom:7px;font-size:10px}.fpe-doc .callout p{margin-top:0;font-size:16px}.fpe-doc .callout p+p{margin-top:10px}.fpe-doc .callout.note{border-left-color:var(--fpe-blue)}.fpe-doc .callout.note .co-label{color:var(--fpe-blue)}.fpe-doc .math-block{counter-increment:fpe-eq;border:1px solid var(--fpe-rule);background:#fafbfc;border-radius:8px;margin:24px 0;padding:20px 56px 20px 24px;position:relative}.fpe-doc .math-block .mb-eq{text-align:center;overflow-x:auto}.fpe-doc .math-block:after{content:"(" counter(fpe-eq)")";font-family:var(--fpe-mono);color:var(--fpe-ink-faint);font-size:12.5px;position:absolute;top:50%;right:18px;transform:translateY(-50%)}.fpe-doc .math-block .mb-cap{font-family:var(--fpe-mono);color:var(--fpe-ink-faint);letter-spacing:.02em;text-align:center;margin-top:12px;font-size:11px}.fpe-doc mjx-container{color:var(--fpe-ink)!important}.fpe-doc figure{counter-increment:fpe-fig;margin:34px 0}.fpe-doc figure .fig-frame{border:1px solid var(--fpe-rule);background:#fafbfc;border-radius:10px;padding:26px 24px}.fpe-doc figure svg{width:100%;height:auto;display:block}.fpe-doc figcaption{font-family:var(--fpe-sans);color:var(--fpe-ink-soft);margin-top:14px;font-size:13px;line-height:1.55}.fpe-doc figcaption:before{content:"Figure " counter(fpe-fig)". ";color:var(--fpe-ink);font-weight:600}.fpe-doc .dataline{font-family:var(--fpe-mono);color:var(--fpe-ink-soft);border:1px solid var(--fpe-rule);background:#fafbfc;border-radius:8px;margin:22px 0;padding:14px 18px;font-size:12.5px;line-height:1.95}.fpe-doc .dataline b{color:var(--fpe-blue);font-weight:500}.fpe-doc .dataline .o{color:var(--fpe-orange)}.fpe-doc .kicker{font-family:var(--fpe-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--fpe-ink-faint);align-items:center;gap:14px;margin-top:60px;font-size:12px;font-weight:600;display:flex}.fpe-doc .kicker:after{content:"";background:var(--fpe-rule);flex:1;height:1px}.fpe-doc footer{max-width:800px;margin:0 auto;padding:0 32px 48px}.fpe-doc .footer-inner{border-top:1px solid var(--fpe-rule-strong);font-family:var(--fpe-mono);color:var(--fpe-ink-faint);letter-spacing:.03em;padding-top:22px;font-size:11.5px;line-height:1.8}
