.nav > li:has(> a[href*="doc/dynamical-behavior"]:not([aria-current])),
.nav > li:has(> a[href*="doc/signal-processing-system"]:not([aria-current])),
.nav > li:has(> a[href*="doc/machine-learning-the-complete"]:not([aria-current])),
.nav > li:has(> a[href*="probability-statistics.html"]:not([aria-current])),
.nav > li:has(> a[href*="python-programming.html"]:not([aria-current])),
.nav > li:has(> a[href*="communication.html"]:not([aria-current])){display:none}
[data-bp="open"] .nav > li > a:not([aria-current]) .nav__s{display:none}
[data-bp="open"] .id__pic{width:52px;height:52px;margin-bottom:8px}
[data-bp="open"] .id{padding-top:14px;padding-bottom:12px;min-height:0}
[data-bp="open"] .nav > li > a{min-height:32px;padding-top:5px;padding-bottom:5px}
[data-bp="open"] .nav .nav__sub a{min-height:28px;padding-top:4px;padding-bottom:4px}
@media (max-height:860px){ .id{padding-top:14px;padding-bottom:10px} }
.inlink{position:relative;color:var(--link);text-decoration:underline;
  text-decoration-thickness:1px;text-underline-offset:4px;
  background:linear-gradient(var(--wash),var(--wash)) no-repeat left/0% 100%;
  border-radius:3px;padding:0 2px;margin:0 -2px;
  transition:background-size 360ms cubic-bezier(.2,.8,.2,1),color 200ms}
@media (hover:hover){.inlink:hover{background-size:100% 100%;color:var(--accent);
  text-decoration-color:var(--accent)}}
