:root{--ink:#243440;--muted:#58656e;--accent:#087f8c;--line:#e2e7ea;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;color:var(--ink);font-size:16px;line-height:1.7}
*{box-sizing:border-box}html{scroll-padding-top:24px}body{margin:0;background:#fff}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #08a1b3;outline-offset:4px}img{display:block;max-width:100%;height:auto}sup{font-size:.65em;margin-left:2px}p{margin:0 0 1em}
.container{width:min(1120px,calc(100% - 64px));margin:auto}.reading{width:min(920px,calc(100% - 64px));margin:auto}.section{padding:54px 0}.tinted{background:#fafbfc;border-top:1px solid #f0f2f4;border-bottom:1px solid #f0f2f4}.topbar{border-bottom:1px solid var(--line);background:#fff}.nav{width:min(1180px,calc(100% - 48px));min-height:60px;display:flex;align-items:center;justify-content:space-between;margin:auto;gap:20px}.brand{display:flex;align-items:center;gap:9px;color:var(--ink);font-size:18px;font-weight:700}.brand:hover{text-decoration:none}.navlinks{display:flex;gap:27px}.navlinks a,.nav-paper{font-size:14px;color:var(--muted)}
.hero{width:min(1180px,calc(100% - 36px));text-align:center;padding:58px 0 20px}.hero h1{font-family:Verdana,Arial,sans-serif;font-size:clamp(28px,3vw,36px);font-weight:700;line-height:1.27;letter-spacing:-.3px;margin:0 0 32px}.title-line{display:block}.hero-logo{display:inline-block;width:51px;vertical-align:middle;margin-right:9px}.authors{color:#000;font-size:19px;line-height:2.05}.authors span{display:inline-block;margin:0 8px}.affiliations{font-size:16px;margin:20px 0 3px}.affiliations span{display:inline-block;margin:0 10px}.contributions{color:var(--muted);font-size:14px}.actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin:24px 0 8px}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;padding:8px 22px;border-radius:24px;background:#303b43;border:1px solid #303b43;color:white;font-size:15px;font-weight:550}.button:hover{background:#145f72;border-color:#145f72;text-decoration:none}.button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.section-heading{text-align:center;margin-bottom:27px}.section-heading h2{font-family:Verdana,Arial,sans-serif;font-size:32px;line-height:1.25;font-weight:700;letter-spacing:0;margin:0 0 14px}.lead{color:var(--muted);font-size:16px;max-width:760px;margin:0 auto}.abstract-text{font-size:17px;line-height:1.85;text-align:justify;color:#3c474e}.abstract-text p:last-child{margin-bottom:0}.paper-figure{margin:0;background:#fff}.image-frame{display:block;width:100%;background:#fff;border:0;padding:0;cursor:default}.image-frame img{width:100%;height:auto}figcaption{padding:13px 18px;text-align:center;color:var(--muted);font-size:14px;line-height:1.65}.method-summary{max-width:920px;margin:20px auto 0;font-size:17px;line-height:1.8;text-align:justify;color:#3c474e}
.tabs{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:0 0 25px}.tabs button{border:1px solid #d4dce0;border-radius:20px;background:#fff;padding:7px 18px;font-size:14px;color:var(--muted)}.tabs button[aria-selected=true]{color:#fff;background:#256d80;border-color:#256d80}.case-intro{max-width:980px;margin:0 auto 23px;padding:0 12px;text-align:center}.case-label{font-size:14px;font-weight:650;color:var(--accent)}.case-intro p{font-size:17px;line-height:1.65;margin:5px 0 0}.result-control{display:flex;justify-content:center;align-items:center;gap:13px;margin-bottom:25px;font-size:15px}.result-control label{color:var(--muted)}select{padding:8px 30px 8px 13px;border:1px solid #cbd6dc;border-radius:5px;background:white;color:var(--ink);max-width:100%}
.table-wrap{overflow:auto;background:white}table{color:#000;width:100%;border-collapse:collapse;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;border-top:2px solid #52646e;border-bottom:2px solid #52646e}th,td{padding:16px 23px;font-size:16px}thead th{font-size:14px;font-weight:600;color:#000;border-bottom:1px solid #8fa1ac}th:first-child{text-align:left}tbody th{font-weight:500}.ours{background:#f2f2f2;color:#000}.ours th,.ours td{font-weight:700}.table-note{font-size:14px;color:var(--muted);line-height:1.7;max-width:880px;text-align:center;margin:18px auto 0}
.citation-box{border-radius:6px;overflow:hidden;background:#f4f6f8;border:1px solid var(--line)}.code-header{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;font-size:14px;border-bottom:1px solid var(--line)}.code-header button{border:1px solid #cdd6dc;background:#fff;border-radius:5px;font-size:14px;padding:4px 12px;color:var(--ink)}pre{margin:0;padding:22px;overflow-x:auto;font:13px/1.85 ui-monospace,SFMono-Regular,Consolas,monospace;color:#304654}.copy-status{min-height:24px;font-size:14px;margin-top:8px;color:var(--accent)}footer{border-top:1px solid var(--line);padding:27px 0;background:#fafbfc}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:18px}.footer-inner p{font-size:13px;color:var(--muted);margin:0}.footer-inner>div{display:flex;gap:22px;font-size:14px}
.skip{position:fixed;top:-100px;left:12px;background:white;z-index:100;padding:12px}.skip:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:700px){.container,.reading{width:calc(100% - 36px)}.nav{width:calc(100% - 30px);flex-wrap:wrap;justify-content:center;gap:8px 25px;padding:10px 0}.navlinks{gap:16px}.nav-paper{display:none}.brand{font-size:16px}.navlinks a{font-size:14px}.hero{padding-top:35px}.hero h1{font-size:29px;letter-spacing:-.65px;line-height:1.35;margin-bottom:25px}.title-line+.title-line{margin-top:4px}.hero-logo{width:37px;margin-right:6px}.authors{font-size:16px}.authors span{margin:0 4px}.affiliations{font-size:15px}.affiliations span{margin:0 5px}.contributions{font-size:13px}.actions{margin-top:20px}.button{font-size:14px;padding:7px 16px}.section{padding:39px 0}.section-heading h2{font-size:28px}.abstract-text,.method-summary{font-size:16px;line-height:1.8;text-align:justify}.tabs{gap:7px}.tabs button{font-size:14px;padding:6px 13px}.case-intro p{font-size:16px}figcaption{padding:12px 4px}th,td{padding:13px 15px}.footer-inner{flex-direction:column;gap:12px}pre{font-size:12px;padding:16px}.dialog-image img{min-width:0}}
.method-figure{max-width:1060px;margin-inline:auto!important}.framework-frame{position:relative;aspect-ratio:1820/1030;overflow:hidden}.framework-frame img{position:absolute;width:120.88%!important;max-width:none;left:-2.2%;top:0}
.home-showcase{--band-height:clamp(200px,18vw,320px);width:min(1800px,calc(100% - 48px));margin:auto;padding:24px 0 24px;border-bottom:1px solid #e2e7ea}.case-study-figure{max-width:1060px;margin-inline:auto!important}
.trimmed-frame{position:relative;display:block;overflow:hidden;aspect-ratio:var(--frame-ratio);width:100%}
.trimmed-frame img{position:absolute;width:var(--image-width);max-width:none;height:auto;left:var(--image-left);top:var(--image-top);object-fit:initial}
.case-strip{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain}.case-strip::-webkit-scrollbar{display:none}.strip-track{display:flex;width:max-content}.strip-group{display:flex;align-items:flex-start;gap:22px;padding-right:22px;flex:none}.strip-card{width:calc(var(--band-height)*var(--card-ratio));flex:none;margin:0}.strip-card figcaption{font-size:13px;padding:9px 0 4px;color:#58656e}.strip-controls{display:flex;justify-content:center;gap:8px;margin-top:8px}.strip-controls button{border:1px solid #dce3e6;background:#fff;color:#256d80;border-radius:20px;padding:3px 12px;font-size:13px;min-width:35px}.strip-controls button:hover{background:#eaf5f4}@media(max-width:700px){.home-showcase{width:calc(100% - 28px);--band-height:185px}.strip-group{gap:14px;padding-right:14px}}
.title-art{display:inline-block;vertical-align:middle;width:auto;height:auto;max-width:100%}.title-line:first-child .title-art{max-width:calc(100% - 72px)}.heading-art{display:block;width:auto;height:auto;max-width:100%;margin:0 auto}.hero h1{line-height:1.45}.title-line+.title-line{margin-top:10px}@media(max-width:700px){.title-line:first-child .title-art{max-width:calc(100% - 50px)}.heading-art{max-width:85%}.title-line+.title-line{margin-top:12px}}
