@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:200;src:url(/_astro/geist-latin-200-normal.IkDbEADM.woff2)format("woff2"),url(/_astro/geist-latin-200-normal.CnN0qDeM.woff)format("woff")}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/geist-latin-500-normal.CTWBw9NS.woff2)format("woff2"),url(/_astro/geist-latin-500-normal.BDXIbFrL.woff)format("woff")}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/geist-latin-700-normal.CFi8mLqe.woff2)format("woff2"),url(/_astro/geist-latin-700-normal.Bod5GerT.woff)format("woff")}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/fira-sans-latin-700-normal.CRhwpWTq.woff2)format("woff2"),url(/_astro/fira-sans-latin-700-normal.DgqLm3Fi.woff)format("woff")}@font-face{font-family:Open Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/open-sans-latin-400-normal.Bk63H6sG.woff2)format("woff2"),url(/_astro/open-sans-latin-400-normal.DKniycaP.woff)format("woff")}@font-face{font-family:Open Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/open-sans-latin-400-italic.oaOkCnEp.woff2)format("woff2"),url(/_astro/open-sans-latin-400-italic.BEURUQpT.woff)format("woff")}@font-face{font-family:Open Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/open-sans-latin-700-normal.CceUhp2e.woff2)format("woff2"),url(/_astro/open-sans-latin-700-normal.CZCQA30i.woff)format("woff")}@font-face{font-family:Gochi Hand;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/gochi-hand-latin-400-normal.D3Iu69dp.woff2)format("woff2"),url(/_astro/gochi-hand-latin-400-normal.DC0_N7qt.woff)format("woff")}@font-face{font-family:Ioskeley Mono;src:url(/_astro/IoskeleyMono-400.Bz7GsaTy.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Ioskeley Mono;src:url(/_astro/IoskeleyMono-500.BBMuDadF.woff2)format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Ioskeley Mono;src:url(/_astro/IoskeleyMono-700.Cgj8IFmk.woff2)format("woff2");font-weight:700;font-display:swap}:root{--page:#faf7f0;--hero:#f3ede2;--surface:#fffdf8;--ink:#1c1b19;--ink-2:#5f5a51;--ink-3:#8e887e;--line:#e3dccf;--line-2:#cfc6b6;--kraft:#a8743f;--accent:#b8461f;--accent-ink:#fff8f0;--accent-tint:#f6e3d8;--ok:#5e8c4a;--ok-tint:#eef3e6;--code:#1f1d1a;--code-2:#2a2723;--code-fg:#e9e4da;--code-mute:#8c857a;--code-kw:#e0915c;--code-ok:#b7d79a;--inline:#ece5d9;--r-sm:4px;--r-md:6px;--r-lg:10px;--r-card:18px;--lift:0 1px 0 #3c28140a, 0 18px 40px -24px #462d1459;--ease-out:cubic-bezier(.23,1,.32,1);--ease:.2s var(--ease-out);--ease-color:.15s ease;--mono:"Ioskeley Mono",ui-monospace,monospace;--display:"Geist",system-ui,sans-serif;--head:"Fira Sans",system-ui,sans-serif;--text:"Open Sans",system-ui,sans-serif;--ui:"Geist",system-ui,sans-serif;--astro-code-foreground:var(--code-fg);--astro-code-background:var(--code);--astro-code-token-keyword:var(--code-kw);--astro-code-token-function:#e9c37a;--astro-code-token-string:var(--code-ok);--astro-code-token-string-expression:var(--code-ok);--astro-code-token-constant:#9fc4d8;--astro-code-token-parameter:var(--code-fg);--astro-code-token-comment:var(--code-mute);--astro-code-token-punctuation:#bdb5a8;--astro-code-token-link:var(--code-kw);color-scheme:light}:root[data-theme=dark]{--kraft:#d9a86c;--page:#191816;--hero:#23211e;--surface:#1e1c1a;--ink:#eee8dd;--ink-2:#b9b1a4;--ink-3:#8a8277;--line:#34302b;--line-2:#48433c;--accent:#e07a4f;--accent-ink:#1a1310;--accent-tint:#3a2419;--ok-tint:#24301f;--inline:#2c2925;--code:#141311;--code-2:#1b1a17;color-scheme:dark}*{box-sizing:border-box;margin:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--text);color:var(--ink);background:var(--page);flex-direction:column;min-height:100dvh;font-size:18px;line-height:1.6;display:flex}body>main{flex:1}a{color:inherit;text-decoration:none}img,svg{max-width:100%}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r-sm)}h1,h2,h3{font-family:var(--head);color:var(--ink);text-wrap:balance;letter-spacing:-.005em;font-weight:700}p{text-wrap:pretty}.wrap{max-width:1120px;margin:0 auto;padding:0 20px}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{background:var(--ink);color:var(--page);border-radius:var(--r-md);font:500 14px var(--ui);z-index:10;padding:8px 12px;position:absolute;top:8px;left:-999px}.skip:focus{left:12px}.display{font-family:var(--display);letter-spacing:-.03em;font-size:clamp(34px,4.4vw,52px);font-weight:200;line-height:1.1}.display b{font-weight:700}.meta{font:500 13px/1.4 var(--ui);color:var(--ink-3);letter-spacing:.01em}.meta time,.meta .num{font-family:var(--mono);font-size:12px}.meta .hot{color:var(--accent)}.lede{color:var(--ink-2);max-width:52ch;margin-top:16px;font-size:19px;line-height:1.55}.logo{font:700 30px/1 var(--display);letter-spacing:-.045em;color:var(--accent);white-space:nowrap;align-items:center;gap:.32em;display:inline-flex}.logo b{font-weight:inherit;color:var(--ink)}.logo-sm{font-size:22px}.mark{flex:none;width:1.15em;height:1.15em}.mark .m-box{fill:none;stroke:var(--ink);stroke-width:3.6px}.mark .m-dot{fill:var(--accent)}.site-head{border-bottom:1px solid var(--line);background:var(--page)}.site-head .wrap{align-items:center;gap:20px;height:76px;display:flex}.site-head nav{font:500 17px var(--ui);align-items:center;gap:32px;margin-left:auto;display:flex}.site-head nav a{color:var(--ink-2)}:where(.site-head nav a){transition:color var(--ease-color)}.site-head nav a:hover,.site-head nav a[aria-current]{color:var(--ink)}.site-head nav a[aria-current]{box-shadow:inset 0 -2px 0 var(--accent);margin-bottom:-8px;padding-bottom:6px}@media (width<=640px){.site-head nav{gap:18px;font-size:15px}.logo{font-size:24px}}@media (width<=420px){.site-head nav a.hide-sm{display:none}.site-head .wrap{gap:12px}.site-head nav{gap:14px}.site-head .logo{font-size:20px}.site-head .btn-sm{padding:9px 12px}}@media (width<=360px){.site-head .wrap,.site-head nav{gap:10px}.site-head .logo{font-size:18px}}.btn{cursor:pointer;background:var(--accent);color:var(--accent-ink);font:500 15px var(--ui);border-radius:var(--r-md);white-space:nowrap;border:0;padding:12px 20px;display:inline-block}.btn:hover{background:color-mix(in srgb, var(--accent) 88%, black)}.btn{transition:transform .16s var(--ease-out), background var(--ease-color)}.btn:active,.copy:active,.predict .opts button:active,.steps .ctl button:active,.seg button:active{transform:scale(.97)}.copy,.predict .opts button,.steps .ctl button,.seg button{transition:transform .16s var(--ease-out), color var(--ease-color), background var(--ease-color), border-color var(--ease-color), opacity var(--ease-color)}.btn-sm{padding:9px 16px}.site-head nav a.btn,.site-head nav a.btn:hover{color:var(--accent-ink)}.tlink{font:500 15px var(--ui);color:var(--ink);text-decoration:underline 1px var(--line-2);text-underline-offset:3px;text-decoration-skip-ink:none;transition:text-decoration-color var(--ease-color)}.tlink:hover{text-decoration-color:var(--ink)}.hero{background:var(--hero);border-bottom:1px solid var(--line);position:relative;overflow:hidden}.hero-bg{pointer-events:none;filter:grayscale();opacity:.13;background:url(/wall.svg) 0 0/100% 100% no-repeat;position:absolute;inset:0}.hero-top{text-align:center;padding:84px 20px 88px;position:relative}.hero-top .display{letter-spacing:-.045em;font-size:clamp(40px,6vw,88px);line-height:1}.hero-top .lede{max-width:none;margin-top:28px}@media (width<=880px){.hero-top{padding:56px 20px 60px}}section.block{padding:72px 0 0}.sec-head{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:24px;display:flex}.sec-head h1,.sec-head h2{font-size:24px}.page-head{padding:56px 0 8px}.page-head .display{font-size:clamp(36px,5vw,60px)}.topics{font:500 15px var(--ui);color:var(--ink-3);flex-wrap:wrap;gap:6px 22px;margin:-8px 0 22px;display:flex}.topics a{transition:color var(--ease-color);align-items:flex-start;gap:4px;padding-bottom:6px;display:inline-flex}.topics a:hover,.topics a[aria-current]{color:var(--ink)}.topics a[aria-current] span{text-decoration:underline 2px var(--accent);text-underline-offset:8px}.topics sup{font:500 11px/1 var(--mono);font-variant-numeric:tabular-nums;color:var(--ink-3);margin-top:1px}.posts{isolation:isolate;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}@media (width<=900px){.posts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.posts{grid-template-columns:1fr}}.post{background:var(--hero);border-radius:var(--r-card);transition:transform var(--ease), background var(--ease);flex-direction:column;padding:26px 26px 18px;display:flex}@media (hover:hover) and (pointer:fine){.post:hover{background:color-mix(in srgb, var(--hero) 75%, var(--line-2));transform:translateY(-3px)}}.post:active{transform:scale(.985)}.post h2,.post h3{margin-top:10px;font-size:22px;line-height:1.25}.post p{color:var(--ink-2);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:12px;font-size:16px;line-height:1.55;display:-webkit-box;overflow:hidden}.post .art{width:100%;height:auto;margin-top:auto;padding-top:22px;display:block}.post .go{font:500 15px var(--ui);color:var(--accent);margin-top:18px;display:inline-block}.post.lead{grid-column:1/-1;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:40px;padding:36px 40px;display:grid}.post.lead h2{font-size:clamp(28px,3vw,38px);line-height:1.15}.post.lead p{-webkit-line-clamp:4;font-size:17px}.post.lead .art{padding-top:0}@media (width<=760px){.post.lead{grid-template-columns:1fr;gap:20px;padding:26px}}.post.series{margin:0 12px 12px 0;position:relative}.post.series:before,.post.series:after{content:"";border-radius:var(--r-card);z-index:-1;position:absolute;inset:0}.post.series:before{background:color-mix(in srgb, var(--hero) 85%, var(--line-2));transform:translate(6px,6px)}.post.series:after{background:color-mix(in srgb, var(--hero) 70%, var(--line-2));z-index:-2;transform:translate(12px,12px)}.post.series ol{font:500 15px var(--ui);margin-top:16px;padding:0;list-style:none}.post.series li{border-top:1px solid var(--line-2);gap:12px;padding:10px 0;display:flex}.post.series li span{font:12px/1.9 var(--mono);color:var(--ink-3)}.post.series .go{margin-top:auto;padding-top:14px;font-size:14px}.rows{border-top:1px solid var(--line);padding:0;list-style:none}.rows li{border-bottom:1px solid var(--line)}.rows a{grid-template-columns:120px 1fr;gap:4px 24px;padding:20px 0;display:grid}.rows a:hover h2{text-decoration:underline 2px var(--accent);text-underline-offset:6px}.rows h2{font-size:21px;line-height:1.3}.rows p{color:var(--ink-2);grid-column:2;font-size:16px}@media (width<=600px){.rows a{grid-template-columns:1fr}.rows p{grid-column:1}}.news{background:var(--hero);border-radius:var(--r-card);grid-template-columns:96px 1fr minmax(0,380px);align-items:center;gap:28px;padding:26px;display:grid}.news .poster{width:96px;height:auto;transform:rotate(-4deg)}.news h2{font-size:22px;line-height:1.25}.news p{color:var(--ink-2);margin-top:8px;font-size:16px;line-height:1.55}.news .last{font:500 14px var(--ui);color:var(--ink-3)}.news .last a{color:var(--ink);box-shadow:inset 0 -1px 0 var(--line-2)}.news-form{flex-wrap:wrap;gap:8px;display:flex}.news-form input[type=email]{min-width:0;font:16px var(--text);border:1.5px solid var(--line-2);border-radius:var(--r-md);background:var(--surface);color:var(--ink);flex:1;padding:11px 14px}.news-form input[type=email]:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:#0000}.news-form .hp{position:absolute;left:-9999px}.news-form .err{width:100%;font:500 14px var(--ui);color:var(--accent)}@media (width<=760px){.news{grid-template-columns:1fr}}.ch-head{background:var(--hero);border-bottom:1px solid var(--line);padding:28px 0 0}.crumbs{font:500 13px var(--ui);color:var(--ink-3)}.crumbs a:hover{color:var(--ink)}.ch-head .display{margin-top:14px}.ch-meta{flex-wrap:wrap;gap:8px 18px;margin-top:16px;display:flex}.ch-art{width:100%;height:auto;margin-top:32px;display:block}.progress{background:var(--accent);transform-origin:0;z-index:5;width:100%;height:3px;position:fixed;top:0;left:0;transform:scaleX(0)}.read-grid{grid-template-columns:200px minmax(0,712px) 220px;justify-content:center;gap:0 48px;padding:0 20px;display:grid}.read{min-width:0;padding:44px 0 0;font-size:18px;line-height:1.75}.read>p,.read>ul,.read>ol,.read>blockquote{margin-top:18px}.read h2{border-top:1px solid var(--line);margin-top:48px;padding-top:28px;scroll-margin-top:24px;font-size:26px}.read h3{margin-top:32px;font-size:21px}.read blockquote{border-left:3px solid var(--accent);padding:4px 0 4px 18px;font-size:21px;font-weight:600;line-height:1.45}.read blockquote p{margin:0}.read :not(pre)>code{font:.86em var(--mono);background:var(--inline);border-radius:var(--r-sm);padding:2px 5px}.read ul,.read ol{padding-left:26px}.read li+li{margin-top:8px}.read a:not(.tlink){color:var(--ink);text-decoration:underline 1px var(--line-2);text-underline-offset:3px}.read a:not(.tlink):hover{text-decoration-color:var(--accent)}.read hr{display:none}.read em.small{color:var(--ink-3);margin-top:32px;font-size:15px;display:block}.read pre{border-radius:var(--r-md);font:15px/1.6 var(--mono);margin-top:22px;padding:16px 18px;position:relative;overflow-x:auto}.read pre code{font:inherit}.copy{font:500 12.5px var(--ui);color:var(--code-fg);background:var(--code-2);border-radius:var(--r-sm);cursor:pointer;opacity:0;border:1px solid #3a3631;padding:4px 10px;position:absolute;top:8px;right:8px}pre:hover .copy,.copy:focus-visible,.run .copy{opacity:1}@media (hover:none){.copy{opacity:1}}.copy:hover{background:#3a3631}.copy span{transition:filter .15s,opacity .15s;display:inline-block}.copy.swap span{filter:blur(2px);opacity:0}.toc{background:var(--hero);border-radius:var(--r-card);align-self:start;margin-top:52px;padding:20px 22px;position:sticky;top:28px}.toc p{font:500 13px var(--ui);color:var(--ink-3);margin-bottom:8px}.toc ol{padding:0;list-style:none}.toc li a{font:500 15px/1.4 var(--ui);color:var(--ink-3);transition:color var(--ease-color);padding:6px 0;display:block}.toc li a:hover,.toc li a.past{color:var(--ink-2)}.toc li a.on{color:var(--ink);text-decoration:underline 2px var(--accent);text-underline-offset:5px}.toc .left{font:500 13px var(--ui);color:var(--ink-3);margin-top:14px;display:block}.toc .top{margin-top:4px;display:inline-block}.note{float:right;clear:right;width:220px;font:500 13.5px/1.5 var(--ui);color:var(--ink-2);margin:4px -268px 0 0}.note b{font:12px var(--mono);color:var(--accent);margin-bottom:2px;display:block}@media (width<=1240px){.read-grid{grid-template-columns:minmax(0,712px)}.toc,.read-grid>.gutter{display:none}.note{float:none;background:var(--hero);border-radius:var(--r-md);width:auto;margin:18px 0 0;padding:12px 14px}}.pager{grid-template-columns:1fr 1fr;gap:16px;margin-top:56px;display:grid}.pager a{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);transition:border-color var(--ease-color);padding:14px 16px}.pager a:hover{border-color:var(--ink)}.pager a.next{text-align:right;grid-column:2}.pager b{font:700 17px var(--head);margin-top:2px;display:block}.term{border-bottom:1.5px dotted var(--ink-3);cursor:help;position:relative}.term:after{content:attr(data-def);z-index:3;background:var(--ink);width:min(260px,80vw);color:var(--page);font:500 13.5px/1.45 var(--ui);border-radius:var(--r-md);pointer-events:none;opacity:0;transform-origin:0 0;transition:opacity .125s var(--ease-out), transform .125s var(--ease-out);padding:10px 12px;position:absolute;top:calc(100% + 6px);left:0;transform:scale(.97)}.term:hover:after,.term:focus:after{opacity:1;transition-delay:.3s;transform:none}.term:focus:after{transition-delay:0s}@media (width<=640px){.term{position:static}.read :has(>.term){position:relative}.term:after{width:auto;right:0}}.run{border-radius:var(--r-md);margin-top:22px;overflow:hidden}.run .head{background:var(--code);color:var(--code-mute);font:500 12.5px var(--ui);align-items:center;gap:10px;padding:10px 12px 0 18px;display:flex}.run .head b{color:var(--code-fg);font-weight:500}.run .head .copy{margin-left:auto;position:static}.run pre{border-radius:0;margin:0!important}.run pre.out{background:var(--code-2);color:var(--code-ok);white-space:pre-wrap}.run pre.out:before{content:"output";font:500 11px var(--ui);color:var(--code-mute);margin-bottom:4px;display:block}.run figcaption{background:var(--line);color:var(--ink-2);font:500 12.5px var(--ui);padding:7px 12px}.run pre.out{transition:filter .32s var(--ease-out), opacity .32s var(--ease-out)}.run.locked pre.out{filter:blur(6px);opacity:.7;user-select:none}.predict{background:var(--hero);border-radius:var(--r-lg);margin-top:22px;padding:18px 20px}.predict .q{font:500 15px var(--ui);color:var(--ink);margin:0}.predict .q b{font:12px var(--mono);color:var(--accent);margin-bottom:4px;font-weight:400;display:block}.predict .opts{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.predict .opts button{font:14px var(--mono);border-radius:var(--r-md);border:1.5px solid var(--line-2);background:var(--surface);color:var(--ink);cursor:pointer;padding:8px 12px}.predict .opts button:hover{border-color:var(--ink)}.predict .opts button.right{border-color:var(--ok);background:var(--ok-tint)}.predict .opts button.wrong{border-color:var(--accent);background:var(--accent-tint)}.predict .why{font:500 14.5px/1.5 var(--ui);color:var(--ink-2);margin:12px 0 0}.predict .why:empty{display:none}.fig{margin-top:26px}.fig svg{width:100%;height:auto;display:block}.fig figcaption{font:500 13.5px/1.45 var(--ui);color:var(--ink-3);margin-top:8px}.steps{margin-top:26px}.steps svg{width:100%;height:auto;display:block}.steps [data-step]{transition:opacity .22s var(--ease-out), transform .22s var(--ease-out)}.steps [data-step].off{opacity:0;transform:translateY(6px)}.steps .ctl{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 0 0;display:flex}.steps .ctl button{font:500 13px var(--mono);border:1.5px solid var(--line-2);width:30px;height:30px;color:var(--ink-2);cursor:pointer;background:0 0;border-radius:50%}.steps .ctl button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--page)}.steps .ctl p{font:500 14.5px/1.4 var(--ui);color:var(--ink-2);margin:0 0 0 6px}.leaves{border:1.5px dashed var(--line-2);border-radius:var(--r-lg);font:500 14.5px/1.55 var(--ui);color:var(--ink-2);margin-top:14px;padding:14px 18px}.leaves b{font:12px var(--mono);color:var(--ink);margin-bottom:4px;font-weight:400;display:block}.leaves ul{margin:0;padding-left:18px}.leaves li{margin-top:4px}.prose{max-width:712px;padding:8px 0 0;font-size:18px;line-height:1.75}.prose p,.prose ul{margin-top:18px}.prose h2{margin-top:40px;font-size:24px}.prose a{text-decoration:underline 1px var(--line-2);text-underline-offset:3px}.prose a:hover{text-decoration-color:var(--accent)}.prose ul{padding-left:26px}.site-foot{border-top:1px solid var(--line);font:500 14px var(--ui);color:var(--ink-2);margin-top:96px;padding:28px 0 40px}.site-foot .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 28px;display:flex}.site-foot nav{flex-wrap:wrap;gap:20px;display:flex}.site-foot nav a:hover{color:var(--ink)}.prefs{font:500 13px var(--ui);color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:16px;display:flex}.seg{background:var(--hero);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.seg button{font:500 13px var(--ui);color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:5px 12px}.seg button:hover{color:var(--ink)}.seg button[aria-checked=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #3c28141f}.switch{cursor:pointer;align-items:center;gap:8px;display:flex}.switch input{opacity:0;width:1px;height:1px;position:absolute}.switch span{background:var(--line-2);width:30px;height:18px;transition:background var(--ease-color);border-radius:999px;position:relative}.switch span:after{content:"";background:var(--surface);width:14px;height:14px;transition:transform var(--ease);border-radius:50%;position:absolute;top:2px;left:2px}.switch input:checked+span{background:var(--ink)}.switch input:checked+span:after{transform:translate(12px)}.switch input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}:root[data-theme=dark] .post .art{background:#f3ede2;border-radius:12px;margin-top:22px;padding:10px}:root[data-theme=dark] .post.lead .art{margin-top:0}:root[data-theme=dark] .ch-art,:root[data-theme=dark] .fig svg,:root[data-theme=dark] .steps svg{border-radius:var(--r-lg);background:#f3ede2}:root[data-theme=dark] .ch-art{border-radius:var(--r-lg) var(--r-lg) 0 0}::view-transition-old(root),::view-transition-new(root){animation-duration:.22s;animation-timing-function:ease}.calm *,.calm :before,.calm :after{transition-property:opacity,color,background-color,border-color,text-decoration-color,filter!important}.calm .post:hover,.calm .post:active,.calm .btn:active,.calm .copy:active,.calm .predict .opts button:active,.calm .steps .ctl button:active,.calm .seg button:active,.calm .steps [data-step].off,.calm .term:after{transform:none!important}.calm::view-transition-old(root),.calm::view-transition-new(root){animation-duration:.12s}@media (prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation-duration:.12s}*,:before,:after{transition-property:opacity,color,background-color,border-color,text-decoration-color,filter!important}.post:hover,.post:active,.btn:active,.copy:active,.predict .opts button:active,.steps .ctl button:active,.seg button:active,.steps [data-step].off,.term:after{transform:none!important}}@media print{.site-head,.site-foot,.toc,.progress,.news,.steps .ctl,.predict .opts,.copy,.skip{display:none!important}body{background:#fff;font-size:11pt}.read-grid{padding:0;display:block}.note{float:none;width:auto;margin:8pt 0}.steps [data-step].off{opacity:1}.run.locked pre.out{filter:none}.read a[href^=http]:after{content:" (" attr(href) ")";font-size:9pt}}.block.tight{padding-top:36px}.page-head .crumbs+.display{margin-top:12px}.fig-sm{max-width:420px}.site-head nav{position:relative}.learn{position:static}.learn summary{cursor:pointer;color:var(--ink-2);transition:color var(--ease-color);align-items:center;gap:6px;list-style:none;display:inline-flex}.learn summary::-webkit-details-marker{display:none}.learn summary:hover,.learn[open] summary,.learn summary[aria-current]{color:var(--ink)}.learn summary svg{width:10px;height:6px;transition:transform var(--ease)}.learn[open] summary svg{transform:rotate(180deg)}.learn-panel{z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);width:min(560px,100vw - 32px);box-shadow:var(--lift);transform-origin:100% 0;transition:opacity .18s var(--ease-out), transform .18s var(--ease-out);padding:10px;position:absolute;top:calc(100% + 18px);right:0}@starting-style{.learn[open] .learn-panel{opacity:0;transform:scale(.97)translateY(-4px)}}.learn-panel ul{grid-template-columns:1fr 1fr;gap:2px;padding:0;list-style:none;display:grid}.learn-panel li a,.learn-panel .soon{font:500 13.5px/1.4 var(--ui);color:var(--ink-2);border-radius:12px;gap:2px;padding:12px 14px;display:grid}.learn-panel li a{transition:background var(--ease-color)}.learn-panel li a:hover,.learn-panel li a:focus-visible{background:var(--hero)}.learn-panel b{font:700 16px var(--head);color:var(--ink)}.learn-panel em{font:11.5px var(--mono);color:var(--accent);margin-top:2px;font-style:normal}.learn-panel .soon{opacity:.6}.learn-panel .soon em{color:var(--ink-3)}.learn-all{transition:color var(--ease-color), text-decoration-color var(--ease-color);margin:8px 14px 6px;font-size:14px;display:inline-block}@media (width<=640px){.site-head nav{position:static}.site-head .wrap,.site-head .logo,.site-head nav>a:not(.btn),.learn summary,.seg button,.switch,.run .head .copy,.steps .ctl button{position:relative}.run .head .copy{top:auto;right:auto}.site-head .logo:before,.site-head nav>a:not(.btn):before,.learn summary:before,.seg button:before,.switch:before,.copy:before,.steps .ctl button:before{content:"";position:absolute;inset:-11px 0}.learn-panel{width:auto;top:64px;left:16px;right:16px}.learn-panel ul{grid-template-columns:1fr}}.areas{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}@media (width<=900px){.areas{grid-template-columns:1fr 1fr}}@media (width<=600px){.areas{grid-template-columns:1fr}}.post.area h2{font-size:24px}.post.area p{-webkit-line-clamp:4}.post.soon{border:1.5px dashed var(--line-2);background:0 0}.post.soon:hover,.post.soon:active{background:0 0;transform:none}
