:root{--primary:#4485c7;--primary-dark:#1f4ca7;--primary-soft:#f0f6ff;--analog:#b45b12;--analog-soft:#fff5e8;--ink:#0f172a;--text:#1f2937;--muted:#596b82;--border:#e3e8ef;--soft:#f7f9fc;--serif:"Source Serif 4",Charter,Georgia,serif;--sans:Inter,"Segoe UI",-apple-system,BlinkMacSystemFont,sans-serif}
.training-landscape{padding:20px 16px 17px;border:1px solid var(--border);border-radius:9px;scroll-margin-top:30px}.scale-chart-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:5px 12px}.scale-chart-head h3{color:var(--ink);margin:0}.scale-chart-head>span{color:var(--muted);font-size:12px}.project-content .scale-chart-instructions{margin:9px 0 10px;color:var(--muted);font-size:13px}.scale-chart{position:relative}.scale-plot-scroll{overflow-x:auto;scrollbar-width:thin}#scale-plot{display:block;width:100%;min-width:600px;height:auto;font-family:var(--sans);touch-action:pan-x pan-y}.scale-grid{stroke:#e0e6ee;stroke-width:1}.scale-minor-grid{stroke:#f0f3f7;stroke-width:.7}.scale-axis{stroke:#596b82;stroke-width:1.2}.scale-axis-label{fill:var(--muted);font-size:14px}.scale-axis-title{fill:var(--ink);font-size:17px}.scale-prior-guide{stroke:#a6a6a6;stroke-width:1;stroke-dasharray:3 4}.scale-current-guide{stroke:#596b82;stroke-width:1.2;stroke-dasharray:6 5}.scale-gap,.scale-leader{stroke:#596b82;stroke-width:1.2;pointer-events:none}.scale-gap-label{fill:var(--ink);font-size:13px;pointer-events:none}.scale-method-label{fill:var(--ink);font-size:15px;font-weight:600;pointer-events:none}.scale-reference-label{fill:var(--muted);font-size:12px;pointer-events:none}.scale-point{cursor:pointer;outline:none}.scale-point-dot{fill:#3c5488;stroke:white;stroke-width:1.2;opacity:.83}.scale-point-ring{fill:none;stroke:var(--ink);stroke-width:1.6}.scale-this-work .scale-point-dot{opacity:1}.scale-point-halo{fill:var(--primary);opacity:0;pointer-events:none}.scale-point.is-inspected .scale-point-halo,.scale-point:focus-visible .scale-point-halo{opacity:.2}.scale-point.is-inspected .scale-point-dot,.scale-point:focus-visible .scale-point-dot{opacity:1;stroke:var(--primary-dark);stroke-width:2}.scale-point:focus-visible .scale-point-halo{stroke:var(--primary-dark);stroke-width:2;stroke-dasharray:2 2}.scale-tooltip{position:absolute;z-index:3;width:330px;max-width:calc(100% - 16px);padding:15px;border:1px solid #c8d8ed;border-radius:9px;background:#fff;box-shadow:0 8px 30px #0f172a26;font-size:13px;line-height:1.5}.scale-tooltip[hidden],.scale-neighbors[hidden]{display:none}.scale-tooltip-head{display:flex;align-items:flex-start;gap:10px;justify-content:space-between}.scale-tooltip-head strong{font-size:14px;line-height:1.5}.scale-tooltip-head button{flex:none;display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid var(--border);border-radius:5px;color:var(--muted);background:var(--soft);font-size:21px;line-height:1}.scale-tooltip-head button:hover{background:var(--primary-soft);color:var(--ink)}.scale-tooltip .scale-paper-title{margin:10px 0 12px;color:var(--muted);font-size:12px;line-height:1.5}.scale-tooltip dl{display:grid;grid-template-columns:95px minmax(0,1fr);gap:6px 12px;margin:0}.scale-tooltip dt{color:var(--muted)}.scale-tooltip dd{margin:0;color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.scale-tooltip .scale-study-note{margin:12px 0 0;padding-top:10px;border-top:1px solid var(--border);color:var(--muted);font-size:12px}.scale-neighbors{margin:11px 0 0}.scale-neighbors label{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}.scale-neighbors select{width:100%;padding:7px 6px;border:1px solid #c8d8ed;border-radius:5px;color:var(--ink);background:var(--primary-soft);font:inherit}.scale-chart-key{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;padding:4px 0 6px;color:var(--muted);font-size:12px}.scale-chart-key span{display:flex;align-items:center;gap:6px}.scale-chart-key i{display:block;width:10px;height:10px;background:#3c5488;border-radius:50%}.scale-chart-key i.scale-current-key{outline:1.5px solid var(--ink);outline-offset:3px}.training-landscape figcaption{text-align:left;font-size:12px}.scale-chart-key span:last-child{flex:1 1 250px}@media(max-width:760px){.training-landscape{padding:16px 10px}.scale-tooltip{padding:12px}.scale-tooltip dl{grid-template-columns:85px minmax(0,1fr);gap:6px 8px}}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--text);background:#fff;font-family:var(--sans);font-size:16px;line-height:1.68;-webkit-font-smoothing:antialiased}a{color:var(--primary-dark);text-underline-offset:3px}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--primary);outline-offset:4px}button{cursor:pointer}.skip-link{position:fixed;top:8px;left:8px;z-index:10;padding:8px 13px;color:#fff;background:var(--ink);border-radius:6px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}
.masthead{border-bottom:1px solid var(--border)}.masthead-inner{display:flex;align-items:center;justify-content:space-between;width:min(1180px,calc(100% - 42px));min-height:62px;margin:auto;gap:20px}.site-name{display:flex;align-items:center;gap:10px;color:var(--ink);font-size:15px;font-weight:700;text-decoration:none}.site-name svg{width:23px;height:23px;fill:none;stroke:var(--primary-dark);stroke-width:1.6}.masthead-links{display:flex;gap:24px}.masthead-links a{color:var(--muted);font-size:14px;text-decoration:none}.masthead-links a:hover{color:var(--primary-dark)}
.project-wrap{display:grid;grid-template-columns:220px minmax(0,1fr);gap:56px;width:min(1180px,100%);margin:auto;padding:38px 28px 48px}.project-toc-sticky{position:sticky;top:28px;max-height:calc(100vh - 56px);overflow-y:auto;padding:4px 0}.project-toc-label{margin:0 0 12px 14px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.project-toc-nav{border-left:1px solid var(--border)}.project-toc-nav a{display:block;margin-left:-1px;padding:8px 14px;border-left:2px solid transparent;color:var(--muted);font-size:14px;line-height:1.4;text-decoration:none;transition:color .15s,background .15s}.project-toc-nav .toc-sub{padding:6px 14px 6px 24px;font-size:13px}.project-toc-nav a:hover{color:var(--ink);background:var(--soft)}.project-toc-nav a.active{border-left-color:var(--primary);color:var(--primary-dark);background:var(--primary-soft);font-weight:600}.toc-note{margin:26px 0 0 14px;color:var(--muted);font-family:var(--serif);font-size:15px;line-height:1.6}.project-main{min-width:0}
.project-hero{margin-bottom:32px;padding:8px 0 38px;border-bottom:1px solid var(--border);text-align:center}.eyebrow{margin:0 0 16px;color:var(--primary-dark);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}h1{margin:0 auto 15px;color:var(--ink);font-family:var(--serif);font-size:clamp(2.5rem,4.8vw,3.5rem);font-weight:700;letter-spacing:-.025em;line-height:1.1}.project-subtitle{margin:0 auto 20px;color:#475569;font-size:19px;line-height:1.5}.project-authors{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 16px;margin:0 0 13px;font-size:16px;color:var(--ink)}.project-authors span{white-space:nowrap}.project-authors sup,.project-affiliations sup{font-size:.7em;margin-left:2px}.project-affiliations{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 16px;margin:0 auto 17px;max-width:690px;color:var(--muted);font-size:14px;line-height:1.6}.project-affiliations span{max-width:100%}.project-venue{display:inline-block;padding:4px 12px;border:1px solid #d5e3f7;border-radius:30px;color:var(--primary-dark);background:var(--primary-soft);font-size:12px;font-weight:600;letter-spacing:.04em}.project-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:23px}.project-button{display:inline-flex;align-items:stretch;overflow:hidden;color:#fff;background:var(--ink);border:1px solid var(--ink);border-radius:8px;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s,transform .15s}.project-button:hover{color:#fff;background:var(--primary-dark);border-color:var(--primary-dark);transform:translateY(-1px)}.button-icon{display:grid;place-items:center;width:37px;border-right:1px solid #ffffff26;background:#ffffff12}.button-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7}.button-label{padding:9px 15px}.project-button.secondary{color:var(--ink);background:#fff;border-color:var(--border)}.secondary:hover{background:var(--primary-soft);border-color:var(--primary)}.secondary .button-icon{border-color:var(--border);background:var(--soft)}
.project-content{max-width:780px;margin:auto}.project-content p{margin:0 0 1.1em}.project-content h2{margin:0 0 .75em;padding-bottom:.35em;border-bottom:1px solid var(--border);color:var(--ink);font-family:var(--serif);font-size:29px;letter-spacing:-.015em;line-height:1.25}.project-content>section{margin-top:46px;scroll-margin-top:30px}.project-content h3{color:var(--primary-dark);font-family:var(--serif);font-size:21px;line-height:1.3;margin:0 0 9px}.project-content strong{color:var(--ink)}.project-content .tldr{margin-top:0;padding:20px 24px;border:1px solid #dae6f5;border-radius:9px;background:var(--primary-soft)}.tldr h2{margin:0 0 10px;padding:0;border:0;font-size:23px}.tldr ul{margin:0;padding-left:20px}.tldr li{margin:8px 0}.callout{margin:26px 0;padding:5px 0 5px 18px;border-left:2px solid var(--primary)}.callout p{margin:0}.callout strong:first-child{color:var(--primary-dark)}figure{margin:25px 0}figure a{display:block}figure img{display:block;width:100%;height:auto;background:#fff}figcaption{margin:12px auto 0;color:var(--muted);font-size:13px;line-height:1.6;text-align:center}details{margin:24px 0;border:1px solid #ccd9ea;border-radius:8px;overflow:hidden}summary{display:flex;justify-content:space-between;gap:15px;padding:12px 16px;color:var(--primary-dark);background:var(--primary-soft);font-size:14px;font-weight:600;cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}summary:after{content:"+";font-size:20px;line-height:1.2}details[open] summary:after{content:"−"}.details-body{padding:18px}.details-body p:last-child{margin:0}
.architecture-demo{margin:24px 0;padding:22px;border:1px solid var(--border);border-radius:9px;background:var(--soft)}.demo-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}.demo-head h3{color:var(--ink);font-size:21px}.schematic-label{color:var(--muted);font-size:12px}.domain-legend{display:flex;gap:18px;flex-wrap:wrap;margin:9px 0 19px;color:var(--muted);font-size:13px}.domain-legend span{display:flex;align-items:center;gap:6px}.domain-legend i{width:10px;height:10px;border-radius:2px}.analog-key{background:var(--analog)}.digital-key{background:var(--primary-dark)}.step-selector{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;list-style:none;margin:0;padding:0}.step-button{display:flex;flex-direction:column;align-items:flex-start;width:100%;min-height:112px;padding:12px 10px;border:1px solid var(--border);border-top:3px solid var(--analog);border-radius:6px;background:#fff;text-align:left;font-size:12px;color:var(--muted)}.step-button strong{font-size:14px;margin:6px 0 2px}.step-number{font-variant-numeric:tabular-nums;color:var(--analog);font-weight:600}.digital-step{border-top-color:var(--primary-dark)}.digital-step .step-number{color:var(--primary-dark)}.step-button:hover{background:var(--primary-soft)}.step-button.selected{box-shadow:0 0 0 2px var(--primary);border-color:var(--primary);background:var(--primary-soft)}.step-detail{margin-top:19px;padding:20px;border:1px solid var(--border);border-radius:6px;background:#fff;min-height:230px}.domain-badge{display:inline-block;color:var(--primary-dark);font-size:12px;font-weight:600;background:var(--primary-soft);padding:3px 9px;border-radius:4px}.analog-badge{color:var(--analog);background:var(--analog-soft)}.step-detail .step-equation{font-family:var(--serif);font-size:30px;color:var(--ink);margin:13px 0 8px}.step-detail p:last-child{margin:0;font-size:15px}.comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0}.comparison-grid>div{padding:20px;border:1px solid var(--border);border-radius:8px}.comparison-grid h3{color:var(--ink);margin-top:14px}.comparison-grid p{margin:0;font-size:15px}.design-part{display:grid;grid-template-columns:38px minmax(0,1fr);gap:15px;padding:22px 0;border-bottom:1px solid var(--border);scroll-margin-top:30px}.part-number{font-family:var(--serif);font-size:25px;color:var(--primary);line-height:1.2}.design-part p{margin:0}.result-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:24px 0;padding:23px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);gap:16px}.result-strip>div{text-align:center}.result-strip>div+div{border-left:1px solid var(--border)}.result-strip strong{display:block;font-family:var(--serif);font-size:34px;line-height:1.25;letter-spacing:-.02em}.result-strip span{display:block;margin-top:8px;font-size:12px;color:var(--muted)}.resource-list>div{position:relative;padding:17px 145px 17px 0;border-bottom:1px solid var(--border)}.resource-list strong,.resource-list a{font-weight:600}.resource-list p{font-size:14px;color:var(--muted);margin:5px 0 0}.resource-status{position:absolute;right:0;top:20px;padding:3px 8px;color:var(--muted);background:var(--soft);border-radius:4px;font-size:12px}.project-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:48px;padding-top:24px;border-top:1px solid var(--border);font-size:12px;color:var(--muted)}
@media(min-width:1400px){.project-wrap{gap:65px}}@media(max-width:1000px){.project-wrap{grid-template-columns:185px minmax(0,1fr);gap:28px;padding-inline:22px}.project-toc-nav a{font-size:13px;padding-left:12px}.step-selector{grid-template-columns:repeat(2,minmax(0,1fr))}.step-button{min-height:100px}}@media(max-width:760px){.masthead-inner{width:calc(100% - 32px);min-height:58px}.masthead-links{gap:14px}.masthead-links a{font-size:13px}.masthead-links a:first-child{display:none}.site-name{font-size:13px;gap:7px}.site-name svg{width:19px}.project-wrap{display:block;padding:26px 20px 36px}.project-toc{display:none}.project-hero{padding-top:9px}.project-subtitle{font-size:17px;max-width:400px}.project-content h2{font-size:26px}.project-content>section{margin-top:36px}.project-content .tldr{margin-top:0;padding:18px}.architecture-demo{padding:16px}.comparison-grid{grid-template-columns:1fr}.result-strip{gap:8px}.result-strip strong{font-size:27px}.result-strip span{font-size:12px}.resource-list>div{padding-right:0}.resource-status{position:static;display:inline-block;margin-top:9px}.project-footer{justify-content:flex-start;gap:8px 20px}}@media(max-width:380px){.masthead-links a:last-child{display:none}.project-wrap{padding-inline:16px}.button-label{padding-inline:10px}.button-icon{width:30px}.result-strip strong{font-size:24px}.step-detail{padding:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.research-papers{margin:16px 0 0}.research-papers ul{margin:0;padding-left:20px}.research-papers li{margin:0 0 12px;font-size:14px;line-height:1.6}.research-papers li:last-child{margin-bottom:0}
.bibtex-box{padding:16px;border:1px solid var(--border);border-radius:8px;background:var(--soft)}.bibtex-box button{display:block;margin:0 0 12px auto;padding:5px 13px;border:1px solid var(--border);border-radius:5px;color:var(--primary-dark);background:#fff;font-size:13px}.bibtex-box button[hidden]{display:none}.bibtex-box pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace}.project-content #bibtex-copy-status{margin:8px 0 0;color:var(--muted);font-size:13px}.project-content #bibtex-copy-status:empty{display:none}
.results-highlight{animation:results-reveal .7s cubic-bezier(.22,1,.36,1) both;animation-delay:.08s}
@keyframes results-reveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.results-highlight{animation:none}}