.inlink:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.inlink{transition:none}}
.rv{opacity:0;transform:translateY(12px);transition:opacity 520ms cubic-bezier(.2,.8,.2,1),transform 620ms cubic-bezier(.2,.8,.2,1)}
.rv.in{opacity:1;transform:none}
@media print{.rv{opacity:1!important;transform:none!important}}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400 600;font-display:swap;
  src:url(fonts/source-serif-4-latin.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,
    U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400 600;font-display:swap;
  src:url(fonts/source-serif-4-latin-ext.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,
    U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,
    U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400 600;font-display:swap;
  src:url(fonts/source-serif-4-greek.woff2) format("woff2");
  unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400 600;font-display:swap;
  src:url(fonts/source-sans-3-latin.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,
    U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400 600;font-display:swap;
  src:url(fonts/source-sans-3-latin-ext.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,
    U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,
    U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Source Serif 4 Fallback";font-style:normal;font-weight:400;
  src:local("Georgia");size-adjust:100.6%;
  ascent-override:102.98%;descent-override:33.3%;line-gap-override:0%}
@font-face{font-family:"Source Serif 4 Fallback";font-style:normal;font-weight:600 700;
  src:local("Georgia Bold"),local("Georgia-Bold");size-adjust:85.6%;
  ascent-override:112.05%;descent-override:48.12%;line-gap-override:0%}
@font-face{font-family:"Source Sans 3 Fallback";font-style:normal;font-weight:400;
  src:local("Segoe UI"),local("SegoeUI");size-adjust:94%;
  ascent-override:108.94%;descent-override:42.55%;line-gap-override:0%}
@font-face{font-family:"Source Sans 3 Fallback";font-style:normal;font-weight:600;
  src:local("Segoe UI Semibold"),local("SegoeUI-Semibold");size-adjust:94%;
  ascent-override:108.94%;descent-override:42.55%;line-gap-override:0%}
:root{
  --page:#FBF9F6;
  --surface:#F6F3EF;
  --card:#F2EFE9;
  --wash:#FEEBDB;
  --rule:#E5E1DB;
  --line:#D7D2CA;
  --line-strong:#8A857C;
  --soft:var(--surface);
  --ink:#27221C;
  --body:#544F48;
  --muted:#6F6A64;
  --nav:#043052;
  --nav-hover:#104169;
  --nav-2:var(--nav-hover);
  --nav-press:#002341;
  --nav-deep:#001C35;
  --nav-ink:#FFFFFF;
  --nav-mute:#C3CDD5;
  --nav-rule:rgba(255,255,255,.14);
  --accent:#A5510B;
  --accent-2:#E7813B;
  --accent-on-nav:var(--accent-2);
  --accent-hover:#904607;
  --accent-press:#7B3D0C;
  --active:var(--accent);
  --btn-fg:#FFFFFF;
  --link:#095A94;
  --link-hover:#004170;
  --focus:var(--nav);
  --serif:"Source Serif 4","Source Serif 4 Fallback",Georgia,Cambria,"Times New Roman",serif;
  --sans:"Source Sans 3","Source Sans 3 Fallback","Segoe UI",system-ui,-apple-system,sans-serif;
  --lh:1.50;
  --measure:608px;
  --measure-wide:720px;
  --measure-fig:924px;
  --measure-doc:672px;
  --side:240px;
  --id-h:262px;
  --pic:108px;
  --fold-top:36px;
  --r-sm:8px; --r-md:8px; --r-lg:8px; --r-pill:999px;
  --sh-1:0 1px 2px rgba(39,34,28,.04);
  --sh-2:0 1px 2px rgba(39,34,28,.04), 0 8px 24px rgba(39,34,28,.06);
  --sh-3:0 2px 4px rgba(39,34,28,.05), 0 16px 40px rgba(39,34,28,.08);
  --ease:cubic-bezier(.2,.8,.2,1);
  --ease-in-out:cubic-bezier(.4,0,.2,1);
  --ease-state:cubic-bezier(.2,0,.38,.9);
  --t-quick:120ms; --t-fast:160ms; --t-mid:240ms; --t-slow:420ms;
  --t-draw:360ms;
}
@media (min-width:650px){ :root{ --lh:1.55 } }
@media (min-width:1200px){ :root{ --lh:1.60 } }
:root:not([data-theme="light"]){ @media (prefers-color-scheme: dark){
  --page:#13110F; --surface:#1E1B18; --card:#272420; --wash:#322218;
  --rule:#322E2A; --line:#423E38; --line-strong:#7B756E; --soft:var(--surface);
  --ink:#EBE7E2; --body:#C1BDB7; --muted:#928E88;
  --nav:#12304A; --nav-hover:#1D4161; --nav-2:var(--nav-hover);
  --nav-press:#0B243A; --nav-deep:#081C2F;
  --nav-ink:#FFFFFF; --nav-mute:#C6CDD4; --nav-rule:rgba(255,255,255,.16);
  --accent:#F09458; --accent-2:#FDA670; --accent-on-nav:var(--accent-2);
  --accent-hover:#FFA971; --accent-press:#DA8249; --active:var(--accent);
  --btn-fg:#13110F;
  --link:#69A5DE; --link-hover:#90C1F1;
  --focus:var(--link);
  --sh-1:0 1px 2px rgba(0,0,0,.35);
  --sh-2:0 2px 4px rgba(0,0,0,.30), 0 10px 28px rgba(0,0,0,.40);
  --sh-3:0 3px 6px rgba(0,0,0,.35), 0 18px 44px rgba(0,0,0,.48);
}}
:root[data-theme="dark"]{
  --page:#13110F; --surface:#1E1B18; --card:#272420; --wash:#322218;
  --rule:#322E2A; --line:#423E38; --line-strong:#7B756E; --soft:var(--surface);
  --ink:#EBE7E2; --body:#C1BDB7; --muted:#928E88;
  --nav:#12304A; --nav-hover:#1D4161; --nav-2:var(--nav-hover);
  --nav-press:#0B243A; --nav-deep:#081C2F;
  --nav-ink:#FFFFFF; --nav-mute:#C6CDD4; --nav-rule:rgba(255,255,255,.16);
  --accent:#F09458; --accent-2:#FDA670; --accent-on-nav:var(--accent-2);
  --accent-hover:#FFA971; --accent-press:#DA8249; --active:var(--accent);
  --btn-fg:#13110F;
  --link:#69A5DE; --link-hover:#90C1F1;
  --focus:var(--link);
  --sh-1:0 1px 2px rgba(0,0,0,.35);
  --sh-2:0 2px 4px rgba(0,0,0,.30), 0 10px 28px rgba(0,0,0,.40);
  --sh-3:0 3px 6px rgba(0,0,0,.35), 0 18px 44px rgba(0,0,0,.48);
}
body{
  font-family:var(--serif);
  font-size:19px;
  line-height:var(--lh);
  font-optical-sizing:auto;
  font-variant-numeric:oldstyle-nums proportional-nums;
  -webkit-font-smoothing:auto;
  text-rendering:optimizeLegibility;
}
p,li,blockquote{text-wrap:pretty}
.col,.doc,.lede,.introlist{overflow-wrap:break-word}
h1{font:600 clamp(32px,3.4vw,40px)/1.12 var(--serif);letter-spacing:-.014em;
  color:var(--ink);margin:0 0 18px;text-wrap:balance}
h2{font:600 28px/1.22 var(--serif);letter-spacing:-.009em;color:var(--ink);
  margin:47px 0 21px;text-wrap:balance}
h3{font:600 23px/1.30 var(--serif);letter-spacing:-.004em;color:var(--ink);
  margin:34px 0 14px;text-wrap:balance}
h4{font:600 19px/1.35 var(--serif);color:var(--ink);margin:28px 0 10px;text-wrap:balance}
.lede{font-size:21px;line-height:1.52;letter-spacing:-.004em;color:var(--body)}
th{font:600 12px/1.35 var(--sans);letter-spacing:.09em;text-transform:uppercase;
  color:var(--muted);background:none;border-color:var(--rule)}
td{font-size:15px;line-height:1.45;border-color:var(--rule)}
th,td{font-variant-numeric:lining-nums tabular-nums}
figcaption{font-size:16px;line-height:1.5;color:var(--muted)}
.foot{font-size:14px}
.pending__tag{font-family:var(--sans)}
.stats b,.tl time{font-variant-numeric:lining-nums proportional-nums}
.tl time{font-family:var(--sans);font-size:14px;letter-spacing:.01em}
sup,sub{line-height:0}
.soon,.dl.off,.find em,.doc .ink-m{font-style:normal;color:var(--muted)}
.col,.lede,.introlist,.pending,.toc{max-width:var(--measure)}
.rows,.tl,.doc .docrule,figure,.callout{max-width:var(--measure-wide)}
.stats span{max-width:200px}
.side{width:var(--side);background:var(--page);border-right:0}
.id__pic{display:block;width:var(--pic);height:var(--pic);margin:0 auto 14px;
  box-shadow:0 0 0 3px var(--page),0 0 0 4px color-mix(in oklab,var(--ink) 14%,transparent);
  border-radius:50%;background:var(--card);
  outline:1px solid color-mix(in oklab,var(--ink) 10%,transparent);outline-offset:-1px}
@media (forced-colors:active){.id__pic{outline-color:CanvasText}}
.id{text-align:center;padding:22px 20px 18px;min-height:var(--id-h)}
.id b{font:600 20px/1.2 var(--serif);letter-spacing:-.01em;color:var(--ink);
  text-decoration-line:underline;text-decoration-thickness:1px;
  text-underline-offset:4px;text-decoration-color:transparent;
  transition:text-decoration-color var(--t-quick) var(--ease-state)}
.id__role,.id__org{font:400 13px/1.45 var(--sans);letter-spacing:.006em}
.id__role{margin-top:5px;color:var(--ink)}
.id__org{margin-top:10px;color:var(--muted)}
@media (hover:hover){
  .id:hover b{text-decoration-color:color-mix(in oklab,currentColor,transparent 62%)}
}
.id:focus-visible{outline:2px solid var(--focus);outline-offset:-4px}
.nav li{margin:0}
.nav a{position:relative;text-align:left;
  --pad:clamp(6px,min(calc((100vh - 762px) / 14),calc((100vh - 661.5px) / 24)),12px);
  padding:var(--pad) 16px calc(var(--pad) + 1px) 20px;
  min-height:40px;display:flex;flex-direction:column;justify-content:center;
  align-items:flex-start;gap:2px;border-bottom:0;
  font:600 15px/1.25 var(--sans);letter-spacing:.006em;color:var(--nav-ink);
  -webkit-font-smoothing:antialiased;
  transition:background-color var(--t-quick) var(--ease-state)}
.nav__t,.nav__s{display:block;max-width:100%;text-wrap:balance}
.nav__s{font:400 13px/1.3 var(--sans);letter-spacing:.01em;color:var(--nav-mute)}
.nav__sep{position:absolute;width:1px;height:1px;overflow:hidden;
  clip-path:inset(50%);white-space:nowrap}
@media (pointer:coarse){ .nav a{min-height:44px} }
.nav a::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:var(--accent-on-nav);transform:scaleY(0);transform-origin:50% 50%;
  transition:transform var(--t-fast) var(--ease)}
@media (hover:hover){
  .nav a:hover{background:var(--nav-hover);
    background:color-mix(in oklab,var(--nav) 50%,var(--nav-hover))}
}
.nav .on,.nav .on:hover{background:var(--nav-hover)}
.nav a:active,.nav .on:active{background:var(--nav-press)}
.nav .on::before{transform:scaleY(1)}
.nav a:focus-visible{outline:2px solid var(--nav-ink);outline-offset:-4px}
.nav a:focus-visible::before{transform:scaleY(1);transition:none}
@media (forced-colors:active){.nav a::before{background:Highlight}}
.nav .grp>a{box-shadow:inset 0 1px 0 var(--nav-rule)}
@media (max-height:860px){
  :root{--id-h:186px;--pic:56px;--fold-top:25px}
  .id{padding-top:17px;padding-bottom:12px}
  .id__pic{margin-bottom:12px}
  .id__org{margin-top:8px}
  .nav a{min-height:36px;
    --pad:clamp(6px,min(calc((100vh - 716px) / 14),calc((100vh - 634.5px) / 24)),12px)}
}
@media (max-height:860px) and (pointer:coarse){ .nav a{min-height:44px} }
.nav::after{content:"";position:sticky;bottom:0;display:block;height:40px;margin-top:-40px;
  pointer-events:none;background:linear-gradient(to bottom,transparent,var(--nav) 88%);
  opacity:0;transition:opacity var(--t-fast) var(--ease-state)}
.nav--more::after{opacity:1}
:root:not([data-theme="light"]){ @media (prefers-color-scheme: dark){
  .side{border-right:1px solid var(--line)}
}}
:root[data-theme="dark"] .side{border-right:1px solid var(--line)}
.fold{display:none;position:absolute;top:var(--fold-top);right:8px;z-index:1;place-items:center;
  width:40px;height:40px;margin:0;padding:0;border:0;border-radius:var(--r-sm);
  background:transparent;color:var(--muted);font:inherit;cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  transition-property:background-color,color,transform,visibility;
  transition-duration:var(--t-quick),var(--t-quick),var(--t-quick),0s;
  transition-timing-function:var(--ease-state),var(--ease-state),var(--ease),linear}
.fold::before{content:"";position:absolute;inset:-2px}
.fold svg{display:block;pointer-events:none}
.fold--show{position:fixed;left:8px;right:auto;z-index:39}
@media (hover:hover){
  .fold:hover{background:color-mix(in oklab,var(--ink) 5%,var(--page));color:var(--ink)}
}
.fold:active{background:color-mix(in oklab,var(--ink) 8%,var(--page));transform:scale(.97)}
.fold:focus-visible{outline:2px solid var(--focus);outline-offset:2px;color:var(--ink)}
@media (prefers-reduced-motion:no-preference){
  .fold__edge{transition:transform var(--t-fast) var(--ease)}
  .fold--hide:focus-visible .fold__edge{transform:translateX(-3px);transition:none}
  .fold--show:focus-visible .fold__edge{transform:translateX(3px);transition:none}
}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .fold--hide:hover .fold__edge{transform:translateX(-3px)}
  .fold--show:hover .fold__edge{transform:translateX(3px)}
}
@media (forced-colors:active){.fold{border:1px solid ButtonBorder}}
@media (width > 1000px){
  [data-side] .fold{display:grid}
  [data-side] .side{overflow:hidden}
  [data-side] .side__end{min-height:0}
  [data-side] .nav{flex:1 1 auto;min-height:0;overflow-y:auto;
    overscroll-behavior:contain;scrollbar-width:thin;
    scrollbar-color:color-mix(in oklab,var(--nav-ink) 40%,var(--nav)) transparent}
  .side{transition:transform var(--t-mid) var(--ease),visibility 0s}
  .main{transition:margin-left var(--t-mid) var(--ease)}
  [data-side="closed"] .side{transform:translateX(-100%);visibility:hidden;
    transition:transform var(--t-mid) var(--ease),visibility 0s linear var(--t-mid)}
  [data-side="closed"] .main{margin-left:56px}
  .fold--show{visibility:hidden;transition-delay:0s,0s,0s,var(--t-mid)}
  [data-side="closed"] .fold--show{visibility:visible;transition-delay:0s}
  .side-still :is(.side,.main,.fold){transition:none!important}
}
.mastrow{position:relative}
@media (width > 1000px){ .mastrow{--masthead-min:var(--id-h)} }
@media (prefers-reduced-motion:reduce){
  .nav a::before{transition:none}
}
@media print{
  .side,.bar,.fold{display:none!important}
  .main{margin-left:0!important}
}
.nav__bp{--bp-line:color-mix(in oklab,var(--nav-ink) 30%,var(--nav))}
.nav__row{display:flex;align-items:stretch}
.nav__row>a{flex:1 1 auto;min-width:0}
[data-bp] .nav__row>a{padding-right:4px}
.nav__x{position:relative;flex:none;display:none;place-items:center;width:40px;margin:0;
  padding:0;border:0;border-radius:0;background:transparent;color:var(--nav-mute);
  font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;
  transition:background-color var(--t-quick) var(--ease-state),color var(--t-quick) var(--ease-state)}
[data-bp] .nav__x{display:grid}
@media (pointer:coarse){.nav__x{width:48px}}
.nav__x::before{content:"";position:absolute;left:4px;right:4px;top:50%;height:32px;
  margin-top:-16px;border-radius:var(--r-sm);
  transition:background-color var(--t-quick) var(--ease-state)}
.nav__chev{position:relative;display:block}
[data-bp="open"] .nav__chev{transform:rotate(90deg)}
.nav .grp>.nav__row>a,.nav .grp>.nav__row>.nav__x{box-shadow:inset 0 1px 0 var(--nav-rule)}
@media (hover:hover){
  .nav__row>a:hover+.nav__x{color:var(--nav-ink);background:var(--nav-hover);
    background:color-mix(in oklab,var(--nav) 50%,var(--nav-hover))}
  .nav__x:hover{color:var(--nav-ink)}
  .nav__x:hover::before{background:var(--nav-hover)}
  .nav__row>a.on+.nav__x:hover::before{
    background:color-mix(in oklab,var(--nav-ink) 10%,var(--nav-hover))}
}
.nav__row>a.on+.nav__x{background:var(--nav-hover)}
.nav__row>a:active+.nav__x{background:var(--nav-press)}
.nav__x:active::before{background:var(--nav-press)}
.nav__x:focus-visible{outline:2px solid var(--nav-ink);outline-offset:-4px;color:var(--nav-ink)}
.nav__fold{display:none;position:relative;overflow:hidden;pointer-events:none}
.nav__bp--here .nav__fold,[data-bp="open"] .nav__fold{display:block}
[data-bp="closed"] .nav__fold{display:none}
.nav__sub{position:relative;isolation:isolate;list-style:none;margin:0;padding:2px 0 12px;
  pointer-events:auto}
.nav__sub::before{content:"";position:absolute;z-index:1;left:20px;top:0;bottom:28px;width:1px;
  background:var(--bp-line)}
.nav .nav__sub li{margin:0;position:relative}
.nav .nav__sub li::after{content:"";position:absolute;left:24px;top:50%;width:8px;height:1px;
  background:var(--bp-line);transform-origin:left;pointer-events:none;
  transition:width 180ms var(--ease-state),background-color 180ms var(--ease-state)}
@media (hover:hover){.nav .nav__sub li:hover::after{width:10px;background:var(--nav-mute)}}
.nav .nav__sub li:has(a[aria-current])::after{background:var(--accent-on-nav)}
.nav .nav__sub a{min-height:32px;padding:6px 16px 6px 36px;gap:0;
  font:400 14px/1.3 var(--sans);letter-spacing:.01em;color:var(--nav-mute)}
.nav .nav__sub a::before{z-index:2;left:17px;top:50%;bottom:auto;width:7px;height:7px;margin-top:-3.5px;box-sizing:border-box;
  border:1px solid var(--bp-line);border-radius:50%;background:var(--nav);transform:none;
  transition:background-color var(--t-quick) var(--ease-state),
    border-color var(--t-quick) var(--ease-state)}
@media (pointer:coarse){
  .nav .nav__sub a{min-height:44px}
  .nav__sub::before{bottom:34px}
}
@media (hover:hover){
  .nav .nav__sub a:hover{color:var(--nav-ink)}
  .nav .nav__sub a:hover::before{border-color:var(--nav-mute);background:var(--nav-mute)}
}
.nav .nav__sub a:focus-visible{color:var(--nav-ink)}
.nav .nav__sub a[aria-current]{color:var(--nav-ink);font-weight:600}
.nav .nav__sub a[aria-current]::before{border-color:var(--accent-on-nav);
  background:var(--accent-on-nav)}
.nav__tip{position:absolute;left:18px;bottom:1px;width:5px;height:5px;border-radius:50%;
  background:var(--accent-on-nav);opacity:0;pointer-events:none;
  box-shadow:0 0 0 3px color-mix(in oklab,var(--accent-on-nav) 24%,transparent)}
.nav,.side{overflow-anchor:none}
@media (width > 1000px){
  [data-side] .nav{scrollbar-width:none}
  [data-side] .nav::-webkit-scrollbar{display:none}
}
.nav::after{content:"";position:sticky;bottom:0;display:block;height:24px;margin-top:-24px;
  background:linear-gradient(to bottom,transparent,var(--nav));opacity:0;pointer-events:none;
  transition:opacity var(--t-fast) var(--ease-state)}
.nav.nav--more::after{opacity:1}
.nav,.side{scroll-padding-bottom:24px}
@media (forced-colors:active){
  .nav__x{border:1px solid ButtonBorder}
  .nav__sub::before{background:CanvasText}
  .nav .nav__sub a::before{border-color:CanvasText;background:Canvas}
  .nav .nav__sub a[aria-current]::before{border-color:Highlight;background:Highlight}
  .nav__tip,.nav::after{display:none}
}
.masthead{container:masthead/inline-size;position:relative;display:flex;
  flex-direction:column;justify-content:center;min-height:var(--masthead-min,0px);
  background:var(--nav-deep);color:var(--nav-ink);-webkit-font-smoothing:antialiased}
.masthead__in{padding:18px clamp(20px,2.4cqi,40px) 10px}
@font-face{font-family:"Masthead Serif Fallback";font-style:normal;font-weight:400;
  src:local("Georgia");size-adjust:103%}
@font-face{font-family:"Masthead Serif Fallback 16";font-style:normal;font-weight:400;
  src:local("Georgia");size-adjust:105.6%}
.masthead__text{margin:0 auto;max-width:740px;font:400 17px/1.62 var(--serif);
  font-family:"Source Serif 4","Masthead Serif Fallback",var(--serif);
  letter-spacing:.002em;text-align:center;text-wrap:balance;
  font-variant-numeric:lining-nums proportional-nums;
  color:color-mix(in oklab,var(--nav-ink) 93%,var(--nav-deep))}
@container masthead (width < 820px){
  .masthead__text{font-size:16px;line-height:1.65;
    font-family:"Source Serif 4","Masthead Serif Fallback 16",var(--serif)}
}
.masthead__text math{font:inherit;letter-spacing:inherit;line-height:inherit}
.masthead__text msup{margin-inline-end:-.18em}
@supports (-moz-appearance:none){.masthead__text msup{margin-inline-end:0}}
.masthead__text msup>mn:last-child{font-size:.66em;letter-spacing:.01em}
.masthead__text sup{position:relative;top:-.62em;vertical-align:baseline;line-height:0;
  font-size:.66em;letter-spacing:.01em;margin-left:.04em}
.masthead__wave{position:relative;height:16px;max-width:740px;margin:8px auto 0;
  overflow:hidden}
.masthead__zone{position:absolute;inset:0}
.masthead__line{position:absolute;top:0;right:0;display:block;max-width:none}
.masthead__line svg{display:block;max-width:none}
.masthead__zone--wave{color:var(--nav-mute);opacity:.5;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 16%,#000 40%,transparent 54%);
  mask-image:linear-gradient(90deg,transparent,#000 16%,#000 40%,transparent 54%)}
.masthead__zone--data{
  -webkit-mask-image:linear-gradient(90deg,transparent 38%,#000 50%,#000 64%,transparent 77%);
  mask-image:linear-gradient(90deg,transparent 38%,#000 50%,#000 64%,transparent 77%)}
.masthead__zone--data i{position:absolute;top:6.75px;right:calc(var(--i) * 16px + 6.75px);
  width:2.5px;height:2.5px;border-radius:50%;background:var(--nav-mute);opacity:.9}
.masthead__zone--info{color:var(--accent-2);
  -webkit-mask-image:linear-gradient(90deg,transparent 63%,#000 78%,#000 88%,transparent);
  mask-image:linear-gradient(90deg,transparent 63%,#000 78%,#000 88%,transparent)}
@keyframes masthead-drift{to{transform:translateX(128px)}}
@keyframes masthead-sample{0%,100%{transform:translateY(-3px)}
  50%{transform:translateY(3px)}}
@keyframes masthead-arrive{from{opacity:0}}
.masthead__line{animation:masthead-drift 6s linear infinite}
.masthead__zone--data i{animation:masthead-sample 6s cubic-bezier(.37,0,.63,1) infinite;
  animation-delay:calc(var(--i) * -0.75s - 1.875s)}
@media (prefers-reduced-motion:no-preference){
  .masthead__zone{animation:masthead-arrive 900ms var(--ease) both}
  .masthead__zone--data{animation-delay:300ms}
  .masthead__zone--info{animation-delay:600ms}
}
.masthead--still .masthead__line,.masthead--still .masthead__zone--data i{
  animation-play-state:paused}
@media (prefers-reduced-motion:reduce){
  .masthead__line,.masthead__zone--data i{animation-play-state:paused}
}
@container masthead (width < 640px){
  .masthead__in{padding:18px 22px 12px}
  .masthead__text{line-height:1.6;text-align:left;text-wrap:pretty}
  .masthead__wave{margin-top:10px}
  .masthead__zone--data i:nth-child(n+20){display:none}
}
@container masthead (width >= 904px){
  .masthead__zone--data i:nth-child(-n+8){display:none}
}
@media (forced-colors:active){
  .masthead{border-bottom:1px solid CanvasText}
  .masthead__wave{display:none}
}
@media print{
  .masthead{background:none;color:var(--ink)}
  .masthead__text{color:var(--ink)}
  .masthead__wave{display:none}
}
.ha{position:relative;margin:0;overflow:clip;max-width:none;container:ha/inline-size;
  --ha-ink:var(--nav);
  --ha-data:var(--link);
  --ha-line:color-mix(in oklab,var(--link) 72%,var(--page));
  --ha-mid:color-mix(in oklab,var(--link) 68%,var(--page));
  --ha-soft:color-mix(in oklab,var(--link) 40%,var(--page));
  --ha-hair:color-mix(in oklab,var(--link) 30%,var(--page));
  --ha-tint:color-mix(in oklab,var(--link) 19%,var(--page));
  --ha-tint2:color-mix(in oklab,var(--link) 11%,var(--page));
  --ha-pale:color-mix(in oklab,var(--link) 8%,var(--page));
  --ha-win:var(--page);
  --ha-acc:var(--accent);
  --ha-acc-soft:color-mix(in oklab,var(--accent) 16%,var(--page));
  --ha-up:var(--t-fast);--ha-down:var(--t-mid)}
.ha[data-kb]{--ha-up:var(--t-quick);--ha-down:var(--t-quick)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ha{--ha-ink:var(--link)}}
:root[data-theme="dark"] .ha{--ha-ink:var(--link)}
.ha__stage{position:relative}
.ha__svg{position:relative;display:block;width:100%;height:auto;aspect-ratio:1260/812}
.ha__fx{position:absolute;inset:0;pointer-events:none}
.ha__o{position:absolute;display:block}
.ha__w{overflow:hidden}
.ha__m{position:absolute;display:block;inset:0}
.ha__o svg{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:visible}
.ha__far{will-change:transform}
.hf-n{fill:none}
.hf-i{fill:var(--ha-ink)}
.hf-m{fill:var(--ha-mid)}
.hf-s{fill:var(--ha-soft)}
.hf-t{fill:var(--ha-tint)}
.hf-t2{fill:var(--ha-tint2)}
.hf-p{fill:var(--ha-pale)}
.hf-w{fill:var(--ha-win)}
.hs-i{stroke:var(--ha-ink)}
.hs-m{stroke:var(--ha-mid)}
.hs-s{stroke:var(--ha-soft)}
.hs-h{stroke:var(--ha-hair)}
.hs-t{stroke:var(--ha-tint)}
.hns{vector-effect:non-scaling-stroke}
.ha .hgs-i{stop-color:var(--ha-ink)}
.ha .hgs-s{stop-color:var(--ha-soft)}
.ha .hgs-t{stop-color:var(--ha-tint)}
.ha .hgs-p{stop-color:var(--ha-pale)}
.ha .hgs-pg{stop-color:var(--page)}
.ha .hrefl{opacity:.62}
.ha .hpf{fill:var(--ha-tint2)}
.ha .hl,.ha .hf{fill:none;vector-effect:non-scaling-stroke;
  transition:stroke var(--ha-up) var(--ease-state)}
.ha .hl{stroke:var(--ha-line);stroke-width:.8px;stroke-dasharray:2.2px 1.8px}
.ha .hl2{stroke:var(--ha-hair);stroke-width:.6px}
.ha .hf{stroke:var(--ha-hair);stroke-width:.75px;stroke-dasharray:0 2.4px;stroke-linecap:round}
.ha .hdot{fill:var(--ha-mid)}
.ha .hhalo{fill:var(--ha-pale);stroke:var(--ha-hair);stroke-width:.8}
.ha .hrg{fill:var(--ha-win);stroke:var(--ha-data);stroke-width:2.4}
.ha .hq{fill:none;stroke:var(--ha-data);stroke-width:2.2}
.ha .mq,.ha .mpk,.ha .mem,.ha .mhum,.ha .mrip,.ha .mip{opacity:0}
.ha .hpg{fill:var(--ha-data);fill-opacity:.28}
.ha .hpd{fill:var(--ha-data)}
.ha .hwv{fill:none;stroke:var(--ha-ink);stroke-width:2;opacity:0}
.ha .hnl{fill:var(--ha-data);fill-opacity:.22;opacity:0}
.ha .hne{fill:none;stroke:var(--ha-data);stroke-width:1.8;stroke-opacity:.55;opacity:0}
.ha .hlit{fill:none;stroke:var(--ha-data);stroke-width:2.6;stroke-linejoin:round}
.ha .hac{fill:var(--ha-acc)}
.ha .hah{fill:var(--ha-acc-soft);stroke:var(--ha-acc);stroke-opacity:.35;stroke-width:1}
.ha .hip{fill:none;stroke:var(--ha-acc);stroke-width:1.6}
.ha .mfl{transform-origin:48.039% 50.61%}
.ha .mbg{transform-origin:50% 65.625%}
.ha .mem,.ha .mhum{transform-origin:50% 100%}
.ha .mdr1,.ha .mdr2{transform-origin:0 0}
.ha__keys{position:absolute;inset:0}
.ha__key{position:absolute;display:block;min-width:24px;min-height:24px;margin:0;padding:0;
  border:0;border-radius:var(--r-md);background:none;color:inherit;font:inherit;
  transform:translate(-50%,-50%);cursor:pointer;-webkit-tap-highlight-color:transparent}
.ha__key:focus,.ha__key:focus-visible{outline:none}
.ha__key:focus-visible::after{content:"";position:absolute;left:50%;top:100%;width:20px;height:2px;
  margin:6px 0 0 -10px;border-radius:1px;background:var(--focus)}
.ha__key[data-key=car]{z-index:1}
.ha__sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
  clip-path:inset(50%);white-space:nowrap;border:0}
.ha .hdim{transition:opacity var(--ha-up) var(--ease-state)}
.ha[data-hl] .hdim{opacity:.34;transition-duration:var(--ha-down)}
.ha[data-hl=low] .hdim[data-k~=low],.ha[data-hl=tall] .hdim[data-k~=tall],.ha[data-hl=mid] .hdim[data-k~=mid],.ha[data-hl=bridge] .hdim[data-k~=bridge],.ha[data-hl=train] .hdim[data-k~=train],.ha[data-hl=turbine] .hdim[data-k~=turbine],.ha[data-hl=masonry] .hdim[data-k~=masonry],.ha[data-hl=car] .hdim[data-k~=car],.ha[data-hl=chimney] .hdim[data-k~=chimney],.ha[data-hl=plane] .hdim[data-k~=plane],.ha[data-hl=reg] .hdim[data-k~=reg],.ha[data-hl=nn] .hdim[data-k~=nn],.ha[data-hl=tree] .hdim[data-k~=tree]{opacity:1;transition-duration:var(--ha-up)}
.ha[data-hl=low] :is(.hl,.hf)[data-k~=low],.ha[data-hl=tall] :is(.hl,.hf)[data-k~=tall],.ha[data-hl=mid] :is(.hl,.hf)[data-k~=mid],.ha[data-hl=bridge] :is(.hl,.hf)[data-k~=bridge],.ha[data-hl=train] :is(.hl,.hf)[data-k~=train],.ha[data-hl=turbine] :is(.hl,.hf)[data-k~=turbine],.ha[data-hl=masonry] :is(.hl,.hf)[data-k~=masonry],.ha[data-hl=car] :is(.hl,.hf)[data-k~=car],.ha[data-hl=chimney] :is(.hl,.hf)[data-k~=chimney],.ha[data-hl=plane] :is(.hl,.hf)[data-k~=plane],.ha[data-hl=reg] :is(.hl,.hf)[data-k~=reg],.ha[data-hl=nn] :is(.hl,.hf)[data-k~=nn],.ha[data-hl=tree] :is(.hl,.hf)[data-k~=tree]{stroke:var(--ha-data)}
.ha__read{display:flex;align-items:center;gap:6px;min-height:21px;margin:10px 0 0;
  font:400 14px/1.5 var(--sans);letter-spacing:.01em;color:var(--muted);
  opacity:0;transition:opacity var(--ha-up) var(--ease-state)}
.ha[data-hl] .ha__read{opacity:1;transition-duration:var(--ha-down)}
.ha__a{color:var(--body)}
.ha__arr{flex:none;display:block}
.ha__pause{position:absolute;right:0;top:0;display:grid;place-items:center;
  width:28px;height:28px;margin:0;padding:0;border:1px solid var(--rule);
  border-radius:var(--r-pill);background:var(--page);color:var(--muted);cursor:pointer;
  transition:color var(--t-fast) var(--ease-state),background-color var(--t-fast) var(--ease-state),
    border-color var(--t-fast) var(--ease-state),transform var(--t-quick) var(--ease)}
.ha__pause[hidden]{display:none}
.ha__pause::before{content:"";position:absolute;inset:-10px;border-radius:var(--r-pill)}
.ha__pause svg{display:block;width:16px;height:16px}
.ha__i-play{display:none}
.ha__pause[aria-pressed=true] .ha__i-pause{display:none}
.ha__pause[aria-pressed=true] .ha__i-play{display:inline}
@media (hover:hover){.ha__pause:hover{color:var(--ink);background:var(--card);
  border-color:var(--line-strong)}}
.ha__pause:active{transform:scale(.94)}
.ha__pause:focus-visible{outline:2px solid var(--focus);outline-offset:2px;color:var(--ink)}
@container ha (max-width:400px){
  .ha .hf{display:none}
  .ha .hl{stroke-width:1px}
  .ha .hfire .hrg,.ha .hsoft .hrg,.ha .hq{r:7px}
  .ha .hfire .hhalo,.ha .hsoft .hhalo{r:12.5px}
  .ha .hrg{stroke-width:3}
  .ha .hpd{r:6px}
  .ha .hpg{r:11px}
  .ha .htr{stroke-width:2.4}
  .ha__pause{width:24px;height:24px}
  .ha__pause svg{width:14px;height:14px}
}
@media (prefers-reduced-motion:no-preference){
@keyframes ha-fire{0%{opacity:.85;transform:scale(1);animation-timing-function:cubic-bezier(.2,.8,.2,1)}7.5%{opacity:0;transform:scale(3.3)}100%{opacity:0;transform:scale(3.3)}}
@keyframes ha-soft{0%{opacity:.45;transform:scale(1);animation-timing-function:cubic-bezier(.2,.8,.2,1)}6.667%{opacity:0;transform:scale(2.3)}100%{opacity:0;transform:scale(2.3)}}
@keyframes ha-pk0{0%{transform:translate(0,0);animation-timing-function:cubic-bezier(.45,0,.25,1)}0.001%{opacity:0;animation-timing-function:linear}0.667%{opacity:1;animation-timing-function:linear}4.333%{opacity:1;animation-timing-function:linear}5.167%{transform:translate(-250%,-430%);opacity:0}100%{transform:translate(-250%,-430%);opacity:0}}
@keyframes ha-pk1{0%{transform:translate(0%,0%);animation-timing-function:linear}0.001%{opacity:0;animation-timing-function:linear}0.625%{transform:translate(-0.839%,-12.368%);animation-timing-function:linear}0.667%{opacity:1;animation-timing-function:linear}1.25%{transform:translate(-6.556%,-58.595%);animation-timing-function:linear}1.875%{transform:translate(-32.145%,-157.414%);animation-timing-function:linear}2.5%{transform:translate(-110.62%,-313.323%);animation-timing-function:linear}3.125%{transform:translate(-239.11%,-461.442%);animation-timing-function:linear}3.75%{transform:translate(-358.225%,-550.835%);animation-timing-function:linear}4.375%{transform:translate(-446.188%,-598.303%);animation-timing-function:linear}5%{transform:translate(-507.096%,-623.792%);animation-timing-function:linear}5.625%{transform:translate(-547.58%,-637.755%);animation-timing-function:linear}6.25%{transform:translate(-572.696%,-645.291%);animation-timing-function:linear}6.667%{opacity:1;animation-timing-function:linear}6.875%{transform:translate(-586%,-648.945%);animation-timing-function:linear}7.5%{transform:translate(-590%,-650%);opacity:0}100%{transform:translate(-590%,-650%);opacity:0}}
@keyframes ha-pk2{0%{transform:translate(0,0);animation-timing-function:cubic-bezier(.45,0,.25,1)}0.001%{opacity:0;animation-timing-function:linear}0.667%{opacity:1;animation-timing-function:linear}2.083%{opacity:1;animation-timing-function:linear}2.917%{transform:translate(300%,-750%);opacity:0}100%{transform:translate(300%,-750%);opacity:0}}
@keyframes ha-pk3{0%{transform:translate(0,0);animation-timing-function:cubic-bezier(.45,0,.25,1)}0.001%{opacity:0;animation-timing-function:linear}0.667%{opacity:1;animation-timing-function:linear}1.667%{opacity:1;animation-timing-function:linear}2.5%{transform:translate(-120%,-675%);opacity:0}100%{transform:translate(-120%,-675%);opacity:0}}
@keyframes ha-pk4{0%{transform:translate(0%,0%);animation-timing-function:linear}0.001%{opacity:0;animation-timing-function:linear}0.556%{transform:translate(-26.793%,-11.035%);animation-timing-function:linear}0.667%{opacity:1;animation-timing-function:linear}1.111%{transform:translate(-127.72%,-51.951%);animation-timing-function:linear}1.667%{transform:translate(-350.333%,-138.617%);animation-timing-function:linear}2.222%{transform:translate(-735.143%,-277.287%);animation-timing-function:linear}2.777%{transform:translate(-1172.317%,-418.703%);animation-timing-function:linear}3.333%{transform:translate(-1506.993%,-516.101%);animation-timing-function:linear}3.889%{transform:translate(-1732.749%,-576.76%);animation-timing-function:linear}4.444%{transform:translate(-1882.358%,-614.802%);animation-timing-function:linear}5%{transform:translate(-1979.587%,-638.627%);animation-timing-function:linear}5.556%{transform:translate(-2039.2%,-652.888%);animation-timing-function:linear}5.833%{opacity:1;animation-timing-function:linear}6.111%{transform:translate(-2070.585%,-660.293%);animation-timing-function:linear}6.667%{transform:translate(-2080%,-662.5%);opacity:0}100%{transform:translate(-2080%,-662.5%);opacity:0}}
@keyframes ha-emit{0%{opacity:.9;transform:scale(.85);animation-timing-function:cubic-bezier(.2,.8,.2,1)}10%{opacity:0;transform:scale(1.55)}100%{opacity:0;transform:scale(1.55)}}
@keyframes ha-new{0%{opacity:1;transform:translateY(0);animation-timing-function:cubic-bezier(.2,.8,.2,1)}1.25%{opacity:0;transform:translateY(0)}1.333%{opacity:0;transform:translateY(-300%);animation-timing-function:cubic-bezier(.2,.8,.2,1)}2.5%{opacity:1}7.917%{transform:translateY(0)}100%{opacity:1;transform:translateY(0)}}
@keyframes ha-halo{0%{opacity:1;transform:scale(1);animation-timing-function:cubic-bezier(.2,.8,.2,1)}1.25%{opacity:0;transform:scale(.5)}5.833%{opacity:0;transform:scale(.5);animation-timing-function:cubic-bezier(.2,.8,.2,1)}10%{opacity:1;transform:scale(1)}100%{opacity:1;transform:scale(1)}}
@keyframes ha-fit{0%{transform:rotate(0);animation-timing-function:cubic-bezier(.2,.8,.2,1)}2.5%{transform:rotate(-4.5deg);animation-timing-function:cubic-bezier(.2,.8,.2,1)}11.25%{transform:rotate(0)}100%{transform:rotate(0)}}
@keyframes ha-band{0%{transform:scaleY(1);animation-timing-function:cubic-bezier(.2,.8,.2,1)}2.5%{transform:scaleY(1.4);animation-timing-function:cubic-bezier(.2,.8,.2,1)}11.25%{transform:scaleY(1)}100%{transform:scaleY(1)}}
@keyframes ha-trn{0%{transform:translateX(0);animation-timing-function:cubic-bezier(.33,0,.67,.33)}7.308%{transform:translateX(17.117%);animation-timing-function:linear}11.923%{transform:translateX(38.739%);animation-timing-function:cubic-bezier(.33,.67,.67,1)}20%{transform:translateX(57.658%)}100%{transform:translateX(57.658%)}}
@keyframes ha-let{0%{opacity:1}1.667%{opacity:0}20.833%{opacity:0;animation-timing-function:cubic-bezier(.2,.8,.2,1)}24.167%{opacity:1}100%{opacity:1}}
@keyframes ha-wv{0%{opacity:0;animation-timing-function:cubic-bezier(.2,.8,.2,1)}1.167%{opacity:1;animation-timing-function:cubic-bezier(.37,0,.63,1)}5.833%{opacity:0}100%{opacity:0}}
@keyframes ha-flash{0%{opacity:0;animation-timing-function:cubic-bezier(.2,.8,.2,1)}1.667%{opacity:1;animation-timing-function:cubic-bezier(.37,0,.63,1)}7.917%{opacity:0}100%{opacity:0}}
@keyframes ha-car{0%{transform:translateX(0);animation-timing-function:cubic-bezier(.33,0,.67,.33)}10.833%{transform:translateX(220%)}12.917%{transform:translateX(220%);animation-timing-function:cubic-bezier(.33,.67,.67,1)}23.333%{transform:translateX(0)}100%{transform:translateX(0)}}
@keyframes ha-let-c{0%{opacity:1}1.667%{opacity:0}24.167%{opacity:0;animation-timing-function:cubic-bezier(.2,.8,.2,1)}26.667%{opacity:1}100%{opacity:1}}
@keyframes ha-t1{0%{opacity:1;transform:scale(1)}2.5%{opacity:0}2.917%{opacity:0;transform:scale(1.18);animation-timing-function:cubic-bezier(.2,.8,.2,1)}5%{opacity:1;transform:scale(1)}100%{opacity:1}}
@keyframes ha-dr1{0%{opacity:1;transform:scale(1)}2.5%{opacity:0}3.75%{opacity:0;transform:scale(.35);animation-timing-function:cubic-bezier(.2,.8,.2,1)}5.667%{opacity:1;transform:scale(1)}100%{opacity:1;transform:scale(1)}}
@keyframes ha-t3{0%{opacity:1;transform:scale(1)}2.5%{opacity:0}5.833%{opacity:0;transform:scale(1.18);animation-timing-function:cubic-bezier(.2,.8,.2,1)}7.917%{opacity:1;transform:scale(1)}100%{opacity:1}}
@keyframes ha-dr2{0%{opacity:1;transform:scale(1)}2.5%{opacity:0}6.667%{opacity:0;transform:scale(.35);animation-timing-function:cubic-bezier(.2,.8,.2,1)}8.583%{opacity:1;transform:scale(1)}100%{opacity:1;transform:scale(1)}}
@keyframes ha-ins{0%{opacity:1;transform:scale(1)}2.5%{opacity:0}8.75%{opacity:0;transform:scale(.7);animation-timing-function:cubic-bezier(.2,.8,.2,1)}10.583%{opacity:1;transform:scale(1.1);animation-timing-function:cubic-bezier(.37,0,.63,1)}12.917%{transform:scale(1)}100%{opacity:1;transform:scale(1)}}
@keyframes ha-ip{0%{opacity:.8;transform:scale(1);animation-timing-function:cubic-bezier(.2,.8,.2,1)}8.333%{opacity:0;transform:scale(2)}100%{opacity:0;transform:scale(2)}}
@keyframes ha-rip{0%{opacity:0;transform:scale(1)}2.5%{opacity:.75;transform:scale(1);animation-timing-function:cubic-bezier(.2,.8,.2,1)}12.5%{opacity:0;transform:scale(6.4)}12.583%{opacity:0;transform:scale(1)}35.833%{opacity:.75;transform:scale(1);animation-timing-function:cubic-bezier(.2,.8,.2,1)}45.833%{opacity:0;transform:scale(6.4)}45.917%{opacity:0;transform:scale(1)}69.167%{opacity:.75;transform:scale(1);animation-timing-function:cubic-bezier(.2,.8,.2,1)}79.167%{opacity:0;transform:scale(6.4)}79.25%{opacity:0;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
@keyframes ha-rpop{0%{transform:scale(1)}2.5%{transform:scale(1);animation-timing-function:cubic-bezier(.2,.8,.2,1)}3.833%{transform:scale(1.3);animation-timing-function:cubic-bezier(.37,0,.63,1)}6.25%{transform:scale(1)}35.833%{transform:scale(1);animation-timing-function:cubic-bezier(.2,.8,.2,1)}37.167%{transform:scale(1.3);animation-timing-function:cubic-bezier(.37,0,.63,1)}39.583%{transform:scale(1)}69.167%{transform:scale(1);animation-timing-function:cubic-bezier(.2,.8,.2,1)}70.5%{transform:scale(1.3);animation-timing-function:cubic-bezier(.37,0,.63,1)}72.917%{transform:scale(1)}100%{transform:scale(1)}}
@keyframes ha-bl{0%{transform:scaleY(1)}2.004%{transform:scaleY(1);animation-timing-function:cubic-bezier(.2,.7,.3,1)}3.337%{transform:scaleY(1.16);animation-timing-function:cubic-bezier(.37,0,.63,1)}9.921%{transform:scaleY(1)}17.083%{transform:scaleY(1);animation-timing-function:cubic-bezier(.2,.7,.3,1)}18.417%{transform:scaleY(1.12);animation-timing-function:cubic-bezier(.37,0,.63,1)}25%{transform:scaleY(1)}35.337%{transform:scaleY(1);animation-timing-function:cubic-bezier(.2,.7,.3,1)}36.671%{transform:scaleY(1.16);animation-timing-function:cubic-bezier(.37,0,.63,1)}43.254%{transform:scaleY(1)}50.417%{transform:scaleY(1);animation-timing-function:cubic-bezier(.2,.7,.3,1)}51.75%{transform:scaleY(1.12);animation-timing-function:cubic-bezier(.37,0,.63,1)}58.333%{transform:scaleY(1)}68.671%{transform:scaleY(1);animation-timing-function:cubic-bezier(.2,.7,.3,1)}70.004%{transform:scaleY(1.16);animation-timing-function:cubic-bezier(.37,0,.63,1)}76.587%{transform:scaleY(1)}83.75%{transform:scaleY(1);animation-timing-function:cubic-bezier(.2,.7,.3,1)}85.083%{transform:scaleY(1.12);animation-timing-function:cubic-bezier(.37,0,.63,1)}91.667%{transform:scaleY(1)}100%{transform:scaleY(1)}}
@keyframes ha-bm{0%{transform:scaleY(1)}2.004%{transform:scaleY(1);animation-timing-function:cubic-bezier(.2,.7,.3,1)}3.337%{transform:scaleY(1.05);animation-timing-function:cubic-bezier(.37,0,.63,1)}9.921%{transform:scaleY(1)}17.083%{transform:scaleY(1);animation-timing-function:cubic-bezier(.2,.7,.3,1)}18.417%{transform:scaleY(1.22);animation-timing-function:cubic-bezier(.37,0,.63,1)}25%{transform:scaleY(1)}35.337%{transform:scaleY(1);animation-timing-function:cubic-bezier(.2,.7,.3,1)}36.671%{transform:scaleY(1.05);animation-timing-function:cubic-bezier(.37,0,.63,1)}43.254%{transform:scaleY(1)}50.417%{transform:scaleY(1);animation-timing-function:cubic-bezier(.2,.7,.3,1)}51.75%{transform:scaleY(1.22);animation-timing-function:cubic-bezier(.37,0,.63,1)}58.333%{transform:scaleY(1)}68.671%{transform:scaleY(1);animation-timing-function:cubic-bezier(.2,.7,.3,1)}70.004%{transform:scaleY(1.05);animation-timing-function:cubic-bezier(.37,0,.63,1)}76.587%{transform:scaleY(1)}83.75%{transform:scaleY(1);animation-timing-function:cubic-bezier(.2,.7,.3,1)}85.083%{transform:scaleY(1.22);animation-timing-function:cubic-bezier(.37,0,.63,1)}91.667%{transform:scaleY(1)}100%{transform:scaleY(1)}}
@keyframes ha-bh{0%{transform:scaleY(1)}17.083%{transform:scaleY(1);animation-timing-function:cubic-bezier(.2,.7,.3,1)}18.417%{transform:scaleY(1.12);animation-timing-function:cubic-bezier(.37,0,.63,1)}25%{transform:scaleY(1)}50.417%{transform:scaleY(1);animation-timing-function:cubic-bezier(.2,.7,.3,1)}51.75%{transform:scaleY(1.14);animation-timing-function:cubic-bezier(.37,0,.63,1)}58.333%{transform:scaleY(1)}83.75%{transform:scaleY(1);animation-timing-function:cubic-bezier(.2,.7,.3,1)}85.083%{transform:scaleY(1.28);animation-timing-function:cubic-bezier(.37,0,.63,1)}91.667%{transform:scaleY(1)}100%{transform:scaleY(1)}}
@keyframes ha-tape{from{transform:translateX(-33.333%)}to{transform:translateX(0)}}
@keyframes ha-spin{to{transform:rotate(360deg)}}
@keyframes ha-puff{0%{opacity:0;transform:translate(0%,0%) scale(0.500)}15%{opacity:1}65%{opacity:1;transform:translate(102.917%,-216.667%) scale(1.150)}100%{opacity:0;transform:translate(158.333%,-333.333%) scale(1.500)}}
@keyframes ha-glide{to{transform:translate(1.471%,-3.659%) rotate(-1deg)}}
.ha[data-live] .mq{animation:ha-soft 12s infinite var(--d)}
.ha[data-live] .mqf{animation-name:ha-fire}
.ha[data-live] .mpk0{animation:ha-pk0 12s linear infinite -11.28s}
.ha[data-live] .mpk1{animation:ha-pk1 12s linear infinite -6.5s}
.ha[data-live] .mpk2{animation:ha-pk2 12s linear infinite -3.05s}
.ha[data-live] .mpk3{animation:ha-pk3 12s linear infinite -2.6s}
.ha[data-live] .mpk4{animation:ha-pk4 12s linear infinite -2.2s}
.ha[data-live] .mem{animation:ha-emit 12s infinite -11.58s}
.ha[data-live] .mem2{animation-delay:-11.38s}
.ha[data-live] .mhum{animation:ha-emit 12s infinite -3.3s}
.ha[data-live] .mhum2{animation-delay:-3.08s}
.ha[data-live] .mnp{animation:ha-new 12s infinite -10.7s}
.ha[data-live] .mnh{animation:ha-halo 12s infinite -10.7s}
.ha[data-live] .mfit{animation:ha-fit 12s infinite -10.55s}
.ha[data-live] .mbd{animation:ha-band 12s infinite -10.55s}
.ha[data-live] .mtrn{animation:ha-trn 12s infinite -9.25s}
.ha[data-live] .hlet-b{animation:ha-let 12s infinite -9.35s}
.ha[data-live] .hwv{animation:ha-wv 12s infinite var(--d)}
.ha[data-live] .hnl1{animation:ha-flash 12s infinite -5.6s}
.ha[data-live] .hne1{animation:ha-flash 12s infinite -5.45s}
.ha[data-live] .hnl2{animation:ha-flash 12s infinite -5.15s}
.ha[data-live] .hne2{animation:ha-flash 12s infinite -5.0s}
.ha[data-live] .hnl3{animation:ha-flash 12s infinite -4.69s}
.ha[data-live] .mcar{animation:ha-car 12s infinite -6.1s}
.ha[data-live] .hlet-c{animation:ha-let-c 12s infinite -6.2s}
.ha[data-live] .mt1{animation:ha-t1 12s infinite -1.75s}
.ha[data-live] .mdr1{animation:ha-dr1 12s infinite -1.75s}
.ha[data-live] .mt3{animation:ha-t3 12s infinite -1.75s}
.ha[data-live] .mdr2{animation:ha-dr2 12s infinite -1.75s}
.ha[data-live] .mins{animation:ha-ins 12s infinite -1.75s}
.ha[data-live] .mip{animation:ha-ip 12s infinite 11.3s}
.ha[data-live] .mtape{animation:ha-tape 12s linear infinite -12.0s}
.ha[data-live] .mrip{animation:ha-rip 12s infinite 3.25s}
.ha[data-live] .mrgc{animation:ha-rpop 12s infinite 3.25s}
.ha[data-live] .mbl{animation:ha-bl 12s infinite var(--d)}
.ha[data-live] .mbm{animation:ha-bm 12s infinite var(--d)}
.ha[data-live] .mbh{animation:ha-bh 12s infinite var(--d)}
.ha[data-live] .mrot{animation:ha-spin 15s linear infinite}
.ha[data-live] .mpf{animation:ha-puff 10s linear infinite calc((var(--p) + .5) * -2.0s)}
.ha[data-live] .mfl{animation:ha-glide 4s cubic-bezier(.37,0,.63,1) infinite alternate}
@keyframes ha-sway{from{transform:skewX(-0.0097rad)}to{transform:skewX(0.0097rad)}}
@keyframes ha-bdk{from{d:path('M402 478L496 478L506 478.3L516 478.7L526 479L536 479.3L546 479.6L556 479.8L566 480L576 480.1L586 480.2L596 480.2L606 480.2L616 480.1L626 480L636 479.8L646 479.6L656 479.3L666 479L676 478.7L686 478.3L696 478L790 478L790 486.5L696 486.5L686 486.8L676 487.2L666 487.5L656 487.8L646 488.1L636 488.3L626 488.5L616 488.6L606 488.7L596 488.7L586 488.7L576 488.6L566 488.5L556 488.3L546 488.1L536 487.8L526 487.5L516 487.2L506 486.8L496 486.5L402 486.5Z')}to{d:path('M402 478L496 478L506 477.7L516 477.3L526 477L536 476.7L546 476.4L556 476.2L566 476L576 475.9L586 475.8L596 475.8L606 475.8L616 475.9L626 476L636 476.2L646 476.4L656 476.7L666 477L676 477.3L686 477.7L696 478L790 478L790 486.5L696 486.5L686 486.2L676 485.8L666 485.5L656 485.2L646 484.9L636 484.7L626 484.5L616 484.4L606 484.3L596 484.3L586 484.3L576 484.4L566 484.5L556 484.7L546 484.9L536 485.2L526 485.5L516 485.8L506 486.2L496 486.5L402 486.5Z')}}
@keyframes ha-bhg{from{d:path('M411.2 428.1V478M426.6 389.6V478M442 360.7V478M457.4 341.4V478M503.6 352.5V478.3M519 366.8V478.8M534.4 378.4V479.2M549.8 387.5V479.6M565.2 394.1V479.9M580.6 398V480.1M596 399.3V480.2M611.4 398V480.1M626.8 394.1V479.9M642.2 387.5V479.6M657.6 378.4V479.2M673 366.8V478.8M688.4 352.5V478.3M734.6 341.4V478M750 360.7V478M765.4 389.6V478M780.8 428.1V478')}to{d:path('M411.2 428.1V478M426.6 389.6V478M442 360.7V478M457.4 341.4V478M503.6 352V477.7M519 365.2V477.2M534.4 375.9V476.8M549.8 384.2V476.4M565.2 390.2V476.1M580.6 393.7V475.9M596 394.9V475.8M611.4 393.7V475.9M626.8 390.2V476.1M642.2 384.2V476.4M657.6 375.9V476.8M673 365.2V477.2M688.4 352V477.7M734.6 341.4V478M750 360.7V478M765.4 389.6V478M780.8 428.1V478')}}
@keyframes ha-bcb{from{d:path('M496 343Q596 452.4 696 343')}to{d:path('M496 343Q596 443.6 696 343')}}
.ha #ha-b2{transform-box:fill-box;transform-origin:50% 100%;animation:ha-sway .7s cubic-bezier(.37,0,.63,1) infinite alternate}
.ha #ha-dk .hvd{animation:ha-bdk .8s cubic-bezier(.37,0,.63,1) infinite alternate}
.ha #ha-dk .hvh{animation:ha-bhg .8s cubic-bezier(.37,0,.63,1) infinite alternate}
.ha #ha-dk .hvc{animation:ha-bcb .8s cubic-bezier(.37,0,.63,1) infinite alternate}
}
.ha:not([data-run]) *{animation-play-state:paused!important}
@media (forced-colors:active){
  .ha__pause{border-color:ButtonText}
  .ha__key:focus-visible{outline:2px solid Highlight;outline-offset:2px}
  .ha__key:focus-visible::after{display:none}
}
@media print{.ha *{animation:none!important}.ha__pause,.ha__keys,.ha__read{display:none}}
.hero2{container-type:inline-size}
.hero2__top{display:grid;grid-template-columns:minmax(0,1fr);row-gap:40px;align-items:start}
.hero2__h1{margin:-.25em 0 0;font:600 clamp(32px,3.4vw,40px)/1.12 var(--serif);
  letter-spacing:-.014em;color:var(--ink);text-wrap:balance}
.hero2__intro{margin-top:24px}
.hero2__intro>p{margin:0;max-width:var(--measure);font:400 21px/1.52 var(--serif);
  letter-spacing:-.004em;color:var(--body)}
.hero2__intro ol{margin:12px 0 0;padding:0 0 0 28px;max-width:var(--measure)}
.hero2__intro ol>li{margin:6px 0 0;padding-left:4px;color:var(--ink)}
.hero2__intro ol>li::marker{font:600 15px var(--sans);
  font-variant-numeric:lining-nums tabular-nums;color:var(--accent)}
.hero2 .hero2__intro ul{margin:6px 0 2px;padding:0 0 0 16px;list-style:none;
  border-left:1px solid var(--line)}
.hero2 .hero2__intro ul li{margin:0;padding:0;color:var(--body)}
.hero2 .hero2__intro ul li+li{margin-top:8px}
.hero2 .hero2__intro ul li::before{content:none}
.hero2__art{min-width:0}
.hero2__art>figure{margin:0}
.hero2__bio{margin-top:47px}
.hero2__bio p{margin:0;max-width:var(--measure);color:var(--body)}
.hero2__bio p+p{margin-top:12px}
.hero2__bio strong{font-weight:600;color:var(--ink);line-height:1}
.hero2__bio--head>p:first-child,.hero2__bio>h2:first-child{margin:0 0 21px;
  font:600 28px/1.22 var(--serif);letter-spacing:-.009em;color:var(--ink);
  text-wrap:balance}
.hero2__bio--head>p:first-child+p,.hero2__bio>h2:first-child+p{margin-top:0}
.hero2__act{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:32px}
.hero2__btn,.hero2__more{position:relative;display:inline-flex;align-items:center;
  min-height:44px;border-radius:var(--r-pill);text-decoration:none;
  font:600 15px/1.2 var(--sans);letter-spacing:.01em;-webkit-tap-highlight-color:transparent}
.hero2__btn{padding:0 20px;color:var(--ink);background:transparent;
  border:1px solid var(--line-strong);
  transition:background-color var(--t-fast) var(--ease-state),
    border-color var(--t-fast) var(--ease-state),transform var(--t-quick) var(--ease)}
.hero2__more{isolation:isolate;gap:6px;padding:0 8px 0 20px;color:var(--link);
  transition:color var(--t-fast) var(--ease-state),transform var(--t-quick) var(--ease)}
.hero2__more::before{content:"";position:absolute;inset:0;z-index:-1;
  border-radius:inherit;background:var(--card);opacity:0;transform:scale(.94);
  transform-origin:calc(100% - 22px) 50%;
  transition:opacity var(--t-quick) var(--ease-state),transform var(--t-quick) var(--ease)}
.hero2__go{flex:none;display:grid;place-items:center;width:28px;height:28px;
  border-radius:50%;background:var(--card)}
.hero2__go svg{display:block;overflow:visible}
@media (prefers-reduced-motion:no-preference){
  .hero2__shaft{transition:stroke-dashoffset var(--t-fast) var(--ease)}
  .hero2__head{transition:transform var(--t-fast) var(--ease)}
}
@container (min-width:860px){
  .hero2--art .hero2__top{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);
    column-gap:clamp(32px,4cqi,56px);align-items:center}
  .hero2--art .hero2__art{margin-right:calc(-1 * clamp(0px,3cqi,40px))}
}
@container (min-width:560px) and (not (min-width:860px)){
  .hero2__art{max-width:640px}
}
@media (hover:hover){
  .hero2__btn:hover{background:var(--card);border-color:var(--ink)}
  .hero2__more:hover{color:var(--link-hover)}
  .hero2__more:hover::before{opacity:1;transform:none;
    transition-duration:var(--t-fast),var(--t-mid)}
}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .hero2__more:hover .hero2__shaft{stroke-dashoffset:0;transition-duration:var(--t-mid)}
  .hero2__more:hover .hero2__head{transform:translateX(3.6px);transition-duration:var(--t-mid)}
}
.hero2__btn:active{background:var(--rule);border-color:var(--ink);
  transition-duration:0s,0s,var(--t-quick)}
.hero2__more:active::before{opacity:1;transform:none;background:var(--rule);transition:none}
.hero2__more:active .hero2__go{background:var(--rule)}
.hero2__btn:active,.hero2__more:active{transform:scale(.97)}
.hero2 a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.hero2__btn:focus-visible{background:var(--card);border-color:var(--ink);transition:none}
.hero2__more:focus-visible{color:var(--link-hover);transition:none}
.hero2__more:focus-visible::before{opacity:1;transform:none;transition:none}
@media (prefers-reduced-motion:no-preference){
  .hero2__more:focus-visible .hero2__shaft{stroke-dashoffset:0;transition:none}
  .hero2__more:focus-visible .hero2__head{transform:translateX(3.6px);transition:none}
}
@media (prefers-reduced-motion:reduce){
  .hero2__more::before{transform:none}
  .hero2__btn:active,.hero2__more:active{transform:none}
}
@media (forced-colors:active){
  .hero2__more{border:1px solid LinkText}
  .hero2__more::before{content:none}
}
.topics{--topics-bleed:12px}
.topics__grid{container:topics/inline-size;list-style:none;margin:0;padding:0;
  max-width:var(--measure-fig);display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));column-gap:40px}
.topics__item{grid-column:1/-1;position:relative;isolation:isolate;margin:0;
  display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:20px;
  align-items:start;padding:22px 0 20px}
.topics__item::before{content:"";position:absolute;top:0;left:0;right:0;
  border-top:1px solid var(--rule);transform-origin:0 0;
  transition:opacity var(--t-quick) var(--ease-state)}
.topics__item::after{content:"";position:absolute;z-index:-1;
  inset:0 calc(-1 * var(--topics-bleed));
  border-radius:0 0 var(--r-sm) var(--r-sm);
  background:color-mix(in oklab,var(--ink) 4%,var(--page));
  opacity:0;transition:opacity var(--t-quick) var(--ease-state)}
.topics__head{grid-column:1/-1;display:grid;grid-template-columns:subgrid;
  align-items:start}
.topics__icon{display:block;width:28px;height:28px;margin-top:1px;color:var(--ink);
  overflow:visible}
.topics .i-accent{stroke:var(--accent)}
.topics .t-run{opacity:0}
.topics__title{grid-column:2;margin:0;font-size:21px;line-height:1.3;text-wrap:balance}
.topics__link{color:inherit;text-decoration-line:underline;
  text-decoration-thickness:1px;text-decoration-color:transparent;
  text-underline-offset:4px;-webkit-tap-highlight-color:transparent;
  transition:text-decoration-color var(--t-quick) var(--ease-state)}
.topics__link::after{content:"";position:absolute;
  inset:0 calc(-1 * var(--topics-bleed));
  border-radius:0 0 var(--r-sm) var(--r-sm)}
.topics__text{grid-column:2;margin-top:6px}
.topics__desc{margin:0;max-width:var(--measure);font-size:17px;line-height:1.5;
  color:var(--body);text-wrap:pretty}
.topics__soon{grid-column:2;margin:6px 0 0;font:600 12px/1.2 var(--sans);letter-spacing:.09em;
  text-transform:uppercase;color:var(--muted)}
.topics__text+.topics__soon{margin-top:10px}
@container topics (width < 840px){
  @media (hover:hover){.topics__item:hover+.topics__item::before{opacity:0}}
  .topics__item:active+.topics__item::before{opacity:0}
}
@container topics (width < 840px){
  .topics__item:has(.topics__link:focus-visible)+.topics__item::before{opacity:0;
    transition:none}
}
@container topics (min-width:840px){
  .topics__item{grid-column:auto;grid-row:span 3;display:grid;
    grid-template-rows:subgrid;grid-template-columns:minmax(0,1fr);row-gap:0}
  .topics__item:nth-child(n+4){margin-top:12px}
  .topics__head{grid-row:1;display:flex;flex-direction:column;align-self:end}
  .topics__icon{margin:0 0 16px}
  .topics__text{grid-row:2;grid-column:1;margin-top:8px}
  .topics__soon,.topics__text+.topics__soon{grid-row:3;grid-column:1;margin-top:10px}
}
@media (hover:hover){
  .topics__item:hover::after{opacity:1}
  .topics__item:hover .topics__link{text-decoration-color:currentColor}
}
.topics__item:active::after{opacity:1;
  background-color:color-mix(in oklab,var(--ink) 7%,var(--page))}
.topics__link:focus-visible{outline:0;text-decoration-color:currentColor;transition:none}
.topics__link:focus-visible::after{outline:2px solid var(--focus);outline-offset:2px}
@supports selector(:has(*)){
  .topics__item:has(.topics__link:focus-visible)::after{opacity:1;transition:none}
}
@media (prefers-reduced-motion:no-preference){
  .topics .t-run{stroke-dasharray:1 2;stroke-dashoffset:1;
    transition:opacity 0s 200ms,stroke-dashoffset 0s 200ms}
  .topics .t-base{transition:opacity var(--t-fast) var(--ease-state)}
  .topics .t-win{transition:transform var(--t-mid) var(--ease)}
  .topics .t-type{transition:stroke-dashoffset 150ms steps(3,start),opacity 0s 150ms}
  .topics .t-caret{transition:transform 150ms steps(3,start)}
}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .topics__item:hover .t-base{opacity:.3}
  .topics__item:hover .t-run{opacity:1;stroke-dashoffset:0}
  .topics__item:hover .t-in{transition:opacity 0s 40ms,stroke-dashoffset 220ms linear 40ms}
  .topics__item:hover .t-out{transition:opacity 0s 260ms,stroke-dashoffset 110ms linear 260ms}
  .topics__item:hover .t-fit{transition:opacity 0s 40ms,
    stroke-dashoffset var(--t-draw) var(--ease-in-out) 40ms}
  .topics__item:hover .t-win{transform:translateX(7px);
    transition:transform var(--t-draw) var(--ease-in-out)}
  .topics__item:hover .t-bar{transition:opacity 0s var(--d),
    stroke-dashoffset var(--t-fast) var(--ease) var(--d)}
  .topics__item:hover .t-bell{transition:opacity 0s 140ms,
    stroke-dashoffset var(--t-mid) var(--ease-in-out) 140ms}
  .topics__item:hover .t-type{transition:opacity 0s,stroke-dashoffset 300ms steps(3,start)}
  .topics__item:hover .t-caret{transform:translateX(5.2px);
    transition:transform 300ms steps(3,start)}
}
@media (prefers-reduced-motion:no-preference){ @supports selector(:has(*)){
  .topics__item:has(.topics__link:focus-visible) .t-base{opacity:.3;transition:none}
  .topics__item:has(.topics__link:focus-visible) .t-run{opacity:1;stroke-dashoffset:0;transition:none}
  .topics__item:has(.topics__link:focus-visible) .t-win{transform:translateX(7px);transition:none}
  .topics__item:has(.topics__link:focus-visible) .t-caret{transform:translateX(5.2px);transition:none}
}}
@media screen and (prefers-reduced-motion:no-preference){
  .topics--anim .topics__item::before{transform:scaleX(0)}
  .topics--anim .topics__item>*{opacity:0;transform:translateY(8px)}
  .topics--anim .topics__item:not(.is-in){pointer-events:none}
  .topics--anim .is-in::before{transform:none;
    transition:transform var(--t-slow) var(--ease),opacity var(--t-quick) var(--ease-state)}
  .topics--anim .is-in>*{opacity:1;transform:none;
    transition:opacity var(--t-slow) var(--ease),transform var(--t-slow) var(--ease);
    transition-delay:60ms}
  @container topics (min-width:840px){
    .topics--anim .is-in:nth-child(3n+2)::before{transition-delay:70ms}
    .topics--anim .is-in:nth-child(3n+2)>*{transition-delay:130ms}
    .topics--anim .is-in:nth-child(3n)::before{transition-delay:140ms}
    .topics--anim .is-in:nth-child(3n)>*{transition-delay:200ms}
  }
}
.motiv .col{max-width:none;container:motiv/inline-size}
.motiv .col>p{max-width:var(--measure)}
.motiv .col>:last-child{margin-bottom:0}
.motiv ul{list-style-type:"";counter-reset:motiv;margin:28px 0 24px;padding:0;
  max-width:var(--measure-wide)}
.motiv li{counter-increment:motiv;display:grid;grid-template-columns:36px minmax(0,1fr);
  align-items:baseline;margin:0;padding:14px 0 15px;
  font:400 21px/1.4 var(--serif);letter-spacing:-.004em;color:var(--ink);
  text-wrap:balance}
.motiv li+li{border-top:1px solid var(--rule)}
.motiv li:first-child{padding-top:0}
.motiv li:last-child{padding-bottom:0}
.motiv li::before{content:counter(motiv);font:400 23px/1 var(--sans);
  font-variant-numeric:lining-nums proportional-nums;color:var(--accent)}
.motiv .col>ul+p{max-width:var(--measure-wide);margin:0 0 32px;
  font:400 23px/1.35 var(--serif);letter-spacing:-.006em;color:var(--ink);
  text-wrap:balance}
@container motiv (min-width:600px){
  .motiv ul{margin:32px 0 28px}
  .motiv .col>ul+p{margin-bottom:36px;font-size:28px;line-height:1.3;
    letter-spacing:-.01em}
}
@container motiv (min-width:704px){
  .motiv ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
    margin:36px 0 28px}
  .motiv li{display:block;padding:0 32px 28px 0}
  .motiv li+li{border-top:0}
  .motiv li:nth-child(even){padding-right:0;padding-left:32px;
    border-left:1px solid var(--rule)}
  .motiv li:nth-child(n+3){padding-top:28px;padding-bottom:0;
    border-top:1px solid var(--rule)}
  .motiv li::before{display:block;margin-bottom:8px;font-size:28px}
}
.rboxes__body{container:rboxes/inline-size}
.rboxes__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:40px 32px;
  margin:0;padding:0;list-style:none}
.rboxes__item{display:flex;flex-direction:column;align-items:flex-start;
  min-width:0;margin:0}
.rboxes__card{position:relative;align-self:stretch;flex:1 1 auto;display:grid;
  grid-template:"p t a" auto / 56px minmax(0,1fr) auto;align-items:center;
  gap:16px;margin:0 -12px;padding:16px 12px;
  border-radius:0 0 var(--r-md) var(--r-md);
  color:var(--ink);text-decoration:none;
  transition:background-color var(--t-quick) var(--ease-state)}
.rboxes__card::before{content:"";position:absolute;top:0;left:12px;right:12px;
  border-top:1px solid var(--rule)}
.rboxes__title{grid-area:t;margin:0;font:600 19px/1.35 var(--serif);
  color:var(--ink);text-wrap:balance;overflow-wrap:break-word;
  text-decoration-line:underline;text-decoration-thickness:1px;
  text-decoration-color:transparent;text-underline-offset:4px;
  transition:text-decoration-color var(--t-quick) var(--ease-state)}
.rboxes__plate{grid-area:p;display:block;width:56px;height:56px;margin-left:-5px}
.rboxes .rb-w{stroke:var(--accent)}
.rboxes .rb-m{opacity:.65}
.rboxes .rb-o{opacity:.35}
.rboxes__arrow{grid-area:a;display:block;width:24px;height:24px;overflow:visible;
  color:var(--muted);forced-color-adjust:auto;
  transition:color var(--t-quick) var(--ease-state)}
@container rboxes (min-width:480px){
  .rboxes__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rboxes__card{grid-template:"t t" auto "p a" 1fr / minmax(0,1fr) auto;
    align-items:end;row-gap:24px;padding:20px 12px 16px}
  .rboxes__title{align-self:start}
  .rboxes__arrow{margin-bottom:-2px}
}
@media (hover:hover){
  a.rboxes__card:hover{background-color:var(--surface);
    background-color:color-mix(in oklab,var(--ink) 4%,var(--page))}
  a.rboxes__card:hover .rboxes__title{text-decoration-color:currentColor}
  a.rboxes__card:hover .rboxes__arrow{color:var(--body)}
}
a.rboxes__card:focus-visible{outline:2px solid var(--focus);outline-offset:2px;
  background-color:var(--surface);
  background-color:color-mix(in oklab,var(--ink) 4%,var(--page))}
a.rboxes__card:focus-visible .rboxes__title{text-decoration-color:currentColor}
a.rboxes__card:focus-visible .rboxes__arrow{color:var(--body)}
a.rboxes__card:active{background-color:var(--card);
  background-color:color-mix(in oklab,var(--ink) 7%,var(--page))}
@media (prefers-reduced-motion:no-preference){
  .rboxes .ar-shaft{stroke-dasharray:13;stroke-dashoffset:5;
    transition:stroke-dashoffset var(--t-fast) var(--ease)}
  .rboxes .ar-head{transition:transform var(--t-fast) var(--ease)}
  a.rboxes__card:focus-visible .ar-shaft{stroke-dashoffset:0;transition:none}
  a.rboxes__card:focus-visible .ar-head{transform:translateX(5px);transition:none}
}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  a.rboxes__card:hover .ar-shaft{stroke-dashoffset:0;
    transition-duration:var(--t-mid)}
  a.rboxes__card:hover .ar-head{transform:translateX(5px);
    transition:transform var(--t-mid) var(--ease) 60ms}
}
.rboxes__card--wait{cursor:default}
.rboxes__card--wait .rboxes__plate{color:var(--muted)}
.rboxes__card--wait .rb-w{stroke:currentColor}
.rboxes__dl{display:inline-flex;align-items:center;gap:8px;min-height:44px;
  margin:4px 0 0;font:600 14px/1.3 var(--sans);letter-spacing:.01em;
  color:var(--muted)}
.rboxes__dl svg{flex:none;display:block;width:20px;height:20px;margin-left:-5px}
a.rboxes__dl{color:var(--link);text-decoration:none;border-radius:var(--r-sm)}
.rboxes__dlt{text-decoration-line:underline;text-decoration-thickness:1.5px;
  text-underline-offset:3px;text-decoration-color:currentColor;
  text-decoration-color:color-mix(in oklab,currentColor,transparent 62%);
  transition:text-decoration-color var(--t-fast) var(--ease-state)}
.rboxes__size{margin-left:2px;color:var(--muted);
  font-variant-numeric:lining-nums tabular-nums}
@media (hover:hover){
  a.rboxes__dl:hover .rboxes__dlt{text-decoration-color:currentColor}
}
a.rboxes__dl:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
a.rboxes__dl:focus-visible .rboxes__dlt{text-decoration-color:currentColor}
.rboxes-page{container:rboxes-page/inline-size}
.rboxes-page__more>.col>p:last-child{margin-bottom:0}
.rboxes+.rboxes-page__more>h2{margin-top:35px}
@container rboxes-page (min-width:800px){
  .rboxes-page__grid{display:grid;
    grid-template-columns:minmax(0,var(--measure)) minmax(280px,1fr);
    grid-template-rows:auto 1fr;column-gap:40px;align-items:start}
  .rboxes-page__grid>.col--his{grid-area:1/1}
  .rboxes-page__more{grid-area:2/1}
  .rboxes-page__grid>.rboxes{grid-area:1/2/3}
  .rboxes-page__grid>.col--his>p:last-child{margin-bottom:0}
  .rboxes+.rboxes-page__more>h2{margin-top:47px}
  .rboxes>h2{margin:calc(19px*((var(--lh) - 1.371)/2 + .366) - .202em) 0 14px;
    font:600 12px/1.1 var(--sans);letter-spacing:.12em;text-transform:uppercase;
    color:var(--muted)}
  .rboxes__card{grid-template:"t t" auto "p a" auto / minmax(0,1fr) auto;
    align-items:end;row-gap:12px;padding:20px 12px 12px}
  .rboxes__title{align-self:start}
  .rboxes__arrow{margin-bottom:-2px}
  .rboxes__dl{margin-top:0}
}
.career{container:career/inline-size}
.career__list{--career-pad:7px;--career-lane:20px;--career-rail:34px;
  --career-gap:28px;--career-dot:10.5px;--career-turn:40px;--career-node:12px;
  --career-year:8px;--career-foot:6px;
  --career-line:var(--line-strong);--career-lit:var(--surface);
  position:relative;isolation:isolate;max-width:var(--measure-wide);margin:0;
  padding:0;list-style:none}
@supports (color:color-mix(in oklab,red,blue)){
  .career__list{--career-line:color-mix(in oklab,var(--link) 45%,var(--page));
    --career-lit:color-mix(in oklab,var(--wash) 62%,var(--page))}
}
.career__item{--x:1;--yrs:0;--bend:0px;position:relative;display:grid;margin:0;
  padding:0 0 var(--career-gap);grid-template-columns:var(--career-rail) minmax(0,1fr);
  column-gap:12px;grid-template-areas:"rail when" "rail role" "rail place" "rail note";
  --career-top:calc(var(--career-dot) - var(--career-node) / 2);
  --career-len:calc(var(--career-node) + var(--yrs) * var(--career-year));
  --career-at:calc(var(--career-pad) + var(--x) * var(--career-lane))}
.career__item:last-child{padding-bottom:0}
.career__item--out{--x:0}
.career__item--turn{--bend:var(--career-turn)}
.career__role{grid-area:role;margin:0;font:600 21px/1.3 var(--serif);
  letter-spacing:-.004em;color:var(--ink);text-wrap:balance}
.career__when{grid-area:when;margin:0;white-space:nowrap;
  font:600 14px/1.5 var(--sans);letter-spacing:.01em;color:var(--muted);
  font-variant-numeric:lining-nums tabular-nums}
.career__item--now .career__when{color:var(--accent)}
.career__place,.career__note{margin:4px 0 0;font-size:16px;line-height:1.5}
.career__place{grid-area:place;color:var(--body)}
.career__note{grid-area:note;color:var(--muted)}
.career__part{display:inline-block;max-width:100%}
.career__rail{grid-area:rail;position:relative}
.career__track{position:absolute;left:0;right:0;
  top:calc(var(--career-top) + var(--career-len));
  bottom:calc(-1 * (var(--career-gap) + var(--career-top)));color:var(--career-line)}
.career__item:last-child .career__track{bottom:var(--career-foot)}
.career__track::before{content:"";position:absolute;top:0;bottom:var(--bend);
  left:calc(var(--career-at) - 1px);border-left:2px solid currentColor}
.career__track svg{position:absolute;left:0;bottom:0;width:var(--career-rail);
  height:var(--career-turn);overflow:visible;fill:none;stroke:currentColor;
  stroke-width:2}
.career__track--lit{top:var(--career-top);color:var(--accent);
  clip-path:inset(100% 0 0 0)}
.career__item--now .career__track--lit{clip-path:inset(0)}
.career__fill{position:absolute;top:0;width:var(--career-node);
  height:var(--career-len);left:calc(var(--career-at) - var(--career-node) / 2);
  border-radius:var(--r-pill);background:currentColor}
.career__item:last-child .career__track::after{content:"";position:absolute;
  bottom:-1px;width:12px;border-top:2px solid currentColor;
  left:calc(var(--career-at) - 6px)}
.career__item--now .career__rail::before{content:"";position:absolute;
  top:calc(var(--career-top) - 22px);height:24px;
  left:calc(var(--career-at) - 1px);border-left:2px solid var(--accent);
  -webkit-mask-image:linear-gradient(to top,#000,transparent);
  mask-image:linear-gradient(to top,#000,transparent)}
.career__node{position:absolute;z-index:1;box-sizing:border-box;
  top:var(--career-top);left:calc(var(--career-at) - var(--career-node) / 2);
  width:var(--career-node);height:var(--career-len);border-radius:var(--r-pill);
  border:2px solid var(--career-line)}
.career__item--now .career__node{border-color:var(--accent);background:var(--accent);
  box-shadow:0 0 0 3px var(--wash);
  -webkit-print-color-adjust:exact;print-color-adjust:exact}
.career__node::after{content:"";position:absolute;inset:-2px;border-radius:inherit;
  border:1px solid var(--accent);opacity:0;--career-sx:2;
  --career-sy:calc((32 + 8 * var(--yrs)) / (16 + 8 * var(--yrs)))}
.career__item::before{content:"";position:absolute;z-index:-1;
  grid-column:rail-start/-1;grid-row:1/-1;top:-12px;right:-12px;bottom:-12px;
  left:max(-6px,calc(var(--career-at) - var(--career-node) / 2 - 8px));
  border-radius:var(--r-md);background:var(--career-lit);opacity:0;
  transform:scaleX(0);transform-origin:0 50%}
@media (hover:hover) and (pointer:fine){
  .career__item:hover::before{opacity:1;transform:none}
  .career__item:hover .career__track--lit{clip-path:inset(0)}
  .career__item:hover .career__node{border-color:var(--accent)}
  .career__item:hover .career__when{color:var(--accent)}
  .career__list:has(.career__item:hover) .career__item:not(:hover) .career__rail{
    opacity:.45}
  .career__list:has(.career__item:hover) .career__item--now:not(:hover) .career__track--lit{
    clip-path:inset(100% 0 0 0)}
  .career__list:has(.career__item:hover) .career__item--now:not(:hover) .career__when{
    color:var(--muted)}
}
@media screen and (prefers-reduced-motion:no-preference){
  .career__track::before{transform-origin:50% 0}
  .career__item--now .career__rail::before{transform-origin:50% 100%}
  .career__list.is-out .career__item:not(.is-in) :is(.career__node,.career__fill){opacity:0;
    transform:scale(.6)}
  .career__list.is-out .career__item:not(.is-in) .career__track::before{transform:scaleY(0)}
  .career__list.is-out .career__item:not(.is-in) .career__track path{
    stroke-dasharray:1 1;stroke-dashoffset:1}
  .career__list.is-out .career__item:not(.is-in) .career__track::after{opacity:0}
  .career__list.is-out .career__item--now:not(.is-in) .career__rail::before{opacity:0;
    transform:scaleY(0)}
  .career__list.is-out .career__item--now:not(.is-in) .career__track--rest{opacity:0}
  .career__item.is-in :is(.career__node,.career__fill){
    animation:career-stop var(--t-mid) var(--ease) var(--career-d,0ms) both}
  .career__item.is-in .career__track::before{
    animation:career-lay 320ms linear calc(var(--career-d,0ms) + 60ms) both}
  .career__item--turn.is-in .career__track::before{animation-duration:180ms}
  .career__item--turn.is-in .career__track path{
    animation:career-bend 140ms linear calc(var(--career-d,0ms) + 240ms) backwards}
  .career__item.is-in:last-child .career__track::after{animation:career-cap var(--t-fast)
    var(--ease-state) calc(var(--career-d,0ms) + 380ms) both}
  .career__item--now.is-in .career__rail::before{
    animation:career-tail 600ms var(--ease) calc(var(--career-d,0ms) + 120ms) both}
  .career__item--now.is-in .career__track--rest{
    animation:career-cap 1ms linear calc(var(--career-d,0ms) + 380ms) both}
  .career__item--now.is-in .career__node::after{
    animation:career-hail 900ms var(--ease) calc(var(--career-d,0ms) + 120ms) forwards}
}
@keyframes career-stop{from{opacity:0;transform:scale(.6)}}
@keyframes career-lay{from{transform:scaleY(0)}}
@keyframes career-bend{
  from{stroke-dasharray:1 1;stroke-dashoffset:1}
  to{stroke-dasharray:1 1;stroke-dashoffset:0}
}
@keyframes career-cap{from{opacity:0}}
@keyframes career-tail{from{opacity:0;transform:scaleY(0)}}
@keyframes career-ping{
  from{opacity:.55;transform:none}
  to{opacity:0;transform:scale(var(--career-sx),var(--career-sy))}
}
@keyframes career-hail{
  from{opacity:.55;transform:none}
  to{opacity:0;transform:scale(var(--career-sx),var(--career-sy))}
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .career__item::before{transition:opacity var(--t-quick) var(--ease-state),
    transform 0s linear var(--t-quick)}
  .career__item:hover::before{transition:opacity 0s,transform var(--t-mid) var(--ease)}
  .career__rail{transition:opacity var(--t-fast) var(--ease-state)}
  .career__track--lit{transition:clip-path var(--t-fast) var(--ease-in-out)}
  .career__item:hover .career__track--lit,
  .career__item--now .career__track--lit{transition:clip-path var(--t-draw) var(--ease)}
  .career__list:has(.career__item:hover) .career__item--now:not(:hover) .career__track--lit{
    transition:clip-path var(--t-fast) var(--ease-in-out)}
  .career__node{transition:border-color var(--t-fast) var(--ease-state)}
  .career__when{transition:color var(--t-fast) var(--ease-state)}
  .career__item:hover .career__node::after{
    animation:career-ping 700ms var(--ease) 60ms forwards}
}
@container career (min-width:560px){
  .career__list{--career-gap:36px;--career-dot:16px;--career-turn:48px;
    display:grid;grid-template-columns:max-content var(--career-rail) minmax(0,1fr);
    column-gap:12px}
  .career__item{grid-column:1/-1;column-gap:12px;align-items:baseline;
    grid-template-columns:80px var(--career-rail) minmax(0,1fr);
    grid-template-columns:subgrid;
    grid-template-areas:"when rail role" ". rail place" ". rail note"}
  .career__when{justify-self:end;text-align:right}
  .career__rail{align-self:stretch}
}
@media (forced-colors:active){
  .career__item::before{display:none}
  .career__track--lit{color:Highlight}
  .career__node,.career__fill,.career__item--now .career__rail::before{
    forced-color-adjust:none}
  .career__node{border-color:CanvasText}
  .career__fill{background:Highlight}
  .career__item--now .career__node{background:Highlight;border-color:Highlight;
    box-shadow:none}
  .career__item--now .career__rail::before{border-color:Highlight}
}
@media (forced-colors:active) and (hover:hover) and (pointer:fine){
  .career__item:hover .career__node{border-color:Highlight}
}
@media print{
  .career h2{break-after:avoid}
  .career__item{break-inside:avoid}
}
.abt__h1{margin:0 0 28px}
.abt__card{display:grid;grid-template-columns:120px minmax(0,1fr);column-gap:24px;
  align-items:start}
.abt__portrait{display:block;width:120px;height:auto;aspect-ratio:4/5;object-fit:cover;
  border-radius:var(--r-md);background:var(--card)}
.abt__name{margin:0;font:600 26px/1.2 var(--serif);letter-spacing:-.008em;
  color:var(--ink);text-wrap:balance;text-box:trim-start cap alphabetic}
@supports not (text-box:trim-start cap alphabetic){.abt__name{margin-top:-.22em}}
.abt__post{margin:12px 0 0;font:400 15px/1.5 var(--sans);letter-spacing:.006em;
  color:var(--ink)}
.abt__post span{display:block;color:var(--muted)}
.abt__act{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px 24px;
  margin:28px 0 0}
.abt__cv{flex:none;display:inline-flex;align-items:center;gap:8px;min-height:44px;
  padding:0 20px 0 16px;border-radius:var(--r-pill);background:var(--accent);
  color:var(--btn-fg);font:600 15px/1.2 var(--sans);letter-spacing:.01em;
  text-decoration:none;-webkit-tap-highlight-color:transparent;
  transition:background-color var(--t-fast) var(--ease-state),
    transform var(--t-quick) var(--ease)}
.abt__cv svg{flex:none;display:block}
.abt__cv:active{background:var(--accent-press);transform:scale(.97)}
.abt__cv:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.abt__links{flex:1 1 240px;display:flex;flex-wrap:wrap;align-items:center;gap:0 20px;
  margin:0;padding:0;list-style:none}
.abt__links li{margin:0}
.abt__links a{display:inline-flex;align-items:center;gap:3px;min-height:44px;
  font:600 15px/1.2 var(--sans);letter-spacing:.01em;color:var(--link);
  -webkit-tap-highlight-color:transparent}
.abt__links .abt__also a{color:var(--muted);font-weight:400}
.abt__ext{flex:none;display:block;overflow:visible}
.abt__eshaft{stroke-dasharray:15.56;stroke-dashoffset:2.83}
.abt__cols{container:abt/inline-size}
.abt__grid{display:grid;grid-template-columns:minmax(0,1fr);align-items:start}
.abt__areas{margin-top:40px}
.abt__bio h2{margin:36px 0 18px}
.abt__bio p{max-width:var(--measure)}
.abt__bio p:last-child{margin-bottom:0}
.abt__bio strong{font-weight:600;color:var(--ink)}
.abt__areas{--abt-line:var(--line-strong);--abt-lit:var(--link);--abt-hot:var(--link)}
@supports (color:color-mix(in oklab,red,blue)){
  .abt__areas{--abt-line:color-mix(in oklab,var(--link) 45%,var(--page));
    --abt-lit:color-mix(in oklab,var(--link) 80%,var(--page))}
}
.abt__areas h2{margin:0 0 14px;font:600 12px/1.1 var(--sans);letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted);text-box:trim-start cap alphabetic}
.abt__list{position:relative;isolation:isolate;margin:0;padding:0 0 0 24px;
  list-style:none}
.abt__list::before{content:"";position:absolute;left:4px;top:16px;bottom:16px;width:1px;
  background:repeating-linear-gradient(to bottom,var(--abt-line) 0 2px,transparent 2px 6px)}
.abt__list li{position:relative;margin:0;padding:5px 0;font:400 16px/1.35 var(--serif);
  color:var(--ink)}
.abt__bead{position:absolute;z-index:1;left:-24px;top:12px;width:9px;height:9px;
  box-sizing:border-box;border:1.5px solid var(--abt-line);border-radius:var(--r-pill);
  background:var(--page)}
.abt__bead::before,.abt__bead::after{content:"";position:absolute;inset:-1.5px;
  border-radius:inherit;opacity:0}
.abt__bead::before{background:var(--abt-hot)}
.abt__bead::after{border:1px solid var(--abt-hot)}
.abt__list li::before,.abt__list li::after{content:"";position:absolute;left:-20px;
  top:16.5px;width:1px;height:100%;background:var(--abt-lit);transform:scaleY(0);
  transform-origin:50% 0}
.abt__list li:last-child::before,.abt__list li:last-child::after{content:none}
.abt__more{display:inline-flex;align-items:center;gap:4px;min-height:44px;
  margin:12px 0 0 24px;font:600 15px/1.2 var(--sans);letter-spacing:.01em;
  color:var(--link);text-decoration:none;-webkit-tap-highlight-color:transparent}
.abt__more span{text-decoration-line:underline;text-decoration-thickness:1.5px;
  text-underline-offset:3px;text-decoration-color:transparent;
  transition:text-decoration-color var(--t-fast) var(--ease-state)}
.abt__more svg{flex:none;display:block;overflow:visible}
.abt__shaft{stroke-dasharray:13;stroke-dashoffset:5}
@container abt (min-width:560px) and (not (min-width:800px)){
  .abt__list{columns:2;column-gap:32px}
  .abt__list::before,.abt__list li::before,.abt__list li::after{content:none}
  .abt__list li{break-inside:avoid}
}
@container abt (min-width:800px){
  .abt__grid{grid-template-columns:minmax(0,var(--measure)) auto;
    grid-template-rows:auto 1fr;column-gap:32px;justify-content:space-between}
  .abt__top{grid-column:1;grid-row:1}
  .abt__bio{grid-column:1;grid-row:2}
  .abt__areas{grid-column:2;grid-row:1/span 2;margin-top:0}
}
@media (width > 1000px) and (min-height:680px){
  @container abt (min-width:800px){
    .abt__areas{position:sticky;top:40px}
  }
}
@media (hover:hover){
  .abt__cv:hover{background:var(--accent-hover)}
  .abt__cv:active{background:var(--accent-press)}
  .abt__more:hover span{text-decoration-color:currentColor}
}
@media (hover:hover) and (pointer:fine){
  .abt__list li:hover .abt__bead{border-color:var(--abt-hot);background:var(--abt-hot);
    transform:scale(1.33)}
  .abt__list li:hover::after{transform:none}
  .abt__list li:has(+ li:hover)::after{transform:none;transform-origin:50% 100%}
  .abt__list li:hover + li .abt__bead,
  .abt__list li:has(+ li:hover) .abt__bead{border-color:var(--abt-lit);
    transform:scale(1.15)}
}
@container abt (min-width:560px) and (not (min-width:800px)){
  .abt__list li:hover + li .abt__bead,
  .abt__list li:has(+ li:hover) .abt__bead{border-color:var(--abt-line);transform:none}
}
@media (prefers-reduced-motion:no-preference){
  .abt__eshaft,.abt__shaft{transition:stroke-dashoffset var(--t-fast) var(--ease)}
  .abt__ehead,.abt__head{transition:transform var(--t-fast) var(--ease)}
  .abt__list{--abt-lead:var(--t-mid);--abt-step:60ms}
  .abt__list.is-run .abt__bead::before{animation:abt-flash 520ms var(--ease)
    calc(var(--abt-lead) + var(--i,0) * var(--abt-step)) both}
  .abt__list.is-run li::before{
    animation:abt-draw var(--abt-step) linear
        calc(var(--abt-lead) + var(--i,0) * var(--abt-step)) both,
      abt-wane var(--t-draw) var(--ease-state)
        calc(var(--abt-lead) + (var(--i,0) + 2) * var(--abt-step)) both}
  .abt__list.is-run :where(li:first-child,li:last-child) .abt__bead::after{
    animation:abt-call 900ms var(--ease)
      calc(var(--abt-lead) + var(--i,0) * var(--abt-step)) forwards}
}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .abt__links a:hover .abt__eshaft{stroke-dashoffset:0;transition-duration:var(--t-mid)}
  .abt__links a:hover .abt__ehead{transform:translate(2px,-2px);
    transition-duration:var(--t-mid)}
  .abt__more:hover .abt__shaft{stroke-dashoffset:0;transition-duration:var(--t-mid)}
  .abt__more:hover .abt__head{transform:translateX(5px);
    transition:transform var(--t-mid) var(--ease) 60ms}
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .abt__bead{transition:transform var(--t-fast) var(--ease),
    border-color var(--t-quick) var(--ease-state),
    background-color var(--t-quick) var(--ease-state)}
  .abt__list li:hover .abt__bead{transition-duration:var(--t-mid),var(--t-quick),
    var(--t-quick)}
  .abt__list li:hover + li .abt__bead,
  .abt__list li:has(+ li:hover) .abt__bead{transition-delay:var(--t-quick)}
  .abt__list li::after{transition:transform var(--t-quick) var(--ease-state),
    transform-origin 0s linear var(--t-quick)}
  .abt__list li:hover::after,.abt__list li:has(+ li:hover)::after{
    transition:transform var(--t-mid) var(--ease),transform-origin 0s}
  .abt__list li:hover .abt__bead::after{animation:abt-ping 700ms var(--ease) 60ms forwards}
}
.abt__more:focus-visible span{text-decoration-color:currentColor;transition:none}
@media (prefers-reduced-motion:no-preference){
  .abt__links a:focus-visible .abt__eshaft{stroke-dashoffset:0;transition:none}
  .abt__links a:focus-visible .abt__ehead{transform:translate(2px,-2px);transition:none}
  .abt__more:focus-visible .abt__shaft{stroke-dashoffset:0;transition:none}
  .abt__more:focus-visible .abt__head{transform:translateX(5px);transition:none}
}
@keyframes abt-flash{
  0%{opacity:0;transform:scale(.5)}
  15%{opacity:1;transform:scale(1.25)}
  35%{opacity:1;transform:none}
  100%{opacity:0;transform:none}
}
@keyframes abt-draw{from{transform:scaleY(0)}to{transform:none}}
@keyframes abt-wane{from{opacity:1}to{opacity:0}}
@keyframes abt-call{from{opacity:.5;transform:none}to{opacity:0;transform:scale(2.6)}}
@keyframes abt-ping{from{opacity:.5;transform:none}to{opacity:0;transform:scale(2.2)}}
@media (prefers-reduced-motion:reduce){
  .abt__cv:active{transform:none}
  .abt__shaft{stroke-dashoffset:0}
}
@media (forced-colors:active){
  .abt__cv{border:1px solid ButtonText}
  .abt__list::before{background:CanvasText;forced-color-adjust:none;width:1px}
  .abt__bead{border-color:CanvasText}
  .abt__bead::before,.abt__bead::after,.abt__list li::before,
  .abt__list li::after{display:none}
}
@media (forced-colors:active) and (hover:hover) and (pointer:fine){
  .abt__list li:hover .abt__bead{forced-color-adjust:none;border-color:Highlight;
    background:Highlight}
}
@media print{
  .abt__areas{position:static}
  .abt__cv{border:1px solid currentColor;background:none;color:inherit}
  .abt__bead::before,.abt__bead::after,.abt__list li::before,
  .abt__list li::after{display:none}
}
.glance{margin:47px 0 0}
.glance__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px;
  margin:0 0 21px}
.glance__title{margin:0}
.glance__when{margin:0;font:600 14px/1.5 var(--sans);letter-spacing:.01em;
  color:var(--muted);font-variant-numeric:lining-nums proportional-nums}
.glance__grid{container:glance/inline-size;display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));column-gap:40px;
  margin:0;padding:0;list-style:none}
