.gallery{height:calc(100dvh - var(--header-height));scroll-snap-type:y mandatory;overscroll-behavior:contain;scroll-behavior:smooth;overflow-y:auto}.gallery-item{height:calc(100dvh - var(--header-height));scroll-snap-align:start;scroll-snap-stop:always;padding:24px var(--page-space) 64px;box-sizing:border-box;grid-template-rows:minmax(0,1fr) auto;gap:18px;display:grid}.gallery-media{justify-content:center;align-items:center;min-height:0;display:flex}.gallery-media .document-figure,.gallery-media .document-embed{justify-content:center;align-items:center;width:100%;height:100%;margin:0;display:flex}.gallery-media img{object-fit:contain;border:0;width:auto;max-width:100%;height:auto;max-height:100%}.gallery-media .embed-placeholder,.gallery-media iframe{aspect-ratio:16/9;width:min(100%,1120px);max-height:100%}.gallery-caption{text-align:left;max-width:640px;margin:0 auto}.gallery-caption p{color:var(--muted);margin:0 0 6px;font-size:.9375rem;line-height:1.55}.gallery-caption p:last-child{font-size:.8125rem}.gallery-status{left:var(--page-space);letter-spacing:.04em;color:var(--muted);font-variant-numeric:tabular-nums;pointer-events:none;gap:14px;margin:0;font-size:.75rem;display:flex;position:fixed;bottom:20px}.gallery-status span+span:before{content:"·";margin-right:14px}.gallery-dots{right:var(--page-space);gap:4px;max-height:60dvh;display:grid;position:fixed;top:50%;overflow-y:auto;transform:translateY(-50%)}.gallery-dots button{width:24px;height:24px;color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.gallery-dots button:after{content:"";border:1px solid;border-radius:50%;width:6px;height:6px}.gallery-dots button[aria-current]:after{background:currentColor}@media (width<=660px){.gallery-item{padding:16px var(--page-space) 56px;gap:12px}.gallery-caption p{font-size:.875rem}}@media (prefers-reduced-motion:reduce){.gallery{scroll-behavior:auto}}.gallery-media .document-media{width:100%;max-height:100%;margin:0}.gallery-media video{object-fit:contain;max-height:100%}body:has([data-gallery]){overflow:hidden}body:has([data-gallery]) .gallery,body:has([data-gallery]) .gallery-item{height:100dvh}body:has([data-gallery]) .gallery-item{padding-top:28px;padding-bottom:62px}body:has([data-gallery]) .site-header,body:has([data-gallery]) .site-footer{z-index:40;opacity:0;pointer-events:none;background:var(--header-background);backdrop-filter:blur(14px);max-width:none;margin:0;transition:opacity .2s;position:fixed;left:0;right:0}body:has([data-gallery]) .site-header{top:0}body:has([data-gallery]) .site-footer{padding:20px var(--page-space);bottom:0}body[data-gallery-chrome=visible] .site-header,body[data-gallery-chrome=visible] .site-footer,body:has([data-gallery]) .site-header:focus-within,body:has([data-gallery]) .site-footer:focus-within{opacity:1;pointer-events:auto}body:has([data-gallery]) .gallery-status{transition:opacity .2s}body[data-gallery-chrome=visible] .gallery-status{opacity:0}@media (prefers-reduced-motion:reduce){body:has([data-gallery]) .site-header,body:has([data-gallery]) .site-footer,body:has([data-gallery]) .gallery-status{transition:none}}.page-main.article-page{max-width:calc(40rem + var(--page-space) * 2);padding:clamp(3rem, 8vh, 6rem) var(--page-space) 8rem;margin:0 auto;font-size:17px;line-height:1.68}.article-progress{z-index:60;pointer-events:none;height:2px;position:fixed;top:0;left:0;right:0}.article-progress-bar{background:var(--blue);width:0;height:100%;transition:width .1s linear}.article-topbar{z-index:50;height:52px;padding:0 var(--page-space);background:var(--header-background);backdrop-filter:saturate(180%)blur(14px);opacity:0;pointer-events:none;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;gap:1rem;transition:transform .35s cubic-bezier(.2,.7,.2,1),opacity .35s,border-color .35s;display:flex;position:fixed;top:0;left:0;right:0;transform:translateY(-100%)}.article-topbar.show{opacity:1;pointer-events:auto;border-color:var(--line);transform:none}body.article-reading .site-header{visibility:hidden}.article-topbar .topbar-brand{flex-shrink:0;display:inline-flex}.article-topbar .topbar-brand .brand{gap:10px}.article-topbar .topbar-brand .brand-logo{width:34px;height:21px}.article-topbar .topbar-brand .wordmark{font-size:15px}.article-topbar .title-nav{flex:auto;justify-content:center;align-items:center;min-width:0;padding:0 1rem;display:flex;position:static}.article-topbar .tools{color:var(--muted);flex-shrink:0;align-items:center;gap:14px;font-size:14px;display:flex}.article-topbar .tools a,.article-topbar .tools .theme-toggle{justify-content:center;align-items:center;min-width:22px;height:22px;display:inline-flex}.article-topbar .tools .theme-toggle:hover,.article-topbar .tools a:hover{color:var(--blue)}.article-topbar .running-title{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;text-align:left;cursor:pointer;background:0 0;border:0;max-width:100%;margin:0;padding:.35rem 0;font-family:inherit;font-size:13px;font-weight:540;transition:color .15s;overflow:hidden}.article-topbar .running-title:hover,.article-topbar .running-title[aria-expanded=true]{color:var(--foreground)}.article-topbar .title-nav.static .running-title{cursor:default;pointer-events:none}.title-toc{z-index:55;scrollbar-width:thin;background:var(--background);border-bottom:1px solid var(--line);max-height:min(28rem,70vh);padding:.9rem var(--page-space) 1.1rem;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 16px 32px -24px #00000059}.title-toc ul{max-width:40rem;margin:0 auto;padding:0;list-style:none}.title-toc a{color:var(--muted);gap:.6rem;padding:.32rem 0;font-size:14px;line-height:1.45;display:flex}.title-toc .lvl-2 a{padding-left:1.6rem;font-size:13.5px}.title-toc a:hover{color:var(--foreground)}.title-toc a.active{color:var(--foreground);font-weight:560}.title-toc .toc-num{text-align:right;flex:0 0 1.4rem;margin:0}.toc-num{color:var(--blue);font-variant-numeric:tabular-nums;margin-right:.5em;font-weight:600}.article-iconbtn{min-width:22px;height:22px;color:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.article-iconbtn:hover{color:var(--blue)}.article-iconbtn svg{width:18px;height:18px}.article-titleblock{border-bottom:1px solid var(--line);margin-bottom:3rem;padding-bottom:2rem}.article-kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--blue);margin:0 0 1rem;font-size:11.5px;font-weight:600}.article-title{letter-spacing:-.02em;text-wrap:balance;margin:0 0 .6rem;font-size:clamp(1.9rem,4vw,2.6rem);font-weight:560;line-height:1.16}.article-subtitle{color:var(--muted);text-wrap:balance;margin:0 0 1.8rem;font-size:clamp(1.02rem,2vw,1.2rem);line-height:1.42}.article-authors{flex-wrap:wrap;gap:.4rem 1.3rem;margin:1.5rem 0 1rem;display:flex}.article-author{align-items:center;gap:.35rem;font-size:15px;font-weight:560;display:inline-flex}.article-author sup{color:var(--blue);font-size:.68em;font-weight:600}.article-author-link{color:inherit;text-decoration:none}@media (hover:hover) and (pointer:fine){.article-author-link:hover{text-underline-offset:.2em;text-decoration:underline 1px}}.article-author-link:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:2px}.article-orcid{width:14px;height:14px;display:inline-flex}.article-orcid svg{width:14px;height:14px}.article-affiliations{color:var(--muted);margin:0 0 1.3rem;font-size:12.5px;line-height:1.55}.article-affiliations div{gap:.5rem;display:flex}.article-affiliations sup{color:var(--blue);min-width:.9em;font-weight:600}.article-meta{border-top:1px solid var(--line);flex-wrap:wrap;gap:.4rem 2rem;margin-bottom:1.8rem;padding:.9rem 0;font-size:12.5px;display:flex}.article-meta .label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:.12rem;font-size:10px;font-weight:600;display:block}.article-meta .value{color:var(--foreground)}.article-meta .value a{text-decoration:underline;text-decoration-color:var(--underline);text-underline-offset:3px}.article-abstract,.article-keywords{margin:0 0 1.2rem}.block-title{letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin:0 0 .6rem;font-size:11px;font-weight:600}.article-keywords .block-title{color:var(--muted)}.article-abstract p{color:var(--muted);margin:0 0 .6rem;font-size:15.5px;line-height:1.6}.article-abstract p strong{color:var(--foreground);font-weight:600}.kw-list{color:var(--blue);flex-wrap:wrap;gap:.4rem 1rem;font-size:12.5px;display:flex}.article-front{border-bottom:1px solid var(--line);margin:0 0 3rem;padding-bottom:2.2rem}.article-notice{border-left:2px solid var(--line);color:var(--muted);margin:0 0 1.4rem;padding:.7rem 1rem;font-size:14px}.toc-inline{margin:0}.toc-inline .toc-title{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 .7rem;font-size:10.5px;font-weight:600}.toc-inline ul{margin:0;padding:0;list-style:none}.toc-inline a{color:var(--muted);padding:.2rem 0;font-size:14px;transition:color .15s;display:block}.toc-inline .lvl-2 a{padding-left:1.1rem;font-size:13.5px}.toc-inline a:hover,.toc-inline a.active{color:var(--blue)}.toc-inline a.active{font-weight:560}.article-revisions{color:var(--muted);margin:1.4rem 0 0;padding:0;font-size:13px;list-style:none}.article-revisions time{color:var(--foreground);font-variant-numeric:tabular-nums;margin-right:8px}.article-body{counter-reset:s1}.article-body h2,.article-body h3,.article-body h4{letter-spacing:-.01em;scroll-margin-top:68px;line-height:1.25;position:relative}.article-body h2{counter-reset:s2;margin:3rem 0 1rem;font-size:1.45rem;font-weight:560}.article-body h3{margin:2.2rem 0 .7rem;font-size:1.15rem;font-weight:560}.article-body h4{color:var(--muted);margin:1.7rem 0 .5rem;font-size:1rem;font-weight:560}.article-body h2:before{counter-increment:s1;content:counter(s1) " ";color:var(--blue);font-variant-numeric:tabular-nums;font-weight:600}.article-body details h2:before,.article-body details h3:before{content:none;counter-increment:none}.article-body details h2{margin-top:1.6rem;font-size:1.15rem}.article-body details h3{font-size:1.02rem}.article-body h3:before{counter-increment:s2;content:counter(s1) "." counter(s2) " ";color:var(--blue);font-variant-numeric:tabular-nums;font-weight:560}.article-body p{margin:0 0 1rem}.article-body p,.article-body li{hyphens:auto}.article-body a{color:var(--blue);border-bottom:1px solid color-mix(in srgb, var(--blue) 38%, transparent);text-decoration:none;transition:border-color .15s}.article-body a:hover{border-color:var(--blue)}.article-body ul,.article-body ol{margin:0 0 1rem;padding-left:1.35rem}.article-body li{margin:.28rem 0}.article-body blockquote{border-left:3px solid var(--line);color:var(--muted);margin:1.5rem 0;padding:.2rem 0 .2rem 1.2rem}.article-body hr{border:0;border-top:1px solid var(--line);margin:2.6rem 0}.article-body code{background:var(--code-background);border:1px solid var(--line);border-radius:5px;padding:.08em .36em;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.85em}.article-body pre{background:var(--code-background);border:1px solid var(--line);border-radius:10px;margin:1.4rem 0;padding:1rem 1.2rem;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.82em;line-height:1.55;overflow-x:auto}.article-body pre code{background:0 0;border:0;padding:0}.article-body details{border-top:1px solid var(--line)}.article-body details:last-of-type{border-bottom:1px solid var(--line)}.article-body summary{cursor:pointer;padding:.9rem 0;font-weight:540}.anchor-link{opacity:0;width:1.1em;color:var(--muted);transition:opacity .15s;position:absolute;top:0;left:-1.3em;border:0!important}.article-body h2:hover .anchor-link,.article-body h3:hover .anchor-link,.article-body h4:hover .anchor-link{opacity:1}.article-body figure{text-align:center;margin:2.4rem 0;width:min(52rem,100vw - 2.4rem);margin-inline:calc(50% + min(52rem,100vw - 2.4rem)/-2)}.article-body figure img{border:1px solid var(--line);cursor:zoom-in;border-radius:8px;max-width:100%;height:auto;display:inline-block}.article-body .document-gallery{width:min(52rem,100vw - 2.4rem);margin:2.4rem 0;margin-inline:calc(50% + min(52rem,100vw - 2.4rem)/-2)}.article-body .document-gallery-items>figure{width:auto;margin:0}.article-body .document-gallery-items>figure img{margin-bottom:0}.article-body figcaption{color:var(--muted);text-align:left;max-width:36rem;margin-top:.8rem;margin-left:auto;margin-right:auto;font-size:13px;line-height:1.5}.article-body .figure-row{margin:2.4rem 0;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.8rem;width:min(52rem,100vw - 2.4rem);margin-inline:calc(50% + min(52rem,100vw - 2.4rem)/-2);display:grid}.article-body .figure-row figure{width:auto;margin:0}.article-body .figure-row img{width:100%}.article-body figure.document-table{margin-block:2rem}.article-body .table-scroll{scrollbar-width:thin;overflow-x:auto}.article-body table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:auto;max-width:100%;margin-inline:auto;font-size:14px}.article-body thead th,.article-body th{text-align:left;border-bottom:2px solid var(--line);white-space:nowrap;padding:.5rem .7rem;font-weight:600}.article-body td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.48rem .7rem}.article-body tbody tr:last-child td{border-bottom:2px solid var(--line)}.article-body a.citation{color:var(--blue);font-variant-numeric:tabular-nums;white-space:nowrap;vertical-align:super;border:0;padding:0 1px;font-size:.8125rem;font-weight:500}.article-body a.citation:target{background:var(--target-highlight)}.article-popover{z-index:80;background:var(--background);border:1px solid var(--line);width:max-content;max-width:min(30rem,86vw);color:var(--muted);opacity:0;transform-origin:0 0;pointer-events:none;border-radius:10px;padding:.9rem 1.05rem;font-size:13.5px;line-height:1.5;transition:opacity .14s,transform .14s;position:absolute;transform:translateY(4px)scale(.985);box-shadow:0 2px 8px #14181e14,0 18px 50px -18px #14181e47}.article-popover.show{opacity:1;pointer-events:auto;transform:none}.article-popover .pop-label{letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin-bottom:.4rem;font-size:10px;font-weight:600}.article-popover .pop-ref{padding-left:1.7rem;font-size:13px;line-height:1.55;position:relative}.article-popover .pop-ref:before{content:attr(data-num) ".";color:var(--blue);font-variant-numeric:tabular-nums;position:absolute;left:0}.article-popover .pop-ref+.pop-ref{border-top:1px solid var(--line);margin-top:.55rem;padding-top:.55rem}.article-popover .pop-ref .reference-number,.article-popover .pop-ref .reference-meta{display:none}.article-popover img{border:1px solid var(--line);border-radius:7px;max-width:100%;height:auto;max-height:45vh}.article-popover figure{margin:.2rem 0;width:auto;margin-inline:0}.article-popover figcaption{max-width:none;margin-top:.5rem;font-size:12px}.article-references{margin-top:3rem}.article-references h2{margin:0 0 1rem;font-size:1.45rem;font-weight:560}.article-references ol{margin:1rem 0 0;padding:0;font-size:15px;list-style:none}.article-references li{color:var(--muted);margin:0 0 .85rem;padding-left:2.3rem;line-height:1.5;position:relative}.article-references .reference-number{text-align:right;width:1.9rem;color:var(--blue);font-variant-numeric:tabular-nums;border-bottom:0;text-decoration:none;position:absolute;top:0;left:0}.article-references .reference-number:hover{text-underline-offset:3px;text-decoration:underline}.article-references li:target{background:var(--target-highlight);box-shadow:0 0 0 .6rem var(--target-highlight);border-radius:8px}.article-references cite{color:var(--foreground);font-style:normal}.article-references a{color:var(--blue)}.article-references .reference-meta{font-size:13px;display:block}.article-lightbox{z-index:90;backdrop-filter:blur(12px);opacity:0;pointer-events:none;cursor:zoom-out;background:#0a0b0dd1;place-items:center;padding:clamp(1rem,4vw,3rem);transition:opacity .22s;display:grid;position:fixed;inset:0}.article-lightbox.show{opacity:1;pointer-events:auto}.article-lightbox .lb-stage{justify-items:center;gap:.9rem;max-width:100%;display:grid}.article-lightbox img{border-radius:10px;width:auto;max-width:min(92vw,1500px);height:auto;max-height:84vh;box-shadow:0 30px 90px -20px #000000b3}.article-lightbox .lb-caption{color:#ffffffc7;text-align:center;max-width:64ch;font-size:13.5px;line-height:1.5}.article-lightbox .lb-count{color:#ffffff8c;font-variant-numeric:tabular-nums;letter-spacing:.04em;font-size:12.5px}.article-fab{z-index:55;background:var(--background);width:42px;height:42px;color:var(--foreground);border:1px solid var(--line);cursor:pointer;opacity:0;pointer-events:none;border-radius:50%;place-items:center;transition:opacity .3s,transform .3s;display:grid;position:fixed;bottom:1.4rem;right:clamp(1rem,3vw,2rem);transform:translateY(12px);box-shadow:0 1px 2px #14181e0a,0 8px 28px -14px #14181e33}.article-fab.show{opacity:1;pointer-events:auto;transform:none}.article-fab svg{width:18px;height:18px}.article-colophon{color:var(--muted);border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:1rem 2rem;margin-top:4rem;padding-top:1.3rem;font-size:12.5px;display:flex}.article-colophon .colophon-actions{flex-wrap:wrap;gap:8px 18px;display:flex}.article-colophon a,.article-colophon .link-button{text-decoration:underline;text-decoration-color:var(--underline);text-underline-offset:4px}.link-button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.link-button:hover{color:var(--blue);text-decoration-color:currentColor}.article-after{margin-top:3rem}@media (width<=640px){.article-topbar .topbar-brand .wordmark{display:none}.article-topbar .title-nav{justify-content:flex-start;padding-left:.5rem}.article-page{font-size:16.5px}.article-title{font-size:1.85rem}.article-body figcaption{max-width:none}}@media (prefers-reduced-motion:reduce){.article-topbar,.article-fab,.article-popover,.article-lightbox{transition:none}}@media print{.article-topbar,.article-progress,.article-fab,.anchor-link,.toc-inline,.article-lightbox,.article-after,.article-colophon .colophon-actions{display:none!important}.article-page{max-width:none;font-size:11pt}.article-body a{color:inherit;border:0}.article-body figure,.article-body .document-gallery{width:auto;margin-inline:0}}.highlight{border-left:3px solid var(--blue);background:color-mix(in srgb, var(--blue) 6%, transparent);border-radius:0 8px 8px 0;margin:1.6rem 0;padding:.9rem 1.2rem}.highlight>:last-child{margin-bottom:0}.highlight-label{letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin:0 0 .4rem;font-size:11px;font-weight:600}.sheet{z-index:100;display:none;position:fixed;inset:0}.sheet:target{display:block}.sheet:focus{outline:none}.sheet-backdrop{background:#0a0b0d2e;position:absolute;inset:0}.sheet-panel{overscroll-behavior:contain;max-height:50vh;padding:30px var(--page-space) 36px;background:var(--background);border-top:1px solid var(--line);position:absolute;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -18px 48px -24px #0a0b0d59}.sheet-inner{max-width:760px;margin:0 auto}.sheet-head{justify-content:space-between;align-items:flex-start;gap:12px 24px;margin-bottom:24px;display:flex}.sheet-head h2{letter-spacing:-.02em;margin:0;font-size:1.0625rem;font-weight:540;line-height:1.4}.sheet-note{color:var(--muted);margin:6px 0 0;font-size:.875rem;line-height:1.5}.sheet-close{color:var(--muted);text-decoration:underline;text-decoration-color:var(--underline);text-underline-offset:4px;flex-shrink:0;font-size:.875rem}.sheet-close:hover{color:var(--blue);text-decoration-color:currentColor}.sheet-panel .form-status{margin:0 0 14px}.sheet-panel .site-form{gap:18px 24px;max-width:none;margin:0}.sheet-panel .site-form button{margin-top:4px}.sheet-panel .site-form textarea{min-height:104px}@media (width>=661px){.sheet-panel .site-form{grid-template-columns:repeat(2,minmax(0,1fr))}.sheet-panel .site-form label:has(textarea),.sheet-panel .site-form .form-note,.sheet-panel .site-form button{grid-column:1/-1}.sheet:target .sheet-panel{animation:.22s ease-out sheet-rise}.sheet:target .sheet-backdrop{animation:.22s ease-out sheet-fade}}@media (width<=660px){.sheet-backdrop{display:none}.sheet-panel{max-height:none;box-shadow:none;border-top:0;padding-top:22px;inset:0}}@keyframes sheet-rise{0%{opacity:0;transform:translateY(24px)}}@keyframes sheet-fade{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.sheet:target .sheet-panel,.sheet:target .sheet-backdrop{animation:none}}@media print{.sheet{display:none!important}}
