.prose{max-width:var(--prose);color:var(--ink);counter-reset:sec;letter-spacing:.01em;font-size:17px;line-height:1.9}.prose>*+*{margin-top:1.1em}.prose p,.prose ul,.prose ol,.prose blockquote,.prose table,.prose pre,.prose figure{margin-block:0 1.3em}.prose h2{counter-increment:sec;letter-spacing:.02em;margin:2.6em 0 .9em;font-size:1.36em;line-height:1.45;position:relative}.prose h2:before{content:"§ " counter(sec, decimal-leading-zero);font-family:var(--font-mono);letter-spacing:.08em;color:var(--accent);margin-bottom:.35em;font-size:12px;font-weight:400;display:block}@media (width>=1100px){.sheet .prose h2:before{white-space:nowrap;margin:0;font-size:13px;position:absolute;top:.12em;right:calc(100% + 22px)}.sheet .prose h2:after{content:"";background:var(--accent);width:8px;height:1px;position:absolute;top:.72em;right:calc(100% + 8px)}}.prose h3{margin:2em 0 .6em;font-size:1.12em;line-height:1.5}.prose h2+p,.prose h3+p{margin-top:0}.prose h4{margin:1.6em 0 .5em;font-size:1em}.prose :is(h2,h3,h4) a.anchor{opacity:0;color:var(--ink-3);font-family:var(--font-mono);margin-left:8px;font-size:.8em;text-decoration:none;transition:opacity .2s}.prose :is(h2,h3,h4):hover a.anchor{opacity:1}.prose a{color:var(--blue);text-decoration-color:color-mix(in srgb, var(--blue) 40%, transparent)}.prose a:hover{color:var(--accent)}.prose strong{color:var(--ink);text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent);text-underline-offset:.3em;text-decoration-skip-ink:none;font-weight:700;text-decoration-thickness:1.5px}.prose h2 strong,.prose h3 strong,.prose th strong,.prose li>strong:first-child{text-decoration:none}.prose ul,.prose ol{padding-left:1.4em}.prose li{line-height:1.8}.prose li+li{margin-top:.2em}.prose li>p{margin:0}.prose ul>li::marker{content:"▸  ";color:var(--accent);font-size:.8em}.prose ol>li::marker{font-family:var(--font-mono);color:var(--accent);font-size:.85em}.prose li>input[type=checkbox]{accent-color:var(--accent);margin-right:6px}.prose li:has(>input[type=checkbox])::marker{content:""}.prose blockquote{border-left:2px solid var(--accent);color:var(--ink-2);margin-inline:0;padding:2px 0 2px 22px;font-size:1.04em;position:relative}.prose blockquote>:last-child{margin-bottom:0}.prose hr{background:repeating-linear-gradient(90deg, var(--line-strong) 0 6px, transparent 6px 10px);border:0;height:1px;margin:2.5em 0}.prose img{border:1px solid var(--line);border-radius:var(--radius);display:block}.prose figure figcaption{color:var(--ink-3);font-size:13px;font-family:var(--font-mono);margin-top:6px}.prose table{border-collapse:collapse;max-width:100%;font-size:15px;line-height:1.6;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--line-strong);text-align:left;vertical-align:top;padding:8px 14px}.prose th{background:var(--paper-2);white-space:nowrap;font-weight:600}.prose tbody tr:nth-child(2n) td{background:color-mix(in srgb, var(--paper-2) 45%, transparent)}.prose :not(pre)>code{border:1px solid var(--line);background:var(--paper-2);font-family:var(--font-mono);border-radius:3px;padding:.12em .4em;font-size:.86em}.prose pre{border:1px solid var(--line-strong);border-radius:var(--radius);font-family:var(--font-mono);tab-size:2;font-variant-ligatures:none;padding:16px 18px;font-size:14px;line-height:1.65;position:relative;overflow-x:auto;background:var(--paper-2)!important}.prose pre code{font-family:inherit}.prose .astro-code,.prose .astro-code span{color:var(--shiki-light);font-style:var(--shiki-light-font-style);font-weight:var(--shiki-light-font-weight)}:root[data-theme=dark] .prose .astro-code,:root[data-theme=dark] .prose .astro-code span{color:var(--shiki-dark);font-style:var(--shiki-dark-font-style);font-weight:var(--shiki-dark-font-weight)}.code-frame{margin-block:0 1.15em;position:relative}.code-frame pre{margin:0;padding-top:34px}.code-frame .code-lang{z-index:1;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-size:11px;position:absolute;top:8px;left:14px}.code-frame .code-copy{z-index:1;border:1px solid var(--line);background:var(--paper);color:var(--ink-2);font-family:var(--font-mono);cursor:pointer;opacity:.7;border-radius:3px;padding:2px 8px;font-size:11px;transition:opacity .2s,color .2s,border-color .2s;position:absolute;top:6px;right:8px}.code-frame:hover .code-copy,.code-frame .code-copy:focus-visible{opacity:1}.code-frame .code-copy.done{color:var(--ok);border-color:var(--ok)}.prose .katex-display{padding:6px 0;overflow:auto hidden}.prose .katex{font-size:1.08em}@media (width<=640px){.prose{font-size:16.5px;line-height:1.85}.prose pre{margin-inline:calc(var(--gutter) * -1);border-inline:0;border-radius:0;font-size:13px}.code-frame{margin-inline:calc(var(--gutter) * -1)}.code-frame pre{margin-inline:0}}
