/* Paper-style methods: vector figures, live equations and numbered algorithms. */
.method-page{background:#fff;color:#24313e;padding:0 0 64px;--method-line:#dce1e6;--method-muted:#5b6878;--method-blue:#4477aa;--method-serif:Georgia,'Times New Roman',serif}
.method-nav{display:flex;gap:26px;flex-wrap:wrap;padding:23px 0;border-bottom:1px solid var(--method-line);font-size:13px;color:var(--method-muted)}
.method-nav a[aria-current=page]{color:#24313e;text-decoration:underline;text-underline-offset:6px}.method-nav a:hover,.figure-downloads a:hover,.source-files a:hover{color:var(--method-blue)}
.method-header{padding:42px 0 32px;max-width:1000px}.method-kicker{display:block;font-size:10px;font-weight:600;letter-spacing:2px;color:var(--method-muted);margin-bottom:18px}
.method-header h1{font-family:var(--method-serif);font-size:clamp(30px,3.5vw,47px);line-height:1.14;letter-spacing:-.035em;font-weight:500;max-width:1000px}.method-header>p{font-size:16px;color:var(--method-muted);margin:17px 0 22px;max-width:860px}
.method-contents{display:flex;flex-wrap:wrap;gap:9px 25px;font-size:12px;color:var(--method-muted)}.method-contents a{border-bottom:1px solid #ccd4de;padding-bottom:3px}
.method-figure{border-top:2px solid #24313e;padding-top:22px}.figure-scroll{overflow-x:auto;scrollbar-width:thin}.figure-scroll img{width:100%;height:auto;min-width:880px;max-width:none}
.figure-mobile-hint{display:none;font-size:11px;color:var(--method-muted)}
.method-figure figcaption{font-family:var(--method-serif);font-size:16px;line-height:1.5;color:#344152;margin:18px 0 12px;max-width:1050px}.method-figure figcaption b{color:#24313e}
.figure-downloads{display:flex;gap:10px 25px;flex-wrap:wrap;padding:0 0 24px;border-bottom:1px solid var(--method-line);font-size:12px;color:var(--method-muted)}.figure-downloads a{text-decoration:underline;text-underline-offset:4px}
.method-body{max-width:940px;margin:0 auto;font-family:var(--method-serif);font-size:18px;line-height:1.75}.method-section{padding-top:50px;scroll-margin-top:24px}.section-marker{font-family:var(--sans);font-size:10px;letter-spacing:1.8px;color:var(--method-muted);margin-bottom:13px}
.method-section h2{font-family:var(--method-serif);font-size:29px;line-height:1.25;letter-spacing:-.025em;margin-bottom:22px}.method-section h2.subsection-title{margin-top:34px}.method-section h3{font-family:var(--method-serif);font-size:20px;line-height:1.3;margin-bottom:10px}.method-section p{margin:0 0 18px}.method-section i{font-family:'Times New Roman',serif}.method-section sub,.method-section sup{font-size:.73em}
.method-columns{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin:30px 0}.method-columns>div{border-top:1px solid var(--method-line);padding-top:18px}.method-columns p{font-size:16px;line-height:1.65;margin-bottom:0}
.equation{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 18px;background:#f7f9fb;border-left:2px solid #aec5da;margin:23px 0 12px;overflow-x:auto;font-family:'Times New Roman',serif;font-size:20px;line-height:1.9}.equation>div{white-space:nowrap}.equation-number{font-size:15px;color:var(--method-muted);flex-shrink:0}.method-section p.equation-note{font-size:15px;line-height:1.6;color:var(--method-muted)}
.definition-table{overflow-x:auto;margin:26px 0}.definition-table table{width:100%;border-collapse:collapse;font-size:16px;line-height:1.55;min-width:540px}.definition-table caption{text-align:left;font-size:17px;font-weight:600;padding:0 0 12px}.definition-table th{text-align:left;border-top:1.5px solid #24313e;border-bottom:1px solid #a3adb9;font-weight:600}.definition-table td,.definition-table th{padding:12px 16px 12px 0;vertical-align:top}.definition-table td{border-bottom:1px solid #e1e6eb}.definition-table td:first-child{min-width:120px}
.algorithm{margin:28px 0 25px;border-top:2px solid #24313e;border-bottom:2px solid #24313e;padding:0 0 15px;background:#fff}.algorithm h3{font-size:19px;font-weight:400;padding:15px 0 13px;margin:0;border-bottom:1px solid #a3adb9;line-height:1.5}.algorithm h3 strong{font-weight:700;margin-right:12px}.algorithm-contract{padding:14px 0 12px;font-size:16px;line-height:1.55;border-bottom:1px solid var(--method-line)}.algorithm-contract p{margin:0 0 5px}.algorithm-contract p:last-child{margin:0}
.algorithm-lines{counter-reset:algorithm;list-style:none;margin:15px 0 0;padding:0;font-size:16px;line-height:1.6}.algorithm-lines li{counter-increment:algorithm;display:grid;grid-template-columns:29px minmax(0,1fr);margin:0;padding:4px 0}.algorithm-lines li:before{content:counter(algorithm);font-family:'Times New Roman',serif;color:#8792a2;font-size:13px;line-height:2}.algorithm-lines li>span{display:block;padding-left:calc(var(--indent)*22px);overflow-wrap:anywhere}.algorithm code,.method-note code{font-size:.83em}
.method-note{border-left:3px solid #aec5da;background:#f7f9fb;padding:17px 21px;font-size:16px;line-height:1.65;margin:25px 0}.source-files{list-style:none;margin:24px 0 0;padding:0;font-family:var(--sans)}.source-files li{padding:13px 0;border-top:1px solid var(--method-line);font-size:13px;line-height:1.55}.source-files a{display:block}.source-files code{display:block;font-size:11px;color:var(--method-muted);margin-top:5px;overflow-wrap:anywhere}
.next-method{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:45px;padding-top:22px;border-top:1px solid #a3adb9;font-size:19px;line-height:1.5}.next-method>span:first-child{font-family:var(--sans);font-size:10px;letter-spacing:1px;color:var(--method-muted)}.next-method>span:last-child{margin-left:auto}
.technical-method-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;border-top:1px solid var(--line);padding:30px 0 36px}.technical-method-links a{padding:24px;background:#e9eee8;display:block}.technical-method-links small{display:block;font-size:10px;letter-spacing:1.5px;margin-bottom:12px;color:var(--muted)}.technical-method-links strong{font-family:Georgia,'Times New Roman',serif;font-size:25px;font-weight:500;line-height:1.25;display:block}.technical-method-links p{font-size:14px;color:var(--muted);margin:12px 0 0}
@media(max-width:1000px){.figure-scroll img{min-width:880px}.method-header h1{font-size:36px}}
@media(max-width:700px){.method-page>.wrap{width:calc(100% - 32px)}.method-nav{gap:10px 20px;font-size:12px;padding:17px 0}.method-header{padding:30px 0 26px}.method-header h1{font-size:32px}.method-header>p{font-size:15px}.method-contents{gap:10px 18px}.method-figure{padding-top:16px}.method-figure figcaption{font-size:15px}.figure-scroll{border:1px solid #e4e9ee}.figure-scroll img{min-width:880px}.figure-downloads{gap:12px 20px}.method-body{font-size:17px;line-height:1.7}.method-section{padding-top:37px}.method-section h2{font-size:25px}.method-columns,.technical-method-links{grid-template-columns:1fr;gap:20px}.equation{font-size:19px;padding:16px 12px}.algorithm-lines{font-size:15px}.algorithm h3{font-size:18px}.algorithm-lines li>span{padding-left:calc(var(--indent)*12px)}.algorithm-contract{font-size:15px}.next-method{font-size:18px}.method-note{padding:14px 16px}.technical-method-links{padding:22px 0}}
@media print{.header,.footer,.skip,.method-nav,.method-contents,.figure-downloads,.next-method{display:none}.wrap,.method-page>.wrap{width:100%;max-width:none}.method-page{padding:0}.method-header{padding:0 0 20px}.method-header h1{font-size:26pt}.figure-scroll{overflow:visible}.figure-scroll img{min-width:0;width:100%}.method-figure,.algorithm{break-inside:avoid}.method-body{max-width:none;font-size:11pt}.method-section{padding-top:24px}.method-section h2{font-size:17pt}.equation{font-size:12pt}.algorithm-lines,.algorithm-contract{font-size:10pt}.source-files{display:none}}
@media(max-width:700px){.figure-mobile-hint{display:block;margin:0 0 12px}}
@media print{.figure-mobile-hint{display:none}}
.rag-detail{padding-top:42px;scroll-margin-top:25px}.rag-detail h2{font-family:var(--method-serif);font-size:29px;line-height:1.3;letter-spacing:-.025em;margin-bottom:13px}.rag-detail>p{font-family:var(--method-serif);font-size:17px;color:var(--method-muted);max-width:880px;line-height:1.65;margin-bottom:24px}
@media(max-width:700px){.rag-detail{padding-top:32px}.rag-detail h2{font-size:25px}.rag-detail>p{font-size:16px}}
