@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_app/immutable/assets/newsreader-vietnamese-wght-normal.Czsa-EzN.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_app/immutable/assets/newsreader-latin-ext-wght-normal.C-3rgBeH.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_app/immutable/assets/newsreader-latin-wght-normal.CCVVNp6i.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_app/immutable/assets/newsreader-vietnamese-wght-italic.xAqemagA.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_app/immutable/assets/newsreader-latin-ext-wght-italic.DFS986qL.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_app/immutable/assets/newsreader-latin-wght-italic.Bxi8ein9.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:STIX Two Math;src:local(STIX Two Math),url(/fonts/STIXTwoMath-Regular.woff2)format("woff2");font-display:block}@font-face{font-family:Newsreader Fallback;src:local(Georgia);size-adjust:95.3%;ascent-override:77.7%;descent-override:28.3%;line-gap-override:0%}@font-face{font-family:Gochi Hand;src:url(/fonts/gochi-hand.woff2)format("woff2");font-display:swap}:root{--measure:clamp(36.6rem, 33vw, 48.8rem);--desk:#232220;--desk-2:#2a2927;--line:#3c3b38;--text:#e4e1dc;--dim:#9a968f;--faint:#73726f;--night:#050506;--accent:#c9dfe9;--accent-ink:#2c566a;--accent-deep:#89b3cb;--paper:#d8d4cb;--paper-2:#c6c2b9;--ink:#1c1b1a;--ink-blue:#1d2f66;--pencil:#49453f;--pencil-2:#54504a;--pencil-3:#74706a;--sticky:var(--accent);--laser-green:#1f8f3a;--laser-blue:#2456c4;--laser-red:#c8322b;--tape:color-mix(in srgb, var(--accent) 85%, transparent);--grain:url(/grain.webp);--tear:polygon(0.0% 2.1px, 2.5% 1.2px, 5.0% 1.6px, 7.5% .6px, 10.0% .7px, 12.5% .3px, 15% .3px, 17.5% .3px, 20.0% .3px, 22.5% .3px, 25.0% .3px, 27.5% .3px, 30% .3px, 32.5% 1.1px, 35.0% .3px, 37.5% .3px, 40.0% .6px, 42.5% 1.7px, 45.0% 1.9px, 47.5% 1.6px, 50.0% 2.8px, 52.5% 1.7px, 55.0% 2.5px, 57.5% 2px, 60% 1.2px, 62.5% .3px, 65.0% .3px, 67.5% 1.1px, 70.0% .3px, 72.5% .5px, 75.0% .8px, 77.5% .5px, 80.0% .6px, 82.5% .3px, 85.0% .3px, 87.5% .3px, 90.0% .7px, 92.5% .6px, 95.0% .3px, 97.5% .5px, 100.0% .4px, calc(100% - 2px) 2.5%, calc(100% - 2.7px) 5.0%, calc(100% - 3.2px) 7.5%, calc(100% - 2.6px) 10.0%, calc(100% - 2.8px) 12.5%, calc(100% - 2.8px) 15%, calc(100% - 3.7px) 17.5%, calc(100% - 4.3px) 20.0%, calc(100% - 3.8px) 22.5%, calc(100% - 4.7px) 25.0%, calc(100% - 3.8px) 27.5%, calc(100% - 3.6px) 30%, calc(100% - 4.2px) 32.5%, calc(100% - 3.4px) 35.0%, calc(100% - 3.3px) 37.5%, calc(100% - 2.2px) 40.0%, calc(100% - 2.6px) 42.5%, calc(100% - 3.3px) 45.0%, calc(100% - 3.5px) 47.5%, calc(100% - 4.4px) 50.0%, calc(100% - 3.9px) 52.5%, calc(100% - 4.4px) 55.0%, calc(100% - 4.6px) 57.5%, calc(100% - 4.7px) 60%, calc(100% - 4.6px) 62.5%, calc(100% - 4.7px) 65.0%, calc(100% - 4.7px) 67.5%, calc(100% - 4.6px) 70.0%, calc(100% - 4.7px) 72.5%, calc(100% - 3.6px) 75.0%, calc(100% - 4.1px) 77.5%, calc(100% - 4.5px) 80.0%, calc(100% - 4.7px) 82.5%, calc(100% - 4.7px) 85.0%, calc(100% - 4.2px) 87.5%, calc(100% - 3.9px) 90.0%, calc(100% - 4.3px) 92.5%, calc(100% - 3.2px) 95.0%, calc(100% - 3.1px) 97.5%, calc(100% - 2.3px) 100.0%, 97.5% calc(100% - 1.6px), 95.0% calc(100% - .5px), 92.5% calc(100% - 1.2px), 90.0% calc(100% - .3px), 87.5% calc(100% - .3px), 85.0% calc(100% - .3px), 82.5% calc(100% - 1.2px), 80.0% calc(100% - .3px), 77.5% calc(100% - .3px), 75.0% calc(100% - .4px), 72.5% calc(100% - 1.3px), 70.0% calc(100% - 2.1px), 67.5% calc(100% - 3px), 65.0% calc(100% - 2.4px), 62.5% calc(100% - 2.2px), 60% calc(100% - 1.9px), 57.5% calc(100% - 2.8px), 55.0% calc(100% - 3.9px), 52.5% calc(100% - 3.1px), 50.0% calc(100% - 2.3px), 47.5% calc(100% - 1.7px), 45.0% calc(100% - 1px), 42.5% calc(100% - 1px), 40.0% calc(100% - 1.2px), 37.5% calc(100% - .6px), 35.0% calc(100% - .3px), 32.5% calc(100% - .3px), 30% calc(100% - .3px), 27.5% calc(100% - .5px), 25.0% calc(100% - 1.5px), 22.5% calc(100% - 2px), 20.0% calc(100% - 2px), 17.5% calc(100% - 2.3px), 15% calc(100% - 2.7px), 12.5% calc(100% - 1.7px), 10.0% calc(100% - 2.6px), 7.5% calc(100% - 3.3px), 5.0% calc(100% - 4.2px), 2.5% calc(100% - 4.7px), 0.0% calc(100% - 4.4px), 2.3px 97.5%, 1.3px 95.0%, 1.6px 92.5%, .6px 90.0%, .3px 87.5%, .3px 85.0%, .3px 82.5%, .3px 80.0%, .3px 77.5%, .3px 75.0%, .3px 72.5%, .3px 70.0%, .3px 67.5%, .3px 65.0%, 1.2px 62.5%, 1.5px 60%, .6px 57.5%, .3px 55.0%, .3px 52.5%, .3px 50.0%, .3px 47.5%, 1.1px 45.0%, 2.3px 42.5%, 2.2px 40.0%, 2.2px 37.5%, 1.2px 35.0%, .3px 32.5%, .3px 30%, .3px 27.5%, 1.1px 25.0%, .3px 22.5%, .3px 20.0%, 1.4px 17.5%, 1.5px 15%, .6px 12.5%, .7px 10.0%, .3px 7.5%, .4px 5.0%, 1.5px 2.5%);--shadow:0 3px 4px -4px #0000008c, 2px 9px 16px -7px #00000080, 3px 22px 34px -16px #00000061;--sans:system-ui, -apple-system, "Segoe UI", sans-serif;--serif:"Newsreader Variable", "Newsreader Fallback", Charter, "Iowan Old Style", Georgia, serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--hand:"Gochi Hand", "Comic Sans MS", cursive;--ease:cubic-bezier(.2, .7, .2, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--grain), var(--desk);color:var(--text);font:15px/1.6 var(--sans);-webkit-font-smoothing:antialiased;margin:0;overflow-x:clip}a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--paper)}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;line-height:1.25}:focus-visible{outline:1px dashed var(--accent);outline-offset:4px}:is(.sheet,.callout) :focus-visible{outline-color:var(--accent-ink)}:is(a,button,input,select,label){touch-action:manipulation}::selection{background:var(--accent);color:var(--ink)}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.skip{background:var(--accent);color:var(--ink);padding:6px 12px;position:absolute;top:-60px;left:16px}.skip:focus{top:8px}.page{max-width:max(1080px,46vw);margin:0 auto;padding:0 16px}.mono{font-family:var(--mono);font-size:13px}.dim{color:var(--dim)}.top{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 24px;padding:28px 0 14px;display:flex}.logo{color:var(--text);letter-spacing:-.01em;font-size:1.2rem;text-decoration:none}.logo:hover{color:var(--accent)}.top nav{color:var(--line);flex-wrap:wrap;align-items:center;gap:2px 8px;display:flex}.top nav a{isolation:isolate;font:1.15rem/1.2 var(--hand);color:var(--dim);transition:rotate .2s var(--ease);padding:2px 8px;text-decoration:none;position:relative}.top nav a:hover{color:var(--ink);rotate:2deg}.top nav a:hover:before{content:"";z-index:-1;clip-path:var(--tear);background:var(--grain), var(--paper);position:absolute;inset:0}.foot{border-top:1px solid var(--line);color:var(--dim);flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:96px;padding:14px 0 32px;display:flex}.foot a{color:var(--dim)}.foot a:hover{color:var(--accent)}.intro{gap:14px;max-width:640px;padding:64px 0 8px;display:grid}.intro h1{font:500 clamp(1.8rem, 4.4vw, 2.6rem)/1.15 var(--serif);letter-spacing:-.015em;text-wrap:balance}.intro p{font-size:1.05rem}.head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:16px;margin:64px 0 6px;padding-bottom:8px;display:flex}.head h2{font-size:1.15rem}.index{margin:0;padding:0;list-style:none}.index li{border-bottom:1px solid var(--line);grid-template-columns:7.5em 1fr;align-items:baseline;gap:2px 20px;padding:16px 0;display:grid}.index a{font:500 1.35rem/1.3 var(--serif);color:var(--text);text-wrap:balance;text-decoration:none}.index a:hover{color:var(--accent)}.index p{grid-column:2;max-width:60ch}@media (width<=560px){.index li{grid-template-columns:1fr}.index p{grid-column:1}}article{max-width:var(--measure);margin:0 auto}.post-head{gap:12px;padding:56px 0 36px;display:grid}.post-head h1{font:500 clamp(2rem, 5vw, 2.9rem)/1.1 var(--serif);letter-spacing:-.02em;text-wrap:balance}.path,.path a{color:var(--dim)}.path b{color:var(--accent);font-weight:400}.prose{font:380 1.22rem/1.62 var(--serif);font-optical-sizing:auto;font-kerning:normal;font-variant-numeric:oldstyle-nums proportional-nums;-webkit-hyphens:auto;hyphens:auto;text-wrap:pretty;hanging-punctuation:first;color:var(--text)}.prose>*{max-width:68ch}.prose p,.prose ul,.prose ol,.prose blockquote{margin:0 0 1.05em}.prose h2,.prose h3{font-family:var(--serif);text-wrap:balance;-webkit-hyphens:manual;hyphens:manual;font-weight:560}.prose h2{margin:2.1em 0 .6em;font-size:1.55rem}.prose>h2{counter-increment:sec;margin-top:3em;padding-top:1.15em;position:relative}.prose>h2:before{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 8' preserveAspectRatio='none'%3E%3Cpath d='M1 4.6 C 60 3.2, 120 5.4, 190 4.1 S 330 3.0, 400 4.7 S 520 5.2, 599 3.6' fill='none' stroke='%23b3aea6' stroke-width='1.5' stroke-linecap='round'/%3E%3Cpath d='M30 5.3 C 140 4.6, 260 5.6, 380 4.4 S 520 4.1, 570 4.9' fill='none' stroke='%239a968f' stroke-opacity='.45' stroke-width='.8'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;height:8px;position:absolute;top:0;left:1.5em;right:0}.prose>h2:after{content:counter(sec);font:italic 400 1.15rem/1 var(--serif);font-variant-numeric:lining-nums;color:var(--dim);position:absolute;top:calc(4px - .5em);left:0}.prose>h2:has(+.refs){counter-increment:none}.prose>h2:has(+.refs):before{left:0}.prose>h2:has(+.refs):after{content:none}.prose h3{margin:1.8em 0 .4em;font-size:1.25rem}.prose strong{font-weight:600}.prose ul,.prose ol{padding-left:1.3em}.prose li{margin:.25em 0;padding-left:.2em}.prose li::marker{color:var(--dim)}.prose blockquote{border-left:2px solid var(--line);color:var(--dim);padding-left:1em;font-style:italic}.prose hr{text-align:center;border:0;max-width:none;margin:2.4em 0}.prose hr:after{content:"⁂";color:var(--dim);font-size:1.2rem}.prose table{border-collapse:collapse;font-variant-numeric:lining-nums tabular-nums;margin:1.6em 0;font-size:.95em}.prose th,.prose td{border-bottom:1px solid var(--line);text-align:left;padding:6px 14px 6px 0}.prose th{font:13px var(--mono);color:var(--dim)}.prose :not(pre)>code{font:.8em var(--mono);color:var(--ink);background:var(--accent);-webkit-hyphens:none;hyphens:none;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:.1em .45em}.prose pre.shiki{border:1px solid var(--line);max-width:none;font:13.5px/1.65 var(--mono);-webkit-hyphens:none;hyphens:none;tab-size:4;border-radius:3px;margin:1.6em 0;padding:14px 18px;overflow-x:auto;background:var(--desk-2)!important}.prose pre.shiki code{font:inherit}math{font-family:STIX Two Math,math;font-size:1.08em}.prose .katex-display{margin:1.4em 0;padding:4px 0;overflow:auto hidden}.prose .katex-display>.katex{display:block}.sheet{isolation:isolate;color:var(--ink);font:15px/1.5 var(--sans);-webkit-hyphens:none;hyphens:none;box-shadow:var(--shadow);margin:2em 0 2.4em;padding:22px 22px 6px;position:relative}.sheet:after{content:"";z-index:-1;clip-path:var(--tear);background:url(/paper.webp), var(--paper);background-blend-mode:multiply;position:absolute;inset:0}.sheet figcaption{text-align:center;font:1.2rem/1.2 var(--hand);color:var(--ink);padding:10px 4px 12px}.sheet label{font:13px var(--mono);align-items:center;gap:8px;display:inline-flex}.sheet input[type=range]{accent-color:var(--accent-ink)}.sheet .controls{flex-wrap:wrap;justify-content:center;gap:8px 22px;margin-top:10px;display:flex}@media (width>=860px){.prose>.sheet.wide{max-width:none;margin-inline:-60px}}.tape:before{content:"";z-index:1;background:linear-gradient(180deg, #ffffff2e, transparent 60%), var(--tape);clip-path:polygon(0 0,4% 20%,0 40%,4% 60%,0 80%,3% 100%,100% 100%,96% 80%,100% 60%,96% 40%,100% 20%,97% 0);width:76px;height:20px;position:absolute;top:-10px;left:50%;translate:-50%;rotate:-2deg;box-shadow:0 1px 2px #00000026}:root{--t0:var(--accent);--t0-ink:var(--accent-ink);--t1:#f2c6d4;--t1-ink:#853654;--t2:#ecdd9f;--t2-ink:#685816;--t3:#cfe2c4;--t3-ink:#3d682a;--t4:#dccbe8;--t4-ink:#5c3e78;--t5:#f1d0b4;--t5-ink:#874715}.meta{flex-wrap:wrap;align-items:baseline;gap:4px 14px;display:flex}.tag{font:12.5px var(--mono);color:var(--accent)}.tag:before{content:"#";color:var(--dim)}.index .meta{grid-column:2}@media (width<=560px){.index .meta{grid-column:1}}.prose figure.code{max-width:none;margin:1.6em 0}.prose figure.code:not(.notebook) figcaption{border:1px solid var(--line);background:var(--desk-2);font:12px var(--mono);color:var(--dim);border-bottom:0;border-radius:3px 3px 0 0;padding:3px 12px 2px;display:inline-block}.prose figure.code pre.shiki{border-top-left-radius:0;margin:0}.prose pre.shiki code{min-width:max-content;display:block}.prose pre.shiki .line{min-width:100%;margin:0 -18px;padding:0 18px;display:inline-block}.prose pre.shiki .line.highlighted{background:color-mix(in srgb, var(--accent) 10%, transparent);box-shadow:inset 2px 0 var(--accent)}.prose pre.shiki .line.diff.add{background:#8cbe821f;box-shadow:inset 2px 0 #8cbe82}.prose pre.shiki .line.diff.remove{opacity:.7;background:#e2788c1a;box-shadow:inset 2px 0 #e2788c}.btn{isolation:isolate;cursor:pointer;font:1.15rem/1.2 var(--hand);color:var(--ink);rotate:var(--r,-1.5deg);transition:rotate .25s var(--ease), translate .25s var(--ease);background:0 0;border:0;align-items:center;gap:6px;padding:4px 14px 5px;text-decoration:none;display:inline-flex;position:relative;box-shadow:0 2px 3px -3px #00000080,2px 7px 11px -6px #0000008c}.btn:before{content:"";z-index:-1;clip-path:var(--tear);background:radial-gradient(circle at 100% 100%, #3c1e282e, transparent 18px), linear-gradient(#0000000f 0 4px, transparent 4px), var(--grain), var(--note,var(--accent));position:absolute;inset:0}.btn.ghost{--note:var(--paper-2);--r:1.2deg}.btn:hover:not(:disabled){color:var(--ink);translate:0 -2px;rotate:0deg}.btn:active:not(:disabled){translate:0 1px}.btn:disabled{opacity:.4;cursor:default}.callout{isolation:isolate;max-width:62ch;color:var(--ink);font:15.5px/1.55 var(--sans);-webkit-hyphens:none;hyphens:none;box-shadow:var(--shadow);margin:2em 0;padding:18px 22px 8px;position:relative}.callout:after{content:"";z-index:-1;clip-path:var(--tear);background:linear-gradient(#0000000f 0 5px, transparent 5px), var(--grain), var(--note);position:absolute;inset:0}.callout.tape:before{left:64px}.callout{--tape:color-mix(in srgb, var(--paper) 85%, transparent)}.callout.note{--note:var(--sticky)}.callout.warn{--note:var(--t1)}.callout.info{--note:var(--accent)}.callout-title{font:1.35rem/1.2 var(--hand);margin:0 0 4px}.callout p{margin:0 0 10px}.callout a{color:var(--accent-ink)}.callout.warn a{color:var(--ink)}.callout :not(pre)>code{background:#00000014}.prose{counter-reset:side}.side-mark{counter-increment:side;font:1rem/0 var(--hand);color:var(--accent);vertical-align:super;padding-left:1px}.side-mark:after{content:counter(side)}.side-body{border-left:2px solid var(--line);font:13.5px/1.5 var(--sans);color:var(--dim);-webkit-hyphens:none;hyphens:none;text-indent:0;margin:.4em 0 .8em 1em;padding-left:10px;display:block}.side-body:before{content:counter(side) " ";font:1.05rem var(--hand);color:var(--accent)}@media (width>=1140px){.side-body{float:right;clear:right;border:0;width:180px;margin:.25em -215px .6em 0;padding:0}}.redact{width:calc(var(--n) * .55em);vertical-align:-.17em;height:1.05em;clip-path:var(--tear);background:#090909;display:inline-block;box-shadow:inset 0 0 0 1px #3d3b38}.prose .math-display{margin:1.4em 0;padding:4px 0;overflow:auto hidden}.sheet{--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-user-select:none;user-select:none}.sheet :is(figcaption,pre,code,table){-webkit-user-select:text;user-select:text}.sheet select{font:12px var(--mono);border:1.5px solid var(--ink);background:var(--paper);color:var(--ink);border-radius:3px;padding:2px 6px}.sheet .mb{font:13px var(--mono);border:1.5px solid var(--ink);color:var(--ink);cursor:pointer;background:0 0;border-radius:3px;padding:4px 10px}.sheet .mb:hover:not(:disabled,.on,[aria-pressed=true]){background:var(--paper-2)}.sheet .mb.on,.sheet .mb[aria-pressed=true]{background:var(--ink);color:var(--paper)}.sheet .mb:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}.sheet .readout{text-align:center;font:12px var(--mono);color:var(--pencil-2);margin:6px 0 0}.prose ol.refs{font:14.5px/1.55 var(--sans);color:var(--dim);-webkit-hyphens:none;hyphens:none;padding-left:1.6em}.prose ol.refs li{margin:.5em 0;padding-left:.3em;scroll-margin-top:30vh}.prose ol.refs li:target{color:var(--text)}.prose ol.refs a{overflow-wrap:anywhere}.prose ol.refs i{font-style:italic}.prose>:is(p,ul,ol,blockquote,h2,h3,h4,.math-display,table){max-width:var(--measure)}.prose{font-variant-numeric:lining-nums proportional-nums}@media (width<=480px){.prose{font-size:1.1rem;line-height:1.55}}.prose h3{font-size:1.32rem}.prose h4{font:italic 500 1.05em/1.3 var(--serif);text-wrap:balance;-webkit-hyphens:manual;hyphens:manual;margin:1.6em 0 .3em}.prose :is(h2,h3,h4)+*{margin-top:0}.prose .katex{white-space:nowrap}.prose .math-display{margin:1.1em 0}.prose .math-display .katex-display{margin:0}.prose pre.shiki code{counter-reset:l}.prose pre.shiki .line:before{counter-increment:l;content:counter(l);text-align:right;width:2ch;color:var(--faint);margin-right:1.4ch;display:inline-block}.prose th,.prose td{vertical-align:baseline;line-height:1.4}@media (width<=480px){.prose table{font-size:.85em}.prose th,.prose td{padding-right:10px}}.notebook{padding:18px 18px 16px 0}.notebook .file{text-align:left;font:1.25rem/1.2 var(--hand);color:var(--ink);margin:0 0 6px calc(3.4em + 14px);padding:0}.notebook pre{--lh:21px;counter-reset:ln;font:12.5px/var(--lh) var(--mono);color:var(--ink);margin:0;padding:0 0 4px;position:relative;overflow:hidden}.notebook pre:before{content:"";border-left:1px solid color-mix(in srgb, var(--accent-ink) 45%, transparent);position:absolute;top:-40px;bottom:0;left:3.4em}.notebook .ln{--r:1;counter-increment:ln;border-bottom:1px solid color-mix(in srgb, var(--t1-ink) 16%, transparent);clip-path:inset(0 calc((1 - var(--r)) * 100%) 0 0);flex-wrap:wrap;align-items:baseline;column-gap:1.2em;padding:0 4px 0 calc(3.4em + 14px);transition:opacity .25s;display:flex;position:relative}.notebook .ln .c{white-space:pre-wrap;overflow-wrap:anywhere;text-indent:-4ch;min-width:0;padding-left:4ch}.notebook .ln:before{content:counter(ln);text-indent:0;text-align:right;width:2.9em;font:11px/var(--lh) var(--mono);color:var(--pencil-3);position:absolute;left:0}.notebook .mk{z-index:-1;background:var(--accent);position:absolute;inset:2px 0 3px calc(3.4em + 6px)}.notebook .ln:not(.lit) .mk{display:none}.notebook .ln.dim{opacity:.35}.notebook pre i{font:1.2em/var(--lh) var(--hand);color:var(--pencil-2);margin-left:auto}.notebook pre i u{display:none}.notebook pre b{font-weight:400}.notebook pre b.k{font-weight:700}.notebook pre b.n{color:var(--accent-ink)}.prose figure.notebook{margin:2em 0 2.4em}.prose figure.notebook .file{display:block}
