:root{--measure:68ch;--fig-ink:var(--fg);--fig-soft:var(--mute);--fig-line:var(--line);--fig-hair:var(--hair);--fig-acc:var(--blue);--fig-acc-soft:var(--blue-soft);--fig-fill:var(--note)}.lsn{max-width:var(--w);margin-inline:auto;padding:calc(var(--nav) + 56px) 32px 0;display:grid;grid-template-columns:minmax(0,1fr)}.lsn>article{inline-size:min(100%,var(--measure));margin-inline:auto;font-size:18px;line-height:1.7}.lsn>article :is(pre,table){inline-size:0;min-inline-size:100%;overflow-x:auto}.lsn>article table{display:block}.toc{display:none}@media(min-width:1040px){.lsn{grid-template-columns:minmax(0,1fr) var(--measure) minmax(0,1fr);column-gap:48px}.lsn>article{grid-column:2;inline-size:auto}.toc{display:block;grid-column:3;grid-row:1;align-self:start;position:sticky;top:calc(var(--nav) + 40px);max-inline-size:240px;margin-block-start:300px;font-size:14px}}.toc b{display:block;font:600 12.5px Poppins,system-ui;letter-spacing:.02em;color:var(--mute);margin-block-end:10px}.toc ol{list-style:none;border-inline-start:1px solid var(--hair)}.toc a{display:block;padding:5px 0 5px 14px;margin-inline-start:-1px;border-inline-start:1.5px solid transparent;color:var(--mute);text-decoration:none;line-height:1.4;transition:color .3s var(--ease),border-color .3s var(--ease)}.toc a:hover{color:var(--fg)}.toc a[aria-current=true]{color:var(--fg);border-color:var(--blue)}.place ol{list-style:none;display:flex;flex-wrap:wrap;gap:2px 0;font:600 14px/1.5 Poppins,system-ui;color:var(--mute)}.place li+li:before{content:"·";margin-inline:9px;color:var(--line)}.place a{text-decoration:none;color:var(--fg2);transition:color .3s var(--ease)}.place a:hover{color:var(--blue)}.lsn h1{font-size:clamp(34px,4.6vw,54px);letter-spacing:-.03em;margin-block-start:18px;text-wrap:balance}.stand{margin-block-start:18px;font-size:clamp(19px,1.7vw,21px);line-height:1.55;color:var(--fg2);text-wrap:pretty}.meta{margin-block-start:18px;padding-block-end:28px;border-block-end:1px solid var(--hair);font-size:14px;color:var(--mute)}.meta{display:flex;flex-wrap:wrap}.meta span{white-space:nowrap}.meta span+span:before{content:"·";margin-inline:8px}.body{padding-block-start:8px}.body>p{margin-block-start:1.1em;text-wrap:pretty}.body h2{font-size:clamp(24px,2.4vw,29px);margin-block:2.1em -.1em;scroll-margin-top:calc(var(--nav) + 24px)}.body strong{font-weight:650;color:var(--fg)}.body a{color:var(--blue);text-decoration-thickness:1px;text-underline-offset:3px}.body code{font:500 .86em var(--mono);background:var(--note);padding:.12em .4em;border-radius:6px;white-space:nowrap}.body hr{border:0;border-block-start:1px solid var(--hair);margin-block:2.4em 0}.series{margin-block-start:64px;border-radius:20px;background:var(--note);padding:22px 24px}.series h2{font-size:19px}.series h2 small{display:block;font:600 12.5px Poppins,system-ui;letter-spacing:.02em;color:var(--mute);margin-block-end:4px}.series ol{list-style:none;counter-reset:p;margin-block-start:12px;font-size:15.5px;line-height:1.45}.series li{counter-increment:p;display:grid;grid-template-columns:28px minmax(0,1fr);padding-block:7px;border-block-start:1px solid var(--hair)}.series li:before{content:counter(p);font:600 14px Poppins;color:var(--mute)}.series a{text-decoration:none;color:var(--fg2)}.series a:hover{color:var(--blue)}.series [aria-current]{font-weight:600;color:var(--fg)}.series li:has([aria-current]):before{color:var(--blue)}.next{display:block;margin-block-start:20px;border-radius:20px;background:var(--card);box-shadow:var(--sh2);padding:22px 24px;text-decoration:none;transition:translate .45s var(--ease),box-shadow .45s var(--ease)}.next:hover{translate:0 -3px;box-shadow:var(--sh3)}.next small{display:block;font:600 12.5px Poppins,system-ui;letter-spacing:.02em;color:var(--blue)}.next b{display:block;margin-block-start:6px;font:600 clamp(20px,2vw,23px)/1.25 Poppins,system-ui;letter-spacing:-.015em}.next span{display:block;margin-block-start:6px;font-size:15.5px;line-height:1.5;color:var(--fg2)}.next i{font-style:normal;display:inline-block;transition:translate .3s var(--ease)}.next:hover i{translate:4px 0}@media(max-width:860px){.lsn{padding:calc(var(--nav) + 32px) 16px 0}.lsn>article{font-size:17px}.series,.next{padding:18px}}.fig{margin-block:2.2em 2.4em}.fig .stage{border-radius:18px;background:var(--card);box-shadow:var(--sh2);padding:clamp(10px,2.4vw,20px);overflow:hidden}.fig svg{display:block;inline-size:100%;max-inline-size:560px;margin-inline:auto;aspect-ratio:var(--ar,16/7);overflow:visible}.fig figcaption{margin-block-start:12px;padding-inline:4px;font-size:14.5px;line-height:1.5;color:var(--fg2);text-wrap:pretty}.lsn>article{counter-reset:fig}.fig figcaption:before{counter-increment:fig;content:"Fig. " counter(fig);font:600 12.5px Poppins,system-ui;letter-spacing:.02em;color:var(--mute);margin-inline-end:8px}.js .fig{transition:opacity .6s var(--ease),transform .6s var(--ease)}.js .fig:not(.in){opacity:0;transform:translateY(18px)}.fig text{font:500 11.5px var(--mono);fill:var(--fig-soft)}.fig .t-ink{fill:var(--fig-ink)}.fig .t-acc{fill:var(--fig-acc)}.fig .t-sm{font-size:10px}.fig .t-h{font:600 12.5px Poppins,system-ui;fill:var(--fig-ink)}.fig .ln{fill:none;stroke:var(--fig-hair);stroke-width:1.5}.fig .ln2{fill:none;stroke:var(--fig-line);stroke-width:1.2;stroke-dasharray:3 4}.fig .box{fill:var(--bg);stroke:var(--fig-line);stroke-width:1.2}.fig .pill{fill:var(--fig-fill)}.fig .pill.acc{fill:var(--fig-acc-soft);stroke:var(--fig-acc);stroke-width:1.2}.fig .dot{fill:var(--fig-line)}.fig .dot.acc{fill:var(--fig-acc)}.fig .wire{fill:none;stroke:var(--fig-acc);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.fig .ring{fill:none;stroke:var(--fig-acc);stroke-width:1.3;stroke-dasharray:4 4}.fig .ok{fill:none;stroke:var(--fig-acc);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.fig .bar{fill:var(--fig-line)}.fig .bar.acc{fill:var(--fig-acc)}.fig .brk{color:var(--break);fill:none;stroke:var(--break);stroke-width:1.6}.fig text.brk{fill:var(--break);stroke:none}.fig .brk-dot{fill:var(--break)}.fig{--gh:.3;--io:cubic-bezier(.65,0,.35,1)}.fig :is([data-s],[data-x]){transition:opacity .6s var(--ease) var(--d,0s),transform .9s var(--ease) var(--d,0s),stroke-dashoffset .9s var(--ease) var(--d,0s)}.fig :is(.mv,.gy,.gx,.sc,.trav,.pulse){transform-box:fill-box}.fig .gy{transform-origin:50% 100%}.fig .gx{transform-origin:0 50%}.fig :is(.sc,.pulse){transform-origin:50% 50%}.fig .dr{stroke-dasharray:1;stroke-dashoffset:0}.fig.armed [data-s]:not(.on){opacity:var(--gh)}.fig.armed :is(.fx,.mv,.sc,.trav,.pulse)[data-s]:not(.on){opacity:0}.fig.armed .mv[data-s]:not(.on){transform:var(--from)}.fig.armed .dr[data-s]:not(.on){opacity:0;stroke-dashoffset:1}.fig.armed .gy[data-s]:not(.on){opacity:1;transform:scaleY(0)}.fig.armed .gx[data-s]:not(.on){opacity:1;transform:scaleX(0)}.fig.armed .sc[data-s]:not(.on){transform:scale(.2)}.fig:not(.armed) [data-x],.fig.armed [data-x].off{opacity:0!important;transition-duration:.2s}.fig.armed .fx[data-s].on{transition-delay:calc(var(--d,0s) + .2s)}.fig.armed.rs :is([data-s],[data-x]){transition-duration:.45s;transition-delay:0s}.fig .flow{stroke-dasharray:3 9}@keyframes fig-flow{to{stroke-dashoffset:-12}}@keyframes fig-trav{0%{transform:none;opacity:0}15%,85%{opacity:1}to{transform:var(--to);opacity:0}}@keyframes fig-pulse{0%{transform:scale(.7);opacity:.85}to{transform:scale(1.9);opacity:0}}@media(prefers-reduced-motion:no-preference){.fig.in .flow:not(.armed [data-s]:not(.on)){animation:fig-flow .8s linear infinite}.fig.in .trav:not(.armed [data-s]:not(.on)){animation:fig-trav var(--dur,1.8s) var(--io) var(--d,0s) infinite both}.fig.in .pulse:not(.armed [data-s]:not(.on)){animation:fig-pulse 1.6s cubic-bezier(.16,1,.3,1) var(--d,0s) infinite both}.fig:not(.vis) *{animation-play-state:paused}}.fig .trav{transform:var(--to)}.fig .pulse{opacity:0}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(max-width:600px){.fig .stage{margin-inline:-8px;padding:10px 6px}.fig text{font-size:13px}.fig .t-sm{font-size:11px}}@media print{.toc,.series,.next,header.top,footer{display:none}.js .fig:not(.in){opacity:1;transform:none}}.fig .stage img{display:block;inline-size:100%;max-inline-size:560px;margin-inline:auto;block-size:auto}
