:root{--band:#1b3d6d;--on-band:#fff;--on-band-soft:#c9d6e8;--gold:#ffd200;--paper:#fff;--ink:#18233a;--slate:#566178;--rule:#e2e6ed;--wash:#f3f5f9;--link:#1b3d6d;--red:#d62728;--tail:#2256a8;--baseline:#667085;--serif:var(--font-serif), "Source Serif 4", Georgia, serif;--sans:var(--font-sans), "Instrument Sans", "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--cjk:"PingFang SC", "Noto Sans SC", "Noto Sans CJK SC", "Microsoft YaHei", sans-serif;--wrap:960px;--pad:32px;--measure:40rem;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:20px}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--paper);min-height:100vh;color:var(--ink);font:400 18px/1.65 var(--serif);font-optical-sizing:auto;font-kerning:normal;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;flex-direction:column;margin:0;display:flex;overflow-x:clip}main{flex:1}main:focus{outline:none}:lang(zh-Hans){font-family:var(--cjk)}img,video,svg{max-width:100%}img,video{height:auto;display:block}p,li,figcaption{text-wrap:pretty}p{margin:0 0 1em}h1,h2,h3{text-wrap:balance;margin:0}a{color:var(--link);text-underline-offset:.2em;text-decoration-line:underline;text-decoration-color:#1b3d6d66;text-decoration-thickness:1px}a:hover{text-decoration-color:currentColor;text-decoration-thickness:2px}a,button,summary{touch-action:manipulation}:focus-visible{outline:2px solid var(--link);outline-offset:3px;border-radius:2px}::selection{background:#ffd20073}sub,sup{font-size:.72em;line-height:0}code{font:.86em/1.4 var(--mono)}strong,b{font-weight:600}.nowrap{white-space:nowrap}[hidden]{display:none!important}.wrap{width:100%;max-width:calc(var(--wrap) + 2 * var(--pad));padding-inline:var(--pad);margin-inline:auto}.skip{z-index:10;background:var(--gold);color:var(--ink);font:600 15px/1.4 var(--sans);padding:8px 14px;position:absolute;top:-60px;left:12px}.skip:focus{top:12px}.site-header,.band{background:var(--band);color:var(--on-band)}.band a,.site-header a{color:var(--on-band);text-decoration-color:#ffffff73}.band a:hover,.site-header a:hover{text-decoration-color:var(--gold)}.band :focus-visible,.site-header :focus-visible{outline-color:var(--gold)}.bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 24px;min-height:64px;padding-block:10px;display:flex}.wordmark{font:600 19px/1.2 var(--serif);text-decoration:none}.site-header ul{font:500 15.5px/1.2 var(--sans);flex-wrap:wrap;gap:0 26px;margin:0;padding:0;list-style:none;display:flex}.site-header nav a{color:var(--on-band-soft);padding-block:12px;text-decoration:none;display:inline-block}.site-header nav a:hover{color:var(--on-band);text-decoration:underline 2px var(--gold);text-underline-offset:.35em}.hero{padding:72px 0 64px}.hero-grid{grid-template-columns:176px minmax(0,1fr);align-items:start;gap:0 48px;display:grid}img.avatar{object-fit:cover;border-radius:50%;width:176px;height:176px;box-shadow:0 0 0 4px #ffffff1f}.hero h1{font:600 60px/1.04 var(--serif);letter-spacing:-.02em}.role{font:400 17px/1.5 var(--sans);color:var(--on-band-soft);margin:14px 0 0}.statement{max-width:34em;margin:22px 0 26px;font-size:21px;line-height:1.55}.contact{font:500 16px/1.6 var(--sans);flex-wrap:wrap;gap:6px 22px;margin:0;padding:0;list-style:none;display:flex}.home{padding-bottom:32px}.sec{margin-top:72px}.sec>h2{font:600 28px/1.2 var(--serif);letter-spacing:-.01em;margin-bottom:22px}.news{max-width:46rem;margin:0;padding:0;list-style:none}.news li{grid-template-columns:6.5rem minmax(0,1fr);align-items:baseline;gap:0 20px;padding:7px 0;font-size:17px;line-height:1.55;display:grid}.when{font:400 15px/1.65 var(--sans);font-variant-numeric:tabular-nums;color:var(--slate)}.paper{grid-template-columns:248px minmax(0,1fr);align-items:start;gap:0 36px;display:grid}.paper-thumb{border:1px solid var(--rule);border-radius:4px;display:block;overflow:hidden}.paper-thumb img{width:100%}.paper h3{font:600 21px/1.3 var(--serif)}.paper h3 a{color:var(--ink);text-decoration:none}.paper h3 a:hover{text-underline-offset:.2em;text-decoration:underline 2px}.authors,.venue{font:400 15.5px/1.5 var(--sans);color:var(--slate);margin:6px 0 0}.authors .me{color:var(--ink);font-weight:600}.venue{color:var(--ink);margin-top:2px;font-weight:600}.tldr{max-width:var(--measure);margin:12px 0;font-size:17px;line-height:1.6}.links{font:500 15.5px/1.6 var(--sans);flex-wrap:wrap;align-items:baseline;gap:4px 22px;margin:0;padding:0;list-style:none;display:flex}.text-btn{color:var(--link);font:500 15.5px/1.6 var(--sans);text-underline-offset:.2em;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline 1px #1b3d6d66}.text-btn:hover,.text-btn[aria-expanded=true]{text-decoration-color:currentColor;text-decoration-thickness:2px}.bib{max-width:var(--measure);margin-top:12px}.bib pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--wash);font:13.5px/1.55 var(--mono);color:var(--ink);border-radius:4px;margin:0 0 8px;padding:14px 16px}.copy-status{font:400 14.5px/1.5 var(--sans);color:var(--slate);margin-left:12px}.entry{max-width:var(--measure);margin-bottom:30px}.entry h3{font:600 19px/1.35 var(--serif)}.entry .when{margin:2px 0 0}.entry p:not(.when){margin:8px 0 0;font-size:17px;line-height:1.6}.entry .links{margin-top:6px}.sec>.when{margin:-12px 0 10px}.courses{max-width:var(--measure);margin:0;padding:0;list-style:none}.courses li{grid-template-columns:7rem minmax(0,1fr);align-items:baseline;gap:0 16px;padding:3px 0;font-size:17px;display:grid}.courses .code{font:600 15px/1.5 var(--sans);font-variant-numeric:tabular-nums}.site-footer{border-top:1px solid var(--rule);margin-top:80px}.foot{font:400 14.5px/1.6 var(--sans);color:var(--slate);flex-wrap:wrap;justify-content:space-between;gap:8px 32px;padding-block:26px 40px;display:flex}.foot p{margin:0}.foot ul{flex-wrap:wrap;gap:4px 20px;margin:0;padding:0;list-style:none;display:flex}.paper-hero{text-align:center;padding:30px 0 52px}.paper-hero h1{max-width:21em;font:600 44px/1.14 var(--serif);letter-spacing:-.015em;margin-inline:auto}.byline{font:500 18px/1.5 var(--sans);flex-wrap:wrap;justify-content:center;gap:4px 26px;margin:24px 0 6px;display:flex}.byline sup{color:var(--on-band-soft);margin-left:1px}.affil{font:400 15.5px/1.6 var(--sans);color:var(--on-band-soft);flex-wrap:wrap;justify-content:center;gap:2px 20px;margin:0;display:flex}.affil sup{margin-right:3px}.note{font:400 15.5px/1.6 var(--sans);color:var(--on-band-soft);margin:4px 0 0}.buttons{flex-wrap:wrap;justify-content:center;gap:10px;margin:26px 0 0;padding:0;list-style:none;display:flex}.btn{min-height:42px;font:600 15.5px/1 var(--sans);border:1px solid #ffffff8c;border-radius:6px;align-items:center;padding:0 18px;text-decoration:none;display:inline-flex}.band .btn{color:var(--on-band);text-decoration:none}.band .btn:hover{border-color:var(--gold);background:#ffffff14}.tldr-lead{max-width:var(--measure);margin:52px auto 36px;font-size:23px;line-height:1.5}.article figure{margin:0}figcaption{max-width:var(--measure);font:400 15px/1.55 var(--sans);color:var(--slate);margin-top:12px}figcaption b{color:var(--ink);font-weight:600}.article .wide img{width:100%}.article .wide figcaption,.table-wide caption{margin-inline:auto}.article .mid{max-width:640px;margin-block:4px 24px}.article .wide{margin:28px 0}.article .sec{margin-top:64px}.prose>:not(.wide,.table-wide){max-width:var(--measure);margin-inline:auto}.prose ul{margin:0 0 1em;padding-left:1.2em}.prose li{margin-bottom:8px}.article .clip-fig{margin-block:4px 26px}.clip video{border:1px solid var(--rule);border-radius:4px;width:100%}.clip-toggle{margin-top:8px}.clip-fig figcaption{margin-top:4px}.demo{max-width:var(--measure);margin-top:24px;container:paper/inline-size}.theorem{max-width:var(--measure);background:var(--wash);border-left:3px solid var(--band);border-radius:0 4px 4px 0;margin:0 0 1.2em;padding:16px 20px}.theorem p{margin:0}.table-scroll{max-width:100%;margin:8px 0 24px;overflow-x:auto}table{border-collapse:collapse;font:400 15.5px/1.45 var(--sans);color:var(--ink)}caption{caption-side:bottom;max-width:var(--measure);text-align:left;color:var(--slate);padding-top:10px;font-size:14.5px}th,td{border-bottom:1px solid var(--rule);text-align:left;vertical-align:top;padding:9px 22px 9px 0}thead th{color:var(--slate);border-bottom-color:var(--ink);font-weight:600}tbody th{font-weight:600}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.sd{color:var(--slate);font-size:13.5px}.results{width:100%}.results tbody th{white-space:nowrap}.results tr.ours th,.results tr.ours td{color:var(--red);font-weight:600}.results tr.ours .sd{color:var(--red);font-weight:400}.modules{max-width:100%}.modules td:first-child{color:var(--slate);min-width:9em}.modules tbody th{min-width:10em}.notfound{padding-block:64px}.notfound h1{font:600 40px/1.15 var(--serif);margin-bottom:16px}.btn-quiet{border:1px solid var(--rule);min-height:36px;color:var(--ink);font:500 14px/1.2 var(--sans);cursor:pointer;background:0 0;border-radius:4px;align-items:center;padding:7px 12px;display:inline-flex}.btn-quiet:hover{border-color:var(--ink)}.fig1{margin:0}.fig1-plot{border:1px solid var(--rule);background:#fff;border-radius:4px}.fig1 figcaption{max-width:none}@media (width<=760px){:root{--pad:20px}body{font-size:17px}.hero{padding:36px 0 44px}.hero-grid{grid-template-columns:1fr}img.avatar{width:104px;height:104px;margin-bottom:20px}.hero h1{font-size:44px}.statement{font-size:19px}.sec{margin-top:56px}.sec>h2{font-size:25px}.paper{grid-template-columns:minmax(0,1fr)}.paper-thumb{max-width:320px;margin-bottom:16px}.news li{grid-template-columns:1fr;padding:6px 0 8px}.courses li{grid-template-columns:1fr;padding:4px 0}.paper-hero h1{font-size:32px}.byline{gap:2px 18px;font-size:17px}.tldr-lead{margin-top:36px;font-size:20px}.modules thead{display:none}.modules tr{border-bottom:1px solid var(--rule);padding:12px 0;display:block}.modules th,.modules td{border:0;padding:0 0 4px;display:block;min-width:0!important}.results th,.results td{padding-right:12px;font-size:14.5px}.results .sd{font-size:12.5px;display:block}.results tbody th,.results thead .num{white-space:normal}}@media print{.site-header,.buttons,.clip-toggle,.text-btn{display:none!important}.band{color:#000;background:0 0}.band a{color:#000}}.dial{-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block;overflow:hidden}.dial .gl{stroke:#e3e7ed;stroke-width:1px}.dial .axis{stroke:#cbd2dc;stroke-width:1px}.dial .ring{fill:none;stroke:#c3cbd6;stroke-width:1.25px}.dial .tick{stroke:#aab4c2;stroke-width:1.25px}.dial .wedge{fill:var(--red);fill-opacity:.075}.dial .wedge-arc{fill:none;stroke:var(--red);stroke-opacity:.7;stroke-width:5px}.dial .shaft{fill:none;stroke-linecap:round}.dial .easy .shaft{stroke:var(--ink);stroke-width:2.75px}.dial .easy .head{fill:var(--ink)}.dial .tail .shaft{stroke:var(--tail);stroke-width:2.75px}.dial .tail .head{fill:var(--tail)}.dial .avg .shaft{stroke:var(--baseline);stroke-width:2.5px;stroke-dasharray:8 6;stroke-linecap:butt}.dial .avg .head{fill:var(--baseline)}.dial .bal .shaft{stroke:var(--red);stroke-width:4.5px}.dial .bal .head{fill:var(--red)}.dial .origin{fill:var(--ink)}.dial text{font-family:var(--sans);font-size:var(--dial-word);fill:var(--slate);paint-order:stroke;stroke:#fff;stroke-width:5px;stroke-linejoin:round}.dial text.m{font-family:var(--serif);font-style:italic;font-size:var(--dial-math);fill:var(--ink)}.dial text.m.tail,.dial .word-tail{fill:var(--tail)}.dial .word-tail{font-weight:500}.dial .word-avg{fill:#525c6e;font-weight:500}.dial .word-bal{fill:var(--red);font-weight:600}.dial .word-none{fill:var(--red);font-weight:500}.dial .handle{cursor:grab;touch-action:none;outline:none;display:none}.dial.is-live .handle{display:inline}.dial.is-live{cursor:crosshair}.dial .handle .hit{fill:#0000}.dial .handle .grip{fill-opacity:0;stroke-width:1.25px;stroke-opacity:.7}.dial .handle.easy .grip{fill:var(--ink);stroke:var(--ink)}.dial .handle.tail .grip{fill:var(--tail);stroke:var(--tail)}.dial .handle:hover .grip{stroke-opacity:1}.dial .handle.is-selected .grip{fill-opacity:.15;stroke-opacity:1;stroke-width:2px}.dial .handle .focus{fill:none;stroke:var(--ink);stroke-width:2px;opacity:0}.dial .handle:focus-visible .focus{opacity:1}.dial.is-dragging,.dial.is-dragging .handle{cursor:grabbing}html[data-fig1-intro] .dial :is(.bal,.wedge,.wedge-arc,.word-bal){opacity:0;animation:0s linear 3s forwards fig1-fallback}@keyframes fig1-fallback{to{opacity:1}}.fig1-status-row{border-bottom:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px 16px;margin:0 0 14px;padding-bottom:14px;display:flex}.fig1-status{min-height:3.1em;color:var(--ink);flex:16em;margin:0;font-size:15px}.fig1-status i,.fig1-more i{font-family:var(--serif);font-size:1.05em}.fig1-reset{flex:none}.fig1-cap{margin:0 0 8px}.fig1-more{margin-top:4px}.fig1-more summary{min-height:32px;color:var(--ink);cursor:pointer;text-underline-offset:.2em;align-items:center;gap:8px;font-weight:500;text-decoration:underline #1b2a4161;display:inline-flex}.fig1-more summary:hover{text-decoration-color:currentColor}.fig1-more summary::-webkit-details-marker{display:none}.fig1-more summary:before{content:"";border-block:4.5px solid #0000;border-inline-start:6px solid;flex:none;width:0;height:0}.fig1-more[open] summary:before{transform:rotate(90deg)}.fig1-more[open] summary{margin-bottom:10px}.fig1-more p{margin:0 0 10px}.fig1-legend{color:var(--ink);grid-template-columns:repeat(auto-fill,minmax(14em,1fr));gap:6px 20px;margin:0 0 12px;padding:0;list-style:none;display:grid}.fig1-legend li{align-items:center;gap:10px;display:flex}.fig1-legend svg{flex:none}@container paper (width>=440px){.fig1 .dial{aspect-ratio:1;width:auto;height:400px;margin-inline:auto}.fig1 .dial text{font-size:18px}.fig1 .dial text.m{font-size:24px}}@container paper (width<=439.98px){.fig1-plot{padding-block:8px}}@container paper (width<=339.98px){.fig1 .dial text{font-size:25px}.fig1 .dial text.m{font-size:31px}}