.glance__card{grid-column:1/-1;position:relative;margin:0}
.glance__card::before{content:"";position:absolute;top:0;left:0;right:0;z-index:1;
  border-top:1px solid var(--rule);transform-origin:0 50%}
.glance__a{display:grid;grid-template-columns:minmax(44px,max-content) minmax(0,1fr);
  column-gap:16px;align-items:baseline;margin:0 -12px;padding:20px 12px;
  border-radius:0 0 var(--r-md) var(--r-md);color:inherit;text-decoration:none;
  -webkit-tap-highlight-color:transparent;
  transition:background-color var(--t-quick) var(--ease-state)}
.glance__fig{grid-area:1/1;display:block;margin:0;font:400 40px/1 var(--serif);
  letter-spacing:-.014em;color:var(--accent);
  font-variant-numeric:lining-nums proportional-nums}
.glance__n{display:block}
.glance__label{grid-area:1/2;display:flex;align-items:center;gap:4px;margin:0;
  font:600 19px/1.35 var(--serif);color:var(--ink)}
.glance__label span{text-decoration-line:underline;text-decoration-thickness:1px;
  text-underline-offset:4px;text-decoration-color:transparent;
  transition:text-decoration-color var(--t-quick) var(--ease-state)}
.glance__label svg{flex:none;display:block;overflow:visible;color:var(--muted);
  transition:color var(--t-quick) var(--ease-state)}
