*,:before,:after{box-sizing:border-box;border:0 solid var(--jl-hairline)}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--font-inter), Inter, system-ui, -apple-system, sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:1.625;font-family:var(--font-inter), Inter, system-ui, -apple-system, sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-mono), JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:var(--jl-ink-subtle)}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}
:root,.dark{--jl-canvas:#08090c;--jl-canvas-soft:#11141b;--jl-surface:#11141b;--jl-surface-raised:#171c26;--jl-ink:#f3f3f6;--jl-ink-muted:#b3bbc9;--jl-ink-subtle:#949fb3;--jl-hairline:#262c38;--jl-hairline-strong:#3a4455;--jl-control-edge:#5b687d;--jl-ice:#a9cfff;--jl-ice-bright:#d4e5fb;--jl-ice-dim:#708db0;--jl-ice-deep:#1b2e47;--jl-ice-wash:#a9cfff14;--jl-coral:#ffad8c;--jl-coral-deep:#ff967d;--jl-coral-wash:#ffad8c1f;--jl-accent:var(--jl-ice);--jl-replay:var(--jl-surface);--jl-replay-inset:#0c0f15;--jl-compare:var(--jl-surface);--jl-compare-ink:var(--jl-ice-bright);--jl-compare-line:var(--jl-hairline-strong);--jl-scaffold:var(--jl-surface);--jl-scaffold-ink:var(--jl-ice);--jl-procedure:var(--jl-surface);--jl-procedure-ink:var(--jl-ink-muted);--jl-paper:#dce3ee;--jl-paper-ink:#131b28;--jl-paper-muted:#43516a;--jl-paper-accent:#354e70;--jl-t-display-1:clamp(46px, 6.1vw, 92px);--jl-t-display-2:clamp(38px, 4.4vw, 62px);--jl-t-display-3:clamp(28px, 2.8vw, 40px);--jl-t-display-sub:clamp(32px, 3.4vw, 48px);--jl-t-title:clamp(24px, 2.2vw, 32px);--jl-t-lead:clamp(18px, 1.5vw, 21px);--jl-t-body:16px;--jl-t-small:14px;--jl-t-meta:13px;--jl-t-caption:12px;--jl-ease-out:cubic-bezier(.16, 1, .3, 1);--jl-header-h:76px;--jl-section-gap:clamp(96px, 12vw, 160px)}@media (max-width:760px){:root,.dark{--jl-section-gap:72px}}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--jl-header-h) + 16px);scrollbar-color:var(--jl-hairline-strong) var(--jl-canvas)}body{background:var(--jl-canvas)}input,textarea{caret-color:var(--jl-ice)}::selection{background:var(--jl-ice);color:var(--jl-canvas)}:is(a,button,[role=button],input,textarea,select,summary,[tabindex]):focus-visible{outline:2px solid var(--jl-ice);outline-offset:3px;border-radius:4px}.portfolio-width{width:min(1360px,100% - 112px);margin-inline:auto}.portfolio{color:var(--jl-ink)}:where(.portfolio) :is(h1,h2,h3){text-wrap:balance}:where(.portfolio) :is(h1,h2){font-family:var(--font-display), sans-serif;font-weight:500}:where(.portfolio) p{text-wrap:pretty}:where(.portfolio) a{text-underline-offset:5px}@media (hover:hover){:where(.portfolio) a:hover{color:var(--jl-accent)}}:where(.portfolio) em{font-family:var(--font-display), sans-serif;color:var(--jl-ice);font-style:normal;font-weight:500}:where(.portfolio) h2{font-size:var(--jl-t-display-2);letter-spacing:-.04em;line-height:1.05}.jl-label{font:500 var(--jl-t-meta) / 1.45 var(--font-inter), sans-serif;letter-spacing:.01em;color:var(--jl-ink-subtle)}.jl-data{font:400 var(--jl-t-caption) / 1.5 var(--font-mono), monospace;font-variant-numeric:tabular-nums;color:var(--jl-ink-subtle)}.jl-marker{border-top:1px solid var(--jl-hairline);font:500 var(--jl-t-meta) / 1.4 var(--font-inter), sans-serif;color:var(--jl-ink-muted);align-items:baseline;gap:12px;margin-bottom:clamp(28px,4vw,52px);padding-top:16px;display:flex}.jl-marker .jl-data{color:var(--jl-ink-subtle)}.jl-chip{border:1px solid var(--jl-hairline-strong);font:500 var(--jl-t-caption) / 1.5 var(--font-inter), sans-serif;color:var(--jl-ink-muted);border-radius:4px;padding:2px 8px;display:inline-block}.jl-visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.portfolio-button{color:#101218;min-height:52px;font-size:var(--jl-t-body);transition:background .2s, gap .25s var(--jl-ease-out);background:#f1f3f6;border-radius:4px;justify-content:center;align-items:center;gap:18px;padding:14px 22px;font-weight:500;display:inline-flex}.portfolio a.portfolio-button:hover{background:var(--jl-ice-bright);color:#101218;gap:24px}.portfolio-text-link{min-height:44px;font-size:var(--jl-t-body);align-items:center;gap:14px;display:inline-flex}.portfolio-text-link svg{transition:transform .25s var(--jl-ease-out)}.portfolio-text-link:hover svg{transform:translate(3px)}@media (max-width:1100px){.portfolio-width{width:calc(100% - 72px)}}@media (max-width:760px){html{scroll-padding-top:84px}.portfolio-width{width:calc(100% - 40px)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{.portfolio-button{display:none}:where(.portfolio) :is(p,h1,h2,h3){color:var(--jl-paper-ink)}}
:root,.dark{--jl-header-h:72px}html{scrollbar-gutter:stable;scroll-padding-top:calc(var(--jl-header-h) + 16px)}:where(#projects,#studies,#research,#about,#contact){scroll-margin-top:calc(-1 * var(--jl-section-gap))}html[data-palette-open] body,html[data-menu-open] body{overflow:hidden}.nv-shell{flex-direction:column;min-height:100svh;display:flex;position:relative}.nv-main{flex-grow:1}.nv-bar{height:var(--jl-header-h);flex:none}.nv-header{z-index:45;background:var(--jl-canvas);position:fixed;top:0;left:0;right:0}.nv-inner{height:var(--jl-header-h);justify-content:space-between;align-items:center;gap:24px;margin-inline:auto;display:flex}.nv-skip{z-index:60;background:var(--jl-ice);color:var(--jl-canvas);font:500 var(--jl-t-small) / 1.4 var(--font-inter), sans-serif;border-radius:4px;padding:10px 14px;position:absolute;top:-100px;left:12px}.nv-skip:focus{top:12px}.nv-wordmark{min-height:44px;color:var(--jl-ink);align-items:center;gap:12px;text-decoration:none;display:flex}.nv-glyph{flex:none;width:30px;height:30px}@media (hover:hover) and (prefers-reduced-motion:no-preference){.nv-wordmark:hover .nv-glyph path:first-child{stroke-dasharray:1;animation:nv-peel .56s var(--jl-ease-out) both}}@keyframes nv-peel{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.nv-name{font:500 var(--jl-t-body) / 1.15 var(--font-display), sans-serif;letter-spacing:-.02em;white-space:nowrap;flex-direction:column;display:flex}.nv-subtitle{font:400 var(--jl-t-caption) / 1.3 var(--font-inter), sans-serif;letter-spacing:.01em;color:var(--jl-ink-subtle);margin-top:3px}.nv-desktop{align-items:center;gap:28px;display:flex}.nv-link{min-height:44px;color:var(--jl-ink-muted);font:400 var(--jl-t-small) / 1 var(--font-inter), sans-serif;transition:color .2s var(--jl-ease-out);align-items:center;text-decoration:none;display:inline-flex;position:relative}.nv-link:after{content:"";background:var(--jl-ice);transform-origin:0;height:1px;transition:transform .35s var(--jl-ease-out);position:absolute;bottom:10px;left:0;right:0;transform:scaleX(0)}.nv-link:hover,.nv-link[aria-current=true]{color:var(--jl-ink)}.nv-link[aria-current=true]:after{transform:scaleX(1)}.nv-hint{cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;min-height:44px;margin-right:-8px;padding:0 2px;display:inline-flex}.nv-hint kbd,.nv-palette kbd{border:1px solid var(--jl-hairline-strong);min-height:24px;color:var(--jl-ink-subtle);font:500 var(--jl-t-meta) / 1 var(--font-inter), sans-serif;letter-spacing:.02em;transition:color .2s var(--jl-ease-out), border-color .2s var(--jl-ease-out);border-bottom-width:2px;border-radius:4px;align-items:center;padding:0 7px;display:inline-flex}.nv-hint:hover kbd{color:var(--jl-ice);border-color:var(--jl-ice-dim)}.nv-hint-label{font:500 var(--jl-t-small) / 1 var(--font-inter), sans-serif;color:var(--jl-ink-muted);transition:color .2s var(--jl-ease-out)}.nv-hint:hover .nv-hint-label{color:var(--jl-ice)}.nv-pill{border:1px solid var(--jl-control-edge);min-height:38px;color:var(--jl-ink);font:500 var(--jl-t-small) / 1 var(--font-inter), sans-serif;transition:color .2s var(--jl-ease-out), border-color .2s var(--jl-ease-out), background-color .2s var(--jl-ease-out);border-radius:6px;align-items:center;padding:0 15px;text-decoration:none;display:inline-flex}.nv-pill:hover,.nv-pill[aria-current=true]{color:var(--jl-ice);border-color:var(--jl-ice-dim);background:var(--jl-ice-wash)}.nv-mobile-actions{display:none}@media (max-width:1100px){.nv-desktop{gap:20px}}@media (max-width:960px){.nv-subtitle{display:none}}@media (max-width:760px){:root,.dark{--jl-header-h:64px}.nv-inner{gap:12px}.nv-desktop{display:none}.nv-wordmark{gap:10px}.nv-glyph{width:28px;height:28px}.nv-mobile-actions{align-items:center;gap:4px;margin-right:-10px;display:flex}.nv-icon-button{width:44px;height:44px;color:var(--jl-ink-muted);cursor:pointer;transition:color .2s var(--jl-ease-out);background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:0;display:flex}.nv-icon-button:hover,.nv-icon-button[aria-expanded=true]{color:var(--jl-ink)}.nv-mobile-contact{min-height:44px;color:var(--jl-ink);font:500 var(--jl-t-small) / 1 var(--font-inter), sans-serif;transition:color .2s var(--jl-ease-out);border-radius:6px;align-items:center;padding:0 8px;text-decoration:none;display:inline-flex}.nv-mobile-contact:hover,.nv-mobile-contact[aria-current=true]{color:var(--jl-ice)}.nv-menu{inset:var(--jl-header-h) 0 0;z-index:45;padding:8px 20px calc(24px + env(safe-area-inset-bottom));overscroll-behavior:contain;background:var(--jl-canvas);border-top:1px solid var(--jl-hairline);animation:nv-menu-in .32s var(--jl-ease-out);flex-direction:column;display:flex;position:fixed;overflow-y:auto}.nv-menu-link{border-bottom:1px solid var(--jl-hairline);min-height:68px;color:var(--jl-ink);font:500 var(--jl-t-display-3) / 1.1 var(--font-display), sans-serif;letter-spacing:-.035em;transition:color .2s var(--jl-ease-out);flex:none;align-items:center;text-decoration:none;display:flex}.nv-menu-link:active,.nv-menu-link[aria-current=true]{color:var(--jl-ice)}}@media (max-width:340px){.nv-mobile-actions{gap:0;margin-right:-12px}.nv-mobile-contact{padding:0 4px}}@keyframes nv-menu-in{0%{opacity:0;transform:translateY(-6px)}}.nv-palette{width:100%;max-width:none;height:100%;max-height:none;color:var(--jl-ink);background:0 0;border:0;margin:0;padding:14vh 16px 16px;position:fixed;inset:0;overflow:hidden}.nv-palette[open]{display:block}.nv-palette::backdrop{background:color-mix(in srgb, var(--jl-canvas) 72%, transparent)}.nv-pal-panel{background:var(--jl-surface);border:1px solid var(--jl-hairline-strong);width:100%;max-width:600px;box-shadow:0 24px 60px -12px color-mix(in srgb, var(--jl-canvas) 80%, transparent);font-family:var(--font-inter), sans-serif;animation:nv-pal-in .28s var(--jl-ease-out);border-radius:12px;margin-inline:auto;overflow:hidden}@keyframes nv-pal-in{0%{opacity:0;transform:translateY(-8px)scale(.985)}}.nv-pal-search{border-bottom:1px solid var(--jl-hairline);color:var(--jl-ink-subtle);transition:border-color .2s var(--jl-ease-out), color .2s var(--jl-ease-out);align-items:center;gap:12px;padding:7px 16px;display:flex}.nv-pal-search:focus-within{border-bottom-color:var(--jl-ice);color:var(--jl-ice)}.nv-pal-search svg{flex:none}.nv-pal-search input{min-width:0;height:44px;color:var(--jl-ink);caret-color:var(--jl-ice);font:400 var(--jl-t-body) / 1.4 var(--font-inter), sans-serif;background:0 0;border:0;flex:1}.nv-pal-search input:focus-visible{outline:2px solid #0000}.nv-pal-search input::placeholder{color:var(--jl-ink-subtle)}.nv-pal-list{overscroll-behavior:contain;scrollbar-width:thin;max-height:min(420px,52vh);padding:6px 8px 10px;overflow-y:auto}.nv-pal-list [cmdk-group-heading]{font:500 var(--jl-t-meta) / 1.4 var(--font-inter), sans-serif;color:var(--jl-ink-subtle);padding:14px 10px 6px}.nv-pal-item{min-height:44px;color:var(--jl-ink-muted);font-size:var(--jl-t-body);cursor:pointer;border-radius:6px;align-items:center;gap:12px;padding:8px 10px;line-height:1.35;display:flex}.nv-pal-item[data-selected=true]{background:var(--jl-ice-wash);color:var(--jl-ice)}.nv-pal-name{flex:1;min-width:0}.nv-pal-meta{color:var(--jl-ink-subtle);font-size:var(--jl-t-meta);flex:none}.nv-pal-date{font:400 var(--jl-t-caption) / 1 var(--font-mono), monospace;font-variant-numeric:tabular-nums}.nv-pal-item[data-selected=true] .nv-pal-meta{color:var(--jl-ink-muted)}.nv-pal-icon{color:var(--jl-ink-subtle);flex:none}.nv-pal-item[data-selected=true] .nv-pal-icon{color:var(--jl-ice)}.nv-pal-empty{text-align:center;color:var(--jl-ink-subtle);font-size:var(--jl-t-small);padding:32px 12px}.nv-pal-close{display:none}.nv-pal-search kbd,.nv-pal-foot kbd{min-height:22px;font-size:var(--jl-t-caption)}.nv-pal-foot{border-top:1px solid var(--jl-hairline);color:var(--jl-ink-subtle);font-size:var(--jl-t-caption);gap:18px;padding:10px 16px;display:flex}.nv-pal-foot span{align-items:center;gap:4px;display:inline-flex}@media (max-width:760px){.nv-palette{padding-top:12px}.nv-pal-venue,.nv-pal-search .nv-pal-esc{display:none}.nv-pal-meta:not(:has(.nv-pal-date,.nv-pal-q)){display:none}.nv-pal-item:has(.nv-pal-q){flex-wrap:wrap;row-gap:2px}.nv-pal-meta:has(.nv-pal-q){flex-basis:100%;order:3}.nv-pal-close{min-height:44px;color:var(--jl-ink-muted);font:500 var(--jl-t-small) / 1 var(--font-inter), sans-serif;cursor:pointer;background:0 0;border:0;align-items:center;margin-right:-6px;padding:0 6px;display:inline-flex}.nv-pal-list{max-height:calc(100dvh - 150px)}.nv-pal-foot{display:none}}.nv-error{min-height:calc(100svh - var(--jl-header-h));flex-direction:column;justify-content:center;align-items:flex-start;padding-block:64px 96px;display:flex}.nv-error h1{max-width:18ch;font:500 var(--jl-t-display-3) / 1.1 var(--font-display), sans-serif;letter-spacing:-.035em;color:var(--jl-ink);margin:0}.nv-error p{max-width:45ch;font:400 var(--jl-t-body) / 1.6 var(--font-inter), sans-serif;color:var(--jl-ink-muted);margin:16px 0 0}.nv-error a{color:var(--jl-ice);text-decoration:underline;-webkit-text-decoration-color:var(--jl-ice-dim);text-decoration-color:var(--jl-ice-dim);text-underline-offset:4px;transition:text-decoration-color .2s var(--jl-ease-out)}.nv-error a:hover{-webkit-text-decoration-color:var(--jl-ice);text-decoration-color:var(--jl-ice)}.nv-error button{font-family:var(--font-inter), sans-serif;cursor:pointer;border:0;margin-top:32px;line-height:1.2}.nv-error button:hover{background:var(--jl-ice-bright)}.nv-404{min-height:calc(100svh - var(--jl-header-h));flex-direction:column;justify-content:center;align-items:flex-start;margin-inline:auto;padding-block:64px 96px;display:flex}.nv-404-mark{width:96px;height:96px;margin-bottom:4px;margin-left:-8px}.nv-404-title{max-width:16ch;font:500 var(--jl-t-display-2) / 1.04 var(--font-display), sans-serif;letter-spacing:-.04em;color:var(--jl-ink);text-wrap:balance;margin:0}.nv-404-title>span{display:block}.nv-404-second{color:var(--jl-ice)}.nv-404-lead{max-width:45ch;font:400 var(--jl-t-lead) / 1.5 var(--font-inter), sans-serif;color:var(--jl-ink-muted);margin:20px 0 0}.nv-404-actions{flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:36px;display:flex}.nv-404-actions .portfolio-text-link{color:var(--jl-ink);text-decoration:none}.nv-404-actions .portfolio-text-link:hover{color:var(--jl-ice)}@media (max-width:760px){.nv-404,.nv-error{justify-content:flex-start;padding-block:48px 72px}.nv-404-mark{width:72px;height:72px;margin-bottom:0;margin-left:-6px}.nv-404-actions{flex-direction:column;align-items:flex-start;gap:12px}}@media (prefers-reduced-motion:reduce){.nv-menu,.nv-pal-panel{animation:none}.nv-link:after{transition:none}}@media print{.nv-bar,.nv-palette{display:none}}section[tabindex="-1"]:focus{outline:none}.wm-activity{z-index:60;position:fixed;bottom:20px;left:20px}.wm-pill{border:1px solid var(--jl-hairline-strong);background:var(--jl-surface);font:400 var(--jl-t-small) / 1.3 var(--font-inter), sans-serif;color:var(--jl-ink);border-radius:12px;align-items:center;gap:10px;margin:0;padding:10px 16px;display:flex}.wm-pill-who{font:500 var(--jl-t-caption) / 1 var(--font-inter), sans-serif;color:var(--jl-ice)}
.hr-hero{isolation:isolate;padding-top:clamp(32px,6vh,104px);position:relative;overflow-x:clip}.hr-title{font:500 var(--jl-t-display-1) / 1 var(--font-display), sans-serif;letter-spacing:-.04em;color:var(--jl-ink);text-wrap:initial}.hr-title>span{display:block}.hr-title-second{color:var(--jl-ice);margin-top:.04em}.hr-trace{--hr-top:72px;--hr-join:44%;--hr-end:86%;--hr-edge:max(56px, (100% - 1360px) / 2);--hr-lower-top:120px;min-height:330px;margin-top:clamp(8px,1.5vh,28px);position:relative}.hr-art,.hr-labels{pointer-events:none;position:absolute;inset:0}.hr-labels{z-index:2}.hr-art canvas{width:100%;height:100%;display:block}.hr-static{fill:none;width:100%;height:100%;stroke:var(--jl-ice);stroke-width:1px;opacity:.5;transition:opacity .4s;position:absolute;inset:0}.hr-static path{vector-effect:non-scaling-stroke}.hr-static .hr-static-peel{stroke:var(--jl-coral)}.hr-static-narrow{display:none}.hr-static-node{left:var(--hr-join);top:var(--hr-top);background:var(--jl-ice-bright);width:9px;height:9px;box-shadow:0 0 0 3px var(--jl-canvas);border-radius:50%;margin:-4.5px 0 0 -4.5px;transition:opacity .4s;position:absolute}.hr-trace.is-ready .hr-static,.hr-trace.is-ready .hr-static-node{opacity:0}.hr-label{background:color-mix(in srgb, var(--jl-canvas) 85%, transparent);font:500 var(--jl-t-small) / 20px var(--font-inter), sans-serif;white-space:nowrap;pointer-events:auto;border-radius:4px;align-items:center;gap:4px;padding:2px 6px;display:inline-flex;position:absolute}.hr-label:before{content:"";opacity:.6;background:currentColor;width:1px;height:12px;position:absolute;top:100%;left:10px}.hr-label:after{content:"";position:absolute;inset:-12px -8px}.hr-label svg{transition:translate .25s var(--jl-ease-out);flex:none}.hr-label:focus-visible{color:var(--jl-ice);text-decoration:underline;-webkit-text-decoration-color:var(--jl-ice);text-decoration-color:var(--jl-ice);text-underline-offset:4px}.hr-label:focus-visible svg{color:var(--jl-ice);translate:0 2px}@media (hover:hover){.hr-label:hover{color:var(--jl-ice);text-decoration:underline;-webkit-text-decoration-color:var(--jl-ice);text-decoration-color:var(--jl-ice);text-underline-offset:4px}.hr-label:hover svg{color:var(--jl-ice);translate:0 2px}}.hr-label-frontier{left:var(--hr-edge);bottom:calc(100% - var(--hr-top) + 40px);color:var(--jl-ink-muted)}.hr-label-design{left:var(--hr-join);bottom:calc(100% - var(--hr-top) + 20px);color:var(--jl-ink-subtle);transform:translate(-50%)}.hr-label-design:before{left:50%}.hr-label-didnt,.hr-label-didnt:hover,.hr-label-didnt:focus-visible{color:var(--jl-coral)}.hr-label-didnt{left:calc(var(--hr-join) + 16% - 10px);bottom:calc(100% - var(--hr-top) + 20.5px)}.hr-label-holds{right:calc(28% - 11px);top:calc(var(--hr-top) + (var(--hr-end) - var(--hr-top)) / 2 + 20px);color:var(--jl-ice)}.hr-label-holds:before{inset:auto 10px 100% auto}.hr-lower{z-index:1;padding-top:var(--hr-lower-top);pointer-events:none;padding-bottom:32px;position:relative}.hr-lower>*{pointer-events:auto}.hr-intro{max-width:34ch;font-size:var(--jl-t-lead);color:var(--jl-ink-muted);line-height:1.6}.hr-actions{flex-wrap:wrap;align-items:center;gap:28px;margin-top:24px;display:flex}.hr-actions .portfolio-text-link{color:var(--jl-ink)}.hr-context{--hr-gap:clamp(32px, 4vw, 64px);grid-template-columns:calc((100% - var(--hr-gap)) * 7 / 12) minmax(0, 1fr) minmax(0, 1fr);column-gap:var(--hr-gap);border-top:1px solid var(--jl-hairline);padding-block:16px;display:grid}.hr-fact .jl-label{margin-bottom:6px;display:block}.hr-fact-value{max-width:64ch;font-size:var(--jl-t-small);color:var(--jl-ink);line-height:1.6;display:block}.hr-own{display:block}.hr-keep{white-space:nowrap}.hr-years{color:var(--jl-ink);text-decoration:underline;-webkit-text-decoration-color:var(--jl-hairline-strong);text-decoration-color:var(--jl-hairline-strong);text-underline-offset:4px;transition:color .2s var(--jl-ease-out), text-decoration-color .2s var(--jl-ease-out)}.hr-years svg{vertical-align:-2px;color:var(--jl-ink-subtle);transition:translate .25s var(--jl-ease-out);margin-left:6px;display:inline-block}.hr-years:focus-visible{color:var(--jl-ice);-webkit-text-decoration-color:var(--jl-ice-dim);text-decoration-color:var(--jl-ice-dim)}.hr-years:focus-visible svg{color:var(--jl-ice);translate:0 2px}@media (hover:hover){.hr-years:hover{color:var(--jl-ice);-webkit-text-decoration-color:var(--jl-ice-dim);text-decoration-color:var(--jl-ice-dim)}.hr-years:hover svg{color:var(--jl-ice);translate:0 2px}}.hr-links{flex-wrap:wrap;align-items:center;gap:4px 18px;display:flex}.hr-links a{min-height:24px;color:var(--jl-ink-muted);align-items:center;gap:5px;display:inline-flex}.hr-links a:hover{color:var(--jl-ice)}.hr-latest{border-top:1px solid var(--jl-hairline);font-size:var(--jl-t-small);color:var(--jl-ink);align-items:baseline;gap:10px 20px;padding-block:12px;line-height:1.45;display:flex}.hr-latest-when{flex:none;align-items:baseline;gap:12px;display:inline-flex}.hr-latest-text{text-wrap:pretty}.hr-latest-tag{color:var(--jl-ice);font-weight:500}.hr-latest svg{color:var(--jl-ink-subtle);transition:translate .25s var(--jl-ease-out);flex:none;align-self:center;margin-left:auto}.hr-latest:focus-visible{color:var(--jl-ice)}.hr-latest:focus-visible svg{color:var(--jl-ice);translate:3px}@media (hover:hover){.hr-latest:hover{color:var(--jl-ice)}.hr-latest:hover svg{color:var(--jl-ice);translate:3px}}@media (min-width:761px) and (max-width:1200px){.hr-art{-webkit-mask-image:linear-gradient(#000 calc(var(--hr-lower-top) - 24px), transparent calc(var(--hr-lower-top) + 2px)), linear-gradient(to right, transparent calc(var(--hr-join) - 40px), #000 var(--hr-join));mask-image:linear-gradient(#000 calc(var(--hr-lower-top) - 24px), transparent calc(var(--hr-lower-top) + 2px)), linear-gradient(to right, transparent calc(var(--hr-join) - 40px), #000 var(--hr-join))}}@media (max-width:1100px){.hr-trace{--hr-edge:36px;--hr-lower-top:100px}.hr-context{grid-template-columns:minmax(0,1fr) minmax(0,1fr);row-gap:18px}.hr-context>:first-child{grid-column:1/-1}}@media (max-width:760px){.hr-hero{margin-bottom:calc(48px - var(--jl-section-gap));padding-top:44px}.hr-title{font-size:clamp(38px,10.6vw,46px);line-height:1.02}.hr-title>span{text-wrap:balance}.hr-trace{--hr-top:36%;--hr-join:42%;--hr-end:80%;--hr-edge:20px;min-height:0;margin-top:6px}.hr-art{height:260px;position:relative}.hr-labels{height:260px;bottom:auto}.hr-static-wide{display:none}.hr-static-narrow{display:block}.hr-label{font-size:var(--jl-t-meta)}.hr-label-design{top:calc(var(--hr-top) + 20px);bottom:auto;left:auto;right:calc(100% - var(--hr-join) - 10px);transform:none}.hr-label-design:before{inset:auto 10px 100% auto}.hr-label-didnt{left:calc(68% - 10px);bottom:calc(100% - var(--hr-top) + 26px)}.hr-label-holds{top:calc(var(--hr-end) + 13px);right:var(--hr-edge)}.hr-lower{padding-top:6px;padding-bottom:28px}.hr-actions{gap:8px 18px;margin-top:22px}.hr-context{flex-wrap:wrap;align-items:baseline;gap:2px 0;padding-block:16px 4px;display:flex}.hr-fact,.hr-fact-value{display:contents}.hr-fact-value{font-size:var(--jl-t-meta)}.hr-fact .jl-label,.hr-wide{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.hr-role,.hr-org,.hr-years,.hr-city,.hr-own{color:var(--jl-ink);line-height:1.5}.hr-role{text-wrap:balance;flex-basis:100%}.hr-org{order:1}.hr-years{order:2;position:relative}.hr-years:before{content:"";position:absolute;inset:-12px -6px}.hr-city{order:3}.hr-org:after,.hr-city:before{content:"·";content:"·" / "";color:var(--jl-ink-subtle);margin-inline:6px}.hr-own{color:var(--jl-ink-muted);flex-basis:100%;order:4}.hr-links{flex-basis:100%;order:5;gap:0 24px}.hr-links a{min-height:44px}.hr-latest{display:block}.hr-latest-when{display:inline}.hr-latest-when .jl-data{margin-inline:6px}.hr-latest svg,.hr-years svg{display:none}}@media (max-width:345px){.hr-labels{container-type:inline-size}.hr-label-design{left:var(--hr-edge);right:auto}.hr-label-design:before{right:auto;left:calc(42cqw - var(--hr-edge) - 1px)}}@media (max-width:379px){.hr-city:before{content:none}.hr-city{flex-basis:100%}}@media (prefers-reduced-motion:reduce){.hr-label svg,.hr-years svg,.hr-latest svg{transition:none}}
.st-section{padding-top:var(--jl-section-gap)}.st-intro{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:last baseline;gap:20px clamp(32px,4vw,64px);margin-bottom:56px;display:grid}h2.st-title{font:500 var(--jl-t-display-2) / 1.04 var(--font-display), sans-serif;letter-spacing:-.04em;color:var(--jl-ink)}.st-lead{max-width:52ch;font-size:min(var(--jl-t-lead), 20px);color:var(--jl-ink-muted);line-height:1.5}.st-inventory{flex-wrap:wrap;grid-column:1/-1;gap:0 24px;margin-top:4px;display:flex}.st-inventory>*{padding-block:6px}.st-inventory a{color:var(--jl-ink-muted);text-decoration:none;transition:color .2s}.st-inventory a:hover{color:var(--jl-ice)}.st-intro--sub{margin-bottom:40px}h2.st-subtitle{font:500 var(--jl-t-display-sub) / 1.06 var(--font-display), sans-serif;letter-spacing:-.04em;color:var(--jl-ink)}.st-sublead{max-width:46ch;font-size:var(--jl-t-body);color:var(--jl-ink-muted);line-height:1.6}.st-flagship,.st-tile{border:1px solid var(--jl-hairline);background:var(--jl-surface);border-radius:14px}.st-flagship{grid-template:".visual"1fr"head visual""body visual"".visual"1fr"foot foot"/minmax(0,.95fr) minmax(0,1.1fr);margin-bottom:24px;display:grid;overflow:hidden}.st-flagship-head{grid-area:head;padding:48px 48px 0}.st-flagship-body{grid-area:body;padding:0 48px 48px}.st-flagship-visual{grid-area:visual;align-self:center;padding:30px}.st-flagship-foot{border-top:1px solid var(--jl-hairline);grid-area:foot;padding:22px 48px 26px}h3.st-flagship-title,h3.st-tile-title{font:500 var(--jl-t-title) / 1.1 var(--font-display), sans-serif;letter-spacing:-.035em;text-wrap:balance;color:var(--jl-ink)}.st-byline{flex-direction:column;gap:4px;margin-top:16px;display:flex}.st-byline-name{font:500 var(--jl-t-body) / 1.45 var(--font-inter), sans-serif;color:var(--jl-ink)}.st-byline-meta{font:400 var(--jl-t-meta) / 1.7 var(--font-inter), sans-serif;color:var(--jl-ink-subtle)}.st-byline-q{font-size:var(--jl-t-small);color:var(--jl-ink-muted);text-decoration:underline;-webkit-text-decoration-color:var(--jl-hairline-strong);text-decoration-color:var(--jl-hairline-strong);text-underline-offset:4px;white-space:nowrap;text-decoration-thickness:1px;transition:color .2s,text-decoration-color .2s;position:relative}.st-byline-q:hover{color:var(--jl-ice);text-decoration-color:currentColor}.st-byline-q:after{content:"";position:absolute;inset:-4px -2px}.st-flagship-deck{max-width:46ch;font-size:var(--jl-t-body);color:var(--jl-ink-muted);margin-top:22px;line-height:1.65}.st-pull{max-width:36ch;font:400 var(--jl-t-lead) / 1.45 var(--font-inter), sans-serif;letter-spacing:-.005em;text-wrap:pretty;color:var(--jl-ink);margin-top:18px}.st-actions{flex-wrap:wrap;align-items:center;gap:0 24px;margin-top:18px;display:flex}.st-link{color:var(--jl-ink);font-size:var(--jl-t-body);font-weight:500}.st-discuss,.st-secondary{min-height:44px;font:400 var(--jl-t-body) / 1.4 var(--font-inter), sans-serif;color:var(--jl-ink-muted);align-items:center;gap:10px;text-decoration:none;transition:color .2s;display:inline-flex}.st-discuss svg,.st-secondary svg{transition:transform .3s var(--jl-ease-out)}.st-discuss:hover,.st-secondary:hover{color:var(--jl-ice)}.st-discuss:hover svg{transform:translate(3px)}.st-secondary:hover svg{transform:translate(2px,-2px)}.st-design{flex-wrap:wrap;align-items:baseline;gap:4px 24px;margin:0;display:flex}.st-design dt{flex:none}.st-design dd{max-width:76ch;font:400 var(--jl-t-body) / 1.55 var(--font-inter), sans-serif;color:var(--jl-ink);flex:32ch;margin:0}.st-flagship--wide{grid-template:"head aside"".body""visual visual""foot foot"/minmax(0,7fr) minmax(0,5fr);align-items:end;column-gap:clamp(32px,4vw,64px)}.st-flagship--wide .st-flagship-head{padding:48px 0 0 48px}.st-flagship-aside{grid-area:aside;padding:48px 48px 0 0}.st-flagship-aside .st-flagship-deck{margin-top:0}.st-flagship-plate{align-self:stretch;margin:0;padding:44px 48px 0}.st-flagship-plate figcaption{max-width:76ch;font:400 var(--jl-t-small) / 1.55 var(--font-inter), sans-serif;color:var(--jl-ink-subtle);margin-top:20px}.st-flagship--wide .st-flagship-body{align-self:start;padding:0 48px 0 0}.st-tiles{grid-template-rows:auto auto auto auto;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:0 24px;display:grid}.st-tile{grid-row:span 4;grid-template-rows:subgrid;color:var(--jl-ink);display:grid;position:relative;overflow:clip}.st-tile-head{padding:36px 40px 0}.st-tile-figure{align-content:start;padding:28px 40px 8px;display:grid}.st-tile-figure>.ex-cr{background:0 0;border-radius:0;padding:0}.st-tile-figure .ex-cr-title{font-size:var(--jl-t-lead);letter-spacing:-.02em}.st-tile-figure--live,.st-tile .st-byline-q,.st-tile .st-discuss,.st-tile .st-secondary{z-index:1;position:relative}.st-tile-copy{flex-direction:column;align-items:flex-start;padding:20px 40px 0;display:flex}.st-tile-body{max-width:48ch;font-size:var(--jl-t-body);color:var(--jl-ink-muted);line-height:1.6}.st-tile .st-pull{font-size:min(var(--jl-t-lead), 19px)}.st-tile-foot{border-top:1px solid var(--jl-hairline);flex-wrap:wrap;place-content:flex-start space-between;align-items:center;gap:0 24px;margin:24px 40px 0;padding:10px 0 18px;display:flex}.st-tile-foot .st-actions{margin-top:0}.st-tile-cta{min-height:44px;font:500 var(--jl-t-body) / 1.4 var(--font-inter), sans-serif;color:var(--jl-ink);align-items:center;gap:10px;text-decoration:none;transition:color .2s;display:inline-flex}.st-tile-cta:after{content:"";border-radius:14px;position:absolute;inset:0}.st-tile-cta svg{transition:transform .3s var(--jl-ease-out)}.st-tile-cta:hover{color:var(--jl-ice)}.st-tile-cta:hover svg{transform:translate(3px)}.st-co{margin:0;container-type:inline-size}.st-co-kind{margin:0 0 14px}.st-co-controls{flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:28px;display:flex}.st-co-toggle{border:1px solid var(--jl-control-edge);border-radius:6px;display:inline-flex}.st-co-toggle button{min-height:44px;color:var(--jl-ink-subtle);font:500 var(--jl-t-small) / 1.2 var(--font-inter), sans-serif;cursor:pointer;transition:color .2s var(--jl-ease-out), background-color .2s var(--jl-ease-out);background:0 0;border:0;padding:10px 16px}.st-co-toggle button:first-child{border-radius:5px 0 0 5px}.st-co-toggle button:last-child{border-radius:0 5px 5px 0}.st-co-toggle button+button{border-left:1px solid var(--jl-control-edge)}.st-co-toggle button:hover{color:var(--jl-ink);background:var(--jl-ice-wash)}.st-co-toggle button[aria-checked=true]{color:var(--jl-ink);background:var(--jl-ice-deep)}.st-co-path{margin:0;padding:0;list-style:none;display:grid}.st-co-track{border:1px solid var(--jl-hairline);background:var(--jl-replay-inset);border-radius:12px;padding:20px clamp(14px,2vw,22px);position:relative}.st-co-order{z-index:2;background:var(--jl-ice-bright);width:10px;height:10px;box-shadow:0 0 0 3px var(--jl-replay-inset), 0 0 14px var(--jl-ice);opacity:0;pointer-events:none;border-radius:50%;margin:-5px 0 0 -5px;position:absolute;top:0;left:0}.st-co-stage{grid-template-columns:14px auto minmax(0,1fr);align-items:start;column-gap:10px;padding-bottom:14px;display:grid;position:relative}.st-co-stage:last-child{padding-bottom:0}.st-co-node{z-index:1;border:2px solid var(--jl-ice);background:var(--jl-ice);width:14px;height:14px;transition:background-color .24s var(--jl-ease-out) var(--st-co-delay), border-color .24s var(--jl-ease-out) var(--st-co-delay), outline-color .24s var(--jl-ease-out) var(--st-co-delay);outline-offset:3px;border-radius:50%;outline:1px solid #0000;margin-top:3px;margin-right:4px;position:relative}.st-co-stage[data-link]:after{content:"";background:var(--jl-ice);width:2px;height:100%;transition:background-color .24s var(--jl-ease-out) var(--st-co-delay);position:absolute;top:10px;left:6px}.st-co-stage[data-link=off]:after{background:var(--jl-hairline)}.st-co-name{font:500 var(--jl-t-small) / 20px var(--font-inter), sans-serif;color:var(--jl-ink);transition:color .24s var(--jl-ease-out) var(--st-co-delay)}.st-co-note{font:400 var(--jl-t-meta) / 20px var(--font-inter), sans-serif;color:var(--jl-ink-subtle)}.st-co-stage[data-state=review] .st-co-node{outline-color:var(--jl-ice)}.st-co-stage[data-state=deny] .st-co-node{border-color:var(--jl-coral);background:var(--jl-coral)}.st-co-stage[data-state=dropped] .st-co-node{border-color:var(--jl-hairline);background:var(--jl-replay-inset)}.st-co-stage[data-state=dropped] .st-co-name{color:var(--jl-ink-subtle)}@container (min-width:540px){.st-co-path{grid-template-columns:repeat(5,minmax(0,1fr))}.st-co-stage{flex-direction:column;gap:2px;padding:0 12px 0 0;display:flex}.st-co-node{margin:0 0 12px}.st-co-note{line-height:1.35}.st-co-stage[data-link]:after{width:100%;height:2px;top:6px;left:7px}}.st-co-narration{margin-top:24px;display:grid}.st-co-say{grid-area:1/1}.st-co-say[data-active=false]{visibility:hidden}.st-co-status{font:500 var(--jl-t-caption) / 1.4 var(--font-inter), sans-serif;color:var(--jl-ice);margin:0 0 6px}.st-co[data-decision=deny] .st-co-status{color:var(--jl-coral)}.st-co-title{font:500 var(--jl-t-lead) / 1.2 var(--font-display), sans-serif;letter-spacing:-.02em;color:var(--jl-ink);margin:0}.st-co-copy{max-width:60ch;font:400 var(--jl-t-small) / 1.6 var(--font-inter), sans-serif;color:var(--jl-ink-muted);margin:8px 0 0}.st-builds{margin-top:clamp(88px,9vw,128px)}.st-builds-head{flex-wrap:wrap;justify-content:space-between;align-items:last baseline;gap:12px 48px;margin-bottom:22px;display:flex}.st-builds-head .st-sublead{text-align:right;max-width:40ch}.st-builds-index{border-bottom:1px solid var(--jl-hairline-strong)}.st-builds-group{border-top:1px solid var(--jl-hairline-strong);grid-template-columns:minmax(0,16rem) minmax(0,1fr);align-items:baseline;gap:0 32px;display:grid}h3.st-builds-area{font:500 var(--jl-t-lead) / 1.25 var(--font-display), sans-serif;letter-spacing:-.02em;color:var(--jl-ink);padding-block:14px 16px}.st-builds-rows ul{margin:0;padding:0;list-style:none}.st-build+.st-build a{border-top:1px solid var(--jl-hairline)}.st-build a{color:var(--jl-ink);grid-template-columns:minmax(0,15rem) minmax(0,1fr) auto 16px;align-items:baseline;gap:4px 24px;padding-block:16px;text-decoration:none;display:grid}.st-build-name{font:500 var(--jl-t-body) / 1.45 var(--font-inter), sans-serif}.st-build-desc{max-width:75ch;font-size:var(--jl-t-small);color:var(--jl-ink-muted);line-height:1.55}.st-build-month{white-space:nowrap;justify-self:end}.st-build--narrow,.st-count-narrow,.st-builds-more--narrow{display:none}.st-build a>svg,.st-builds-all svg{color:var(--jl-ink-subtle);transition:color .2s, transform .3s var(--jl-ease-out)}.st-build a>svg{align-self:center}.st-build a:hover .st-build-name,.st-build a:hover>svg,.st-builds-all:hover,.st-builds-all:hover svg{color:var(--jl-ice)}.st-build a:hover>svg,.st-builds-all:hover svg{transform:translate(2px,-2px)}.st-builds-more{margin-bottom:8px}.st-builds-more summary{border-top:1px solid var(--jl-hairline);min-height:44px;font:500 var(--jl-t-small) / 1.4 var(--font-inter), sans-serif;color:var(--jl-ink-muted);cursor:pointer;align-items:center;gap:10px;list-style:none;display:flex}.st-builds-more summary::-webkit-details-marker{display:none}.st-builds-more summary svg{color:var(--jl-ink-subtle);transition:transform .3s var(--jl-ease-out);margin-left:auto}.st-builds-more summary:hover,.st-builds-more summary:hover svg{color:var(--jl-ice)}.st-builds-more[open] summary svg{transform:rotate(180deg)}.st-builds-more .st-build:first-child a{border-top:1px solid var(--jl-hairline)}.st-builds-all{min-height:44px;font:500 var(--jl-t-body) / 1.4 var(--font-inter), sans-serif;color:var(--jl-ink);align-items:center;gap:8px;margin-top:24px;text-decoration:none;display:inline-flex}.st-negative{--st-floor-bar:var(--jl-paper-accent);--st-floor-tick-edge:var(--jl-paper-ink);margin-top:var(--jl-section-gap);background:var(--jl-paper);color:var(--jl-paper-ink);padding-block:clamp(64px,7vw,96px) clamp(56px,6vw,80px)}.st-negative :focus-visible{outline-color:var(--jl-paper-accent)}.st-negative-layout{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:28px clamp(32px,4vw,64px);display:grid}h2.st-negative-title{font:500 var(--jl-t-display-2) / 1.02 var(--font-display), sans-serif;letter-spacing:-.04em;color:var(--jl-paper-ink)}h2.st-negative-title em{color:var(--jl-paper-accent)}.st-negative-copy>p{max-width:56ch;font-size:var(--jl-t-body);color:var(--jl-paper-muted);margin-top:16px;line-height:1.7}.st-negative-copy>p.st-negative-lead{font:500 var(--jl-t-title) / 1.3 var(--font-display), sans-serif;letter-spacing:-.02em;color:var(--jl-paper-ink);margin-top:0;margin-bottom:8px}.st-negative a{color:var(--jl-paper-ink)}.st-negative a:hover{color:var(--jl-paper-accent)}.st-negative-links{flex-wrap:wrap;align-items:center;gap:4px 28px;margin-top:16px;display:flex}.st-negative .st-listen{color:var(--jl-paper-muted)}.st-negative .st-listen:hover{color:var(--jl-paper-accent)}.st-negative-figure{margin-top:64px}.st-negative .st-pull{color:var(--jl-paper-ink);margin-top:0}.st-floor{--st-floor-ink:currentColor;margin:0}.st-floor-chart{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name ceiling""track zero"".zlabel";align-items:end;column-gap:10px;display:grid}.st-floor-name,.st-floor-ceiling,.st-floor-zero-label{font:500 var(--jl-t-meta) / 1.35 var(--font-inter), sans-serif}.st-floor-name{color:color-mix(in srgb, var(--st-floor-ink) 76%, transparent);grid-area:name}.st-floor-ceiling{color:var(--st-floor-ink);grid-area:ceiling}.st-floor-track{background:color-mix(in srgb, var(--st-floor-ink) 8%, transparent);border-radius:4px 0 0 4px;grid-area:track;height:32px;margin-top:20px;position:relative}.st-floor-bar{background:var(--st-floor-bar,color-mix(in srgb, var(--st-floor-ink) 80%, transparent));border-radius:4px 0 0 4px;height:100%}.st-floor-track:after{content:"";background:var(--st-floor-ink);width:2px;position:absolute;top:-16px;bottom:-16px;right:-1px}.st-floor-zero{grid-area:zero;align-items:center;gap:8px;height:32px;margin-top:20px;margin-left:-10px;display:flex}.st-floor-bracket{flex:none;overflow:visible}.st-floor-bracket path{fill:none}.st-floor-bracket-edge{stroke:var(--st-floor-tick-edge,transparent);stroke-width:4px}.st-floor-bracket-line{stroke:var(--jl-coral);stroke-width:2px}.st-floor-zero-value{font:500 var(--jl-t-title) / 1 var(--font-mono), monospace;font-variant-numeric:tabular-nums;color:var(--st-floor-ink)}.st-floor-zero-label{color:var(--st-floor-ink);grid-area:zlabel;align-self:start;margin-top:8px}.st-floor-foot{border-top:1px solid color-mix(in srgb, var(--st-floor-ink) 18%, transparent);margin-top:28px;padding-top:22px}.st-floor-foot--aside{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start;gap:28px clamp(32px,4vw,64px);display:grid}.st-floor-count{justify-items:start;gap:14px;display:grid}.st-floor-stats{margin:0}.st-floor-stats>div{flex-direction:column-reverse;gap:8px;display:flex}.st-floor-stats dd{font:500 var(--jl-t-display-sub) / 1 var(--font-display), sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.035em;margin:0}.st-floor-stats dt{font:500 var(--jl-t-meta) / 1.4 var(--font-inter), sans-serif;color:color-mix(in srgb, var(--st-floor-ink) 76%, transparent)}.st-floor-caption{max-width:60ch;font-size:var(--jl-t-small);color:color-mix(in srgb, var(--st-floor-ink) 76%, transparent);line-height:1.6}.st-floor-caption a{color:var(--st-floor-ink);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--st-floor-ink) 35%, transparent);text-decoration-color:color-mix(in srgb, var(--st-floor-ink) 35%, transparent);text-underline-offset:4px;padding-block:12px}.st-floor-file{font:400 var(--jl-t-meta) / 1.4 var(--font-mono), monospace}.st-floor-caption a svg{vertical-align:-2px;margin-left:4px;display:inline}@media (max-width:1100px){.st-flagship-head{padding:36px 32px 0}.st-flagship-body{padding:0 32px 36px}.st-flagship-visual{padding:20px}.st-flagship-foot{padding:20px 32px 24px}.st-flagship--wide .st-flagship-head{padding:36px 0 0 32px}.st-flagship-aside{padding:36px 32px 0 0}.st-flagship-plate{padding:36px 32px 0}.st-flagship--wide .st-flagship-body{padding:0 32px 0 0}.st-tile-head{padding:28px 28px 0}.st-tile-figure{padding:24px 28px 8px}.st-tile-copy{padding-inline:28px}.st-tile-foot{margin-inline:28px}.st-builds-group{grid-template-columns:minmax(0,12rem) minmax(0,1fr);gap:0 24px}.st-build a{grid-template-columns:minmax(0,1fr) auto 16px;gap:4px 20px}.st-build-desc{grid-area:2/1}}@media (max-width:900px){.st-intro,.st-negative-layout,.st-floor-foot--aside{grid-template-columns:minmax(0,1fr);gap:16px}.st-intro{align-items:start}.st-floor-foot--aside{gap:28px}.st-flagship--wide{grid-template-columns:minmax(0,1fr);grid-template-areas:"head""aside""visual""body""foot"}.st-flagship--wide .st-flagship-head{padding:36px 32px 0}.st-flagship-aside{padding:22px 32px 0}.st-flagship--wide .st-flagship-body{padding:16px 32px 24px}.st-tiles{grid-template-rows:none;grid-template-columns:minmax(0,1fr);gap:24px}.st-tile{flex-direction:column;grid-row:auto;display:flex}.st-builds-head{flex-direction:column;align-items:flex-start}.st-builds-head .st-sublead{text-align:left}}@media (max-width:760px){.st-intro{margin-bottom:36px}.st-intro--sub{margin-bottom:28px}.st-flagship{grid-template:"head""visual""body""foot"/minmax(0,1fr);margin-bottom:16px}.st-flagship--wide{grid-template-areas:"head""aside""visual""body""foot"}.st-flagship-head,.st-flagship--wide .st-flagship-head{padding:28px 22px 24px}.st-flagship-aside{padding:0 22px 8px}.st-flagship-visual{padding:0 22px 24px}.st-flagship-visual>.ex-rx{background:0 0;border-radius:0;padding:0}.st-flagship-plate{padding:24px 22px 0}.st-flagship-body,.st-flagship--wide .st-flagship-body{border-top:1px solid var(--jl-hairline);margin-inline:22px;padding:8px 0 22px}.st-flagship--wide .st-flagship-body{margin-top:24px;padding-top:16px}.st-actions{margin-top:8px}.st-flagship-foot{padding:18px 22px 22px}.st-tiles{gap:16px;margin-top:16px}.st-tile-head{padding:26px 22px 0}.st-tile-figure{padding:22px 22px 4px}.st-tile-copy{padding:18px 22px 0}.st-tile-foot{margin:22px 22px 0;padding:6px 0 14px}.st-byline-q:after{inset:-14px -4px}.st-builds-group{grid-template-columns:minmax(0,1fr)}h3.st-builds-area{padding-block:18px 2px}.st-build a{align-items:center;gap:12px;min-height:44px;padding-block:12px}.st-build-desc,.st-build--wide,.st-count-wide{display:none}.st-build--narrow,.st-builds-more--narrow{display:block}.st-count-narrow{display:inline}.st-negative-figure{margin-top:48px}.st-floor-ceiling,.st-floor-zero-label{max-width:11ch}}@media (prefers-reduced-motion:reduce){.st-tile-cta svg,.st-discuss svg,.st-secondary svg,.st-build a>svg,.st-builds-all svg,.st-builds-more summary svg,.st-co-toggle button,.st-co-node,.st-co-name,.st-co-stage:after{transition:none}}
.ex-cr{background:var(--jl-surface);color:var(--jl-ink);border-radius:14px;padding:clamp(16px,2.4vw,28px)}.ex-cr-kind,.ex-rx-kind{margin:0 0 14px}.ex-cr-figure{background:var(--jl-replay-inset);border:1px solid var(--jl-hairline);border-radius:12px;padding:20px clamp(10px,2vw,22px) 16px}.ex-cr-figure svg{display:block;overflow:visible}.ex-cr-plot{position:relative}.ex-cr-orb{pointer-events:none;position:absolute}.ex-cr-slot{fill:none;stroke:var(--jl-ink-subtle);stroke-width:1.25px}.ex-cr-slot-done{fill:var(--jl-ice);stroke:none}.ex-cr-t-node{font:500 var(--jl-t-body) var(--font-display), sans-serif;letter-spacing:-.01em;fill:var(--jl-ink)}.ex-cr-t-state{font:400 var(--jl-t-caption) var(--font-inter), sans-serif;fill:var(--jl-ink-subtle)}.ex-cr-t-label{font:500 var(--jl-t-caption) var(--font-inter), sans-serif;fill:var(--jl-ink-muted)}.ex-cr-t-data{font:400 var(--jl-t-caption) var(--font-mono), monospace;font-variant-numeric:tabular-nums}.ex-cr-t-subtle{fill:var(--jl-ink-subtle)}.ex-cr-t-ink{fill:var(--jl-ink)}.ex-cr-t-ice{fill:var(--jl-ice)}.ex-cr-t-bright{fill:var(--jl-ice-bright)}.ex-cr-t-count{font:500 var(--jl-t-caption) var(--font-mono), monospace;font-variant-numeric:tabular-nums;fill:var(--jl-ink)}.ex-cr-t-note{font:500 var(--jl-t-caption) var(--font-inter), sans-serif;fill:var(--jl-ice)}.ex-cr-t-lost{font:500 var(--jl-t-caption) var(--font-inter), sans-serif;fill:var(--jl-coral)}.ex-cr-node rect{fill:var(--jl-ice-deep);stroke:var(--jl-ice-dim);stroke-width:1px}.ex-cr-tool rect{fill:var(--jl-surface-raised);stroke:var(--jl-hairline-strong);transition:fill .25s var(--jl-ease-out), stroke .25s var(--jl-ease-out)}.ex-cr-tool .ex-cr-t-node{transition:fill .25s var(--jl-ease-out)}.ex-cr-lane{stroke:var(--jl-ice-dim);stroke-width:1.25px}.ex-cr-lane-reply{stroke:var(--jl-hairline-strong);stroke-dasharray:3 4}.ex-cr-lane-reply.is-broken{stroke:var(--jl-hairline)}.ex-cr-head-mark{fill:none;stroke:var(--jl-ice-dim);stroke-width:1.25px;stroke-linecap:round;stroke-linejoin:round}.ex-cr-reply-mark{stroke:var(--jl-hairline-strong)}.ex-cr[data-stage="1"] .ex-cr-reply-mark,.ex-cr[data-stage="2"] .ex-cr-reply-mark{stroke:var(--jl-hairline)}.ex-cr-drop{stroke:var(--jl-hairline-strong);stroke-width:1.25px;transition:stroke .25s var(--jl-ease-out)}.ex-cr[data-stage="0"] .ex-cr-drop-tool{stroke:var(--jl-ice-dim)}.ex-cr-drop-agent{stroke:var(--jl-hairline-strong);stroke-dasharray:3 4}.ex-cr[data-stage="2"] .ex-cr-drop-agent{stroke:var(--jl-ice);stroke-dasharray:none}.ex-cr[data-stage="2"] .ex-cr-drop-tool{stroke:var(--jl-hairline)}.ex-cr[data-stage="2"] .ex-cr-tool rect{fill:var(--jl-surface);stroke:var(--jl-hairline)}.ex-cr[data-stage="2"] .ex-cr-tool .ex-cr-t-node{fill:var(--jl-ink-muted)}.ex-cr-record-box{fill:var(--jl-surface);stroke:var(--jl-hairline-strong);stroke-width:1px;transition:fill .3s var(--jl-ease-out) .35s, stroke .3s var(--jl-ease-out) .35s}.ex-cr[data-stage="2"] .ex-cr-record-box{fill:var(--jl-ice-deep);stroke:var(--jl-ice)}.ex-cr-agent-state{fill:var(--jl-ink-subtle)}.ex-cr[data-stage="0"] .ex-cr-agent-state{fill:var(--jl-ink-muted)}.ex-cr[data-stage="1"] .ex-cr-agent-state{fill:var(--jl-coral)}.ex-cr[data-stage="2"] .ex-cr-agent-state{fill:var(--jl-ice)}.ex-cr-packet{fill:var(--jl-ice);opacity:0}.ex-cr-p-reply-start{opacity:1}.ex-cr-cross{fill:none;stroke:var(--jl-coral);stroke-width:1.5px;stroke-linecap:round}.ex-cr-shard{stroke:var(--jl-coral);stroke-width:1.5px;stroke-linecap:round;opacity:0}@media (prefers-reduced-motion:no-preference){.ex-cr-anim .ex-cr-p-req{animation:ex-cr-travel-x .5s var(--jl-ease-out) both;--ex-dx:var(--ex-req)}.ex-cr-anim .ex-cr-p-commit{animation:ex-cr-travel-down .26s var(--jl-ease-out) .44s both}.ex-cr-write.ex-cr-anim{animation:ex-cr-appear .3s var(--jl-ease-out) .64s both}.ex-cr-p-reply-start.ex-cr-anim{animation:ex-cr-appear .2s var(--jl-ease-out) .9s both}.ex-cr-anim .ex-cr-p-reply{animation:ex-cr-travel-x .36s var(--jl-ease-out) both;--ex-dx:var(--ex-half)}.ex-cr-anim .ex-cr-shard{animation:ex-cr-scatter .52s var(--jl-ease-out) .32s both}.ex-cr-anim .ex-cr-shard.s1{--ex-sx:-9px;--ex-sy:-7px;--ex-sr:-35deg}.ex-cr-anim .ex-cr-shard.s2{--ex-sx:10px;--ex-sy:-6px;--ex-sr:30deg}.ex-cr-anim .ex-cr-shard.s3{--ex-sx:-8px;--ex-sy:8px;--ex-sr:25deg}.ex-cr-anim .ex-cr-shard.s4{--ex-sx:9px;--ex-sy:7px;--ex-sr:-30deg}.ex-cr-anim .ex-cr-lost{animation:ex-cr-appear .26s var(--jl-ease-out) .36s both}.ex-cr-anim .ex-cr-p-ask{animation:ex-cr-travel-down .36s var(--jl-ease-out) both}.ex-cr-anim .ex-cr-ask{animation:ex-cr-appear .22s var(--jl-ease-out) both}.ex-cr-anim .ex-cr-p-answer{animation:ex-cr-travel-up .36s var(--jl-ease-out) .48s both}.ex-cr-anim .ex-cr-answer{animation:ex-cr-appear .22s var(--jl-ease-out) .48s both}.ex-cr-t-note.ex-cr-anim{animation:ex-cr-appear .26s var(--jl-ease-out) .82s both}.ex-cr-tool-state.ex-cr-anim,.ex-cr-t-count.ex-cr-anim{animation:ex-cr-appear .24s var(--jl-ease-out) .66s both}.ex-cr[data-stage="0"] .ex-cr-agent-state.is-set{animation:ex-cr-appear .22s var(--jl-ease-out) .12s both}.ex-cr[data-stage="1"] .ex-cr-agent-state.is-set{animation:ex-cr-appear .22s var(--jl-ease-out) .38s both}.ex-cr[data-stage="2"] .ex-cr-agent-state.is-set,.ex-cr-slot-done{animation:ex-cr-appear .22s var(--jl-ease-out) .82s both}}@media (prefers-reduced-motion:reduce){.ex-cr-drop,.ex-cr-record-box,.ex-cr-tool rect,.ex-cr-tool .ex-cr-t-node{transition:none}}@keyframes ex-cr-travel-x{0%{opacity:1;transform:translate(0)}85%{opacity:1}to{opacity:0;transform:translateX(var(--ex-dx))}}@keyframes ex-cr-travel-down{0%{opacity:1;transform:translateY(0)}85%{opacity:1}to{opacity:0;transform:translateY(56px)}}@keyframes ex-cr-travel-up{0%{opacity:1;transform:translateY(0)}85%{opacity:1}to{opacity:0;transform:translateY(-56px)}}@keyframes ex-cr-appear{0%{opacity:0}to{opacity:1}}@keyframes ex-cr-scatter{0%{opacity:1;transform:translate(0)rotate(0)}to{opacity:0;transform:translate(var(--ex-sx), var(--ex-sy)) rotate(var(--ex-sr))}}.ex-cr-steps{border:1px solid var(--jl-control-edge);border-bottom:0;border-radius:6px 6px 0 0;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:16px;display:grid}.ex-cr-step{min-height:44px;color:var(--jl-ink-subtle);font:500 var(--jl-t-small) / 1.2 var(--font-inter), sans-serif;text-align:left;cursor:pointer;transition:color .2s var(--jl-ease-out), background-color .2s var(--jl-ease-out);background:0 0;border:0;border-radius:0;padding:10px 12px}.ex-cr-step:first-child{border-radius:5px 0 0}.ex-cr-step:last-child{border-radius:0 5px 0 0}.ex-cr-step+.ex-cr-step{border-left:1px solid var(--jl-control-edge)}.ex-cr-step:hover{color:var(--jl-ink);background:var(--jl-ice-wash)}.ex-cr-step[aria-pressed=true]{color:var(--jl-ink);background:var(--jl-ice-deep)}.ex-cr-rail{background:var(--jl-control-edge);height:2px;position:relative;overflow:hidden}.ex-cr-rail-fill{background:var(--jl-ice);transform-origin:0;transform:scaleX(var(--ex-progress));transition:transform .3s var(--jl-ease-out);position:absolute;inset:0}.ex-cr[data-playing] .ex-cr-rail-fill{animation:ex-cr-rail calc(var(--ex-beat) * 3) linear both}@keyframes ex-cr-rail{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.ex-cr-narration{padding-top:16px;display:grid}.ex-cr-say{visibility:hidden;grid-area:1/1}.ex-cr-say.is-current{visibility:visible}.ex-cr-replay{height:28px;color:var(--jl-ink-muted);font:500 var(--jl-t-meta) / 1 var(--font-inter), sans-serif;cursor:pointer;transition:color .2s var(--jl-ease-out), background-color .2s var(--jl-ease-out);background:0 0;border:0;border-radius:6px;grid-area:1/1;place-self:start end;align-items:center;gap:6px;margin:-6px -8px 0 0;padding:0 8px;display:inline-flex;position:relative}.ex-cr-replay:before{content:"";position:absolute;inset:-8px 0}.ex-cr-replay:hover{color:var(--jl-ink);background:var(--jl-ice-wash)}.ex-cr-status{font:500 var(--jl-t-caption) / 1.4 var(--font-inter), sans-serif;color:var(--jl-ice);margin:0 0 6px}.ex-cr[data-stage="1"] .ex-cr-status{color:var(--jl-coral)}.ex-cr-title{font:500 var(--jl-t-title) / 1.2 var(--font-display), sans-serif;letter-spacing:-.035em;color:var(--jl-ink);margin:0}.ex-cr-copy{font:400 var(--jl-t-small) / 1.6 var(--font-inter), sans-serif;color:var(--jl-ink-muted);max-width:60ch;margin:8px 0 0}.ex-cr-code{font:400 .92em var(--font-mono), monospace;color:var(--jl-ice-bright);overflow-wrap:anywhere;background:0 0;padding:0}.ex-cr-link{border-top:1px solid var(--jl-hairline);min-height:44px;font:500 var(--jl-t-small) var(--font-inter), sans-serif;color:var(--jl-ink);justify-content:space-between;align-items:center;margin-top:12px;padding-top:8px;text-decoration:none;display:flex}.ex-cr-link:hover{color:var(--jl-ice)}.ex-rx{--rows-at:0s;--cell:52px;background:var(--jl-surface);color:var(--jl-ink);border-radius:14px;flex-direction:column;align-items:flex-start;padding:clamp(16px,2.4vw,28px) max(clamp(16px,2.4vw,28px),50% - 330px);display:flex;container-type:inline-size}.ex-rx[data-view=state]{--rows-at:.16s}.ex-rx-controls{flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:20px;display:flex}.ex-rx-toggle{border:1px solid var(--jl-control-edge);border-radius:6px;display:inline-flex}.ex-rx-prompt{font:500 var(--jl-t-meta) / 1.4 var(--font-inter), sans-serif;color:var(--jl-ice);transition:opacity .24s var(--jl-ease-out);margin:0}.ex-rx-prompt[data-hidden]{opacity:0;visibility:hidden}.ex-rx-toggle button:first-child{border-radius:5px 0 0 5px}.ex-rx-toggle button:last-child{border-radius:0 5px 5px 0}.ex-rx-toggle button{min-height:44px;color:var(--jl-ink-subtle);font:500 var(--jl-t-small) / 1.2 var(--font-inter), sans-serif;white-space:nowrap;cursor:pointer;transition:color .2s var(--jl-ease-out), background-color .2s var(--jl-ease-out);background:0 0;border:0;align-items:center;gap:8px;padding:10px 16px;display:inline-flex}@container not (min-width:300px){.ex-rx .ex-rx-toggle button{padding-inline:12px}}@container not (min-width:250px){.ex-rx-toggle svg{display:none}}.ex-rx-toggle button+button{border-left:1px solid var(--jl-control-edge)}.ex-rx-toggle button:hover{color:var(--jl-ink);background:var(--jl-ice-wash)}.ex-rx-toggle button[aria-pressed=true]{color:var(--jl-ink);background:var(--jl-ice-deep)}.ex-rx-body{grid-template-columns:minmax(0,1fr);gap:16px;width:100%;display:grid}.ex-rx-cases{justify-items:start;display:grid}.ex-rx-grid{position:relative}.ex-rx-field,.ex-rx-wipe{grid-template-columns:repeat(4, var(--cell));grid-auto-rows:var(--cell);gap:6px;display:grid}.ex-rx-cell{--inner:0px;--sel:0px;--ring:0px;background:var(--jl-surface-raised);border:1px solid var(--jl-control-edge);min-width:0;box-shadow:inset 0 0 0 var(--inner) var(--jl-coral), inset 0 0 0 calc(var(--inner) + var(--sel)) var(--jl-ice), 0 0 0 var(--ring) var(--jl-ice);font:400 var(--jl-t-caption) / 1 var(--font-mono), monospace;font-variant-numeric:tabular-nums;color:var(--jl-ink-muted);border-radius:6px;place-items:center;padding:0;display:grid;position:relative}button.ex-rx-cell{cursor:pointer}button.ex-rx-cell:before{content:"";position:absolute;inset:-4px}.ex-rx-field .ex-rx-cell:focus-visible{border-radius:6px}button.ex-rx-cell:hover:not([aria-pressed=true]){--ring:1px;color:var(--jl-ink)}.ex-rx-cell[aria-pressed=true],.ex-rx-cell[data-selected]{--sel:2px;background:var(--jl-ice-deep);color:var(--jl-ice-bright);font-weight:500}.ex-rx-cell.is-differs,.ex-rx-swatch.is-differs{background:var(--jl-coral);border-color:var(--jl-coral)}.ex-rx-cell.is-differs{color:var(--jl-paper-ink);font-weight:500}.ex-rx-cell.is-other,.ex-rx-swatch.is-other{border-color:var(--jl-coral)}.ex-rx-cell.is-strong,.ex-rx-swatch.is-strong{--inner:1px}@media (forced-colors:active){.ex-rx-cell.is-differs{border:4px double canvastext}.ex-rx-cell.is-other{border-style:dashed}.ex-rx-cell[aria-pressed=true]{border:3px solid highlight}}.ex-rx-wipe{pointer-events:none;position:absolute;inset:0}.ex-rx-scan{background:var(--jl-ice);pointer-events:none;border-radius:1px;width:2px;position:absolute;top:-6px;bottom:-6px;left:-1px}.ex-rx-legend{gap:4px;margin:16px 0 0;padding:0;list-style:none;display:grid}.ex-rx-legend li{font:400 var(--jl-t-meta) / 1.5 var(--font-inter), sans-serif;color:var(--jl-ink-subtle);align-items:center;gap:8px;display:flex}.ex-rx-legend li.is-lit{color:var(--jl-ink-muted)}.ex-rx-legend .jl-data{font-size:var(--jl-t-caption);color:inherit}.ex-rx-swatch{--inner:0px;border:1px solid var(--jl-control-edge);width:12px;height:12px;box-shadow:inset 0 0 0 var(--inner) var(--jl-coral);border-radius:3px;flex:none}.ex-rx-detail{min-width:0;display:grid}.ex-rx-e06,.ex-rx-note{grid-area:1/1}.ex-rx-e06.is-off{visibility:hidden}.ex-rx-e06-cap{font:400 var(--jl-t-caption) / 1.5 var(--font-inter), sans-serif;color:var(--jl-ink-subtle);margin:0 0 10px}.ex-rx-e06-cap code{font:400 1em var(--font-mono), monospace;color:var(--jl-ink-muted);background:0 0;padding:0}.ex-rx-worlds{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.ex-rx-world{flex-direction:column;align-items:flex-start;gap:8px;min-width:0;display:flex}.ex-rx-name{font:500 var(--jl-t-meta) / 1.4 var(--font-inter), sans-serif;color:var(--jl-ink)}@container (min-width:540px){.ex-rx-body{grid-template-columns:max-content minmax(0,1fr);align-items:start;column-gap:32px}}.ex-rx-rows{gap:4px;width:100%;max-width:200px;display:grid}.ex-rx-row{border:1px solid var(--jl-hairline-strong);min-height:28px;font:400 var(--jl-t-caption) / 1.4 var(--font-mono), monospace;font-variant-numeric:tabular-nums;border-radius:6px;flex-wrap:wrap;align-items:baseline;column-gap:8px;padding:5px 8px;display:flex}.ex-rx-row>*{position:relative}.ex-rx-row-name{color:var(--jl-ink)}.ex-rx-row-color{color:var(--jl-ink-subtle)}.ex-rx[data-view=state] .ex-rx-row{background:var(--jl-surface-raised)}.ex-rx[data-view=state] .ex-rx-row.is-overwritten{background:0 0;border-style:dashed}.ex-rx-row.is-overwritten>:after{content:"";transform-origin:0;background:currentColor;height:1px;position:absolute;top:55%;left:-1px;right:-1px;transform:scaleX(0)}.ex-rx[data-view=state] .ex-rx-row.is-overwritten>*{color:var(--jl-ink-subtle)}.ex-rx[data-view=state] .ex-rx-row.is-overwritten>:after{transform:scaleX(1)}.ex-rx[data-view=state] .ex-rx-row.is-divergent{border-color:var(--jl-coral);background:var(--jl-coral-wash)}.ex-rx[data-view=state] .ex-rx-row.is-divergent>*{color:var(--jl-coral)}.ex-rx-result{min-height:24px;font:400 var(--jl-t-caption) / 1.4 var(--font-mono), monospace;font-variant-numeric:tabular-nums;color:var(--jl-ink-muted);align-items:center;gap:6px;margin:2px 0 0;display:inline-flex}.ex-rx[data-view=state] .ex-rx-world.is-reference .ex-rx-result{color:var(--jl-coral)}.ex-rx-note{flex-direction:column;align-self:start;align-items:flex-start;gap:8px;display:flex}.ex-rx-note-head{font:400 var(--jl-t-caption) / 1.5 var(--font-inter), sans-serif;color:var(--jl-ink-subtle);margin:0}.ex-rx-note-head .jl-data{color:var(--jl-ink);margin-right:4px}.ex-rx-calls{flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}.ex-rx-calls li{border:1px solid var(--jl-hairline-strong);font:400 var(--jl-t-caption) / 1.4 var(--font-mono), monospace;color:var(--jl-ink-muted);border-radius:6px;padding:3px 8px}.ex-rx-calls li.is-divergent{border-color:var(--jl-coral);background:var(--jl-coral-wash);color:var(--jl-coral)}.ex-rx-calls code{font:inherit;color:inherit;background:0 0;padding:0}.ex-rx-summary{font:400 var(--jl-t-small) / 1.55 var(--font-inter), sans-serif;color:var(--jl-ink-muted);max-width:48ch;margin:0}.ex-rx-source{min-height:44px;font:500 var(--jl-t-meta) var(--font-inter), sans-serif;color:var(--jl-ink);align-items:center;gap:6px;margin-block:-4px -10px;text-decoration:none;display:inline-flex}.ex-rx-verdict-frame{width:100%;margin:12px 0 0;display:grid}.ex-rx-verdict,.ex-rx-verdict-sizer{font:500 var(--jl-t-body) / 1.45 var(--font-inter), sans-serif;color:var(--jl-ink);text-wrap:pretty;grid-area:1/1;margin:0}.ex-rx-verdict-sizer{visibility:hidden}.ex-rx-verdict .jl-data,.ex-rx-verdict-sizer .jl-data{font-size:var(--jl-t-small);color:var(--jl-ink)}.ex-rx-sep{color:var(--jl-ink-subtle)}.ex-rx-facet-name{white-space:nowrap}.ex-rx-facet.is-divergent{color:var(--jl-coral)}.ex-rx-caption{font:400 var(--jl-t-meta) / 1.5 var(--font-inter), sans-serif;color:var(--jl-ink-muted);margin:20px 0 0}.ex-fork{vertical-align:-2px;width:14px;height:14px;margin-right:5px;display:inline-block}.ex-rx-diverged{white-space:nowrap;color:var(--jl-ink)}.ex-rx-source{color:var(--jl-compare-ink);white-space:nowrap;align-items:center;gap:6px;padding-block:4px;display:inline-flex}.ex-rx-source:hover{color:var(--jl-ice)}.ex-rx-link{min-height:44px;font:500 var(--jl-t-small) var(--font-inter), sans-serif;color:var(--jl-ink);align-items:center;gap:8px;margin-top:8px;text-decoration:none;display:inline-flex}.ex-rx-link:hover{color:var(--jl-ice)}@container not (min-width:540px){.ex-rx-body{display:contents}.ex-rx-detail,.ex-rx-link{order:1}.ex-rx-detail{width:100%;margin-top:20px}.ex-rx-e06.is-off{display:none}}@media (max-width:760px){.ex-rx{--cell:44px}.ex-rx-controls{margin-bottom:16px}.ex-rx-toggle button{padding-inline:14px}}@media (prefers-reduced-motion:no-preference){.ex-rx-wipe{animation:ex-rx-wipe .32s var(--jl-ease-out) both}.ex-rx-scan{animation:ex-rx-scan .32s var(--jl-ease-out) both, ex-rx-scan-fade .32s linear both}.ex-rx-swatch,.ex-rx-legend li{transition-property:color,background-color,border-color,box-shadow;transition-duration:.2s;transition-timing-function:var(--jl-ease-out);transition-delay:var(--rows-at)}.ex-rx-row{transition-property:border-color,background-color,border-style;transition-duration:.3s,.3s,1ms;transition-timing-function:var(--jl-ease-out);transition-delay:var(--rows-at);transition-behavior:allow-discrete}.ex-rx-row>*{transition:color .3s var(--jl-ease-out) var(--rows-at)}.ex-rx-row.is-overwritten>:after{transition:transform .24s var(--jl-ease-out)}.ex-rx[data-view=state] .ex-rx-row.is-overwritten>.ex-rx-row-name:after{transition-delay:calc(var(--rows-at) + .12s)}.ex-rx[data-view=state] .ex-rx-row.is-overwritten>.ex-rx-row-color:after{transition-delay:calc(var(--rows-at) + .24s)}.ex-rx[data-view=state] .ex-rx-e06-cap,.ex-rx[data-view=state] .ex-rx-result{animation:ex-cr-appear .3s var(--jl-ease-out) var(--rows-at) both}}@media (prefers-reduced-motion:reduce){.ex-rx-wipe,.ex-rx-scan{display:none}}@keyframes ex-rx-wipe{0%{clip-path:inset(-6px)}to{clip-path:inset(-6px -6px -6px calc(100% + 6px))}}@keyframes ex-rx-scan{0%{transform:translate(-6px)}to{transform:translateX(calc(4 * var(--cell) + 24px))}}@keyframes ex-rx-scan-fade{0%,70%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.ex-rx-toggle button,.ex-cr-step,.ex-cr-rail-fill,.ex-cr-replay{transition:none}}
.at-map{isolation:isolate;border-bottom:1px solid var(--jl-hairline);position:relative}.at-lane{border-top:1px solid var(--jl-hairline);transition:background-color .24s var(--jl-ease-out);grid-template-columns:minmax(0,1fr);row-gap:18px;padding:24px 16px 18px;display:grid}.at-lane.is-lit{background:var(--jl-ice-wash)}.at-lane-q{z-index:2;min-height:28px;color:var(--jl-ink);font:500 var(--jl-t-body) / 24px var(--font-inter), sans-serif;text-align:left;-webkit-text-decoration:underline 1px var(--jl-hairline-strong);text-decoration:underline 1px var(--jl-hairline-strong);text-underline-offset:5px;cursor:pointer;transition:color .2s var(--jl-ease-out), text-decoration-color .2s var(--jl-ease-out);background:0 0;border:0;place-self:start;margin-left:20px;padding:2px 0;position:relative}.at-lane-q:hover{color:var(--jl-ice);-webkit-text-decoration-color:var(--jl-ice-dim);text-decoration-color:var(--jl-ice-dim)}.at-lane-q[aria-pressed=true]{-webkit-text-decoration-color:var(--jl-ice);text-decoration-color:var(--jl-ice)}.at-track{grid-template-columns:repeat(var(--at-columns,4), minmax(0, 1fr));column-gap:24px;margin:0;padding:0;list-style:none;display:grid}.at-track>li{min-width:0}.at-node{z-index:2;width:calc(100% + 8px);color:var(--jl-ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;grid-template-columns:10px minmax(0,1fr);align-content:start;align-items:start;gap:3px 10px;margin-left:-8px;padding:4px 0 6px 8px;display:grid;position:relative}.at-node-name{font:500 var(--jl-t-small) / 20px var(--font-inter), sans-serif;text-underline-offset:4px;transition:color .2s var(--jl-ease-out), text-decoration-color .2s var(--jl-ease-out);grid-area:1/2;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:1px}.at-node:hover .at-node-name{color:var(--jl-ice)}.at-node.is-selected .at-node-name{-webkit-text-decoration-color:var(--jl-ice);text-decoration-color:var(--jl-ice)}.at-node-meta{grid-column:2;justify-items:start;row-gap:2px;line-height:18px;display:grid}.at-node-date{font:400 var(--jl-t-caption) / 16px var(--font-mono), monospace;font-variant-numeric:tabular-nums;color:var(--jl-ink-subtle)}.at-node-sep{font:400 var(--jl-t-caption) / 16px var(--font-inter), sans-serif;color:var(--jl-ink-subtle);display:none}.at-node .at-node-tag{font-size:var(--jl-t-meta);line-height:18px}.at-dot{background:var(--jl-ice-dim);outline-offset:3px;width:10px;height:10px;transition:opacity .2s var(--jl-ease-out), background-color .2s var(--jl-ease-out), box-shadow .3s var(--jl-ease-out), outline-color .3s var(--jl-ease-out);border-radius:50%;outline:1.5px solid #0000;grid-area:1/1;margin-top:5px}.at-node.is-status .at-dot{box-shadow:inset 0 0 0 1.5px var(--jl-ice);background:0 0}.at-node.is-dim .at-dot{opacity:.4}.at-node:is(.is-focus,.is-near):not(.is-status) .at-dot{background:var(--jl-ice)}.at-node.is-status:is(.is-focus,.is-near) .at-dot{box-shadow:inset 0 0 0 1.5px var(--jl-ice-bright)}.at-node.is-selected .at-dot{outline-color:var(--jl-ice)}.at-node.is-selected:not(.is-status) .at-dot{background:var(--jl-ice-bright)}.at-edges{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.at-edge{fill:none;stroke:var(--jl-ice);stroke-width:1.5px;stroke-linecap:round;stroke-dasharray:1 2;opacity:0;transition:opacity .16s var(--jl-ease-out)}.at-edge.is-on{opacity:1;animation:at-draw .32s var(--jl-ease-out);transition:none}@keyframes at-draw{0%{stroke-dashoffset:var(--at-from,1)}}.at-foot{color:var(--jl-ink-muted);font:400 var(--jl-t-meta) / 20px var(--font-inter), sans-serif;font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:space-between;gap:8px 32px;margin-top:14px;padding-inline:16px;display:flex}.at-key{flex-wrap:wrap;gap:6px 28px;margin:0;padding:0;list-style:none;display:flex}.at-key li{text-wrap:balance;align-items:center;gap:10px;display:flex}.at-key-mark{background:var(--jl-ice-dim);border-radius:50%;flex:none;width:10px;height:10px}.at-key-mark.is-status{box-shadow:inset 0 0 0 1.5px var(--jl-ice);background:0 0}.at-order{margin:0}.at-order-narrow{display:none}.at-outcome{font:400 var(--jl-t-caption) / 16px var(--font-mono), monospace;font-variant-numeric:tabular-nums;color:var(--jl-ink)}.at-outcome.is-status{color:var(--jl-ink-subtle)}.at-outcome-kind{font:500 var(--jl-t-caption) / 16px var(--font-inter), sans-serif;letter-spacing:.01em;color:var(--jl-ink-subtle)}.at-outcome-sep{font-family:var(--font-inter), sans-serif;color:var(--jl-ink-subtle);margin-inline:2px}.at-detail{grid-template-columns:repeat(var(--at-columns,4), minmax(0, 1fr));align-items:start;column-gap:24px;min-height:335px;margin-top:44px;padding-inline:16px;display:grid}.at-detail-main{view-transition-name:at-detail-main;grid-column:1/3;min-width:0}.at-detail-more{view-transition-name:at-detail-more;grid-column:3/-1;min-width:0}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(at-detail-main){animation:at-leave .16s var(--jl-ease-out) both}::view-transition-old(at-detail-more){animation:at-leave .16s var(--jl-ease-out) both}::view-transition-new(at-detail-main){animation:at-enter .34s var(--jl-ease-out) 60ms both}::view-transition-new(at-detail-more){animation:at-enter .34s var(--jl-ease-out) 60ms both}::view-transition-new(at-detail-more){animation-delay:.12s}::view-transition-group(at-detail-main){animation-duration:.34s;animation-timing-function:var(--jl-ease-out)}::view-transition-group(at-detail-more){animation-duration:.34s;animation-timing-function:var(--jl-ease-out)}@keyframes at-leave{to{opacity:0;filter:blur(3px);transform:translateY(-8px)}}@keyframes at-enter{0%{opacity:0;filter:blur(3px);transform:translateY(12px)}}.at-title{font:500 var(--jl-t-title) / 1.15 var(--font-display), sans-serif;letter-spacing:-.035em;margin:0}.at-title a{color:var(--jl-ink);text-underline-offset:6px;transition:color .2s var(--jl-ease-out), text-decoration-color .2s var(--jl-ease-out);-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:1px}.at-title a:hover{color:var(--jl-ice);-webkit-text-decoration-color:var(--jl-ice-dim);text-decoration-color:var(--jl-ice-dim)}.at-meta{margin:8px 0 0}.at-question{max-width:34ch;color:var(--jl-ink);font:400 var(--jl-t-lead) / 1.4 var(--font-inter), sans-serif;text-wrap:pretty;margin:18px 0 0}.at-result{margin:12px 0 0}.at-result .at-outcome,.at-result .at-outcome-kind,.at-result .at-outcome-sep{font-size:var(--jl-t-meta);line-height:20px}.at-practice{max-width:52ch;color:var(--jl-ink-muted);font:400 var(--jl-t-body) / 1.6 var(--font-inter), sans-serif;margin:14px 0 0}.at-related>.jl-label{margin:0}.at-related ul{gap:12px;margin:8px 0 0;padding:0;list-style:none;display:grid}.at-related li{justify-items:start;gap:2px;display:grid}.at-rel{min-height:28px;color:var(--jl-ink);font:500 var(--jl-t-small) / 1.4 var(--font-inter), sans-serif;text-align:left;-webkit-text-decoration:underline 1px var(--jl-hairline-strong);text-decoration:underline 1px var(--jl-hairline-strong);text-underline-offset:4px;cursor:pointer;transition:color .2s var(--jl-ease-out), text-decoration-color .2s var(--jl-ease-out);background:0 0;border:0;padding:0}.at-rel:hover{color:var(--jl-ice);-webkit-text-decoration-color:var(--jl-ice-dim);text-decoration-color:var(--jl-ice-dim)}.at-reason{max-width:52ch;color:var(--jl-ink-muted);font:400 var(--jl-t-small) / 1.5 var(--font-inter), sans-serif}.at-actions{flex-wrap:wrap;column-gap:24px;margin:24px 0 0;display:flex}.at-actions .portfolio-text-link{font-size:var(--jl-t-body);gap:10px}.at-open{color:var(--jl-ink)}.at-discuss{color:var(--jl-ink-muted)}.at-discuss:hover svg{transform:translateY(2px)}@media (min-width:761px) and (max-width:1023px){.at-lane,.at-foot,.at-detail{padding-inline:8px}.at-track,.at-detail{column-gap:16px}}@media (min-width:1280px){.at-lane{grid-template-columns:216px minmax(0,1fr);column-gap:24px;padding:26px 16px 20px}.at-lane-q{margin-left:0}.at-detail{grid-template-columns:216px repeat(var(--at-columns,4), minmax(0, 1fr));min-height:335px}.at-detail-main{grid-column:1/4}.at-detail-more{grid-column:4/-1}}@media (max-width:760px){.at-edges{display:none}.at-lane{row-gap:4px;padding:12px 12px 14px}.at-lane-q{align-items:center;min-height:44px;display:inline-flex}.at-track{grid-template-columns:minmax(0,1fr)}.at-node{min-height:44px;padding-block:6px}.at-node-meta{display:block}.at-node-sep{display:inline}.at-foot{flex-direction:column;padding-inline:12px}.at-order-wide{display:none}.at-order-narrow{display:inline}.at-detail{min-height:0;margin-top:36px;padding-inline:0;display:block}.at-title a{align-items:center;min-height:44px;display:inline-flex}.at-related{margin-top:28px}.at-related ul{gap:10px;margin-top:2px}.at-related li{gap:0}.at-rel{min-height:44px}.at-actions{margin-top:20px}}@media (prefers-reduced-motion:reduce){.at-atlas :is(.at-lane,.at-lane-q,.at-edge,.at-dot,.at-node-name,.at-title a,.at-rel){transition:none}.at-atlas .at-edge{animation:none}}
.pb-section{--pb-gutter:96px;--pb-gap:32px;padding-top:var(--jl-section-gap)}.pb-intro{flex-direction:column;align-items:flex-start;display:flex}.pb-title{font:500 var(--jl-t-display-2) / 1.04 var(--font-display), sans-serif;letter-spacing:-.04em;color:var(--jl-ink);text-wrap:balance;margin:0}.pb-lead{font:400 var(--jl-t-lead) / 1.55 var(--font-inter), sans-serif;color:var(--jl-ink-muted);max-width:60ch;margin:clamp(20px,2vw,28px) 0 0}.pb-record-link{min-height:44px;font:500 var(--jl-t-small) / 1.4 var(--font-inter), sans-serif;color:var(--jl-ink);transition:color .2s var(--jl-ease-out);align-items:center;gap:8px;margin-top:8px;text-decoration:none;display:inline-flex}.pb-record-link svg{color:var(--jl-ice);transition:transform .3s var(--jl-ease-out)}.pb-record-link:hover{color:var(--jl-ice)}.pb-record-link:hover svg{transform:translate(2px,-2px)}.pb-lines{grid-template-columns:var(--pb-gutter) minmax(0, 1fr) minmax(220px, 300px);gap:8px var(--pb-gap);align-items:baseline;margin:clamp(36px,4vw,56px) 0 clamp(20px,2vw,28px);display:grid}.pb-route{font:400 var(--jl-t-small) / 1.5 var(--font-inter), sans-serif;color:var(--jl-ink-muted);grid-column:1/3;margin:0}.pb-doi-note{font:400 var(--jl-t-meta) / 1.5 var(--font-inter), sans-serif;color:var(--jl-ink-subtle);grid-column:3;margin:0}.pb-route-link{white-space:nowrap;color:var(--jl-ink);text-decoration:underline;-webkit-text-decoration-color:var(--jl-hairline-strong);text-decoration-color:var(--jl-hairline-strong);text-underline-offset:4px;transition:color .2s var(--jl-ease-out), text-decoration-color .2s var(--jl-ease-out);padding-block:6px;font-weight:500}.pb-route-link:hover{color:var(--jl-ice);-webkit-text-decoration-color:var(--jl-ice-dim);text-decoration-color:var(--jl-ice-dim)}.pb-list{border-bottom:1px solid var(--jl-hairline)}.pb-row{--pb-pad:26px;grid-template-columns:var(--pb-gutter) minmax(0, 1fr) minmax(220px, 300px);gap:0 var(--pb-gap);padding-block:var(--pb-pad);border-top:1px solid var(--jl-hairline);display:grid;position:relative}.pb-when{color:var(--jl-ink-muted);white-space:nowrap;margin:0;padding-top:5px}.pb-when--repeat{color:var(--jl-ink-subtle)}.pb-row:before{content:"";left:0;top:calc(var(--pb-pad) + 30px);background:var(--jl-ice);transform-origin:top;width:1px;transition:transform .6s var(--jl-ease-out);position:absolute;bottom:0;transform:scaleY(0)}.pb-row:focus-within:before{transform:scaleY(1)}.pb-body{min-width:0}.pb-name{font:500 var(--jl-t-lead) / 1.25 var(--font-display), sans-serif;letter-spacing:-.02em;color:var(--jl-ink);text-wrap:balance;margin:0}.pb-name a{color:inherit;transition:color .2s var(--jl-ease-out);padding-block:6px;text-decoration:none}.pb-name a:after{content:"";position:absolute;inset:0}.pb-name svg{vertical-align:-.06em;color:var(--jl-ice-dim);transition:transform .3s var(--jl-ease-out), color .2s var(--jl-ease-out);margin-left:8px;display:inline-block}.pb-name a:focus-visible{color:var(--jl-ice)}@media (hover:hover){.pb-row:hover:before{transform:scaleY(1)}.pb-row:hover .pb-name a{color:var(--jl-ice)}.pb-row:hover .pb-name svg{color:var(--jl-ice);transform:translate(2px,-2px)}.pb-row:hover .pb-name .lucide-arrow-right{transform:translate(3px)}}.pb-desc{font:400 var(--jl-t-body) / 1.6 var(--font-inter), sans-serif;color:var(--jl-ink-muted);max-width:68ch;margin:8px 0 0}.pb-releases{gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.pb-release{grid-template-columns:7.5rem minmax(0,1fr);align-items:baseline;gap:0 16px;display:grid}.pb-release p{margin:0}.pb-release-name{font:500 var(--jl-t-small) / 1.5 var(--font-inter), sans-serif;color:var(--jl-ink)}.pb-release-what{font:400 var(--jl-t-small) / 1.5 var(--font-inter), sans-serif;color:var(--jl-ink-muted)}.pb-release-doi{z-index:1;flex-wrap:wrap;grid-column:2;align-items:center;column-gap:20px;display:flex;position:relative}.pb-meta{z-index:1;pointer-events:none;flex-direction:column;align-items:flex-start;gap:6px;padding-top:3px;display:flex;position:relative}.pb-meta a,.pb-meta button{pointer-events:auto}:is(.pb-meta,.pb-release) .cp-button{min-height:32px;font-size:var(--jl-t-meta);background:0 0;border:0;padding:0}:is(.pb-meta,.pb-release) .cp-button:hover{color:var(--jl-ice);background:0 0}:is(.pb-meta,.pb-release) .cp-icon{color:var(--jl-ice-dim)}.pb-type{color:var(--jl-ink-muted);margin:0}.pb-source{flex-wrap:wrap;align-items:baseline;gap:8px 16px;margin:0;display:flex}.pb-doi-pair{align-items:baseline;column-gap:1ch;min-width:0;max-width:100%;display:inline-flex}.pb-doi,.pb-code{color:var(--jl-ink-muted);text-decoration:underline;-webkit-text-decoration-color:var(--jl-hairline-strong);text-decoration-color:var(--jl-hairline-strong);text-underline-offset:4px;transition:color .2s var(--jl-ease-out), text-decoration-color .2s var(--jl-ease-out)}.pb-doi{overflow-wrap:anywhere;padding-block:5px}.pb-doi:hover,.pb-code:hover{color:var(--jl-ice);-webkit-text-decoration-color:var(--jl-ice-dim);text-decoration-color:var(--jl-ice-dim)}.pb-code{min-height:32px;font:500 var(--jl-t-meta) / 1.4 var(--font-inter), sans-serif;align-items:center;gap:6px;text-decoration:none;display:inline-flex}.pb-code svg{color:var(--jl-ice-dim)}.pb-code:hover svg{color:var(--jl-ice)}.pb-toggle{display:none}.pb-more-summary{min-height:64px;padding-left:calc(var(--pb-gutter) + var(--pb-gap));border-top:1px solid var(--jl-hairline);font:500 var(--jl-t-body) / 1.4 var(--font-inter), sans-serif;color:var(--jl-ink);cursor:pointer;transition:color .2s var(--jl-ease-out);align-items:center;gap:12px;list-style:none;display:flex}.pb-more-summary::-webkit-details-marker{display:none}.pb-more-count{color:var(--jl-ink-muted)}.pb-more-summary svg{color:var(--jl-ice-dim);transition:transform .3s var(--jl-ease-out), color .2s var(--jl-ease-out);margin-left:auto}.pb-more-summary:hover,.pb-more-summary:hover svg{color:var(--jl-ice)}.pb-more[open] .pb-more-summary svg{transform:rotate(180deg)}.pb-more[open] .pb-more-count{visibility:hidden}.pb-writing{font:400 var(--jl-t-caption) / 1.5 var(--font-inter), sans-serif;color:var(--jl-ink-subtle);padding-top:20px;padding-left:calc(var(--pb-gutter) + var(--pb-gap));margin:0}.pb-writing a{color:var(--jl-ink-muted);transition:color .2s var(--jl-ease-out);align-items:center;gap:4px;margin-block:-4px;padding-block:4px;font-weight:500;text-decoration:none;display:inline-flex}.pb-writing svg{color:var(--jl-ice-dim);transition:transform .3s var(--jl-ease-out)}.pb-writing a:hover{color:var(--jl-ice)}.pb-writing a:hover svg{color:var(--jl-ice);transform:translate(2px,-2px)}.ab-section{padding-top:var(--jl-section-gap);grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start;gap:0 clamp(32px,4vw,64px);display:grid}.ab-marker,.ab-title,.ab-byline{grid-column:1/-1}.ab-title{font:500 var(--jl-t-display-2) / 1.06 var(--font-display), sans-serif;letter-spacing:-.04em;color:var(--jl-ink);text-wrap:balance;max-width:21ch;margin:0}.ab-byline{font:400 var(--jl-t-small) / 1.5 var(--font-inter), sans-serif;color:var(--jl-ink-subtle);margin:16px 0 0}.ab-statement,.ab-copy{align-self:baseline;margin-top:clamp(56px,6vw,88px)}.ab-arc-title{font:500 var(--jl-t-title) / 1.15 var(--font-display), sans-serif;letter-spacing:-.035em;color:var(--jl-ink);text-wrap:balance;margin:0}.ab-spine{margin:clamp(28px,3vw,40px) 0 0;padding:0;list-style:none}.ab-step{--ab-node:7.5px;padding:0 0 26px 30px;position:relative}.ab-step:last-child{padding-bottom:0}.ab-step--dated{--ab-node:4.5px}.ab-step:before{content:"";z-index:1;left:0;top:var(--ab-node);box-sizing:border-box;border:1px solid var(--jl-ink-subtle);background:var(--jl-canvas);border-radius:50%;width:9px;height:9px;position:absolute}.ab-step:not(:last-child):after{content:"";left:4px;top:calc(var(--ab-node) + 4px);background:var(--jl-hairline-strong);width:1px;position:absolute;bottom:-8px}.ab-step:has(+.ab-step--current):after{background:linear-gradient(var(--jl-hairline-strong), var(--jl-ice-dim))}.ab-step--current:before{border-color:var(--jl-ice-bright);background:var(--jl-ice);box-shadow:0 0 0 3px var(--jl-canvas), 0 0 0 4px var(--jl-ice-dim)}.ab-step p{margin:0}.ab-step .ab-step-when{margin-bottom:4px}.ab-step-what{font:500 var(--jl-t-body) / 1.5 var(--font-inter), sans-serif;color:var(--jl-ink)}.ab-step .ab-step-detail{font:400 var(--jl-t-body) / 1.6 var(--font-inter), sans-serif;color:var(--jl-ink-muted);max-width:54ch;margin-top:2px}.ab-link{white-space:nowrap;color:var(--jl-ink);text-decoration:underline;-webkit-text-decoration-color:var(--jl-hairline-strong);text-decoration-color:var(--jl-hairline-strong);text-underline-offset:4px;transition:color .2s var(--jl-ease-out), text-decoration-color .2s var(--jl-ease-out);padding-block:4px}.ab-link svg{vertical-align:-.1em;color:var(--jl-ice-dim);transition:transform .3s var(--jl-ease-out), color .2s var(--jl-ease-out);margin-left:3px;display:inline-block}.ab-link:hover{color:var(--jl-ice);-webkit-text-decoration-color:var(--jl-ice-dim);text-decoration-color:var(--jl-ice-dim)}.ab-link:hover svg{color:var(--jl-ice)}.ab-link:hover .lucide-arrow-down{transform:translateY(2px)}.ab-link:hover .lucide-arrow-right{transform:translate(2px)}.ab-span{font:400 var(--jl-t-small) / 1.6 var(--font-inter), sans-serif;color:var(--jl-ink-subtle);margin:32px 0 0;padding-left:30px}.ab-copy{max-width:620px}.ab-chapter{border-top:1px solid var(--jl-hairline);padding-block:22px;scroll-margin-top:0}.ab-chapter:first-child{border-top:0;padding-top:0}.ab-chapter:last-child{padding-bottom:0}.ab-chapter h3{font:500 var(--jl-t-lead) / 1.25 var(--font-display), sans-serif;letter-spacing:-.02em;color:var(--jl-ink);margin:0 0 10px}.ab-chapter p{font:400 var(--jl-t-body) / 1.7 var(--font-inter), sans-serif;color:var(--jl-ink-muted);max-width:62ch;margin:0}@media (max-width:1100px){.pb-section{--pb-gutter:80px;--pb-gap:24px}.pb-lines{grid-template-columns:minmax(0,1fr)}.pb-route,.pb-doi-note{grid-column:1}.pb-row{grid-template-columns:var(--pb-gutter) minmax(0, 1fr)}.pb-meta{flex-flow:wrap;grid-column:2;align-items:center;gap:4px 24px;padding-top:14px}}@media (max-width:900px){.ab-section{grid-template-columns:minmax(0,1fr)}.ab-copy{max-width:680px;margin-top:48px}.ab-chapter:first-child{border-top:1px solid var(--jl-hairline);padding-top:22px}}@media (max-width:760px){.pb-section{--pb-gap:16px}.pb-lines{gap:12px;margin:28px 0 24px}.pb-route{line-height:2.2}.pb-route-link{position:relative}.pb-route-link:after{content:"";position:absolute;inset:-8px -4px}.pb-row{--pb-pad:14px;grid-template-columns:minmax(0,1fr) auto 44px;grid-template-areas:"name when toggle""detail detail detail""meta meta meta";align-items:baseline;column-gap:12px}.pb-row:before{content:none}.pb-body{display:contents}.pb-name{grid-area:name}.pb-name a{margin-block:-11px;padding-block:11px;display:block}.pb-name a:after{content:none}.pb-name svg{margin-left:6px}.pb-when{text-align:right;grid-area:when;padding-top:0}.pb-detail{grid-area:detail}.pb-meta{grid-area:meta;gap:0 16px;padding-top:10px}.pb-toggle{width:44px;height:44px;color:var(--jl-ice-dim);cursor:pointer;transition:color .2s var(--jl-ease-out);background:0 0;border:0;border-radius:6px;grid-area:toggle;justify-content:center;align-self:start;align-items:center;margin-block:-11px;padding:0;display:inline-flex}.pb-toggle svg{transition:transform .3s var(--jl-ease-out)}.pb-toggle:hover{color:var(--jl-ice)}.pb-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.pb-type{flex-basis:100%}.pb-code,.pb-doi{min-height:44px}.pb-doi{align-items:center;padding-block:0;display:inline-flex}.pb-source{row-gap:0}.pb-releases{gap:14px}.pb-release{grid-template-columns:minmax(0,1fr)}.pb-release-doi{grid-column:1;margin-top:-6px}.pb-more-summary{min-height:56px;padding-left:0;padding-right:14px}.pb-writing{padding-top:16px;padding-left:0}.pb-writing a{min-height:44px;margin-block:-9px}.ab-byline{margin-top:12px}.ab-statement{margin-top:48px}.ab-copy{margin-top:40px}}@media (max-width:374px){.pb-row{grid-template-columns:minmax(0,1fr) 44px;grid-template-areas:"name toggle""when toggle""detail detail""meta meta"}.pb-when{text-align:left;margin-top:6px}}@media screen and (max-width:760px){.pb-row:not(.pb-row--open) :is(.pb-detail,.pb-meta){display:none}}@media (prefers-reduced-motion:reduce){.pb-row:before,.pb-name a,.pb-name svg,.pb-record-link svg,.pb-writing svg,.pb-more-summary svg,.pb-toggle svg,.ab-link svg{transition:none}}@media print{.pb-toggle{display:none}}
.ak-status{background:var(--jl-ice-wash);border-radius:6px;margin:4px 8px 6px;padding:10px 12px}.ak-head{font:500 var(--jl-t-small) / 1.4 var(--font-inter), sans-serif;color:var(--jl-ink);margin:0}.ak-note{font:400 var(--jl-t-meta) / 1.5 var(--font-inter), sans-serif;color:var(--jl-ink-subtle);margin:4px 0 0}.ak-p{font-size:var(--jl-t-meta);color:var(--jl-ice);margin-left:10px}.nv-pal-item.ak-item{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title icon""quote icon";align-items:start;gap:4px 12px;display:grid}.ak-title{font:500 var(--jl-t-small) / 1.4 var(--font-inter), sans-serif;color:var(--jl-ink);grid-area:title}.ak-quote{-webkit-line-clamp:3;font:400 var(--jl-t-meta) / 1.5 var(--font-inter), sans-serif;color:var(--jl-ink-muted);-webkit-box-orient:vertical;grid-area:quote;display:-webkit-box;overflow:hidden}.ak-icon{color:var(--jl-ice-dim);grid-area:icon;align-self:center}
.ct-section{--ct-gap:clamp(32px, 4vw, 64px);padding-block:var(--jl-section-gap)}.ct-grid{gap:0 var(--ct-gap);grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:last baseline;display:grid}.ct-title{font:500 var(--jl-t-display-2) / 1.04 var(--font-display), sans-serif;letter-spacing:-.04em;color:var(--jl-ink);text-wrap:balance;margin:0}.ct-lead{max-width:44ch;font:400 var(--jl-t-lead) / 1.5 var(--font-inter), sans-serif;color:var(--jl-ink-muted);text-wrap:pretty;margin:0}.ct-arrow{width:16px;height:16px;color:var(--jl-ice);transition:transform .35s var(--jl-ease-out);flex:none}a:hover>.ct-arrow-right{transform:translate(3px)}a:hover>.ct-arrow-up{transform:translateY(-3px)}a:hover>.ct-arrow-out{transform:translate(2px,-2px)}.ct-details{grid-column:1/-1;margin:clamp(48px,5vw,64px) 0 0}.ct-detail dd{margin:4px 0 0}.ct-elsewhere{flex-wrap:wrap;gap:0 24px;margin:0;padding:0;list-style:none;display:flex}.ct-elsewhere-link{min-height:44px;font:400 var(--jl-t-body) / 1.35 var(--font-inter), sans-serif;color:var(--jl-ink-muted);transition:color .2s var(--jl-ease-out);align-items:center;gap:6px;text-decoration:none;display:inline-flex}.ct-elsewhere-link:hover{color:var(--jl-ice)}.ct-elsewhere-link .ct-arrow{width:14px;height:14px}.ct-form{grid-column:1/-1;grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-template-columns:subgrid;row-gap:36px;margin-top:clamp(36px,4.5vw,56px);scroll-margin-top:24px;display:grid}.ct-field-label{font:400 var(--jl-t-small) / 1.4 var(--font-inter), sans-serif;color:var(--jl-ink-muted);display:block}.ct-optional{color:var(--jl-ink-subtle)}.ct-topics{grid-column:1/-1}.ct-options{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.ct-option{min-height:44px;font:400 var(--jl-t-body) / 1.35 var(--font-inter), sans-serif;text-align:left;color:var(--jl-ink-muted);border:1px solid var(--jl-control-edge);cursor:pointer;transition:color .2s var(--jl-ease-out), border-color .2s var(--jl-ease-out), background-color .2s var(--jl-ease-out);background:0 0;border-radius:6px;align-items:center;padding:10px 16px;scroll-margin-top:80px;display:inline-flex}.ct-option:hover{color:var(--jl-ink);border-color:var(--jl-ink-subtle)}.ct-option[aria-checked=true]{color:var(--jl-ice);background:var(--jl-ice-deep);border-color:var(--jl-ice-dim)}.ct-option>span{text-wrap:balance}.ct-nowrap{white-space:nowrap}.ct-col{flex-direction:column;gap:24px;min-width:0;display:flex}.ct-col-start{grid-column:1}.ct-col-end{grid-column:2;align-self:stretch}.ct-field-message{flex-direction:column;flex:1;display:flex}.ct-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.ct-input{width:100%;min-height:48px;font:400 var(--jl-t-body) / 1.45 var(--font-inter), sans-serif;color:var(--jl-ink);caret-color:var(--jl-ice);background:var(--jl-surface);border:1px solid var(--jl-control-edge);transition:border-color .2s var(--jl-ease-out);border-radius:6px;margin-top:10px;padding:12px 16px;display:block}.ct-input:hover{border-color:var(--jl-ink-subtle)}.ct-input:focus{border-color:var(--jl-ice)}.ct-input:read-only{color:var(--jl-ink-muted)}.ct-textarea{resize:vertical;flex:1 0 auto;min-height:148px}.ct-textarea[data-drafted]{border-color:var(--jl-ice);animation:ct-drafted 2.4s var(--jl-ease-out) infinite}@keyframes ct-drafted{0%,to{box-shadow:0 0 #0000}50%{box-shadow:0 0 0 4px var(--jl-ice-wash), 0 0 24px -4px var(--jl-ice-dim)}}@media (prefers-reduced-motion:reduce){.ct-textarea[data-drafted]{animation:none}}.ct-agent-note{font:500 var(--jl-t-meta) / 1.45 var(--font-inter), sans-serif;color:var(--jl-ice);margin-top:8px}.ct-agent-note:empty{display:none}.ct-form[aria-busy=true]{cursor:progress}.ct-gotcha{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ct-actions{grid-column:1/-1;grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-template-columns:subgrid;align-items:center;row-gap:12px;display:grid}.ct-send{flex-wrap:wrap;align-items:center;gap:8px 28px;display:flex}.ct-submit{cursor:pointer;gap:12px;min-width:164px}.ct-submit:hover{background:var(--jl-ice-bright)}.ct-form[aria-busy=true] .ct-submit{cursor:progress}.ct-submit-icon{width:16px;height:16px;transition:transform .35s var(--jl-ease-out)}.ct-submit:hover .ct-submit-icon{transform:translate(2px,-2px)}.ct-or{font:400 var(--jl-t-body) / 1.4 var(--font-inter), sans-serif;color:var(--jl-ink-muted);flex-wrap:wrap;align-items:center;column-gap:.45em;margin:0;display:flex}.ct-email{min-height:44px;color:var(--jl-ink);text-decoration:underline;-webkit-text-decoration-color:var(--jl-hairline-strong);text-decoration-color:var(--jl-hairline-strong);text-underline-offset:5px;transition:color .2s var(--jl-ease-out), text-decoration-color .2s var(--jl-ease-out);align-items:center;text-decoration-thickness:1px;display:inline-flex}.ct-email:hover{color:var(--jl-ice);-webkit-text-decoration-color:var(--jl-ice);text-decoration-color:var(--jl-ice)}.ct-reply-note{font:400 var(--jl-t-meta) / 1.5 var(--font-inter), sans-serif;color:var(--jl-ink-subtle);margin:0}.ct-status{font:400 var(--jl-t-body) / 1.5 var(--font-inter), sans-serif;color:var(--jl-ink);grid-column:1/-1;align-items:flex-start;gap:10px;margin:0;display:flex}.ct-status:empty{position:absolute}.ct-status-icon{width:18px;height:18px;color:var(--jl-ice);flex:none;margin-top:2px}.ct-status-link{color:var(--jl-ice);text-underline-offset:4px;text-decoration:underline}.ct-footer-inner{border-top:1px solid var(--jl-hairline);font:400 var(--jl-t-meta) / 1.45 var(--font-inter), sans-serif;color:var(--jl-ink-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 32px;padding-block:20px 36px;display:flex}.ct-footer-name{color:var(--jl-ink-muted);font-variant-numeric:tabular-nums}.ct-footer-end{flex-wrap:wrap;align-items:center;gap:4px 28px;display:flex}.ct-footer-links{gap:20px;display:flex}.ct-footer-link{min-height:44px;color:var(--jl-ink-muted);transition:color .2s var(--jl-ease-out);align-items:center;gap:6px;text-decoration:none;display:inline-flex}.ct-footer-link:hover{color:var(--jl-ice)}.ct-footer-link .ct-arrow{width:14px;height:14px}@media (max-width:1100px){.ct-pair{grid-template-columns:minmax(0,1fr)}}@media (max-width:900px){.ct-grid{grid-template-columns:minmax(0,1fr)}.ct-lead{margin-top:20px}.ct-form{row-gap:28px}.ct-form>*,.ct-actions>*{grid-column:1}}@media (max-width:760px){.ct-options{gap:8px}.ct-option{padding-inline:14px}.ct-submit{width:100%}.ct-send,.ct-actions{row-gap:4px}.ct-footer-inner{flex-direction:column;align-items:flex-start;padding-block:16px 28px}.ct-footer-end{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){.ct-arrow,.ct-submit-icon,.ct-option{transition:none}a:hover>.ct-arrow,.ct-submit:hover .ct-submit-icon{transform:none}}
.cs-page{padding-top:40px;padding-bottom:104px}.cs-grid{grid-template-columns:minmax(0,1fr);display:grid}.cs-grid>*{min-width:0}.cs-page .cs-back{color:var(--jl-ink-muted);justify-self:start;margin-bottom:28px}.cs-page .cs-back:hover,.cs-page .cs-next a:hover{color:var(--jl-ice)}.cs-page .cs-back:hover svg,.cs-page .cs-next a:first-child:hover svg{transform:translate(-3px)}.cs-page .cs-title{font:500 var(--jl-t-display-2) / 1.04 var(--font-display), sans-serif;letter-spacing:-.04em;color:var(--jl-ink);text-wrap:balance;max-width:20ch}.cs-page .cs-deck{max-width:56ch;font-size:var(--jl-t-lead);color:var(--jl-ink-muted);margin-top:24px;line-height:1.55}.cs-page .cs-byline{flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-top:20px;display:flex}.cs-byline-name{font:500 var(--jl-t-body) / 1.4 var(--font-inter), sans-serif;color:var(--jl-ink);margin-right:4px}.cs-byline-sep{color:var(--jl-ink-subtle)}.cs-result{border-top:1px solid var(--jl-hairline-strong);margin-top:44px;padding-top:20px}.cs-page .cs-result-text{max-width:36em;font:400 var(--jl-t-lead) / 1.5 var(--font-inter), sans-serif;letter-spacing:-.01em;color:var(--jl-ink);text-wrap:pretty;margin-top:10px}.cs-page .cs-practice-label{margin-top:24px}.cs-page .cs-practice{max-width:40em;font-size:var(--jl-t-body);color:var(--jl-ink-muted);margin-top:6px;line-height:1.65}.cs-receipt{border-top:1px solid var(--jl-hairline-strong);margin-top:36px}.cs-receipt dl>div{border-bottom:1px solid var(--jl-hairline);grid-template-columns:6.5rem minmax(0,1fr);gap:12px;padding-block:12px;display:grid}.cs-receipt dd{min-width:0;color:var(--jl-ink-muted)}.cs-receipt-file{white-space:nowrap;color:var(--jl-ink);text-decoration:underline;-webkit-text-decoration-color:var(--jl-hairline-strong);text-decoration-color:var(--jl-hairline-strong);text-underline-offset:4px;transition:color .16s var(--jl-ease-out), text-decoration-color .16s var(--jl-ease-out);display:inline}.cs-receipt-file svg{vertical-align:-2px;color:var(--jl-ice);margin-left:6px;display:inline-block}.cs-receipt-release{font-size:var(--jl-t-small)}.cs-receipt-file:hover{color:var(--jl-ice);text-decoration-color:currentColor}.cs-receipt-code{font:inherit;white-space:pre-wrap;gap:6px;margin:0;display:grid}.cs-receipt-code code,.cs-receipt-output{text-indent:-2ch;overflow-wrap:anywhere;font:inherit;color:var(--jl-ink);padding-left:2ch;display:block}.cs-receipt-output{color:var(--jl-ink-muted)}.cs-receipt-differs{color:var(--jl-coral)}.cs-receipt-word{text-indent:-2ch;max-width:100%;padding-left:2ch;display:inline-block}.cs-receipt-glue{white-space:nowrap}.cs-card{border:1px solid var(--jl-hairline);scrollbar-width:thin;scrollbar-color:var(--jl-hairline-strong) transparent;border-radius:14px;padding:20px;container-type:inline-size}.cs-facts{gap:12px;display:grid}.cs-facts dd{font:400 var(--jl-t-small) / 1.45 var(--font-inter), sans-serif;color:var(--jl-ink);margin-top:4px}.cs-facts dd.jl-data{font:400 var(--jl-t-caption) / 1.6 var(--font-mono), monospace;font-variant-numeric:tabular-nums;color:var(--jl-ink-muted)}.cs-nowrap{white-space:nowrap}.cs-facts dd.cs-build{font-size:var(--jl-t-meta);color:var(--jl-ink-muted);text-wrap:pretty;line-height:1.5}.cs-page .cs-question{color:var(--jl-ink);text-decoration:underline;-webkit-text-decoration-color:var(--jl-hairline-strong);text-decoration-color:var(--jl-hairline-strong);text-underline-offset:4px;transition:color .16s var(--jl-ease-out), text-decoration-color .16s var(--jl-ease-out);font-weight:500}.cs-page .cs-question:hover{color:var(--jl-ice);text-decoration-color:currentColor}.cs-actions{margin-top:20px}.cs-page .cs-primary{min-height:48px}@container (max-width:420px){.cs-page .cs-primary{width:100%;display:flex}}.cs-routes{margin-top:14px}.cs-routes li{border-top:1px solid var(--jl-hairline)}.cs-page .cs-routes a{min-height:44px;font:500 var(--jl-t-small) / 1.35 var(--font-inter), sans-serif;color:var(--jl-ink);transition:color .16s var(--jl-ease-out);justify-content:space-between;align-items:center;gap:12px;padding-block:10px;text-decoration:none;display:flex}.cs-routes svg{color:var(--jl-ice);transition:transform .2s var(--jl-ease-out);flex-shrink:0}.cs-page .cs-routes a:hover{color:var(--jl-ice)}.cs-routes a[target=_blank]:hover svg{transform:translate(2px,-2px)}.cs-routes a:not([target]):hover svg{transform:translate(3px)}.cs-author{border-top:1px solid var(--jl-hairline);padding-top:16px}.cs-page .cs-author-name{font:500 var(--jl-t-small) / 1.4 var(--font-inter), sans-serif;color:var(--jl-ink)}.cs-page .cs-author-line{font-size:var(--jl-t-meta);color:var(--jl-ink-subtle);margin-top:4px;line-height:1.55}.cs-page .cs-author-link{font-size:var(--jl-t-small);color:var(--jl-ink-muted);gap:10px;margin-top:2px}.cs-page .cs-author-link:hover{color:var(--jl-ice)}.cs-index{border-top:1px solid var(--jl-hairline);padding-block:16px}.cs-index-body{margin-top:8px;padding-left:16px;position:relative}.cs-index-track{background:var(--jl-hairline);width:1px;position:absolute;inset:0 auto 0 0}.cs-index-track:after{content:"";background:var(--jl-ice);transform:scaleY(var(--cs-progress,0));transform-origin:top;transition:transform .52s var(--jl-ease-out);position:absolute;inset:0}.cs-index a{min-height:30px;font:400 var(--jl-t-small) / 1.3 var(--font-inter), sans-serif;color:var(--jl-ink-subtle);transition:color .16s var(--jl-ease-out);align-items:center;text-decoration:none;display:flex}.cs-index a:hover{color:var(--jl-ink)}.cs-index a[aria-current=location]{color:var(--jl-ink);font-weight:500}.cs-body{grid-template-columns:minmax(0,1fr);row-gap:56px;margin-top:64px;display:grid}.cs-body>*{min-width:0}.cs-section{scroll-margin-top:calc(var(--jl-header-h) + 32px)}.cs-body .cs-h2{font:500 var(--jl-t-title) / 1.2 var(--font-display), sans-serif;letter-spacing:-.035em;color:var(--jl-ink);margin-bottom:14px}.cs-body .cs-section p{font-size:var(--jl-t-body);color:var(--jl-ink-muted);line-height:1.75}.cs-page .cs-inline-link{color:var(--jl-ink);text-decoration:underline;-webkit-text-decoration-color:var(--jl-hairline-strong);text-decoration-color:var(--jl-hairline-strong);text-underline-offset:4px;white-space:nowrap;transition:color .16s var(--jl-ease-out), text-decoration-color .16s var(--jl-ease-out);align-items:center;gap:6px;display:inline-flex}.cs-inline-link svg{color:var(--jl-ice);transition:transform .2s var(--jl-ease-out)}.cs-page .cs-inline-link:hover{color:var(--jl-ice);text-decoration-color:currentColor}.cs-inline-link:hover svg{transform:translate(3px)}.cs-body .cs-ruled{border-top:1px solid var(--jl-hairline-strong);padding-top:28px}.cs-body .cs-repo{justify-self:start;margin-top:-24px}.cs-plate figcaption,.cs-art figcaption{max-width:68ch;font-size:var(--jl-t-meta);color:var(--jl-ink-subtle);margin-top:12px;line-height:1.55}.cs-plate figcaption a{color:var(--jl-ink-muted);text-decoration:underline;-webkit-text-decoration-color:var(--jl-hairline-strong);text-decoration-color:var(--jl-hairline-strong);text-underline-offset:3px;align-items:center;gap:4px;display:inline-flex}.cs-plate figcaption a:hover,.cs-plate figcaption svg{color:var(--jl-ice)}.cs-exhibit{min-width:0}.cs-exhibit .ex-rx{padding:clamp(16px,2.4vw,28px)}.cs-shadow{border:1px solid var(--jl-hairline);background:var(--jl-procedure);perspective:650px;border-radius:14px;place-items:center;height:300px;display:grid;position:relative;overflow:hidden}.cs-sheet{border:1px solid color-mix(in srgb, var(--jl-procedure-ink) 78%, transparent);background:linear-gradient(145deg, color-mix(in srgb, var(--jl-procedure-ink) 30%, transparent), color-mix(in srgb, var(--jl-procedure-ink) 12%, transparent));border-radius:12px;width:170px;height:155px;position:absolute;transform:rotateX(50deg)rotate(-30deg)}.cs-sheet-1{opacity:.65;margin-top:-80px}.cs-sheet-3{background:0 0;border-style:dashed;margin-top:80px}.cs-shadow>b{background:var(--jl-procedure);font:400 var(--jl-t-caption) / 1 var(--font-inter), sans-serif;color:var(--jl-procedure-ink);border-radius:4px;padding:3px 6px;position:absolute}.cs-shadow-top{background:0 0;top:52px;left:calc(50% - 150px)}.cs-shadow-bottom{bottom:40px;left:calc(50% + 40px)}.cs-reading{border:1px solid var(--jl-hairline);border-radius:12px;margin-top:4px;padding:24px}.cs-reading-note{font-size:var(--jl-t-meta);color:var(--jl-ink-subtle);line-height:1.5}.cs-reading dl{margin-top:16px;display:grid}.cs-reading dl>div{border-top:1px solid var(--jl-hairline);grid-template-columns:11rem minmax(0,1fr);gap:20px;padding-block:16px;display:grid}.cs-reading dl>div:last-child{padding-bottom:0}.cs-reading dt{padding-top:3px}.cs-value{font:500 var(--jl-t-lead) / 1.3 var(--font-display), sans-serif;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--jl-ink);display:block}.cs-value.cs-differs{color:var(--jl-coral)}.cs-reading dd>span{font-size:var(--jl-t-small);color:var(--jl-ink-muted);margin-top:6px;line-height:1.6;display:block}.cs-body .cs-h3{font:500 var(--jl-t-lead) / 1.3 var(--font-display), sans-serif;letter-spacing:-.02em;color:var(--jl-ink);margin-top:36px}.cs-evidence-links{margin-top:12px}.cs-evidence-links li{border-top:1px solid var(--jl-hairline);padding-block:10px 16px}.cs-evidence-links a{min-height:44px;font:500 var(--jl-t-body) / 1.3 var(--font-inter), sans-serif;color:var(--jl-ink);align-items:center;text-decoration:none;display:inline-flex}.cs-evidence-links a>span{align-items:center;gap:10px;display:inline-flex}.cs-evidence-links a:hover{color:var(--jl-ice)}.cs-evidence-links svg{color:var(--jl-ice);transition:transform .2s var(--jl-ease-out);flex-shrink:0}.cs-evidence-links a:hover svg{transform:translate(3px,-2px)}.cs-body .cs-evidence-links p{font-size:var(--jl-t-small);color:var(--jl-ink-subtle);line-height:1.6}.cs-related{border-top:1px solid var(--jl-hairline);margin-top:120px;padding-top:48px}.cs-page .cs-related-title{font:500 var(--jl-t-display-3) / 1.1 var(--font-display), sans-serif;letter-spacing:-.035em;color:var(--jl-ink);margin-bottom:28px}.cs-related ul{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:56px;display:grid}.cs-related li{border-top:1px solid var(--jl-hairline)}.cs-related a{color:var(--jl-ink);padding-block:22px 26px;text-decoration:none;display:block}.cs-related-name{font:500 var(--jl-t-lead) / 1.25 var(--font-display), sans-serif;letter-spacing:-.025em;transition:color .16s var(--jl-ease-out);align-items:center;gap:10px;display:flex}.cs-related-name svg{color:var(--jl-ice);transition:transform .2s var(--jl-ease-out);flex-shrink:0}.cs-related a:hover .cs-related-name{color:var(--jl-ice)}.cs-related a:hover svg{transform:translate(3px)}.cs-related-reason{max-width:52ch;font-size:var(--jl-t-body);color:var(--jl-ink-muted);margin-top:8px;line-height:1.65;display:block}.cs-next{border-top:1px solid var(--jl-hairline);flex-wrap:wrap;justify-content:space-between;gap:8px 32px;margin-top:40px;padding-top:20px;display:flex}.cs-page .cs-next a{color:var(--jl-ink-muted)}@media (min-width:1100px){.cs-grid{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:32px}.cs-page .cs-back{grid-area:1/1/auto/-1}.cs-header{grid-area:2/4/auto/13}.cs-result{grid-area:3/4/auto/10}.cs-receipt{grid-area:3/10/auto/13;align-self:start;margin-top:44px}.cs-rail{grid-area:2/1/5/4}.cs-card{top:calc(var(--jl-header-h) + 24px);max-height:calc(100vh - var(--jl-header-h) - 48px);position:sticky;overflow:auto}.cs-page .cs-routes a{min-height:40px;padding-block:8px}.cs-page .cs-author-link{min-height:36px}.cs-body{grid-area:4/4/auto/13;grid-template-columns:subgrid}.cs-body>*{grid-column:1/7}.cs-body>.cs-exhibit,.cs-body>.cs-art,.cs-body>.cs-plate{grid-column:1/-1}.cs-body>.cs-art.cs-pf{grid-column:1/7}.cs-receipt dl>div{grid-template-columns:minmax(0,1fr);gap:4px}.cs-body>.cs-evidence{grid-column:1/-1;grid-template-columns:subgrid;align-items:start;display:grid}.cs-evidence>*{grid-column:1/7}.cs-evidence>.cs-evidence-aside{grid-area:1/7/span 2/10}.cs-evidence-aside .cs-h3{font-size:var(--jl-t-small);font-family:var(--font-inter), sans-serif;letter-spacing:0;color:var(--jl-ink-subtle);margin-top:6px}.cs-evidence-aside .cs-evidence-links a{font-size:var(--jl-t-small)}}@media (min-width:1100px) and (max-width:1279px){.cs-result,.cs-receipt{grid-column:4/11}.cs-receipt{grid-row:4;margin-top:36px}.cs-receipt dl>div{grid-template-columns:6.5rem minmax(0,1fr);gap:12px}.cs-rail{grid-row:2/6}.cs-body{grid-row:5}.cs-card{padding:18px}.cs-page .cs-primary{gap:12px;padding-inline:14px}.cs-evidence>.cs-evidence-aside{grid-area:auto/1/auto/7;margin-top:36px}}@media (max-width:1099px){.cs-rail{max-width:68ch;margin-top:40px}.cs-index{display:none}.cs-facts{grid-template-columns:minmax(0,1fr) minmax(0,2fr);column-gap:20px}.cs-body{margin-top:64px}.cs-receipt{margin-top:56px}.cs-body>.cs-section,.cs-receipt,.cs-result{max-width:68ch}}@media (max-width:760px){.cs-page{padding-top:20px;padding-bottom:72px}.cs-page .cs-back{margin-bottom:16px}.cs-page .cs-deck{margin-top:18px}.cs-byline-sep{display:none}.cs-byline>.jl-data{flex-basis:100%}.cs-result{margin-top:32px}.cs-receipt dl>div{grid-template-columns:minmax(0,1fr);gap:4px}.cs-receipt-file{position:relative}.cs-receipt-file:after{content:"";position:absolute;inset:-14px -6px}.cs-plate figcaption a{width:fit-content;min-height:44px;display:flex}.cs-rail{margin-top:32px}.cs-card{padding:20px}.cs-facts{grid-template-columns:minmax(0,1fr)}.cs-question,.cs-inline-link{position:relative}.cs-question:after,.cs-inline-link:after{content:"";position:absolute;inset:-12px -6px}.cs-receipt{margin-top:48px}.cs-body{row-gap:44px;margin-top:48px}.cs-shadow{height:260px}.cs-shadow-top{left:20px}.cs-shadow-bottom{left:auto;right:20px}.cs-reading{padding:18px}.cs-reading dl>div{grid-template-columns:minmax(0,1fr);gap:6px}.cs-related{margin-top:80px;padding-top:36px}.cs-related ul{grid-template-columns:minmax(0,1fr)}.cs-next{flex-direction:column}}@media (prefers-reduced-motion:reduce){.cs-index-track:after,.cs-index a,.cs-related-name,.cs-related-name svg,.cs-evidence-links svg,.cs-receipt-file,.cs-page .cs-question,.cs-page .cs-inline-link,.cs-inline-link svg,.cs-page .cs-routes a,.cs-routes svg,.cs-pf-switch,.cs-pf-track,.cs-pf-track:after,.cs-pf-wire,.cs-pf-verdict{transition:none}}.cs-pf{container-type:inline-size}.cs-pf-frame{border:1px solid var(--jl-hairline);background:var(--jl-scaffold);border-radius:14px;grid-template-columns:minmax(0,1fr) 64px minmax(0,.8fr);grid-template-areas:"pack.gate""list wires readout";row-gap:10px;padding:22px 24px 24px 12px;display:grid}.cs-pf-pack-label{grid-area:pack;padding-left:12px}.cs-pf-gate-label{grid-area:gate}.cs-pf-list{grid-area:list;display:grid}.cs-pf-switch{height:48px;font:500 var(--jl-t-body) / 1.2 var(--font-inter), sans-serif;color:var(--jl-ink);text-align:left;cursor:pointer;transition:background-color .16s var(--jl-ease-out);background:0 0;border:0;border-radius:6px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;column-gap:12px;padding:0 12px;display:grid}@media (hover:hover){.cs-pf-switch:hover{background:var(--jl-ice-wash)}}.cs-pf-track{border:1px solid var(--jl-control-edge);width:34px;height:20px;transition:border-color .2s var(--jl-ease-out), background-color .2s var(--jl-ease-out);border-radius:6px;position:relative}.cs-pf-track:after{content:"";background:var(--jl-ink-subtle);width:12px;height:12px;transition:transform .24s var(--jl-ease-out), background-color .2s var(--jl-ease-out);border-radius:4px;position:absolute;top:3px;left:3px}.cs-pf-switch[aria-checked=true] .cs-pf-track{border-color:var(--jl-ice);background:var(--jl-ice-deep)}.cs-pf-switch[aria-checked=true] .cs-pf-track:after{background:var(--jl-ice);transform:translate(14px)}.cs-pf-switch[aria-checked=false] .cs-pf-name{color:var(--jl-ink-muted)}.cs-pf-value{font:400 var(--jl-t-caption) / 1.5 var(--font-mono), monospace;color:var(--jl-ink-subtle)}.cs-pf-wires{grid-area:wires;width:64px;height:192px;overflow:visible}.cs-pf-wire{stroke:var(--jl-ice-dim);stroke-width:1.5px;transition:stroke .2s var(--jl-ease-out)}.cs-pf-wire-off{stroke:var(--jl-hairline-strong);stroke-dasharray:3 4}.cs-pf-frame[data-state=pass] .cs-pf-out{stroke:var(--jl-ice)}.cs-pf-frame[data-state=hold] .cs-pf-out{stroke:var(--jl-coral);stroke-dasharray:3 4}.cs-pf-readout{border:1px solid var(--jl-hairline-strong);border-radius:12px;grid-area:readout;align-self:center;padding:16px 18px 18px}.cs-page .cs-pf-verdict{font:500 var(--jl-t-title) / 1 var(--font-mono), monospace;letter-spacing:.04em;color:var(--jl-ice);transition:color .2s var(--jl-ease-out)}.cs-pf-frame[data-state=hold] .cs-pf-verdict{color:var(--jl-coral)}.cs-page .cs-pf-note{font-size:var(--jl-t-small);color:var(--jl-ink-muted);margin-top:10px;line-height:1.5}@container (max-width:519px){.cs-pf-frame{grid-template-columns:minmax(0,1fr);grid-template-areas:"pack""list""gate""readout";padding:18px 12px 12px}.cs-pf-wires{display:none}.cs-pf-gate-label{border-top:1px solid var(--jl-hairline);margin-top:10px;padding:16px 12px 0}.cs-pf-readout{border:0;padding:2px 12px 8px}}.cs-exhibit-floor{--st-floor-bar:var(--jl-ice-dim);--st-floor-tick-edge:var(--jl-canvas)}
