:root{--navy:#173456;--ink:#243e5c;--muted:#536b87;--teal:#0087a5;--line:#d8e6f1;--paper:#fff;--wash:#f3f9fc;--content:1240px}
*{box-sizing:border-box}html{scroll-padding-top:155px}body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--paper);color:var(--ink);font-family:Georgia,'Times New Roman',serif;font-size:18px;line-height:1.6}a{color:#0077ac;text-underline-offset:4px;text-decoration-thickness:1px}a:hover{color:var(--navy)}a:focus-visible,button:focus-visible{outline:3px solid var(--teal);outline-offset:5px}button{font:inherit}svg{display:block;width:23px;height:23px;flex:none}.skip-link{position:fixed;left:16px;top:-80px;z-index:100;background:var(--navy);color:white;padding:10px 18px}.skip-link:focus{top:12px}.site-header{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);background:#fff;box-shadow:0 2px 6px #17345604}.header-inner{max-width:var(--content);margin:0 auto;padding:12px 0;display:flex;align-items:center;justify-content:space-between;gap:36px}.brand{display:flex;align-items:center;gap:24px;min-width:0;text-decoration:none;color:var(--navy)}.brand-logo{width:100px;height:100px;object-fit:contain;flex:none}.brand-name{font-size:clamp(20px,1.8vw,27px);line-height:1.25;font-weight:500}.site-nav{display:flex;gap:40px;align-items:center;flex:none}.site-nav a{position:relative;display:block;padding:12px 0;color:var(--navy);font-size:21px;line-height:1.4;text-decoration:none}.site-nav a[aria-current=page]{color:var(--navy)}.site-nav a[aria-current=page]::after{content:'';position:absolute;bottom:1px;left:0;right:0;height:3px;background:var(--teal)}.site-nav a:hover{color:var(--teal)}.page-main{width:min(var(--content),calc(100% - 48px));margin:0 auto;padding:42px 0 56px;flex:1}.page-main:focus{outline:none}.page-heading{display:flex;align-items:center;gap:24px;margin-bottom:28px}.page-heading::after{content:'';height:1px;background:var(--line);flex:1;margin-top:12px}h1{font-size:48px;line-height:1.15;font-weight:600;letter-spacing:-1px;margin:0;color:var(--navy)}h2{color:var(--navy)}.publication{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:38px;align-items:center;padding:28px 0 32px}.publication:first-child{padding-top:0}.publication+.publication{border-top:1px solid var(--line);padding-top:30px}.publication-figure{min-width:0;background:white}.publication-figure img{display:block;width:100%;height:auto;border:1px solid #e4edf4;border-radius:2px;object-fit:contain}.publication-info{min-width:0}.publication h2{font-size:27px;line-height:1.32;letter-spacing:-.35px;font-weight:600;margin:0 0 14px;overflow-wrap:anywhere}.publication-authors{font-size:17px;line-height:1.65;color:var(--muted);margin:0 0 18px}.publication-venue{color:var(--muted);font-size:18px;margin:0 0 24px}.publication-venue span{display:inline-block;padding:0 9px}.publication-links{display:flex;align-items:center;gap:32px;flex-wrap:wrap}.resource-link{display:inline-flex;align-items:center;gap:9px;line-height:1.4;width:fit-content}.resource-link svg{width:22px;height:22px}.resource-link span{text-decoration:underline;text-underline-offset:4px}.resource-list{margin-top:8px}.resource-row{display:grid;grid-template-columns:minmax(180px,.9fr) minmax(0,2.1fr) minmax(140px,.65fr);gap:30px;align-items:start;padding:32px 0 38px;border-bottom:1px solid var(--line)}.resource-row:first-child{border-top:1px solid var(--line)}.resource-row h2,.repository-row h2{font-size:27px;line-height:1.35;margin:0;font-weight:600;letter-spacing:-.2px}.resource-description{margin:0;color:var(--muted);line-height:1.65}.resource-action{display:flex;flex-direction:column;gap:8px}.resource-host{font-size:16px;color:var(--muted)}.repository-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:24px;align-items:center;padding:30px 0 34px;border-bottom:1px solid var(--line)}.repository-row:first-child{border-top:1px solid var(--line)}.repository-icon{color:#657d9b}.repository-icon svg{width:40px;height:40px}.repository-info p{margin:5px 0 0;color:var(--muted)}.repository-owner{font-size:16px;overflow-wrap:anywhere}.repository-action{padding-left:20px}.site-footer{border-top:1px solid var(--line);background:linear-gradient(180deg,#fbfdff,var(--wash));padding:23px 24px 25px;text-align:center;color:var(--muted);font-size:14px}.citation-dialog{width:min(820px,calc(100% - 32px));padding:28px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:white;box-shadow:0 24px 100px #102c4e35}.citation-dialog::backdrop{background:#10274080}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.dialog-heading h2{font-size:25px;line-height:1.3;margin:0}.dialog-heading form{margin:0}.icon-button{display:flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--muted);width:40px;height:40px;cursor:pointer;border-radius:4px}.icon-button:hover{background:var(--wash);color:var(--navy)}.citation-text{margin:0;padding:20px;border:1px solid var(--line);border-radius:4px;background:var(--wash);max-height:50vh;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.65 Consolas,'Courier New',monospace}.dialog-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:18px}.copy-button{border:1px solid var(--navy);padding:8px 17px;background:var(--navy);border-radius:4px;color:white;font-size:16px;cursor:pointer}.copy-button:hover{background:#23527c}#citation-status{font-size:15px;color:var(--muted);margin:0;min-height:24px}
@media(min-width:1450px){.page-main{padding-top:48px}.publication h2{font-size:29px}}
@media(max-width:1330px){.header-inner{padding-left:24px;padding-right:24px}.brand{gap:18px}.site-nav{gap:30px}}
@media(max-width:1000px){.brand-logo{width:82px;height:82px}.brand-name{font-size:21px}.site-nav{gap:24px}.site-nav a{font-size:19px}.header-inner{gap:24px}.publication{gap:28px}.publication h2{font-size:24px}.publication-authors{font-size:16px}.publication-venue{font-size:17px}.resource-row{grid-template-columns:minmax(150px,.8fr) minmax(0,1.6fr) 125px;gap:24px}.resource-row h2,.repository-row h2{font-size:24px}}
@media(max-width:760px){html{scroll-padding-top:140px}body{font-size:17px}.header-inner{display:grid;grid-template-columns:1fr;padding:10px 20px 0;gap:6px}.brand{gap:14px}.brand-logo{width:62px;height:62px}.brand-name{font-size:20px;line-height:1.25;max-width:440px}.site-nav{justify-content:center;gap:44px}.site-nav a{font-size:18px;padding:8px 0 12px}.site-nav a[aria-current=page]::after{bottom:0}.page-main{width:calc(100% - 40px);padding:32px 0 38px}.page-heading{gap:18px;margin-bottom:24px}h1{font-size:39px;letter-spacing:-.6px}.publication{grid-template-columns:1fr;gap:22px;padding-bottom:30px}.publication+.publication{padding-top:30px}.publication h2{font-size:25px;line-height:1.35;margin-bottom:12px}.publication-authors{font-size:17px;margin-bottom:12px}.publication-venue{margin-bottom:20px}.publication-links{gap:30px}.resource-row{grid-template-columns:1fr;gap:12px;padding:26px 0 30px}.resource-row h2,.repository-row h2{font-size:26px}.resource-description{max-width:36em}.resource-action{flex-direction:row;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:2px}.repository-row{grid-template-columns:32px minmax(0,1fr);gap:16px;padding:26px 0 30px}.repository-icon{align-self:start;padding-top:3px}.repository-icon svg{width:30px;height:30px}.repository-action{grid-column:2;padding:0;margin-top:2px}.repository-owner{font-size:14px}.site-footer{padding:20px;font-size:13px}.citation-dialog{padding:20px}.citation-text{padding:14px;font-size:12px}.dialog-heading h2{font-size:22px}.dialog-actions{gap:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