.glance__shaft{stroke-dasharray:13;stroke-dashoffset:5}
.glance__note{grid-area:2/2;margin:4px 0 0;font-size:16px;line-height:1.5;
  color:var(--muted)}
@container glance (min-width:740px){
  .glance__card{grid-column:auto}
  .glance__a{display:block;height:100%;padding:24px 12px 16px}
  .glance__label{margin-top:12px}
  .glance__card:nth-child(2){--i:1}
  .glance__card:nth-child(3){--i:2}
}
@media (hover:hover){
  a.glance__a:hover{background-color:var(--surface);
    background-color:color-mix(in oklab,var(--ink) 4%,var(--page))}
  a.glance__a:hover .glance__label span{text-decoration-color:currentColor}
  a.glance__a:hover .glance__label svg{color:var(--body)}
}
a.glance__a:active{background-color:var(--card);
  background-color:color-mix(in oklab,var(--ink) 7%,var(--page))}
.glance__a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
@media (prefers-reduced-motion:no-preference){
  .glance__shaft{transition:stroke-dashoffset var(--t-fast) var(--ease)}
  .glance__head{transition:transform var(--t-fast) var(--ease)}
}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  a.glance__a:hover .glance__shaft{stroke-dashoffset:0;transition-duration:var(--t-mid)}
  a.glance__a:hover .glance__head{transform:translateX(5px);
    transition:transform var(--t-mid) var(--ease) 60ms}
}
a.glance__a:focus-visible .glance__label span{text-decoration-color:currentColor;
  transition:none}
