/* Academic Project Page Template-inspired layout; see the page footer for attribution. */
@font-face{font-family:Inter;src:url('../fonts/InterVariable.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--ink:#202c35;--muted:#61717c;--accent:#245c55;--accent-dark:#17443e;--soft:#f3f7f5;--line:#dfe7e4;--blue:#638bab;--orange:#c79265;--width:1100px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:#fff;color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}
body.modal-open{overflow:hidden}
[hidden]{display:none!important}
a{color:var(--accent);text-decoration:none;text-underline-offset:4px}
a:hover{text-decoration:underline}
button,select{font:inherit}
button,a,select{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
:focus-visible{outline:3px solid #bc7d40;outline-offset:5px}
img,svg{max-width:100%}
img{height:auto;display:block}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{line-height:1.25;letter-spacing:-.035em}
strong{font-weight:650}
sup{font-size:.65em;line-height:0;position:relative;vertical-align:super}
sub{font-size:.65em}
.container{width:min(var(--width),calc(100% - 48px));margin-inline:auto}
.narrow{max-width:850px}
.skip-link{position:fixed;left:16px;top:-100px;z-index:20;background:#fff;padding:8px 16px;border:1px solid var(--accent)}
.skip-link:focus{top:12px}
.site-header{position:sticky;top:0;z-index:10;background:rgb(255 255 255 / 96%);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.nav-inner{height:66px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;gap:10px;align-items:center;color:var(--ink);font-size:16px;font-weight:750;letter-spacing:-.03em}
.brand:hover{text-decoration:none}
.brand-mark{width:27px;height:27px}
.nav-links{display:flex;gap:27px;align-items:center}
.nav-links a{font-size:13px;font-weight:550;color:var(--muted)}
.nav-links a:hover{color:var(--accent)}
.hero{text-align:center;padding:66px 0 0}
.eyebrow{font-size:12px;letter-spacing:.13em;font-weight:700;text-transform:uppercase;color:var(--accent);margin-bottom:19px}
.hero h1{font-size:clamp(32px,4.2vw,51px);font-weight:760;letter-spacing:-.048em;line-height:1.14;max-width:1050px;margin:auto;text-wrap:balance}
.hero h1 span{display:block}
.hero h1 .title-secondary{font-size:.72em;letter-spacing:-.035em;font-weight:550;margin-top:14px;color:#52616c}
.authors{display:flex;justify-content:center;gap:9px 22px;flex-wrap:wrap;font-size:17px;margin:29px auto 13px}
.authors span{white-space:nowrap}
.authors a{color:var(--accent)}
.affiliations{font-size:14px;color:#55646e;display:flex;gap:4px 21px;justify-content:center;flex-wrap:wrap}
.author-notes{font-size:12px;color:var(--muted);margin-top:8px}
.publication-links{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:25px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 18px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);font-size:14px;font-weight:550;line-height:1.5;transition:background .15s,border-color .15s}
.button:hover{text-decoration:none;background:var(--soft);border-color:#b4c7be}
.button.primary{background:var(--ink);color:#fff;border-color:var(--ink)}
.button.primary:hover{background:var(--accent);border-color:var(--accent)}
.icon{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.teaser{padding:42px 0 0}
.teaser-lead{font-size:19px;line-height:1.65;max-width:820px;margin:0 auto 29px;text-align:center;color:#50606b;text-wrap:pretty}
.teaser-lead strong{color:var(--ink)}
.figure-link{display:block;position:relative;cursor:zoom-in}
.figure-link:hover{text-decoration:none}
.figure-link img{width:100%}
.zoom-hint{position:absolute;bottom:9px;right:9px;background:rgb(255 255 255 / 95%);border:1px solid var(--line);border-radius:5px;font-size:11px;padding:3px 9px;color:var(--muted);opacity:0;transition:opacity .15s}
.figure-link:hover .zoom-hint,.figure-link:focus-visible .zoom-hint{opacity:1}
figcaption{font-size:13px;line-height:1.7;color:var(--muted);margin-top:16px;text-align:center}
.highlights{display:grid;grid-template-columns:1.2fr 1fr 1fr;border-block:1px solid var(--line);margin-top:38px;padding:25px 0}
.highlight{text-align:center;padding:0 20px}
.highlight+.highlight{border-left:1px solid var(--line)}
.highlight strong{display:block;font-size:31px;line-height:1.25;letter-spacing:-.04em;color:var(--accent);font-weight:700}
.highlight strong small{font-size:17px;font-weight:500;letter-spacing:0}
.highlight p{font-size:12px;color:var(--muted);line-height:1.65;margin-top:7px}
.section{padding:66px 0}
.section.tinted{background:var(--soft);border-block:1px solid var(--line)}
.section-heading{text-align:center;margin-bottom:28px}
.section-heading .eyebrow{margin-bottom:9px}
h2{font-size:31px;font-weight:700;text-wrap:balance}
.section-intro{max-width:830px;margin:16px auto 0;color:var(--muted);text-align:center;text-wrap:pretty}
.prose{color:#4d5c66;font-size:16px;line-height:1.9}
.prose p+p{margin-top:16px}
.prose strong{color:var(--ink)}
.observation-figure{margin-top:30px;padding:23px 20px 0;background:#fff;border:1px solid var(--line);border-radius:9px}
.observation-figure figcaption{padding:0 15px 20px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:34px}
.step{padding-top:18px;border-top:2px solid #c5d8d1}
.step-number{font-size:12px;letter-spacing:.06em;color:var(--accent);font-weight:650;margin-bottom:11px}
.step h3{font-size:19px;letter-spacing:-.025em;margin-bottom:11px}
.step p{font-size:14px;color:var(--muted);line-height:1.8}
.formula{margin-top:30px;padding:23px 20px;background:var(--soft);border:1px solid var(--line);border-radius:8px;text-align:center}
.equation{font-family:Georgia,"Times New Roman",serif;font-size:25px;color:var(--accent-dark);line-height:1.5;overflow-x:auto;white-space:nowrap;padding-bottom:3px}
.formula p{font-size:12px;color:var(--muted);margin-top:8px}
.legend{display:flex;justify-content:center;gap:22px;margin:26px 0 25px;font-size:12px;color:var(--muted)}
.legend span{display:flex;align-items:center;gap:7px}
.swatch{display:inline-block;width:10px;height:10px;border-radius:2px;background:var(--blue)}
.swatch.exopd{background:var(--orange)}
.swatch.sdopd{background:var(--accent)}
.chart-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:25px;padding-bottom:24px}
.chart-setting{min-width:0}
.chart-label{font-size:12px;color:var(--muted);line-height:1.6;text-align:center;margin-bottom:12px}
.chart-label strong{display:block;font-size:14px;color:var(--ink)}
.chart-bars{display:flex;align-items:flex-end;justify-content:center;gap:8px;height:180px;border-bottom:1px solid #bbc9c2;padding:0 8px;background:repeating-linear-gradient(to top,transparent,transparent 44px,#e6ede9 44px,#e6ede9 45px)}
.chart-bar{height:calc(var(--score)*1%);width:35px;background:var(--blue);position:relative;border-radius:3px 3px 0 0}
.chart-bar.exopd{background:var(--orange)}
.chart-bar.sdopd{background:var(--accent)}
.chart-bar span{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);font-size:10px;font-weight:600;color:var(--ink);margin-bottom:3px;white-space:nowrap;font-variant-numeric:tabular-nums}
.chart-gain{text-align:center;font-size:12px;color:var(--accent);font-weight:650;margin-top:9px}
.chart-caption{text-align:center;font-size:12px;color:var(--muted);margin:0 auto 34px}
.results-explorer{background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden}
.results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 22px;border-bottom:1px solid var(--line);background:#fbfcfb}
.results-toolbar label{font-size:13px;font-weight:600;flex:none}
.results-toolbar select{padding:9px 34px 9px 12px;background:#fff;border:1px solid #bdcec5;border-radius:5px;font-size:13px;color:var(--ink);max-width:100%;min-width:0}
.result-panel h3{font-size:16px;margin:21px 22px 15px}
.table-scroll{overflow-x:auto;padding:0 9px 9px}
table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums}
caption{text-align:left;font-size:12px;padding:0 13px 11px;color:var(--muted)}
th,td{text-align:right;padding:12px 11px;border-bottom:1px solid #edf1ee}
thead th{color:var(--muted);font-size:11px;font-weight:550;background:#fafcfb}
th:first-child,td:first-child{text-align:left}
tbody th{font-weight:500}
td:last-child,thead th:last-child{background:rgb(36 92 85 / 4%)}
tr.ours{background:#eaf3ee;color:var(--accent-dark)}
tr.ours th{font-weight:700}
tr.gain{color:var(--accent);font-size:11px}
tr.teacher{color:var(--muted);background:#f8faf9}
tr:last-child th,tr:last-child td{border-bottom:0}
.table-note{font-size:12px;color:var(--muted);line-height:1.7;margin-top:15px}
.result-callout{margin-top:30px;border-left:3px solid var(--accent);padding:5px 0 5px 22px}
.result-callout h3{font-size:20px;margin-bottom:9px}
.result-callout p{font-size:14px;color:var(--muted)}
.analysis-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;margin-top:32px}
.analysis-grid h3{font-size:20px;margin-bottom:15px}
.analysis-grid p{font-size:14px;color:var(--muted);line-height:1.85;margin-top:17px}
.ablation-table th,.ablation-table td{padding:14px 12px;font-size:13px}
.analysis-grid figure{margin-top:19px}
.analysis-grid figcaption{font-size:12px;text-align:left}
.citation-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.citation-heading h2{font-size:28px}
.citation-actions{display:flex;align-items:center;gap:12px}
.citation-actions>a{font-size:13px}
pre{margin:0;padding:25px;background:#f5f7f6;border:1px solid var(--line);border-radius:8px;overflow:auto;font-size:12px;line-height:1.85;tab-size:2;color:#40564e}
code{font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace}
.copy-status{min-height:24px;font-size:12px;color:var(--accent);margin-top:8px}
.site-footer{padding:29px 0 35px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);text-align:center}
.site-footer p+p{margin-top:5px}
.figure-dialog{width:min(1500px,96vw);max-width:96vw;max-height:94vh;padding:50px 20px 20px;border:1px solid var(--line);border-radius:10px;background:white;box-shadow:0 20px 80px #0003}
.figure-dialog::backdrop{background:rgb(19 31 28 / 75%);backdrop-filter:blur(4px)}
.figure-dialog img{width:100%;max-height:75vh;object-fit:contain}
.dialog-close{position:absolute;right:12px;top:10px;padding:5px 12px;font-size:13px}
.figure-dialog p{text-align:center;font-size:12px;color:var(--muted);margin-top:15px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(min-width:1500px){.hero{padding-top:76px}}
@media(max-width:900px){.hero h1{font-size:40px}.hero h1 span{display:inline}.hero h1 .title-secondary{display:block}.authors{max-width:650px}.chart-grid{gap:14px}.chart-bars{gap:5px;padding-inline:3px}.chart-bar{width:29px}.chart-bar span{font-size:9px}.steps{gap:22px}.analysis-grid{gap:30px}.results-toolbar{flex-wrap:wrap;gap:10px}}
@media(max-width:640px){html{scroll-padding-top:75px}.container{width:calc(100% - 36px)}.nav-inner{height:58px;gap:10px}.brand{font-size:14px;gap:7px}.brand-mark{width:23px;height:23px}.nav-links{gap:16px}.nav-links a{font-size:11px}.nav-links .optional-nav{display:none}.hero{padding-top:42px}.eyebrow{font-size:10px;letter-spacing:.11em}.hero h1{font-size:32px;line-height:1.18}.hero h1 .title-secondary{font-size:.72em;line-height:1.3;margin-top:14px}.authors{font-size:14px;gap:10px 17px;margin-top:24px}.affiliations{font-size:12px;gap:3px 12px}.author-notes{font-size:10px}.publication-links{gap:7px;margin-top:22px}.publication-links .button{padding:8px 10px;font-size:11px;gap:6px}.publication-links .icon{width:15px;height:15px}.button{font-size:12px;padding:9px 13px}.teaser{padding-top:33px}.teaser-lead{font-size:16px;margin-bottom:23px;line-height:1.75}.teaser figcaption{font-size:11px}.zoom-hint{opacity:1;font-size:9px;bottom:2px;right:2px;padding:1px 5px}.highlights{grid-template-columns:1fr;margin-top:27px;padding:4px 0}.highlight{padding:17px 10px}.highlight+.highlight{border-left:0;border-top:1px solid var(--line)}.highlight strong{font-size:29px}.highlight p{margin-top:4px;font-size:12px}.highlight p br{display:none}.section{padding:44px 0}h2{font-size:26px}.section-heading{margin-bottom:22px}.section-intro,.prose{font-size:14px;line-height:1.9}.observation-figure{padding:12px 8px 0;margin-top:22px}.observation-figure figcaption{padding:0 5px 13px;font-size:11px}.steps{grid-template-columns:1fr;gap:24px;margin-top:25px}.step{padding-top:12px}.step-number{margin-bottom:7px}.step h3{margin-bottom:8px}.formula{padding:19px 10px}.equation{font-size:20px}.formula p{font-size:11px}.legend{gap:18px}.chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 25px}.chart-setting:last-child{grid-column:1/-1;max-width:240px;width:100%;justify-self:center}.chart-bars{height:150px;gap:10px;padding-inline:15px;background-size:auto 100%}.chart-bar{width:34px}.chart-bar span{font-size:10px}.chart-caption{margin-bottom:23px}.results-toolbar{padding:15px}.results-toolbar select{width:100%;font-size:12px}.result-panel h3{font-size:14px;margin:18px 15px 13px;line-height:1.55}.table-scroll{padding-inline:4px}th,td{padding:10px}.table-note{font-size:11px}.result-callout{padding-left:16px;margin-top:25px}.result-callout h3{font-size:18px}.result-callout p{font-size:13px}.analysis-grid{grid-template-columns:1fr;gap:32px}.citation-heading{align-items:flex-start}.citation-heading h2{font-size:25px}.citation-actions{gap:9px}.citation-actions>a{font-size:11px}pre{padding:18px;font-size:11px}.site-footer{font-size:11px}.figure-dialog{padding:45px 8px 12px}.figure-dialog p{font-size:11px}.dialog-close{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{.site-header,.publication-links,.zoom-hint,.citation-actions,.results-toolbar,.figure-dialog{display:none!important}.result-panel[hidden]{display:block!important}.hero{padding-top:0}.section{padding:25px 0}.container{width:100%}.table-scroll{overflow:visible}body{font-size:12px}.chart-grid{break-inside:avoid}a{color:inherit}.site-footer{font-size:10px}}
