.paperhead{background:var(--navy-deep);color:#fff;padding:84px 0 72px}.paperhead__title{max-width:15ch;margin-top:18px;font-size:clamp(32px,4.4vw,50px);font-weight:600;letter-spacing:-.03em;line-height:1.08}.paperhead__sub{max-width:46ch;margin-top:16px;font-size:var(--fs-lg);line-height:1.4;color:#ffffffd1}.paperhead__lead{max-width:66ch;margin-top:30px;color:#ffffffc7}.paperhead__parts{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:48px}.part{border-top:1.5px solid var(--orange);padding-top:14px}.part__n{font-family:var(--mono);font-size:var(--fs-xs);font-weight:500;letter-spacing:.14em;color:var(--orange)}.part p{margin-top:8px;font-size:var(--fs-sm);color:#ffffffb8}.part .part__name{margin-top:4px;font-size:var(--fs-lg);font-weight:600;letter-spacing:-.02em;line-height:1.2;color:#fff}.btn__meta{font-family:var(--mono);font-size:var(--fs-xs);font-weight:400;opacity:.75;margin-left:6px}button.btn{border:0;cursor:pointer;font-family:inherit}button.btn:disabled{cursor:progress;opacity:.8}button.btn[hidden]{display:none}.paperhead__actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:44px}.paper--locked{grid-template-columns:minmax(0,1fr)}.paper--locked .paper__body{grid-column:1 / -1;max-width:560px}.lock{margin:8px 0 24px;padding:28px 28px 24px;border:1px solid var(--rule);border-top:2px solid var(--orange);border-radius:3px}.lock p{margin:0}.lock p+p,.lock .lock__label{margin-top:14px}.prose .lock .lock__title{font-size:var(--fs-lg);font-weight:600;color:var(--ink);letter-spacing:-.01em}.lock__label{display:block;font-family:var(--mono);font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.lock__row{display:flex;gap:10px;margin-top:8px}.lock__row input{flex:1;min-width:0;min-height:44px;padding:8px 12px;border:1px solid var(--muted);border-radius:3px;font:inherit;font-size:var(--fs-md);color:var(--ink);background:#fff}.lock__row input:focus-visible{outline:2px solid var(--orange);outline-offset:1px}.lock__row .btn{min-height:44px}.lock .lock__msg{min-height:1.4em;margin-top:10px;font-size:var(--fs-sm);color:var(--ink)}.lock .lock__help{font-size:var(--fs-sm);color:var(--muted)}.paperhead__affil{margin-top:36px;font-family:var(--mono);font-size:var(--fs-xs);letter-spacing:.06em;color:#ffffff8c}.paper{display:grid;grid-template-columns:250px minmax(0,1fr);gap:0 64px;padding-top:56px;padding-bottom:96px}.paper__side{align-self:start;position:sticky;top:80px}.paper__toc summary{position:static;cursor:pointer;list-style:none}.paper__toc summary::-webkit-details-marker{display:none}.paper__toc nav{position:relative;max-height:calc(100vh - 150px);overflow-y:auto;margin-top:16px;padding:0 8px 28px 0;scrollbar-width:thin;mask-image:linear-gradient(to bottom,#000 calc(100% - 36px),transparent)}.toc,.toc ol{list-style:none}.toc{padding-left:8px}.toc>li+li{margin-top:9px}.toc a{display:block;font-size:var(--fs-sm);line-height:1.4;color:var(--ink)}.toc a:hover{color:var(--navy);text-decoration:underline;text-underline-offset:3px}.toc ol{margin:5px 0 0;padding-left:14px;border-left:1px solid var(--rule)}.toc ol li+li{margin-top:3px}.toc ol a{font-size:var(--fs-xs);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toc__n{font-family:var(--mono);font-size:var(--fs-xs);color:var(--navy);margin-right:7px}.toc ol .toc__n{color:var(--muted)}.toc a[aria-current=true]{color:var(--ink);font-weight:500;box-shadow:inset 2px 0 0 var(--orange);padding-left:8px;margin-left:-8px}.paper__body{max-width:64ch;min-width:0}.prose h2{margin-top:84px;padding-top:30px;border-top:1px solid var(--rule);font-size:var(--fs-xl);letter-spacing:-.025em;scroll-margin-top:80px}.prose>h2:first-child{margin-top:0;padding-top:0;border-top:0}.prose h2 .header-section-number{display:block;margin-bottom:10px;font-family:var(--mono);font-size:var(--fs-xs);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--navy)}.prose h2 .header-section-number:before{content:"Chapter "}.prose h3{margin-top:46px;font-size:var(--fs-lg);scroll-margin-top:80px}.prose h3 .header-section-number{font-family:var(--mono);font-size:var(--fs-xs);font-weight:500;color:var(--muted);margin-right:10px;position:relative;top:-1px}.prose h4{margin-top:32px;font-size:var(--fs-base);font-weight:600;scroll-margin-top:80px}.prose p{margin-top:16px}.prose h2+p,.prose h3+p,.prose h4+p{margin-top:14px}.prose a{border-bottom:1px solid var(--rule)}.prose a:hover{border-bottom-color:var(--orange)}.prose strong{font-weight:600;color:var(--ink)}.prose ul,.prose ol{margin-top:12px;padding-left:20px;list-style:disc}.prose ol{list-style:decimal}.prose li{margin-top:8px}.prose li::marker{color:var(--orange)}.prose li p{margin-top:0}.prose li p+p{margin-top:8px}.prose code{font-family:var(--mono);font-size:.86em;background:var(--tint);padding:1px 0;margin-inline:3px;box-shadow:0 0 0 3px var(--tint);border-radius:2px}.cap__n{font-family:var(--mono);font-size:var(--fs-xs);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);margin-right:6px}.prose figure{margin:40px 0}.prose figure img{display:block;width:100%;height:auto}.prose figcaption{margin-top:14px;font-size:var(--fs-sm);line-height:1.55;color:var(--muted)}.prose figcaption strong{color:var(--ink)}.figsource{display:block;margin-top:6px;font-size:var(--fs-xs);color:var(--muted)}.tbl{margin:36px 0;overflow-x:auto}.tbl table{width:100%;border-collapse:collapse;font-size:var(--fs-sm);line-height:1.45}.tbl caption{caption-side:top;text-align:left;margin-bottom:14px;color:var(--muted)}.tbl caption strong{color:var(--ink)}.tbl th{padding:8px 10px;font-weight:600;border-bottom:1px solid var(--ink);vertical-align:bottom}.tbl thead tr+tr th{border-bottom:1px solid var(--ink)}.tbl thead tr:not(:last-child) th{border-bottom:0;padding-bottom:4px}.tbl thead tr:not(:last-child) th[colspan]{border-bottom:1px solid var(--rule)}.tbl tr.group-start td{border-top:1px solid var(--ink)}.tbl td{padding:7px 10px;border-bottom:1px solid var(--rule);vertical-align:top}.tbl tr:last-child td{border-bottom:1px solid var(--ink)}.tbl td:first-child,.tbl th:first-child{padding-left:0}.takeaways{margin:36px 0;padding:18px 24px 20px;background:var(--tint);border-left:2px solid var(--orange)}.takeaways__label{margin:0;font-family:var(--mono);font-size:var(--fs-xs);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.takeaways ul{margin-top:10px}.takeaways li{font-size:var(--fs-md);color:var(--muted)}.takeaways li p{color:inherit}.defs ul{margin-top:10px}.algorithm{margin:36px 0;padding:18px 22px 20px;border:1px solid var(--rule);font-size:var(--fs-sm);line-height:1.55;overflow-x:auto}.alg__cap{margin:0;font-weight:600}.prose .algorithm ol{list-style:none;counter-reset:line;margin:12px 0 0;padding:0}.prose .alg__line{counter-increment:line;position:relative;display:flow-root;margin:0;padding:3px 0 3px 36px;border-top:1px solid var(--tint)}.alg__line:before{content:counter(line);position:absolute;left:0;top:4px;width:24px;text-align:right;font-family:var(--mono);font-size:var(--fs-xs);color:var(--muted)}.alg__line--d1{padding-left:58px}.alg__line--d2{padding-left:80px}.alg__line--d3{padding-left:102px}.prose .alg__line--io{counter-increment:none}.alg__line--io:before{content:none}.alg__comment{float:right;margin-left:16px;font-size:var(--fs-xs);font-style:italic;color:var(--muted)}.alg__comment:before{content:"▹ ";color:var(--orange);font-style:normal}.eq{display:flex;align-items:center;gap:18px;margin:6px 0;overflow-x:auto}.eq>math{flex:1 1 auto}.eq{position:relative}.eq>math mtd.eq__n mtext{position:absolute;right:0;transform:translateY(-.45em);font-family:var(--mono);font-size:var(--fs-xs);color:var(--muted)}.eq__n{flex:0 0 auto;font-family:var(--mono);font-size:var(--fs-xs);color:var(--muted)}math{font-size:1.04em;font-family:"Latin Modern Math","STIX Two Math","Cambria Math","Noto Sans Math",serif}.prose .sourceCode{margin:26px 0}.prose pre{margin:0;padding:16px 20px;background:var(--tint);border-left:2px solid var(--orange);overflow-x:auto;font-family:var(--mono);font-size:var(--fs-sm);line-height:1.6}.prose pre code{background:none;padding:0;font-size:inherit}.sourceCode .co{color:var(--muted);font-style:italic}.sourceCode .st{color:var(--navy)}.sourceCode .im,.sourceCode .kw{font-weight:500}.outputbox{margin:26px 0;padding:14px 20px 12px;background:var(--tint);border-left:2px solid var(--rule);font-family:var(--mono);font-size:var(--fs-xs);overflow-x:auto}.outputbox .tbl{margin:0}.outputbox table{width:auto;font-size:inherit}.outputbox th{border-bottom:1px solid var(--rule);font-weight:500}.outputbox td{border:0;padding:4px 10px}.outputbox tr:last-child td{border:0}.outputbox p{margin-top:10px;color:var(--muted)}.obs{color:var(--orange);font-size:.8em}.citation{font-family:var(--mono);font-size:.82em;color:var(--navy)}.citation a{border:0;color:var(--navy)}.citation a:hover{color:var(--navy);text-decoration:underline}#refs{margin-top:16px;font-size:var(--fs-sm);line-height:1.5}.csl-entry{display:grid;grid-template-columns:34px 1fr;gap:12px;margin-top:10px;scroll-margin-top:80px}.csl-left-margin{font-family:var(--mono);font-size:var(--fs-xs);color:var(--muted);padding-top:2px}.csl-entry a{overflow-wrap:anywhere}.footnotes{margin-top:0;font-size:var(--fs-sm);color:var(--muted)}.footnotes h2{color:var(--ink)}.footnotes ol{list-style:decimal;padding-left:22px}.footnotes li::marker{color:var(--muted);font-family:var(--mono);font-size:var(--fs-xs)}.footnote-ref{border:0;font-family:var(--mono)}.footnote-back{border:0;margin-left:4px;font-variant-emoji:text}.cta h2.rail__label{font-size:var(--fs-xs)}.contacts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px;padding:0;list-style:none}.contact{display:flex;flex-direction:column;gap:4px;height:100%;padding:14px 16px;min-height:44px;border:1px solid rgba(255,255,255,.32);border-radius:3px;color:#fff;text-decoration:none;transition:background-color .18s ease,border-color .18s ease}.contact:hover,.contact:focus-visible{background:#ffffff1a;border-color:#fff9}.contact__name{font-size:var(--fs-md);font-weight:600}.contact__email{font-family:var(--mono);font-size:var(--fs-xs);color:#ffffffbf;overflow-wrap:anywhere}@media(max-width:900px){.paper{grid-template-columns:minmax(0,1fr);gap:36px 0;padding-top:40px}.toc ol a{white-space:normal}.paper__side{position:static}.paper__toc summary{padding:10px 0 14px;min-height:44px}.paper__toc nav{max-height:none;overflow:visible;mask-image:none;padding-bottom:0}.paper__toc summary:after{content:" ▾"}.paper__toc[open] summary:after{content:" ▴"}.paperhead{padding:64px 0 56px}.paperhead__parts{grid-template-columns:1fr;gap:20px;margin-top:36px}.prose h2{margin-top:64px}}@media(max-width:640px){.contacts{grid-template-columns:1fr}.prose pre{font-size:var(--fs-xs)}.alg__comment{float:none;display:block;margin:2px 0 0}.alg__line--d1{padding-left:48px}.alg__line--d2{padding-left:60px}.alg__line--d3{padding-left:72px}}@media print{.topbar,.paper__side,.cta,.footer,.consent{display:none}.paper{display:block}.paperhead{background:#fff;color:var(--ink);border-top:0;padding:0 0 24px}.paperhead p,.part p{color:var(--muted)}}.nowrap{white-space:nowrap}