@media (prefers-reduced-motion:no-preference){
  a.glance__a:focus-visible .glance__shaft{stroke-dashoffset:0;transition:none}
  a.glance__a:focus-visible .glance__head{transform:translateX(5px);transition:none}
}
@media (prefers-reduced-motion:reduce){.glance__shaft{stroke-dashoffset:0}}
@media (forced-colors:active){.glance__label svg{color:LinkText}}
@media screen and (prefers-reduced-motion:no-preference){
  .glance__card.is-out::before{transform:scaleX(0)}
  .glance__card.is-out .glance__n{transform:translateY(100%)}
  .glance__card.is-out .glance__label,.glance__card.is-out .glance__note{
    opacity:0}
  .glance__card.is-out .glance__fig,.glance__card.is-in .glance__fig{
    clip-path:inset(0 -1em -.1em)}
  .glance__card.is-in::before{
    animation:glance-draw var(--t-slow) var(--ease) calc(var(--i,0)*70ms) both}
  .glance__card.is-in .glance__n{
    animation:glance-rise var(--t-slow) var(--ease) calc(var(--i,0)*70ms + 60ms) both}
  .glance__card.is-in .glance__label,.glance__card.is-in .glance__note{
    animation:glance-fade var(--t-slow) var(--ease) calc(var(--i,0)*70ms + 120ms) both}
}
@keyframes glance-draw{from{transform:scaleX(0)}}
@keyframes glance-rise{from{transform:translateY(100%)}}
@keyframes glance-fade{from{opacity:0;transform:translateY(6px)}}
@media print{.glance__card{break-inside:avoid}}
math.im{font-family:"STIX Two Math","Cambria Math",math,var(--serif);font-size:1.05em}
.docpage{--side-now:var(--side);max-width:none;display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,var(--measure-doc)) minmax(0,1fr);
  padding-inline:16px}
[data-side="closed"] .docpage{--side-now:56px}
.docpage>*{grid-column:2;min-width:0}
.docpage>.crumb{grid-row:1}
.docpage>.docart{grid-row:2}
.foot.foot--doc{max-width:calc(var(--measure-doc) + 96px)}
.docpage .crumb{margin:-10px 0 20px}
.docpage .crumb a{display:inline-flex;align-items:center;gap:4px;min-height:44px;
  margin-left:-6px;padding:0 10px 0 2px;border-radius:var(--r-sm);
  font:600 14px/1.2 var(--sans);letter-spacing:.01em;color:var(--muted);text-decoration:none;
  transition:color var(--t-fast) var(--ease-state)}
.docpage .crumb svg{flex:none}
.docpage .dochead{margin:0 0 40px;padding:0 0 32px;border-bottom:1px solid var(--rule)}
.docpage .dochead figure{margin:0 0 36px;max-width:none}
.docpage .dochead figure img{display:block;max-width:100%;height:auto;border-radius:var(--r-md)}
.docpage .dochead__pre{margin:0 0 12px;font-size:16px;line-height:1.5;color:var(--muted)}
.docpage .dochead__rule{margin:0 0 28px;border:0;border-top:1px solid var(--line)}
.docpage .dochead h1{margin:0;text-wrap:balance}
.docpage .dochead__dek{margin:16px 0 0;font-size:21px;line-height:1.45;
  letter-spacing:-.004em;color:var(--body);text-wrap:pretty}
.docpage .dochead__by{margin:14px 0 0;font-size:16px;line-height:1.5;color:var(--muted)}
.docpage .docmeta{margin:12px 0 0}
.docpage .docdl{display:inline-flex;align-items:center;gap:8px;min-height:44px;
  color:var(--link);text-decoration:none;border-radius:var(--r-sm);
  font:600 14px/1.3 var(--sans);letter-spacing:.01em}
.docpage .docdl svg{flex:none;width:20px;height:20px;margin-left:-5px}
.docpage .docdl__t{text-decoration-line:underline;text-decoration-thickness:1.5px;
  text-underline-offset:3px;
  text-decoration-color:color-mix(in oklab,currentColor,transparent 62%);
  transition:text-decoration-color var(--t-fast) var(--ease-state)}
.docpage .docdl__size{color:var(--muted);font-variant-numeric:lining-nums tabular-nums}
.docpage{--toc-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M9 6.5h11M9 12h11M9 17.5h11M4.5 6.5h.01M4.5 12h.01M4.5 17.5h.01'/%3E%3C/svg%3E")}
.docpage nav.toc ol{list-style:none;margin:0;padding:0}
.docpage nav.toc li{margin:0}
.docpage .toc a{--num:var(--muted);position:relative;display:block;color:var(--body);text-decoration:none;
  text-wrap:balance;font-variant-numeric:lining-nums proportional-nums;
  transition:background-color var(--t-quick) var(--ease-state),color var(--t-quick) var(--ease-state)}
.docpage .toc--body ol,.docpage .toc__list{counter-reset:toc}
.docpage .toc--body li,.docpage .toc__list>li{counter-increment:toc}
.docpage :is(.toc--body li,.toc__list>li)>a{padding-left:calc(var(--tl) + var(--tg))}
.docpage :is(.toc--body li,.toc__list>li)>a>.hn:first-child,
.docpage :is(.toc--body li,.toc__list>li)>a:not(:has(>.hn))::before{position:absolute;
  left:var(--tl);width:calc(var(--tg) - .6em);text-align:right;white-space:nowrap;
  color:var(--num);font-variant-numeric:lining-nums tabular-nums}
.docpage :is(.toc--body li,.toc__list>li)>a:not(:has(>.hn))::before{
  content:counter(toc) ".";content:counter(toc) "." / ""}
.docpage .toc--body{--tl:18px;--tg:36px;max-width:none;margin:0 0 48px;
  border:1px solid transparent;border-radius:var(--r-md);background:var(--card);
  overflow:hidden;overflow:clip}
.docpage .doc .toc--body{margin:40px 0 48px}
.docpage .toc__sum{display:flex;align-items:center;column-gap:10px;list-style:none;
  cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;
  user-select:none;transition:background-color var(--t-quick) var(--ease-state)}
.docpage .toc__sum::-webkit-details-marker{display:none}
.docpage .toc--body .toc__sum{min-height:60px;padding:8px 12px 8px calc(var(--tl) + var(--tg) - 30px);
  color:var(--ink)}
.docpage :is(.toc--body .toc__sum,.tocpanel__head)::before{content:"";flex:none;
  width:20px;height:20px;background:currentColor;
  -webkit-mask:var(--toc-ico) center/20px 20px no-repeat;mask:var(--toc-ico) center/20px 20px no-repeat}
.docpage .toc__h{font:600 17px/1.25 var(--sans);letter-spacing:.005em;color:var(--ink)}
.docpage .toc__n{order:1;font:400 14px/1.2 var(--sans);letter-spacing:.01em;color:var(--muted);
  font-variant-numeric:lining-nums;white-space:nowrap;opacity:0}
.docpage .toc__n::before{content:"\B7";padding-right:8px}
.docpage .toc__fold:not([open]) .toc__n{opacity:1}
.docpage .toc--body .toc__sum::after{order:2;margin-left:auto;padding-left:12px;
  content:"Hide";content:"Hide" / "";font:600 14px/1.2 var(--sans);letter-spacing:.01em;
  color:var(--muted);transition:color var(--t-quick) var(--ease-state)}
.docpage .toc--body .toc__fold:not([open]) .toc__sum::after{content:"Show";content:"Show" / ""}
.docpage .toc__chev{order:3;flex:none;margin-left:-6px;color:var(--muted);transform:rotate(-90deg);
  transition:color var(--t-quick) var(--ease-state)}
.docpage .toc__fold:not([open]) .toc__chev{transform:rotate(90deg)}
.docpage .toc--body li{position:relative}
.docpage .toc--body li:last-child{padding-bottom:8px}
.docpage .toc--body li+li::before{content:"";position:absolute;top:0;right:0;
  left:calc(var(--tl) + var(--tg));border-top:1px solid var(--rule)}
.docpage .toc--body li>a{min-height:48px;padding-top:12px;padding-right:20px;padding-bottom:12px;
  font-size:17px;line-height:1.4}
.docpage .toc--body li>a>.hn:first-child,
.docpage .toc--body li>a:not(:has(>.hn))::before{top:12px}
.docpage .toc--body li>a::after{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;
  border-radius:0 var(--r-pill) var(--r-pill) 0;background:var(--accent);opacity:0;
  pointer-events:none}
.docpage .toc--body li>a.is-last{color:var(--ink)}
.docpage .toc--body li>a.is-last::after{opacity:1}
@media (max-width:480px){
  .docpage .toc--body .toc__n{display:none}
}
@media (prefers-reduced-motion:no-preference){
  .docpage .toc__chev{transition:transform var(--t-mid) var(--ease),
    color var(--t-quick) var(--ease-state)}
  .docpage .toc__n,.docpage .toc--body li>a::after,.docpage .toc--body li+li::before{
    transition:opacity var(--t-fast) var(--ease-state)}
}
.docpage .tocdock,.docpage .tocscrim{display:none}
.docpage .tocbtn{position:relative;display:inline-flex;align-items:center;gap:8px;
  min-width:44px;min-height:44px;margin:0;padding:0 16px 0 12px;border:1px solid transparent;
  border-radius:var(--r-pill);background:var(--card);color:var(--ink);cursor:pointer;
  font:600 15px/1.2 var(--sans);letter-spacing:.01em;-webkit-tap-highlight-color:transparent;
  transition:background-color var(--t-quick) var(--ease-state),transform var(--t-fast) var(--ease)}
.docpage .tocbtn svg{flex:none}
.docpage .tocbtn__t{position:absolute;width:1px;height:1px;overflow:hidden;
  clip-path:inset(50%);white-space:nowrap}
.docpage .tocpanel{position:relative;overflow-y:auto;overscroll-behavior:contain;
  scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.docpage .tocpanel__head{display:flex;align-items:center;gap:10px;min-height:60px;
  padding:4px 4px 4px calc(var(--tm) + 1px + var(--tl) + var(--tg) - 30px);
  position:sticky;top:0;z-index:1;background:var(--page);color:var(--ink)}
.docpage .tocpanel__x{flex:none;display:grid;place-items:center;width:44px;height:44px;
  margin:0 0 0 auto;padding:0;border:0;border-radius:var(--r-sm);background:transparent;
  color:var(--muted);cursor:pointer;-webkit-tap-highlight-color:transparent;
  transition:background-color var(--t-quick) var(--ease-state),color var(--t-quick) var(--ease-state)}
.docpage .tocpanel__x svg{display:block}
.docpage .toc--rail{--tl:14px;--tg:33px;--tm:16px}
.docpage .toc__track{position:relative;margin-left:var(--tm)}
.docpage .toc__list{border-left:1px solid var(--rule)}
.docpage .toc--rail a{padding:8px 10px 8px var(--tl);font-size:16px;line-height:1.35;
  border-radius:0 var(--r-sm) var(--r-sm) 0}
.docpage .toc__list>li>a>.hn:first-child,
.docpage .toc__list>li>a:not(:has(>.hn))::before{top:8px}
.docpage .toc--rail li>ol{display:none;margin:0 0 6px}
.docpage .toc--rail li.is-open>ol{display:block}
.docpage .toc--rail ol ol a{padding-block:6px;padding-left:calc(var(--tl) + var(--tg));font-size:15px}
.docpage .toc--rail ol ol .hn{margin-right:.3em}
@media (pointer:coarse){
  .docpage .toc--rail a{padding-block:12px}
  .docpage .toc__list>li>a>.hn:first-child,
  .docpage .toc__list>li>a:not(:has(>.hn))::before{top:12px}
  .docpage .toc--rail ol ol a{padding-block:10px}
  .docpage .toc--rail li>ol{display:block}
}
.docpage .toc--rail a[aria-current],.docpage .toc--rail li.is-open>a{color:var(--ink)}
.docpage .toc__mark{position:absolute;top:0;left:-1px;width:3px;height:1px;
  background:var(--accent);transform-origin:0 0;opacity:0;pointer-events:none}
.docpage .toc__mark.is-on{opacity:1}
@media (forced-colors:active){
  .docpage :is(.toc--body .toc__sum,.tocpanel__head)::before{forced-color-adjust:none;
    background:CanvasText}
  .docpage .toc__mark{width:0;background:none;border-left:3px solid Highlight}
  .docpage .toc--body li>a::after{width:0;background:none;border-left:3px solid Highlight}
  .docpage .tocpanel{border:1px solid CanvasText}
}
@media (prefers-reduced-motion:no-preference){
  .docpage .tocpanel{scroll-behavior:smooth}
  .docpage .toc__mark{transition:transform var(--t-mid) var(--ease),
    opacity var(--t-fast) var(--ease-state)}
  .docpage .tocbtn:active{transform:scale(.97)}
}
@media (width > 1000px){
  [data-toc] .docpage.has-toc>.tocdock{display:block;grid-column:1;grid-row:1 / span 2;
    justify-self:end;align-self:start;position:sticky;top:16px;z-index:39;
    margin:-6px 6px 0 0}
  .docpage .tocbtn{min-width:36px;min-height:36px;padding:0 7px}
  .docpage .tocbtn::after{content:"";position:absolute;inset:-4px}
  [data-toc] .docpage.has-toc>.tocscrim{display:block;position:fixed;
    inset:0 0 0 var(--side-now);z-index:38;background:rgba(39,34,28,.16);
    opacity:0;visibility:hidden;
    transition:opacity var(--t-fast) var(--ease-in-out),visibility 0s linear var(--t-fast)}
  [data-tocpanel] .docpage.has-toc>.tocscrim{opacity:1;visibility:visible;
    transition:opacity var(--t-mid) var(--ease)}
  .docpage .tocpanel{position:fixed;top:0;bottom:0;left:var(--side-now);
    width:min(360px,calc(100vw - var(--side-now) - 64px));padding:0 12px 24px 0;
    background:var(--page);box-shadow:var(--sh-3);
    transform:translateX(-100%);visibility:hidden;
    transition:transform var(--t-fast) var(--ease-in-out),visibility 0s linear var(--t-fast)}
  [data-tocpanel] .docpage .tocpanel{transform:none;visibility:visible;
    transition:transform var(--t-mid) var(--ease)}
  .docpage .tocbtn{transition:opacity var(--t-fast) var(--ease-state),
    visibility 0s linear var(--t-fast),background-color var(--t-quick) var(--ease-state),
    transform var(--t-fast) var(--ease)}
  .docpage .tocbtn.is-on,[data-tocpanel] .docpage .tocbtn{
    transition:opacity var(--t-mid) var(--ease),visibility 0s,
      background-color var(--t-quick) var(--ease-state),transform var(--t-fast) var(--ease)}
  .docpage .tocbtn:is(:hover,:focus-visible) .tocbtn__t{top:calc(100% + 6px);left:0;width:auto;
    height:auto;padding:6px 10px;clip-path:none;border-radius:var(--r-sm);
    background:var(--ink);color:var(--page);font:600 12px/1.2 var(--sans);letter-spacing:.06em;
    box-shadow:var(--sh-2);pointer-events:none}
}
@media (min-width:1188px){
  [data-toc] .docpage.has-toc>.tocdock{margin:-10px 12px 0 0}
  .docpage .tocbtn{min-height:44px;padding:0 16px 0 12px}
  .docpage .tocbtn__t,.docpage .tocbtn:is(:hover,:focus-visible) .tocbtn__t{position:static;
    width:auto;height:auto;padding:0;clip-path:none;background:none;color:inherit;
    box-shadow:none;font:inherit;letter-spacing:inherit}
}
@media (min-width:1004px){
  [data-side="closed"][data-toc] .docpage.has-toc>.tocdock{margin:-10px 12px 0 0}
  [data-side="closed"] .docpage .tocbtn{min-height:44px;padding:0 16px 0 12px}
  [data-side="closed"] .docpage .tocbtn__t,
  [data-side="closed"] .docpage .tocbtn:is(:hover,:focus-visible) .tocbtn__t{position:static;
    width:auto;height:auto;padding:0;clip-path:none;background:none;color:inherit;
    box-shadow:none;font:inherit;letter-spacing:inherit}
}
@media (width > 1000px) and (max-width:1423px){
  :root:not([data-side="closed"]):not([data-tocpanel]) .docpage .tocbtn:not(.is-on){
    opacity:0;visibility:hidden}
}
@media (width > 1000px) and (max-width:1239px){
  [data-side="closed"]:not([data-tocpanel]) .docpage .tocbtn:not(.is-on){opacity:0;visibility:hidden}
}
@media (min-width:1424px){
  [data-toc] .docpage.has-toc>.tocdock{width:min(280px,calc(100% - 32px));margin:-10px 32px 0 0}
  [data-toc] .docpage.has-toc .toc--body,
  [data-toc] .docpage.has-toc>.tocscrim{display:none}
   .docpage .tocbtn__t{position:static;clip-path:none;width:auto;height:auto;overflow:visible;
    white-space:nowrap}
   .docpage .tocbtn{min-height:44px;padding:0 16px 0 12px}
   .docpage .tocpanel{position:relative;inset:auto;z-index:auto;width:auto;
    max-height:calc(100vh - 96px);
    margin-top:12px;padding:0 0 24px;background:none;box-shadow:none;transform:none;
    visibility:visible;opacity:1;
    transition:opacity var(--t-mid) var(--ease),transform var(--t-mid) var(--ease)}
  [data-toc="closed"] .docpage .tocpanel{visibility:hidden;opacity:0;transform:translateY(-6px);
    transition:opacity var(--t-fast) var(--ease-state),transform var(--t-fast) var(--ease-state),
      visibility 0s linear var(--t-fast)}
   .docpage .tocpanel__head{display:none}
   .docpage .tocpanel{--tm:0px}
   .docpage .toc--rail{--tl:10px;--tg:30px}
   .docpage .toc--rail a{color:var(--muted);font-size:15px}
   .docpage .toc--rail ol ol a{font-size:14px}
}
@media (min-width:1240px){
  [data-side="closed"][data-toc] .docpage.has-toc>.tocdock{width:min(280px,calc(100% - 32px));margin:-10px 32px 0 0}
  [data-side="closed"][data-toc] .docpage.has-toc .toc--body,
  [data-side="closed"][data-toc] .docpage.has-toc>.tocscrim{display:none}
  [data-side="closed"] .docpage .tocbtn__t{position:static;clip-path:none;width:auto;height:auto;overflow:visible;
    white-space:nowrap}
  [data-side="closed"] .docpage .tocbtn{min-height:44px;padding:0 16px 0 12px}
  [data-side="closed"] .docpage .tocpanel{position:relative;inset:auto;z-index:auto;width:auto;
    max-height:calc(100vh - 96px);
    margin-top:12px;padding:0 0 24px;background:none;box-shadow:none;transform:none;
    visibility:visible;opacity:1;
    transition:opacity var(--t-mid) var(--ease),transform var(--t-mid) var(--ease)}
  [data-side="closed"][data-toc="closed"] .docpage .tocpanel{visibility:hidden;opacity:0;transform:translateY(-6px);
    transition:opacity var(--t-fast) var(--ease-state),transform var(--t-fast) var(--ease-state),
      visibility 0s linear var(--t-fast)}
  [data-side="closed"] .docpage .tocpanel__head{display:none}
  [data-side="closed"] .docpage .tocpanel{--tm:0px}
  [data-side="closed"] .docpage .toc--rail{--tl:10px;--tg:30px}
  [data-side="closed"] .docpage .toc--rail a{color:var(--muted);font-size:15px}
  [data-side="closed"] .docpage .toc--rail ol ol a{font-size:14px}
}
@media (max-width:1000px){
  .docpage{padding-inline:22px}
  .foot.foot--doc{max-width:calc(var(--measure-doc) + 44px)}
  [data-toc] .docpage.has-toc>.tocdock{display:contents}
  [data-toc] .docpage.has-toc>.tocscrim{display:block;position:fixed;inset:0;z-index:45;
    background:rgba(39,34,28,.24);opacity:0;visibility:hidden;
    transition:opacity var(--t-fast) var(--ease-in-out),visibility 0s linear var(--t-fast)}
  [data-tocpanel] .docpage.has-toc>.tocscrim{opacity:1;visibility:visible;
    transition:opacity var(--t-mid) var(--ease)}
  .docpage .tocbtn{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));
    z-index:20;min-height:44px;padding:0 18px 0 14px;border:1px solid var(--line);
    background:var(--page);background:color-mix(in oklab,var(--page) 86%,transparent);
    -webkit-backdrop-filter:saturate(1.3) blur(14px);backdrop-filter:saturate(1.3) blur(14px);
    box-shadow:var(--sh-2);opacity:0;visibility:hidden;transform:translateY(8px);
    transition:opacity var(--t-fast) var(--ease),transform var(--t-fast) var(--ease),
      visibility 0s linear var(--t-fast),background-color var(--t-fast) var(--ease-state)}
  .docpage .tocbtn.is-on{opacity:1;visibility:visible;transform:none;
    transition:opacity var(--t-mid) var(--ease),transform var(--t-mid) var(--ease),
      background-color var(--t-fast) var(--ease-state)}
  .docpage .tocbtn__t{position:static;width:auto;height:auto;clip-path:none;overflow:visible}
  .docpage .tocpanel{position:fixed;left:0;right:0;bottom:0;z-index:46;max-height:min(76vh,640px);
    padding:0 12px calc(20px + env(safe-area-inset-bottom)) 4px;background:var(--page);
    border-radius:var(--r-lg) var(--r-lg) 0 0;box-shadow:var(--sh-3);
    transform:translateY(100%);visibility:hidden;
    transition:transform var(--t-fast) var(--ease-in-out),visibility 0s linear var(--t-fast)}
  [data-tocpanel] .docpage .tocpanel{transform:none;visibility:visible;
    transition:transform var(--t-mid) var(--ease)}
  .docpage .tocpanel{--tm:12px}
}
@media (max-width:1000px) and (prefers-reduced-motion:no-preference){
  .docpage .tocbtn.is-on:active{transform:scale(.97)}
}
@media (max-width:1000px) and (prefers-reduced-transparency:reduce){
  .docpage .tocbtn{background:var(--page);-webkit-backdrop-filter:none;backdrop-filter:none}
}
.docpage .doc>*{max-width:none}
.docpage .doc h2,.docpage .doc h3{scroll-margin-top:24px}
.docpage :is(h1,h2,h3,h4){font-variant-numeric:lining-nums proportional-nums}
.docpage .doc :is(h2,h3,h4) strong{font-weight:inherit}
.docpage .doc .hn{color:var(--muted)}
.docpage .doc :is(sub,sup){font-size:.75em;line-height:0}
.docpage .doc .a-center{text-align:center}
.docpage .doc .a-right{text-align:right}
.docpage .doc li{margin:.45em 0}
.docpage .doc li>p{margin:0}
.docpage .doc li>p+p{margin-top:.5em}
.docpage .doc li::marker{color:var(--muted)}
.docpage .doc ol>li::marker{font-variant-numeric:lining-nums tabular-nums}
.docpage .ink-a{color:var(--accent)}
.docpage .ink-b{color:var(--nav)}
.docpage .ink-m,.docpage .doc .p-it{color:var(--muted)}
.docpage .doc u:has(>strong){text-decoration:none}
.docpage .doc .docrule{margin:48px 0;border:0;border-top:1px solid var(--line)}
.docpage .doc figure{margin:40px 0}
.docpage .doc>:is(figure,.tbl,.tfig,.callout,.flow,.figrow):has(+h3){margin-bottom:34px}
.docpage .doc>:is(h2,h3)+:is(figure,.tbl,.tfig,.callout,.flow,.figrow){margin-top:0}
.docpage .doc figure img{display:block;max-width:100%;height:auto;margin-inline:auto;
  border:1px solid var(--rule);border-radius:var(--r-md)}
.docpage .doc figure.fig--inset{width:var(--inset);max-width:min(100%,var(--nat));
  margin-inline:auto}
.docpage .doc figure.fig--inset img{width:100%}
.docpage .doc>figure:not([class]){display:grid;
  grid-template-columns:minmax(min(100%,360px),max-content);justify-content:center}
.docpage figcaption{margin:12px 0 0;contain:inline-size;
  font-size:16px;line-height:1.5;color:var(--muted);text-wrap:pretty}
.docpage .fign{font-weight:600;color:var(--ink);font-variant-numeric:lining-nums}
.docpage .figzoom{position:relative;display:block;border-radius:var(--r-md);cursor:zoom-in}
.docpage .figzoom__mark{position:absolute;right:0;top:calc(100% + 8px);display:none;
  place-items:center;width:32px;height:32px;border-radius:var(--r-pill);color:var(--muted);
  background:var(--page);box-shadow:0 0 0 1px var(--line)}
.docpage .figzoom__mark svg{display:block}
@media (hover:none){
  .docpage .figzoom__mark{display:grid}
  .docpage .fig--zoom>figcaption{padding-right:44px}
}
.docpage .doc img.eq{display:inline-block;height:1.12em;width:auto;max-width:none;
  margin:0 .12em;vertical-align:-.28em;border:0;border-radius:0}
.docpage .doc .figrow{margin:32px 0 40px}
.docpage .figrow__row{--gap:20px;display:flex;justify-content:center;align-items:flex-start;
  gap:var(--gap);max-width:calc(var(--rw) + var(--gaps) * var(--gap));margin-inline:auto}
.docpage .doc .figrow__row figure{flex:1 1 0%;min-width:0;margin:0}
.docpage .doc .figrow__row img{width:100%}
.docpage .figrow figcaption{margin:14px auto 0;text-align:center}
.docpage .doc .tbl{max-width:none;margin:40px 0;overflow-x:auto;overscroll-behavior-x:contain;
  background:
    linear-gradient(to right,var(--page) 30%,transparent) left center/40px 100% no-repeat local,
    linear-gradient(to left,var(--page) 30%,transparent) right center/40px 100% no-repeat local,
    radial-gradient(farthest-side at 0 50%,color-mix(in oklab,var(--ink) 16%,transparent),
      transparent) left center/12px 100% no-repeat scroll,
    radial-gradient(farthest-side at 100% 50%,color-mix(in oklab,var(--ink) 16%,transparent),
      transparent) right center/12px 100% no-repeat scroll}
.docpage .doc>.tfig{max-width:none;margin:40px 0}
.docpage .doc .tfig .tbl{margin:0}
.docpage .tbl table{width:100%;border-collapse:collapse;border-top:1px solid var(--line);
  border-bottom:1px solid var(--line)}
.docpage .tbl{--gut:20px}
.docpage .tbl th,.docpage .tbl td{padding:12px var(--gut) 12px 0;text-align:left;vertical-align:top;
  border:0;border-bottom:1px solid var(--rule)}
.docpage .tbl tr>:last-child{padding-right:0}
.docpage .tbl tbody tr:last-child>*{border-bottom:0}
.docpage .tbl thead :is(th,td){padding:14px var(--gut) 10px 0;border-bottom:1px solid var(--line);
  vertical-align:bottom}
.docpage .tbl thead th:last-child{padding-right:0}
.docpage .doc .tbl :is(td,th) p{text-align:inherit}
.docpage .tbl :is(td,th).c{text-align:center}
.docpage .tbl :is(td,th).c:not(:last-child){padding-inline:calc(var(--gut) / 2)}
.docpage .tbl th[scope=row]{font:400 15px/1.45 var(--serif);letter-spacing:0;
  text-transform:none;color:var(--body);font-variant-numeric:lining-nums tabular-nums}
.docpage .tbl :is(td,th) p{margin:0 0 .5em}
.docpage .tbl :is(td,th) p:last-child{margin:0}
.docpage .tbl :is(td,th) :is(ul,ol){margin:.25em 0 .5em;padding-left:1.2em}
.docpage .tbl figure{margin:4px 0 8px}
.docpage .tbl figure img{border:0;border-radius:0;margin-inline:0}
.docpage .tbl .c figure img{margin-inline:auto}
.docpage .tbl .tr-span td{padding-top:16px;padding-bottom:16px}
.docpage .tfig figcaption{margin-top:12px}
.docpage .tbl--many{--gut:10px}
.docpage .tbl--many :is(td,th){font-size:14px}
.docpage .tbl--many thead th{letter-spacing:.03em}
.docpage .tbl--dense{--gut:8px}
.docpage .tbl--dense :is(td,th){font-size:13px}
.docpage .tbl--dense thead th{font-size:11px;letter-spacing:.02em}
.docpage .tbl--dense th[scope=row]{font-size:14px}
.docpage .doc .flow{display:grid;grid-auto-flow:column;grid-template-rows:auto auto;
  align-items:center;justify-content:space-between;column-gap:12px;max-width:none;margin:40px 0}
.docpage .flow__step{min-width:0;text-align:center}
.docpage .doc .flow__step{grid-row:1/3;display:grid;grid-template-rows:subgrid;row-gap:0;
  justify-items:center}
.docpage .doc .flow__arrow{grid-row:1}
.docpage .doc .flow__step figure{width:auto;min-width:0;margin:0 auto 10px}
.docpage .doc .flow__step img{border:0;border-radius:0;margin-inline:auto}
.docpage .flow__step p{margin:0;font-size:15px;line-height:1.35}
.docpage .flow__arrow{flex:none;font-size:22px;line-height:1;color:var(--muted)}
.docpage .doc .callout{max-width:none;margin:40px 0;padding:24px 28px;background:var(--surface);
  border-radius:var(--r-md);font-size:18px;line-height:1.55}
.docpage .callout p{margin:0 0 .75em}
.docpage .callout>:last-child{margin-bottom:0}
.docpage .callout__t{font-weight:600;color:var(--ink)}
.docpage .callout h2.callout__t{font:600 18px/1.55 var(--serif);letter-spacing:0;margin:0;
  text-wrap:wrap}
.docpage .callout h2.callout__t:not(:last-child){margin-bottom:.75em}
.docpage .doc .callout--label{padding:14px 20px}
.docpage .callout figure{margin:16px 0}
.docpage .fnref{font-size:.72em;line-height:0;vertical-align:.45em;text-decoration:none;
  font-variant-numeric:lining-nums}
.docpage .doc>:not(.fn)+.fn{margin-top:48px;padding-top:24px;border-top:1px solid var(--rule)}
.docpage .fn{font-size:16px;line-height:1.5;color:var(--muted)}
.docpage .fn__back{text-decoration:none}
@media (hover:hover){
  .docpage .crumb a:hover{color:var(--ink)}
  .docpage .toc--body :is(li>a,.toc__sum):hover{
    background:color-mix(in oklab,var(--ink) 5%,var(--card))}
  .docpage .toc--rail a:hover{background:color-mix(in oklab,var(--ink) 5%,var(--page))}
  .docpage .toc a:hover,.docpage .toc--body .toc__sum:hover::after,
  .docpage .toc__sum:hover .toc__chev{color:var(--ink)}
  .docpage .toc a:hover{--num:var(--body)}
  .docpage .toc__sum:hover .toc__n{color:var(--body)}
  .docpage .tocbtn:hover{background:color-mix(in oklab,var(--ink) 7%,var(--card))}
  .docpage .tocpanel__x:hover{background:color-mix(in oklab,var(--ink) 5%,var(--page));
    color:var(--ink)}
  .docpage .docdl:hover .docdl__t{text-decoration-color:currentColor}
}
.docpage .crumb a:focus-visible,.docpage .docdl:focus-visible,
.docpage .figzoom:focus-visible,.docpage .tbl:focus-visible,
.docpage .fnref:focus-visible,.docpage .fn__back:focus-visible,
.docpage :is(.tocbtn,.tocpanel__x):focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.docpage .tocpanel__x:focus-visible{color:var(--ink)}
.docpage .tocbtn:active{background:color-mix(in oklab,var(--ink) 11%,var(--card))}
.docpage .tocpanel__x:active{background:color-mix(in oklab,var(--ink) 8%,var(--page))}
.docpage :is(.toc a,.toc__sum):focus-visible{outline:2px solid var(--focus);outline-offset:-2px;
  border-radius:var(--r-sm)}
.docpage .toc--body :is(li>a,.toc__sum):focus-visible{
  background:color-mix(in oklab,var(--ink) 5%,var(--card))}
.docpage .toc--rail a:focus-visible{background:color-mix(in oklab,var(--ink) 5%,var(--page))}
.docpage .toc a:focus-visible,.docpage .toc--body .toc__sum:focus-visible::after,
.docpage .toc__sum:focus-visible .toc__chev{color:var(--ink)}
.docpage .toc a:is(:focus-visible,:active){--num:var(--body)}
.docpage .toc__sum:is(:focus-visible,:active) .toc__n{color:var(--body)}
.docpage .toc--body :is(li>a,.toc__sum):active{
  background:color-mix(in oklab,var(--ink) 9%,var(--card))}
.docpage .toc--rail a:active{background:color-mix(in oklab,var(--ink) 8%,var(--page))}
@media (hover:hover) and (forced-colors:none){
  .docpage .toc--body li:has(>a:hover)::before,
  .docpage .toc--body li:has(>a:hover)+li::before{opacity:0}
}
@media (forced-colors:none){
  .docpage .toc--body li:has(>a:active)::before,
  .docpage .toc--body li:has(>a:active)+li::before{opacity:0}
}
.docpage .toc--body li:has(>a:focus-visible)::before,
.docpage .toc--body li:has(>a:focus-visible)+li::before{opacity:0}
.docpage .docdl:focus-visible .docdl__t{text-decoration-color:currentColor}
@media (max-width:1000px){
  .docpage .doc h2,.docpage .doc h3,.docpage .toc--body{scroll-margin-top:24px}
}
@media (max-width:640px){
  .docpage .dochead figure{margin-bottom:28px}
  .docpage .dochead__dek{font-size:19px}
  .docpage .doc .callout{padding:20px}
  .docpage .doc>:is(figure,.tbl,.tfig,.callout,.flow){margin:32px 0}
  .docpage .crumb{margin-top:-22px}
  .docpage .doc figure.fig--inset{width:auto}
  .docpage .dochead--long h1{font-size:clamp(24px,3.6vw + 12px,32px);line-height:1.16}
  .docpage .doc h2{font-size:22px}
  .docpage .doc h3{font-size:20px}
  .docpage .tbl--stack :is(table,tbody,tr,td,th[scope=row]){display:block;width:auto}
  .docpage .tbl--stack thead{position:absolute;width:1px;height:1px;overflow:hidden;
    clip-path:inset(50%);white-space:nowrap}
  .docpage .tbl--stack colgroup{display:none}
  .docpage .tbl--stack table{border-bottom:0}
  .docpage .tbl--stack tr{padding:14px 0;border-bottom:1px solid var(--rule)}
  .docpage .tbl--stack tr>*{padding:0;border:0}
  .docpage .tbl--stack tr>*+*{margin-top:16px}
  .docpage .tbl--stack td[data-label]::before{content:attr(data-label);
    content:attr(data-label) / "";display:block;
    margin:0 0 3px;font:600 11px/1.35 var(--sans);letter-spacing:.09em;
    text-transform:uppercase;color:var(--muted)}
  .docpage .tbl--stack th[scope=row]{font-size:17px;font-weight:600;color:var(--ink)}
  .docpage .tbl--stack :is(td,th),.docpage .tbl--stack :is(td,th).c{text-align:left;padding-inline:0}
  .docpage .tbl--stack .c figure img{margin-inline:0}
  .docpage .tbl.tbl--scroll :is(td,th){padding-right:12px}
  .docpage .tbl--scroll.tbl--many table{width:max-content;min-width:100%}
  .docpage .tbl--scroll.tbl--many :is(td,th){max-width:12em}
  .docpage .tbl--scroll th[scope=row]{position:sticky;left:0;z-index:1;background:var(--page);
    box-shadow:1px 0 0 var(--rule)}
}
@media (max-width:560px){
  .docpage .figrow__row{--gap:12px}
  .docpage .doc .flow{display:flex;flex-direction:column;gap:8px}
  .docpage .doc .flow__step{display:block;width:100%}
  .docpage .flow__arrow{transform:rotate(90deg)}
}
@media print{
  .docpage .tocdock,.docpage .tocscrim,.docpage .crumb,.docpage .figzoom__mark{
    display:none!important}
  .docpage.has-toc .toc--body{display:block!important;background:none;border-color:var(--line)}
  .docpage .toc__chev,.docpage .toc__n,.docpage .toc--body .toc__sum::after,
  .docpage .toc--body li>a::after{display:none}
  .docpage .toc__fold>ol{opacity:1!important}
  .docpage figure,.docpage .callout,.docpage .tbl tr{break-inside:avoid}
  .docpage .tbl{overflow:visible;background:none}
}
@media print{
  .docpage .toc__fold::details-content{content-visibility:visible!important}
}
.bp__ledger{container:bp/inline-size;max-width:var(--measure-fig);margin:40px 0 0}
.bp__fam{display:grid;grid-template-columns:minmax(0,1fr);row-gap:8px;
  padding:16px 0 20px;border-top:1px solid var(--rule);--bp-land:24px}
.bp__fam--research{margin-top:56px}
@container bp (width >= 680px){
  .bp__fam{grid-template-columns:minmax(232px,3fr) minmax(0,7fr);column-gap:40px;
    align-items:baseline;padding:18px 0 22px;--bp-land:55px}
}
.bp__terms{margin:0;font:600 22px/1.3 var(--serif);letter-spacing:-.006em;
  color:var(--ink);text-wrap:balance}
.bp__term{position:relative;display:block}
.bp__sep,.bp__vh{position:absolute;width:1px;height:1px;overflow:hidden;
  clip-path:inset(50%);white-space:nowrap}
.bp__terms--research{font:600 12px/1.1 var(--sans);letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted)}
.bp__reads{list-style:none;margin:0;padding:0;min-width:0}
.bp__reads>li{margin:0}
.bp__reads>li+li{margin-top:4px}
.bp__read{position:relative;isolation:isolate;display:grid;
  grid-template-columns:minmax(0,1fr) 24px;column-gap:24px;align-items:center;
  margin:0 -12px;padding:11px 12px 13px;border-radius:var(--r-sm);color:inherit;
  text-decoration:none;-webkit-tap-highlight-color:transparent;
  transition:background-color var(--t-quick) var(--ease-state)}
.bp__text{min-width:0}
.bp__title{display:block;font:600 19px/1.35 var(--serif);color:var(--ink);
  text-wrap:balance}
.bp__nb{white-space:nowrap}
.bp__note{display:block;margin-top:3px;font:400 16px/1.5 var(--serif);
  color:var(--muted);text-wrap:pretty}
.bp__on{display:inline-block;margin-left:8px;font:600 12px/1 var(--sans);
  letter-spacing:.09em;text-transform:uppercase;color:var(--muted);vertical-align:1px}
.bp__sub{display:block;font:400 17px/1.45 var(--serif);color:var(--body);
  text-wrap:balance}
.bp__tag{display:block;font:600 12px/1.2 var(--sans);letter-spacing:.09em;
  text-transform:uppercase;color:var(--muted)}
.bp__sub+.bp__tag{margin-top:5px}
.bp__arrow{display:block;width:24px;height:24px;color:var(--muted);
  forced-color-adjust:auto;transition:color var(--t-quick) var(--ease-state)}
@container bp (width < 680px){
  .bp__reads{margin-left:1px;padding-left:14px;border-left:1px solid var(--rule)}
  .bp__read{margin:0 -12px 0 -6px;padding:9px 12px 11px 6px}
  .bp__title{font-size:17px}
  .bp__note{font-size:15px}
  .bp__sub{font-size:16px}
}
.bp__read::after{content:"";position:absolute;inset:0;z-index:-2;border-radius:inherit;
  background:var(--wash);transform:scaleX(0);
  transform-origin:left center;transition:transform 380ms cubic-bezier(.2,.8,.2,1)}
.bp__read .bp__arrow{transition:color var(--t-quick) var(--ease-state),transform 380ms cubic-bezier(.2,.8,.2,1)}
@media (hover:hover){
  .bp__read:hover::after{transform:scaleX(1)}
  .bp__read:hover .bp__arrow{transform:translateX(4px)}
  .bp__read:hover .bp__title{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
  .bp__read:hover .bp__arrow{color:var(--body)}
}
.bp__read:focus-visible{outline:2px solid var(--focus);outline-offset:2px;
  background-color:color-mix(in oklab,var(--ink) 5%,var(--page))}
.bp__read:focus-visible .bp__arrow{color:var(--body)}
.bp__reads{border:1px solid color-mix(in oklab,var(--ink) 9%,transparent);border-radius:12px;
  background:color-mix(in oklab,var(--page) 55%,#fff);overflow:hidden}
.bp__reads>li+li{margin-top:0;border-top:1px solid color-mix(in oklab,var(--ink) 7%,transparent)}
.bp__read{margin:0;border-radius:0;padding:14px 18px 16px}
.bp__read::after{border-radius:0}
@media (hover:hover){
  .bp__read:hover .bp__arrow{color:var(--accent)}
}
.bp__read--soon .bp__tag{color:var(--muted)}
.bp__meta{display:inline-flex;align-items:center;gap:6px;margin-top:8px;width:fit-content;
  font:600 11.5px var(--sans);letter-spacing:.02em;color:var(--muted);
  padding:3px 9px;border-radius:999px;background:color-mix(in oklab,var(--ink) 5%,transparent)}
.bp__meta svg{width:12px;height:12px;flex:none;stroke:currentColor}
@media (hover:hover){
  .bp__read:hover .bp__meta{color:var(--accent)}
}
.bp__icon{display:block;width:28px;height:28px;margin:0 0 10px;color:var(--ink)}
.bp__icon svg{width:28px;height:28px}
.bp__fam{transition:none}
@media (hover:hover){
  .bp__fam:hover .bp__icon{color:var(--accent)}
  .bp__fam:hover .bp__terms{color:var(--ink)}
}
.bp__icon{transition:color 260ms var(--ease-state)}
@media (prefers-reduced-motion:reduce){.bp__read::after,.bp__read .bp__arrow{transition:none}}
.bp__read:active{background-color:color-mix(in oklab,var(--ink) 8%,var(--page))}
@media (prefers-reduced-motion:no-preference){
  .bp__arrow .ar-shaft{stroke-dasharray:13;stroke-dashoffset:5;
    transition:stroke-dashoffset var(--t-fast) var(--ease)}
  .bp__arrow .ar-head{transition:transform var(--t-fast) var(--ease)}
  .bp__read:focus-visible .ar-shaft{stroke-dashoffset:0;transition:none}
  .bp__read:focus-visible .ar-head{transform:translateX(5px);transition:none}
}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .bp__read:hover .ar-shaft{stroke-dashoffset:0;transition-duration:var(--t-mid)}
  .bp__read:hover .ar-head{transform:translateX(5px);
    transition:transform var(--t-mid) var(--ease) 60ms}
}
.bp__term{scroll-margin-top:calc(var(--bp-land) + var(--k,0) * 1.3em)}
.bp__term::before{content:"";position:absolute;left:-16px;top:.24em;bottom:.2em;
  width:3px;background:var(--accent);transform:scaleY(0);pointer-events:none}
.bp__term:target::before{transform:none}
@container bp (width < 680px){.bp__term::before{left:-14px}}
.bp__read::before{content:"";position:absolute;inset:0;z-index:-1;
  border-radius:inherit;background:var(--wash);opacity:0;pointer-events:none}
@media (prefers-reduced-motion:no-preference){
  .bp__term::before{transition:transform var(--t-fast) var(--ease)}
  .bp__term:target::before{animation:bp-rail var(--t-mid) var(--ease) 100ms backwards}
  .bp__fam:has(#waves-dynamics:target) [data-for~="waves-dynamics"]::before,
  .bp__fam:has(#signal-processing:target) [data-for~="signal-processing"]::before,
  .bp__fam:has(#machine-learning:target) [data-for~="machine-learning"]::before,
  .bp__fam:has(#probability-statistics:target) [data-for~="probability-statistics"]::before,
  .bp__fam:has(#python-programming:target) [data-for~="python-programming"]::before,
  .bp__fam:has(#communication:target) [data-for~="communication"]::before{
    animation:bp-wash 1500ms linear backwards;animation-delay:calc(180ms + var(--i,0) * 80ms)}
}
.bp__fam.is-again .bp__term::before,.bp__fam.is-again .bp__read::before{animation:none!important}
@keyframes bp-rail{from{transform:scaleY(0)}}
@keyframes bp-wash{
  0%{opacity:1;clip-path:inset(0 100% 0 0 round 8px);
    animation-timing-function:cubic-bezier(.2,.8,.2,1)}
  24%{opacity:1;clip-path:inset(0 0 0 0 round 8px)}
  52%{opacity:1;clip-path:inset(0 0 0 0 round 8px);
    animation-timing-function:cubic-bezier(.2,0,.38,.9)}
  100%{opacity:0;clip-path:inset(0 0 0 0 round 8px)}
}
@media (forced-colors:active){
  .bp__term::before{forced-color-adjust:none;background:Highlight}
  .bp__read::before{content:none}
}
@media print{
  .bp__term::before,.bp__read::before,.bp__arrow{display:none}
}
.bpg{position:relative;max-width:var(--measure-fig);margin:28px 0 8px}
.bpg svg{display:block;width:100%;height:auto;overflow:visible}
.bpg__e{fill:none;stroke:color-mix(in oklab,var(--ink) 16%,transparent);stroke-width:1.2;
  transition:opacity 240ms,stroke 240ms}
.bpg__e--x{stroke-dasharray:2 5;stroke:color-mix(in oklab,var(--ink) 22%,transparent)}
.bpg__e--s{stroke-dasharray:640;stroke-dashoffset:640;animation:bpg-draw 1.4s cubic-bezier(.2,.8,.2,1) forwards;
  animation-delay:calc(var(--k) * 90ms)}
@keyframes bpg-draw{to{stroke-dashoffset:0}}
.bpg__p{fill:var(--accent);opacity:.85}
.bpg__hub circle.c{fill:var(--accent)}
.bpg__hub text{fill:#fff;font:600 13px/1 var(--sans);letter-spacing:.01em}
.bpg__ring{fill:none;stroke:var(--accent);stroke-width:1;transform-box:fill-box;transform-origin:center;
  animation:bpg-ring 3.6s cubic-bezier(.2,.6,.3,1) infinite}
.bpg__ring--2{animation-delay:1.8s}
@keyframes bpg-ring{from{transform:scale(1);opacity:.55}to{transform:scale(1.9);opacity:0}}
.bpg__n{cursor:pointer;outline:none;text-decoration:none}
.bpg__n text{text-decoration:none}
.bpg__n rect{fill:var(--page);stroke:color-mix(in oklab,var(--ink) 18%,transparent);stroke-width:1;
  transition:fill 200ms,stroke 200ms,transform 200ms;transform-box:fill-box;transform-origin:center}
.bpg__n text{fill:var(--ink);font:600 12.5px/1 var(--sans)}
.bpg__n .sub{fill:var(--muted);font-weight:500;font-size:11px}
.bpg__n--soon rect{stroke-dasharray:3 3}
.bpg__n--soon text{fill:var(--muted)}
.bpg__n:hover rect,.bpg__n:focus-visible rect,.bpg__n.on rect{fill:var(--wash);
  stroke:var(--accent);transform:scale(1.04)}
.bpg__n:focus-visible rect{stroke-width:2}
.bpg[data-on] .bpg__e{opacity:.18}
.bpg[data-on] .bpg__e.on{opacity:1;stroke:var(--accent)}
.bpg[data-on] .bpg__n:not(.on){opacity:.55}
.bpg__n{transition:opacity 240ms}
.bpg__cap{margin:10px 0 0;font:500 13px/1.5 var(--sans);color:var(--muted)}
@media (max-width:560px){.bpg__n text{font-size:15px}.bpg__n .sub{display:none}}
@media (prefers-reduced-motion:reduce){.bpg__ring,.bpg__p{display:none}.bpg__e--s{animation:none;stroke-dashoffset:0}}
@media print{.bpg{display:none}}
.gal{--gap:8px;--hmax:380px}
@media (max-width:1200px){ .gal{--hmax:330px} }
.gset{margin:40px 0 0}
.gset+.gset{margin-top:56px}
.gset__h{max-width:var(--measure);margin:0 0 16px;
  font:600 21px/1.35 var(--serif);letter-spacing:-.004em;color:var(--ink);text-wrap:balance}
.gset__t{display:block}
.gset__era{display:block;margin-top:2px;font-size:16px;font-weight:400;line-height:1.5;
  letter-spacing:0;color:var(--muted)}
.gset__row{display:flex;gap:var(--gap);margin:0;padding:0;list-style:none;
  max-width:calc(var(--r) * var(--hmax) + (var(--n) - 1) * var(--gap))}
.gph{flex:none;margin:0;width:calc((100% - (var(--n) - 1) * var(--gap)) * var(--ar) / var(--r))}
.gph__a{position:relative;display:block;border-radius:var(--r-md);cursor:zoom-in;
  color:inherit;-webkit-tap-highlight-color:transparent}
.gph img{display:block;width:100%;height:auto;border-radius:var(--r-md);
  background:var(--surface);box-shadow:0 0 0 1px var(--rule);
  transition:transform var(--t-quick) var(--ease),filter var(--t-quick) var(--ease-state)}
.gph__a:active img{transform:scale(.985)}
.gph__a:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
@media (hover:hover){
  .gph__a:hover img{filter:brightness(1.03) saturate(1.04)}
}
.gph--video .gph__a{cursor:pointer}
.gph__play{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.gph__play svg{display:block;width:56px;height:56px;
  filter:drop-shadow(0 2px 10px rgba(0,0,0,.28))}
.gph__len{position:absolute;right:8px;bottom:8px;padding:2px 7px;border-radius:var(--r-pill);
  background:rgba(20,17,14,.62);color:#fff;font:600 12px/1.35 var(--sans);letter-spacing:.02em;
  font-variant-numeric:lining-nums tabular-nums;pointer-events:none}
@media (max-width:640px){
  .gset{margin-top:32px}
  .gset+.gset{margin-top:44px}
  .gset__h{font-size:19px;margin-bottom:14px}
  .gset__row{flex-wrap:wrap;max-width:none}
  .gph{width:calc((100% - (var(--pn) - 1) * var(--gap)) * var(--ar) / var(--pr) - .01px)}
}
html.lb-open{overflow:hidden;background:#13100D}
.lb{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;
  margin:0;padding:0;border:0;background:transparent;color:#EDE9E3;overflow:hidden;
  font-family:var(--serif)}
.lb::backdrop{background:transparent}
.lb:focus{outline:none}
.lb__bg{position:absolute;inset:0;background:rgb(19 16 13 / .985)}
.lb__stage{position:absolute;inset:0 0 var(--bar,104px);display:grid;place-items:center;
  padding:64px 88px 8px;touch-action:none;-webkit-user-select:none;user-select:none}
.lb__stage.is-zoomed{touch-action:auto}
.lb__media{position:relative;display:block;border-radius:4px;background:#1D1A17;
  will-change:transform;box-shadow:0 18px 60px rgba(0,0,0,.45)}
.lb__img,.lb__video{display:block;width:100%;height:100%;border-radius:4px;object-fit:contain;
  -webkit-user-drag:none}
.lb__img[hidden]{display:none}
.lb__video{background:#000}
.lb__play{position:absolute;inset:0;display:grid;place-items:center;width:100%;margin:0;padding:0;
  border:0;border-radius:4px;background:transparent;color:#fff;cursor:pointer}
.lb__play svg{width:76px;height:76px;filter:drop-shadow(0 2px 14px rgba(0,0,0,.35));
  transition:transform var(--t-quick) var(--ease)}
.lb__play:active svg{transform:scale(.94)}
.lb__play:focus-visible{outline:2px solid #fff;outline-offset:-6px}
.lb__bar{position:absolute;left:0;right:0;bottom:0;
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px 32px;
  padding:18px 28px calc(18px + env(safe-area-inset-bottom))}
.lb__cap{max-width:var(--measure);margin:0;font-size:17px;line-height:1.45;color:#EDE9E3;
  text-wrap:pretty}
.lb__t{font-weight:600}
.lb__era{color:#ADA79F}
.lb__count{flex:none;margin:3px 0 0;font:600 13px/1.3 var(--sans);letter-spacing:.03em;
  color:#ADA79F;font-variant-numeric:lining-nums tabular-nums;white-space:nowrap}
.lb__btn{position:absolute;z-index:1;display:grid;place-items:center;width:44px;height:44px;
  margin:0;padding:0;border:0;border-radius:var(--r-pill);background:rgb(255 255 255 / .09);
  color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;
  transition:background-color var(--t-quick) var(--ease-state),opacity var(--t-quick) var(--ease-state),
    transform var(--t-quick) var(--ease)}
.lb__btn svg{display:block;pointer-events:none}
.lb__x{top:14px;right:16px}
.lb__prev,.lb__next{top:calc(50% - var(--bar,104px) / 2 + 28px);margin-top:-22px}
.lb__prev{left:22px}
.lb__next{right:22px}
@media (hover:hover){
  .lb__btn:hover{background:rgb(255 255 255 / .18)}
}
.lb__btn:active{transform:scale(.94);background:rgb(255 255 255 / .22)}
.lb__btn:focus-visible{outline:2px solid #fff;outline-offset:2px}
.lb__btn[disabled]{opacity:.28;cursor:default;pointer-events:none}
@media (max-width:640px){
  .lb__stage{padding:56px 0 4px}
  .lb__media,.lb__img,.lb__video{border-radius:0}
  .lb__bar{flex-direction:column;align-items:stretch;gap:6px;
    padding:12px 16px calc(8px + env(safe-area-inset-bottom))}
  .lb__cap{font-size:16px}
  .lb__count{display:flex;align-items:center;justify-content:center;min-height:44px;margin:0}
  .lb__prev,.lb__next{top:auto;bottom:calc(8px + env(safe-area-inset-bottom));margin:0}
  .lb__prev{left:12px}
  .lb__next{right:12px}
  .lb__x{top:8px;right:8px}
}
@media (forced-colors:active){
  .lb__btn{border:1px solid ButtonBorder}
}
.typed > * + *{margin-top:1.15em}
.typed + .typed{margin-top:1.15em}
.typed:has(> .cont:first-child),.typed:has(> .refs--cont:first-child){margin-top:.4em}
.typed .eq{display:flex;align-items:center;gap:16px;margin:1.4em 0}
.typed .eq math{flex:1;font-size:1.08em}
.typed .eq__n{color:var(--muted);font-variant-numeric:tabular-nums}
.typed math{font-family:"STIX Two Math","Cambria Math",math,var(--serif)}
.typed h3.refs{font:600 13px/1.3 var(--sans);letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted);margin-top:2em}
.typed ul.refs{list-style:none;padding:0}
.typed ul.refs li{padding-left:2em;text-indent:-2em;margin:0 0 .6em;font-size:.94em}
.typed ul.refs--cont{margin-top:0}
.typed ol.refs--num{padding-left:2.2em;font-size:.94em}
.typed ol.refs--num li{margin:0 0 .6em}
.typed ul.files{list-style:none;padding:0;font:15px/1.5 var(--sans);color:var(--ink)}
.typed ul.files li{padding:6px 0;border-top:1px solid var(--rule)}
.typed:has(> .files--cont:first-child){margin-top:0}
.typed figure.shot{margin:1.6em 0}
.typed figure.shot img{display:block;max-width:100%;height:auto;margin:0 auto}
.typed figcaption{margin-top:.8em;font-size:.9em;text-align:center;color:var(--muted)}
.typed table{border-collapse:collapse;width:100%;font-size:.9em}
.typed th,.typed td{border-top:1px solid var(--rule);padding:6px 8px;text-align:left;vertical-align:top}
.blist{position:relative;margin:24px -12px 0;padding:0;list-style:none;
  max-width:calc(var(--measure-wide) + 24px)}
.blist::before,.blist .b-item::after{content:"";position:absolute;left:12px;right:12px;
  border-top:1px solid var(--rule);transition:opacity var(--t-quick) var(--ease-state)}
.blist::before{top:0}
.blist .b-item{position:relative;margin:0}
.blist .b-item::after{bottom:0}
.blist .b-row{position:relative;display:grid;grid-template-columns:minmax(0,var(--measure)) 24px;
  justify-content:space-between;gap:0 24px;align-items:center;padding:22px 12px 24px;
  border-radius:var(--r-sm);color:inherit;
  transition:background-color var(--t-quick) var(--ease-state)}
.blist .b-date{display:block;margin-bottom:6px;font:600 13px/1.3 var(--sans);letter-spacing:.02em;
  color:var(--muted);font-variant-numeric:lining-nums tabular-nums}
.blist .b-title{display:block;font-weight:600;font-size:21px;line-height:1.32;
  letter-spacing:-.004em;color:var(--ink);text-decoration:none;text-wrap:balance;
  -webkit-tap-highlight-color:transparent}
.blist .b-title::after{content:"";position:absolute;inset:0;border-radius:var(--r-sm)}
.blist .b-ex{display:-webkit-box;margin-top:8px;font-size:17px;line-height:1.5;color:var(--body);
  -webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;
  text-wrap:pretty}
.blist .b-arrow{display:block;width:24px;height:24px;color:var(--muted);
  transition:color var(--t-quick) var(--ease-state);forced-color-adjust:auto}
@media (hover:hover){
  .blist .b-row:hover{background-color:color-mix(in oklab,var(--ink) 5%,var(--page))}
  .blist .b-row:hover .b-arrow{color:var(--body)}
}
.blist .b-title:focus-visible{outline:0}
.blist .b-title:focus-visible::after{outline:2px solid var(--focus);outline-offset:2px}
.blist .b-row:has(.b-title:focus-visible){
  background-color:color-mix(in oklab,var(--ink) 5%,var(--page))}
.blist .b-row:has(.b-title:focus-visible) .b-arrow{color:var(--body)}
.blist .b-row:active{background-color:color-mix(in oklab,var(--ink) 8%,var(--page))}
@media (hover:hover) and (forced-colors:none){
  .blist .b-item:has(.b-row:hover)::after,.blist .b-item:has(+ .b-item .b-row:hover)::after,
  .blist:has(>.b-item:first-child .b-row:hover)::before{opacity:0}
}
@media (forced-colors:none){
  .blist .b-item:has(.b-row:active)::after,.blist .b-item:has(+ .b-item .b-row:active)::after,
  .blist:has(>.b-item:first-child .b-row:active)::before{opacity:0}
}
.blist .b-item:has(.b-title:focus-visible)::after,
.blist .b-item:has(+ .b-item .b-title:focus-visible)::after,
.blist:has(>.b-item:first-child .b-title:focus-visible)::before{opacity:0}
@media (prefers-reduced-motion:no-preference){
  .blist .ar-shaft{stroke-dasharray:13;stroke-dashoffset:5;
    transition:stroke-dashoffset var(--t-fast) var(--ease)}
  .blist .ar-head{transition:transform var(--t-fast) var(--ease)}
  .blist .b-row:has(.b-title:focus-visible) .ar-shaft{stroke-dashoffset:0;transition:none}
  .blist .b-row:has(.b-title:focus-visible) .ar-head{transform:translateX(5px);transition:none}
}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .blist .b-row:hover .ar-shaft{stroke-dashoffset:0;transition-duration:var(--t-mid)}
  .blist .b-row:hover .ar-head{transform:translateX(5px);
    transition:transform var(--t-mid) var(--ease) 60ms}
}
@media (max-width:560px){
  .blist .b-row{gap:0 16px}
  .blist .b-title{font-size:19px}
  .blist .b-ex{font-size:16px}
}
.docpage .postdate{margin:14px 0 0;font:600 14px/1.3 var(--sans);letter-spacing:.02em;
  color:var(--muted);font-variant-numeric:lining-nums tabular-nums}
.docpage .postbody p.p-tight{margin-bottom:0}
.docpage .postbody figure+figure{margin-top:24px}
.docpage .postvid{margin:40px 0}
.docpage .postvid__a{position:relative;display:block;aspect-ratio:16/9;border-radius:var(--r-md);
  overflow:hidden;background:#141210;color:#fff;text-decoration:none;cursor:pointer;
  -webkit-tap-highlight-color:transparent}
.docpage .postvid__a img{display:block;width:100%;height:100%;object-fit:cover;border:0;
  border-radius:0;transition:filter var(--t-fast) var(--ease-state)}
.docpage .postvid__play{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.docpage .postvid__play svg{width:72px;height:72px;filter:drop-shadow(0 2px 14px rgba(0,0,0,.35));
  transition:transform var(--t-quick) var(--ease)}
.docpage .postvid__a:active .postvid__play svg{transform:scale(.94)}
@media (hover:hover){ .docpage .postvid__a:hover img{filter:brightness(.92)} }
.docpage .postvid__a:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.docpage .postvid iframe{display:block;width:100%;aspect-ratio:16/9;height:auto;border:0;
  border-radius:var(--r-md);background:#141210}
.docpage .postvid figcaption{margin-top:12px}
.docpage .postfile{margin:0 0 32px}
.docpage>.postnav{grid-row:3}
.postnav{display:grid;grid-template-columns:1fr 1fr;gap:16px 32px;margin:64px 0 0;
  padding:24px 0 0;border-top:1px solid var(--rule)}
.postnav a{display:block;padding:10px 12px;margin:-10px -12px;border-radius:var(--r-sm);
  color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;
  transition:background-color var(--t-quick) var(--ease-state)}
.postnav .pn-older{grid-column:2;text-align:right}
.postnav small{display:block;margin-bottom:4px;font:600 13px/1.3 var(--sans);letter-spacing:.02em;
  color:var(--muted)}
.postnav b{display:block;font:600 17px/1.4 var(--serif);color:var(--ink);text-wrap:balance}
@media (hover:hover){
  .postnav a:hover{background:color-mix(in oklab,var(--ink) 5%,var(--page))}
}
.postnav a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.postnav a:active{background:color-mix(in oklab,var(--ink) 8%,var(--page))}
@media (max-width:560px){
  .postnav{grid-template-columns:1fr}
  .postnav .pn-older{grid-column:1;text-align:left}
}
@media print{ .postnav,.docpage .postvid__play{display:none} }
@font-face{font-family:"CMU Serif";src:url(fonts/cmu-serif-500-roman.woff2) format("woff2");font-weight:400;font-style:normal;font-display:block}
@font-face{font-family:"CMU Serif";src:url(fonts/cmu-serif-500-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:block}
@font-face{font-family:"CMU Serif";src:url(fonts/cmu-serif-700-roman.woff2) format("woff2");font-weight:600 700;font-style:normal;font-display:block}
@font-face{font-family:"CMU Serif";src:url(fonts/cmu-serif-700-italic.woff2) format("woff2");font-weight:600 700;font-style:italic;font-display:block}
.cv{container:cv/inline-size}
.cv p{margin:0}
.cv :is(ol,ul).cv-list{list-style:none;margin:0;padding:0}
.cv .cv-list>li{margin:0}
.cv-head{margin:0 0 44px}
.cv-kicker{margin:0 0 14px;font:600 12px/1.1 var(--sans);letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted)}
.cv-head h1{margin:0}
.cv-meta{display:flex;flex-wrap:wrap;gap:4px 24px;margin:12px 0 0;font-size:16px;
  line-height:1.5;color:var(--body)}
.cv-meta a{overflow-wrap:anywhere}
.cv-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;margin:24px 0 0}
.cv-pdf{display:none;align-items:center;gap:8px;min-height:44px;margin:0;
  padding:0 20px 0 16px;border:0;border-radius:var(--r-pill);background:var(--accent);
  color:var(--btn-fg);font:600 15px/1.2 var(--sans);letter-spacing:.01em;cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  transition:background-color var(--t-fast) var(--ease-state),transform var(--t-fast) var(--ease)}
@media (scripting:enabled){.cv-pdf{display:inline-flex}}
.cv-pdf svg{flex:none;overflow:visible}
@media (hover:hover){.cv-pdf:hover{background:var(--accent-hover)}}
.cv-pdf:active{background:var(--accent-press);transform:scale(.97)}
.cv-pdf:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .cv-pdf__arrow{transition:transform var(--t-fast) var(--ease)}
  .cv-pdf:hover .cv-pdf__arrow{transform:translateY(2px)}
}
@media (forced-colors:active){.cv-pdf{border:1px solid ButtonText}}
.cv-links{display:flex;flex-wrap:wrap;gap:0 24px;margin:0;padding:0;list-style:none}
.cv-links li{margin:0}
.cv-links a{display:inline-flex;align-items:center;min-height:44px;
  font:600 15px/1.2 var(--sans);letter-spacing:.01em}
.cv-sec{margin:48px 0 0;padding:28px 0 0;border-top:1px solid var(--rule)}
.cv-main>.cv-sec:first-child{margin-top:0}
.cv-sec>h2{margin:0 0 24px}
@media (width > 1000px){.cv-sec{scroll-margin-top:24px}}
.cv-group+.cv-group{margin-top:32px}
.cv-group__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;margin:0 0 16px}
.cv-group__head h3{margin:0;font:600 12px/1.1 var(--sans);letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted)}
.cv-note{font-size:16px;line-height:1.5;color:var(--muted)}
.cv-e{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:32px;
  align-items:baseline;padding:0 0 20px}
.cv-e:last-child{padding-bottom:0}
.cv-t{grid-area:t;font-size:19px;line-height:1.4;font-weight:600;color:var(--ink);
  text-wrap:pretty}
.cv-s{grid-area:s;margin-top:2px;font-size:16px;line-height:1.5;color:var(--body);
  text-wrap:pretty}
.cv-in{grid-area:in;font-size:16px;line-height:1.5;color:var(--muted);text-wrap:pretty}
.cv-when,.cv-where,.cv-amt{justify-self:end;text-align:right;white-space:nowrap;
  font:600 14px/1.5 var(--sans);letter-spacing:.01em;color:var(--muted);
  font-variant-numeric:lining-nums tabular-nums}
.cv-when{grid-area:when}
.cv-where{grid-area:where}
.cv-amt{grid-area:amt;color:var(--ink)}
.cv-to{padding:0 .1em}
.cv-pos{grid-template-areas:"t where" "s when"}
.cv-grant{grid-template-areas:"t when" "s amt" "role role"}
.cv-role{grid-area:role;margin-top:6px;font-size:16px;line-height:1.5;color:var(--body)}
.cv-lbl{margin-right:10px;font:600 12px/1.1 var(--sans);letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted)}
.cv-item{grid-template-areas:"t when" "s s"}
.cv-list--plain .cv-t{font-weight:400}
.cv-cite{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"t when" "by by" "in in"}
.cv-cite .cv-t{font-weight:400}
.cv-by{grid-area:by;margin-top:4px;font-size:16px;line-height:1.5;color:var(--body)}
.cv-me{font-weight:600;color:var(--ink)}
.cv-list>.cv-cite{padding-bottom:24px}
.cv-list>.cv-cite:last-child{padding-bottom:0}
.cv-list--num{counter-reset:cv}
.cv-list--num>.cv-cite{counter-increment:cv;column-gap:0;
  grid-template-columns:36px minmax(0,1fr) 32px auto;
  grid-template-areas:"n t . when" ". by by by" ". in in in"}
.cv-list--num>.cv-cite::before{content:counter(cv);grid-area:n;
  font:600 14px/1.5 var(--sans);letter-spacing:.01em;color:var(--muted);
  font-variant-numeric:lining-nums tabular-nums}
.cv-areas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-rows:repeat(var(--cv-rows,5),auto);grid-auto-flow:column;column-gap:24px;
  margin:0;padding:0;list-style:none}
.cv-areas li{margin:0;padding:10px 0 12px;border-top:1px solid var(--rule);
  font-size:16px;line-height:1.45;color:var(--ink)}
.cv-rail{display:none}
.cv-toc-nav{margin:0 0 40px}
.cv-toc{border-block:1px solid var(--rule)}
.cv-toc__sum{display:flex;align-items:center;gap:8px;min-height:48px;margin:0 -12px;
  padding:0 12px;border-radius:var(--r-sm);list-style:none;cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  transition:background-color var(--t-quick) var(--ease-state)}
.cv-toc__sum::-webkit-details-marker{display:none}
.cv-toc__h,.cv-rail__h{font:600 12px/1.1 var(--sans);letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted)}
.cv-toc__chev{flex:none;color:var(--muted);transition:transform var(--t-fast) var(--ease)}
.cv-toc[open] .cv-toc__chev{transform:rotate(90deg)}
.cv-toc__sum:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}
@media (hover:hover){.cv-toc__sum:hover{background:color-mix(in oklab,var(--ink) 5%,var(--page))}}
.cv-toc__sum:active{background:color-mix(in oklab,var(--ink) 8%,var(--page))}
.cv-toc ol{columns:2 150px;column-gap:24px;margin:4px 0 12px;padding:0;list-style:none}
.cv-toc li{break-inside:avoid;margin:0}
.cv-toc a{display:flex;align-items:center;min-height:44px;font-size:16px;line-height:1.3;
  color:var(--body);text-decoration:none}
@media (hover:hover){.cv-toc a:hover{color:var(--ink);text-decoration:underline;
  text-decoration-color:color-mix(in oklab,currentColor,transparent 62%)}}
@container cv (min-width:860px){
  .cv-toc-nav{display:none}
  .cv-body{display:grid;grid-template-columns:minmax(0,var(--measure-wide)) 180px;
    column-gap:32px;justify-content:space-between;align-items:start}
  .cv-main{grid-column:1;grid-row:1}
  .cv-rail{grid-column:2;grid-row:1;display:block;position:sticky;top:40px;
    max-height:calc(100vh - 80px);overflow-y:auto;overscroll-behavior:contain;
    scrollbar-width:thin}
  .cv-rail__h{display:block;margin:0 0 12px 16px}
  .cv-rail__track{position:relative}
  .cv-rail ol{margin:0;padding:0;list-style:none;border-left:1px solid var(--rule)}
  .cv-rail li{margin:0}
  .cv-rail a{display:block;padding:5px 4px 5px 15px;font-size:15px;line-height:1.35;
    color:var(--muted);text-decoration:none;border-radius:0 var(--r-sm) var(--r-sm) 0;
    transition:color var(--t-quick) var(--ease-state)}
  .cv-rail a[aria-current]{color:var(--ink)}
  @media (hover:hover){.cv-rail a:hover{color:var(--ink)}}
  .cv-rail a:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}
  .cv-rail__mark{position:absolute;top:0;left:0;width:2px;height:1px;
    background:var(--accent);transform-origin:0 0;opacity:0;pointer-events:none}
  .cv-rail__mark.is-on{opacity:1}
}
@media (prefers-reduced-motion:no-preference){
  .cv-rail__mark{transition:transform var(--t-mid) var(--ease),
    opacity var(--t-fast) var(--ease-state)}
}
@media (forced-colors:active){
  .cv-rail__mark{width:0;background:none;border-left:2px solid Highlight}
}
@container cv (width < 860px){
  .cv-main>.cv-sec:first-child{border-top:0;padding-top:0}
}
@container cv (width < 560px){
  .cv-pos{grid-template-areas:"t t" "s s" "where when";column-gap:16px}
  .cv-pos .cv-where{justify-self:start;text-align:left;white-space:normal}
  .cv-e{column-gap:16px}
  .cv-list--num>.cv-cite{grid-template-columns:28px minmax(0,1fr) 16px auto}
  .cv-areas{grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-auto-flow:row}
}
@page cv{margin:15mm 16mm 16mm;
  @top-right{content:"Curriculum Vitae";font:italic 9pt/1 "CMU Serif",serif;color:#444}
  @bottom-left{content:"Korkut Kaynardag";font:9pt/1 "CMU Serif",serif;color:#444}
  @bottom-right{content:counter(page) " / " counter(pages);font:9pt/1 "CMU Serif",serif;color:#444}}
@media print{
  .cv{page:cv;max-width:none;margin:0;padding:0;font-size:10pt;line-height:1.38}
  body:has(.cv) :is(.skip,.foot,.bar,.side,.fold){display:none!important}
  body:has(.cv),body:has(.cv) .main{min-height:0;margin:0;background:none}
  .cv-kicker,.cv-pdf,.cv-toc-nav,.cv-rail{display:none!important}
  .cv a{color:inherit;text-decoration:none}
  .cv-head{margin:0 0 12pt}
  .cv-head h1{font-size:20pt;line-height:1.15}
  .cv-meta{margin-top:4pt;font-size:10pt;gap:0 14pt}
  .cv-actions{display:block;margin-top:6pt}
  .cv-links{display:block}
  .cv-links li{display:block}
  .cv-links a{display:grid;grid-template-columns:72pt minmax(0,1fr);column-gap:10pt;
    min-height:0;font:600 9pt/1.4 var(--sans)}
  .cv-links a::after{content:attr(href);font-weight:400;color:var(--body);
    overflow-wrap:anywhere}
  .cv-body{display:block}
  .cv-sec{margin:12pt 0 0;padding:6pt 0 0;border-top:.75pt solid var(--line-strong)}
  .cv-sec>h2{margin:0 0 6pt;font-size:12pt;line-height:1.2;break-after:avoid}
  .cv-group+.cv-group{margin-top:8pt}
  .cv-group__head{margin:0 0 5pt;break-after:avoid}
  .cv-group__head h3{font-size:8pt}
  .cv-note{font-size:9pt}
  .cv-e{padding-bottom:6pt;column-gap:14pt;break-inside:avoid}
  .cv-t{font-size:10.5pt;line-height:1.3}
  .cv-s,.cv-by,.cv-in,.cv-role,.cv-areas li{font-size:9.5pt;line-height:1.35}
  .cv-when,.cv-where,.cv-amt{font-size:8.5pt;line-height:1.5}
  .cv-lbl{font-size:7.5pt}
  .cv-list--num>.cv-cite{grid-template-columns:22pt minmax(0,1fr) 12pt auto}
  .cv-list--num>.cv-cite::before{font-size:8.5pt}
  .cv-areas{column-gap:14pt}
  .cv-areas li{padding:3pt 0 4pt}
  .cv-list>.cv-cite{padding-bottom:6pt}
  .cv p,.cv li{orphans:3;widows:3}
  .cv,.cv *{font-family:"CMU Serif","Latin Modern Roman",serif!important;color:#000!important;
    letter-spacing:0!important}
  .cv-head{text-align:center;margin:0 0 10pt}
  .cv-head h1{font-size:22pt;font-weight:400;letter-spacing:.02em!important}
  .cv-meta{justify-content:center;font-size:10pt}
  .cv-links a{font:400 9pt/1.4 "CMU Serif",serif!important;display:inline;margin:0 6pt}
  .cv-links a::after{content:none}
  .cv-links,.cv-links li{display:inline}
  .cv-actions{text-align:center}
  .cv-sec{border-top:0;padding-top:0;margin-top:14pt}
  .cv-sec>h2{font-size:12pt;font-weight:400;font-variant:small-caps;letter-spacing:.06em!important;
    border-bottom:.5pt solid #000;padding-bottom:2pt;margin-bottom:7pt}
  .cv-group__head h3{font-size:10pt;font-weight:700;font-variant:normal;text-transform:none}
  .cv-t{font-weight:700;font-size:10.5pt}
  .cv-when,.cv-where,.cv-amt{font-size:9.5pt;font-style:italic}
  .cv-lbl{font-size:9pt;font-variant:small-caps;text-transform:none}
  .cv-me{font-weight:700}
  .cv-in{font-style:italic}
  .cv-list--num>.cv-cite::before{font-family:"CMU Serif",serif!important;font-size:9.5pt}
}
.contact__row{position:relative;isolation:isolate}
.contact__row::before{content:"";position:absolute;inset:0 -12px;z-index:-1;border-radius:10px;
  background:var(--wash);transform:scaleX(0);transform-origin:left;
  transition:transform 380ms cubic-bezier(.2,.8,.2,1)}
.contact__row .contact__go{transition:transform 380ms cubic-bezier(.2,.8,.2,1),color 200ms}
@media (hover:hover){
  .contact__row:hover::before{transform:scaleX(1)}
  .contact__row:hover .contact__go{transform:translate(3px,-3px);color:var(--accent)}
  .contact__row:hover .contact__glyph{color:var(--accent)}
}
@media (prefers-reduced-motion:reduce){.contact__row::before,.contact__row .contact__go{transition:none}}
.contact{container:contact/inline-size;--contact-bleed:12px;
  --contact-core:var(--nav);
  --contact-trace:color-mix(in oklab,var(--nav) 48%,var(--page));
  --contact-halo:color-mix(in oklab,var(--nav) 26%,var(--page))}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .contact{--contact-core:var(--link);
    --contact-trace:color-mix(in oklab,var(--link) 50%,var(--page));
    --contact-halo:color-mix(in oklab,var(--link) 28%,var(--page))}
}
:root[data-theme="dark"] .contact{--contact-core:var(--link);
  --contact-trace:color-mix(in oklab,var(--link) 50%,var(--page));
  --contact-halo:color-mix(in oklab,var(--link) 28%,var(--page))}
.contact>.lede{margin-bottom:0}
.contact__mail{margin-top:40px;max-width:var(--measure-fig)}
.contact__sig{display:flex;align-items:flex-start;height:48px}
.contact__sig::before{content:"";flex:1 1 0;min-width:0;margin-top:24px;
  border-top:1px solid var(--rule)}
.contact__wave{flex:none;display:block;width:min(480px,100%);height:48px}
.contact__rip{vector-effect:non-scaling-stroke}
.contact__stop-a{stop-color:var(--rule)}
.contact__stop-b{stop-color:var(--contact-trace)}
.contact__trace,.contact__mirror{stroke-width:1;stroke-linejoin:round}
.contact__mirror{opacity:.28}
.contact__halo1,.contact__halo2,.contact__halo3{stroke:var(--contact-halo);stroke-width:1}
.contact__halo2{opacity:.7}
.contact__halo3{opacity:.4}
.contact__wave .contact__core{stroke:var(--contact-core);stroke-width:1.75;fill:var(--page)}
.contact__wave .contact__dot{fill:var(--accent);stroke:none}
.contact__pkt,.contact__tail{stroke:var(--link);stroke-linecap:round;opacity:0}
.contact__pkt{stroke-width:2.6;stroke-dasharray:.006 2;stroke-dashoffset:.006}
.contact__tail{stroke-width:1.25;stroke-dasharray:.06 2;stroke-dashoffset:.06}
.contact__rip{stroke:var(--link);stroke-width:1.25;opacity:0;
  transform-box:fill-box;transform-origin:50% 50%}
.contact__k{margin:0 0 12px;font:600 12px/1.1 var(--sans);letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted)}
.contact__mail .contact__k{margin-top:4px}
.contact__addr{margin:0;font:500 clamp(21px,6.4cqi,36px)/1.2 var(--serif);
  letter-spacing:-.012em;color:var(--ink);font-variant-numeric:lining-nums;
  -webkit-user-select:all;user-select:all}
.contact__dom{color:var(--body)}
.contact__act{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px}
.contact__btn{position:relative;display:inline-flex;align-items:center;gap:8px;
  min-height:44px;margin:0;padding:0 20px 0 16px;border:1px solid transparent;
  border-radius:var(--r-pill);font:600 15px/1.2 var(--sans);letter-spacing:.01em;
  text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent;
  transition:background-color var(--t-fast) var(--ease-state),
    border-color var(--t-fast) var(--ease-state),transform var(--t-quick) var(--ease)}
.contact__btn svg{flex:none;display:block}
.contact__send{background:var(--accent);color:var(--btn-fg)}
.contact__copy{background:transparent;border-color:var(--line-strong);color:var(--ink)}
@media (scripting:none){.contact__copy{display:none}}
.contact__btn:active{transform:scale(.97)}
.contact__send:active{background:var(--accent-press)}
.contact__copy:active{background:var(--rule)}
.contact__btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.contact__send:focus-visible{background:var(--accent-hover)}
.contact__copy:focus-visible{background:var(--card)}
.contact__ico{position:relative;display:grid;place-items:center;width:20px;height:20px}
.contact__ico>*{grid-area:1/1}
.contact__lbl{display:grid;justify-items:start;text-align:left}
.contact__lbl>span{grid-area:1/1}
.contact__lbl-b,.contact__ck{opacity:0}
.contact__copy.is-done .contact__lbl-a,.contact__copy.is-done .contact__cp{opacity:0}
.contact__copy.is-done .contact__lbl-b,.contact__copy.is-done .contact__ck{opacity:1}
.contact__ck{stroke:var(--accent)}
.contact__ring{width:20px;height:20px;border:1px solid var(--accent);border-radius:var(--r-pill);
  opacity:0;pointer-events:none}
.contact__say{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
  clip-path:inset(50%);white-space:nowrap;border:0}
.contact__more{display:grid;grid-template-columns:minmax(0,1fr);row-gap:48px;
  margin-top:64px;max-width:var(--measure-fig)}
.contact__col{display:grid;row-gap:48px;align-content:start}
.contact__where{display:grid;justify-items:start;font:400 19px/1.5 var(--serif);
  font-style:normal;color:var(--body);text-wrap:balance}
.contact__where b{font-weight:600;color:var(--ink)}
.contact__where span{color:var(--ink)}
.contact__list{position:relative;list-style:none;margin:0 calc(-1 * var(--contact-bleed));
  padding:0}
.contact__list>li{position:relative;margin:0}
.contact__list>li::before,.contact__list::after{content:"";position:absolute;
  left:var(--contact-bleed);right:var(--contact-bleed);border-top:1px solid var(--rule);
  transition:opacity var(--t-quick) var(--ease-state)}
.contact__list>li::before{top:0}
.contact__list::after{bottom:0}
.contact__row{display:grid;grid-template-columns:20px minmax(0,1fr) auto 24px;
  grid-template-areas:"glyph name host go";align-items:center;column-gap:16px;
  min-height:56px;padding:10px var(--contact-bleed);border-radius:var(--r-sm);
  color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;
  transition:background-color var(--t-quick) var(--ease-state)}
.contact__glyph{grid-area:glyph;display:block;color:var(--ink)}
.contact__name{grid-area:name;font:600 19px/1.35 var(--serif);color:var(--ink)}
.contact__host{grid-area:host;font:400 14px/1.4 var(--sans);letter-spacing:.01em;
  color:var(--muted);font-variant-numeric:lining-nums}
.contact__go{grid-area:go;display:block;color:var(--muted);
  transition:color var(--t-quick) var(--ease-state)}
@container contact (width < 520px){
  .contact__row{grid-template-columns:20px minmax(0,1fr) 24px;row-gap:2px;
    grid-template-areas:"glyph name go" "glyph host go"}
}
@container contact (min-width:760px){
  .contact__more{grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:64px}
}
@media (hover:hover){
  .contact__send:hover{background:var(--accent-hover)}
  .contact__copy:hover{background:var(--card);border-color:var(--ink)}
  .contact__row:hover{background:color-mix(in oklab,var(--ink) 5%,var(--page))}
  .contact__row:hover .contact__go{color:var(--body)}
}
.contact__row:active{background:color-mix(in oklab,var(--ink) 8%,var(--page))}
.contact__row:focus-visible{outline:2px solid var(--focus);outline-offset:2px;
  background:color-mix(in oklab,var(--ink) 5%,var(--page))}
.contact__row:focus-visible .contact__go{color:var(--body)}
@media (hover:hover) and (forced-colors:none){
  .contact__list>li:has(>.contact__row:hover)::before,
  .contact__list>li:has(>.contact__row:hover)+li::before{opacity:0}
  .contact__list:has(>li:last-child>.contact__row:hover)::after{opacity:0}
}
@media (forced-colors:none){
  .contact__list>li:has(>.contact__row:active)::before,
  .contact__list>li:has(>.contact__row:active)+li::before{opacity:0}
  .contact__list:has(>li:last-child>.contact__row:active)::after{opacity:0}
}
.contact__list>li:has(>.contact__row:focus-visible)::before,
.contact__list>li:has(>.contact__row:focus-visible)+li::before{opacity:0}
.contact__list:has(>li:last-child>.contact__row:focus-visible)::after{opacity:0}
@media (prefers-reduced-motion:no-preference){
  .contact__go .ar-shaft{transition:stroke-dashoffset var(--t-fast) var(--ease)}
  .contact__go .ar-head{transition:transform var(--t-fast) var(--ease)}
  .contact__row:focus-visible .ar-shaft{stroke-dashoffset:0;transition:none}
  .contact__row:focus-visible .ar-head{transform:translateX(5px);transition:none}
  .contact__row:focus-visible .ar-out{transform:translate(2.5px,-2.5px)}
  .contact__lbl>span,.contact__cp{transition:opacity var(--t-fast) var(--ease),
    transform var(--t-fast) var(--ease)}
  .contact__cp{transform-box:fill-box;transform-origin:50% 50%}
  .contact__lbl-b{transform:translateY(6px)}
  .contact__copy.is-done .contact__lbl-a{transform:translateY(-6px)}
  .contact__copy.is-done .contact__lbl-b{transform:none}
  .contact__copy.is-done .contact__cp{transform:scale(.8)}
  .contact__ck{stroke-dasharray:1;stroke-dashoffset:1;
    transition:opacity 0s var(--t-quick),stroke-dashoffset 0s var(--t-quick)}
  .contact__copy.is-done .contact__ck{stroke-dashoffset:0;
    transition:opacity 0s 60ms,stroke-dashoffset var(--t-mid) var(--ease) 60ms}
  .contact__copy.is-done .contact__ring{animation:contact-ring 560ms var(--ease) both}
  .contact__pkt{animation:contact-pkt 2.4s var(--ease-in-out) .5s both}
  .contact__tail{animation:contact-tail 2.4s var(--ease-in-out) .5s both}
  .contact__rip{animation:contact-rip 1.4s var(--ease) 2.75s both}
  .contact__wave .contact__dot{transform-box:fill-box;transform-origin:50% 50%;
    animation:contact-hit .5s var(--ease) 2.75s both}
  .contact--again :is(.contact__pkt,.contact__tail,.contact__rip,.contact__dot){animation:none!important}
  .contact--rest :is(.contact__pkt,.contact__tail,.contact__rip,.contact__dot){
    animation-play-state:paused}
}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .contact__row:hover .ar-shaft{stroke-dashoffset:0;transition-duration:var(--t-mid)}
  .contact__row:hover .ar-head{transform:translateX(5px);
    transition:transform var(--t-mid) var(--ease) 60ms}
  .contact__row:hover .ar-out{transform:translate(2.5px,-2.5px)}
}
@keyframes contact-pkt{
  0%{stroke-dashoffset:.006;opacity:0}
  10%,86%{opacity:1}
  100%{stroke-dashoffset:-.994;opacity:0}
}
@keyframes contact-tail{
  0%{stroke-dashoffset:.06;opacity:0}
  10%,80%{opacity:.5}
  100%{stroke-dashoffset:-.94;opacity:0}
}
@keyframes contact-rip{
  0%{transform:scale(.22);opacity:0}
  12%{opacity:.85}
  100%{transform:scale(1);opacity:0}
}
@keyframes contact-hit{
  0%,100%{transform:none}
  35%{transform:scale(1.35)}
}
@keyframes contact-ring{
  from{transform:scale(.7);opacity:.9}
  to{transform:scale(1.9);opacity:0}
}
@media (forced-colors:active){
  .contact__btn{border-color:ButtonText}
  .contact__wave{forced-color-adjust:auto}
}
@media print{.contact__sig,.contact__act{display:none}}
.soonpg__sub{max-width:var(--measure);margin:0;font-size:21px;line-height:1.52;
  letter-spacing:-.004em;color:var(--body);text-wrap:balance}
.soonpg__state{margin:40px 0 0;color:color-mix(in oklab,var(--nav) 50%,var(--page))}
.soonpg__art{display:block;width:480px;max-width:100%;height:auto;overflow:visible}
.soonpg__base{fill:none;stroke:var(--rule);stroke-width:1}
.soonpg__wave{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.soonpg__smp{fill:currentColor;stroke:currentColor;stroke-width:1.25}
.soonpg__ring circle:first-child{fill:var(--page);stroke:currentColor;stroke-width:1.4}
.soonpg__ring circle+circle{fill:currentColor}
.soonpg__tag{margin:14px 0 0;font:600 12px/1.1 var(--sans);letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted)}
.soonpg__h{margin:56px 0 12px;font:600 12px/1.1 var(--sans);letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted)}
.soonpg__rows{position:relative;max-width:calc(var(--measure) + 24px);margin:0 -12px;
  padding:0;list-style:none}
.soonpg__rows::before,.soonpg__item::after{content:"";position:absolute;left:12px;
  right:12px;border-top:1px solid var(--rule);
  transition:opacity var(--t-quick) var(--ease-state)}
.soonpg__rows::before{top:0}
.soonpg__item{position:relative;margin:0}
.soonpg__item::after{bottom:0}
.soonpg__row{display:grid;grid-template-columns:minmax(0,1fr) 24px;gap:0 24px;
  align-items:center;padding:16px 12px;border-radius:var(--r-sm);color:inherit;
  text-decoration:none;-webkit-tap-highlight-color:transparent;
  transition:background-color var(--t-quick) var(--ease-state)}
.soonpg__t{display:block;font:600 19px/1.35 var(--serif);color:var(--ink);text-wrap:balance}
.soonpg__n{display:block;margin-top:2px;font:400 13px/1.45 var(--sans);
  letter-spacing:.006em;color:var(--muted)}
.soonpg__go{display:block;color:var(--muted);forced-color-adjust:auto;
  transition:color var(--t-quick) var(--ease-state)}
@media (hover:hover){
  .soonpg__row:hover{background-color:color-mix(in oklab,var(--ink) 5%,var(--page))}
  .soonpg__row:hover .soonpg__go{color:var(--body)}
}
.soonpg__row:focus-visible{outline:2px solid var(--focus);outline-offset:2px;
  background-color:color-mix(in oklab,var(--ink) 5%,var(--page))}
.soonpg__row:focus-visible .soonpg__go{color:var(--body)}
.soonpg__row:active{background-color:color-mix(in oklab,var(--ink) 8%,var(--page))}
@media (hover:hover) and (forced-colors:none){
  .soonpg__item:has(.soonpg__row:hover)::after,
  .soonpg__item:has(+ .soonpg__item .soonpg__row:hover)::after,
  .soonpg__rows:has(>.soonpg__item:first-child .soonpg__row:hover)::before{opacity:0}
}
.soonpg__item:has(.soonpg__row:focus-visible)::after,
.soonpg__item:has(+ .soonpg__item .soonpg__row:focus-visible)::after,
.soonpg__rows:has(>.soonpg__item:first-child .soonpg__row:focus-visible)::before{opacity:0}
@media (prefers-reduced-motion:no-preference){
  .soonpg__go .ar-shaft{stroke-dasharray:13;stroke-dashoffset:5;
    transition:stroke-dashoffset var(--t-fast) var(--ease)}
  .soonpg__go .ar-head{transition:transform var(--t-fast) var(--ease)}
  .soonpg__row:focus-visible .ar-shaft{stroke-dashoffset:0;transition:none}
  .soonpg__row:focus-visible .ar-head{transform:translateX(5px);transition:none}
}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .soonpg__row:hover .ar-shaft{stroke-dashoffset:0;transition-duration:var(--t-mid)}
  .soonpg__row:hover .ar-head{transform:translateX(5px);
    transition:transform var(--t-mid) var(--ease) 60ms}
}
@media (prefers-reduced-motion:no-preference){
  .soonpg__wave{stroke-dasharray:1 1;animation:soonpg-draw 640ms var(--ease) 120ms both}
  .soonpg__ring{animation:soonpg-in var(--t-mid) var(--ease) 520ms both}
  .soonpg__smp{animation:soonpg-in 320ms var(--ease) both;
    animation-delay:calc(560ms + var(--i) * 28ms)}
}
@keyframes soonpg-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes soonpg-in{from{opacity:0}}
.deck{margin:8px 0 0}
.deck__stage{position:relative;aspect-ratio:16/9;background:#fff;border-radius:var(--r-md);
  border:1px solid color-mix(in oklab,var(--ink) 10%,transparent);overflow:hidden;
  box-shadow:0 1px 2px color-mix(in oklab,var(--ink) 6%,transparent)}
.deck__stage img{display:block;width:100%;height:100%;object-fit:contain}
.deck__list{list-style:none;margin:0;padding:0}
.deck.is-live .deck__list > li{display:none}
.deck.is-live .deck__list > li.on{display:block}
.deck:not(.is-live) .deck__list > li + li{margin-top:16px}
.deck__bar{display:none;align-items:center;gap:12px;margin-top:14px;font:600 14px/1 var(--sans);color:var(--muted)}
.deck.is-live .deck__bar{display:flex}
.deck__btn{display:grid;place-items:center;width:44px;height:44px;border-radius:999px;border:1px solid var(--rule);
  background:var(--page);color:var(--ink);cursor:pointer;transition:background-color 160ms,border-color 160ms,transform 120ms}
.deck__btn:hover{background:var(--wash);border-color:color-mix(in oklab,var(--accent) 45%,transparent)}
.deck__btn:active{transform:scale(.95)}
.deck__btn:disabled{opacity:.35;cursor:default}
.deck__btn svg{width:20px;height:20px}
.deck__track{flex:1;height:3px;border-radius:3px;background:var(--rule);overflow:hidden}
.deck__fill{height:100%;background:var(--accent);transform-origin:left;transition:transform 220ms cubic-bezier(.2,.8,.2,1)}
.deck__num{font-variant-numeric:tabular-nums;min-width:74px;text-align:right}
.deck__num input{width:3.2em;font:inherit;color:var(--ink);text-align:right;border:1px solid var(--rule);
  border-radius:6px;padding:4px 4px;background:var(--page)}
@media (prefers-reduced-motion:reduce){.deck__fill,.deck__btn{transition:none}}
@media print{.deck__bar{display:none}.deck .deck__list > li{display:block!important;break-inside:avoid}}
