.blog-main{overflow-x:clip}.blog-crumb{min-height:2.5rem;font-family:var(--font-mono);color:hsl(var(--foreground)/.8);text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:2px;-webkit-text-decoration-color:hsl(var(--foreground)/.25);text-decoration-color:hsl(var(--foreground)/.25);align-items:center;gap:.375rem;font-size:.8125rem;font-weight:700;transition:color .15s,text-decoration-color .15s;display:inline-flex}.blog-crumb:hover{color:hsl(var(--primary));-webkit-text-decoration-color:hsl(var(--primary));text-decoration-color:hsl(var(--primary))}.blog-crumb:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px;border-radius:4px}.paper{background:linear-gradient(hsl(var(--foreground)/.035)1px,transparent 1px)0 0/100% 2.25rem,hsl(var(--card));color:hsl(var(--card-foreground));border:2px solid hsl(var(--foreground));box-shadow:0 3px 0 hsl(var(--foreground)/.85),7px 9px 0 -2px hsl(var(--card)),7px 9px 0 0 hsl(var(--foreground)/.45),13px 17px 0 -2px hsl(var(--card)),13px 17px 0 0 hsl(var(--foreground)/.25),0 30px 50px -28px hsl(var(--foreground)/.6);border-radius:6px 12px 8px 14px/12px 6px 14px 8px;padding:clamp(1.75rem,5vw,3.75rem) clamp(1.25rem,6vw,4.25rem) clamp(2rem,5vw,3.5rem);animation:.62s cubic-bezier(.16,1,.3,1) both paper-in;position:relative}[data-theme=dark] .paper{background:radial-gradient(120% 55% at 50% 0%,#e8c47d1a,transparent 65%),linear-gradient(hsl(var(--foreground)/.03)1px,transparent 1px)0 0/100% 2.25rem,hsl(var(--card))}@keyframes paper-in{0%{opacity:0;transform:translateY(24px)}}@media (prefers-reduced-motion:reduce){.paper{animation:none}}.paper-head{border-bottom:2px dashed hsl(var(--foreground)/.25);margin-bottom:2rem;padding-bottom:1.75rem}.paper-title{font-family:var(--font-display);letter-spacing:-.01em;text-wrap:balance;margin-top:1rem;font-size:clamp(1.75rem,4.6vw,2.6rem);font-weight:900;line-height:1.22}.paper-lede{color:hsl(var(--muted-foreground));margin-top:.875rem;font-size:1.0625rem;line-height:1.75}.paper-meta{font-family:var(--font-mono);color:hsl(var(--muted-foreground));flex-wrap:wrap;gap:.5rem;margin-top:1rem;font-size:.8125rem;display:flex}.paper-note{background:hsl(var(--accent)/.22);border:2px solid hsl(var(--foreground)/.7);border-radius:8px;margin-top:1rem;padding:.625rem .875rem;font-size:.875rem;line-height:1.6}.paper-also{color:hsl(var(--muted-foreground));flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.75rem;font-size:.875rem;display:flex}.paper-also-link{color:hsl(var(--foreground));text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:2px;-webkit-text-decoration-color:hsl(var(--primary));text-decoration-color:hsl(var(--primary));font-weight:700}.paper-also-link:hover{color:hsl(var(--primary))}.paper-end{text-align:center;font-family:var(--font-mono);color:hsl(var(--muted-foreground));margin-top:3rem;font-size:.875rem}.slip-list{gap:1rem;display:grid}.slip{border:2px solid hsl(var(--foreground));background:hsl(var(--background)/.35);box-shadow:3px 3px 0 hsl(var(--foreground)/.85);border-radius:10px;padding:1.25rem 1.25rem 1.375rem;transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s;display:block}.slip:hover{box-shadow:5px 5px 0 hsl(var(--foreground)/.85);transform:translate(-2px,-2px)rotate(-.4deg)}.slip:focus-visible{outline:3px solid hsl(var(--ring));outline-offset:3px}.slip .paper-meta{margin-top:0}.slip-title{font-family:var(--font-display);margin-top:.5rem;font-size:1.25rem;font-weight:900;line-height:1.35}.slip-arrow{vertical-align:-.1em;width:1.1rem;height:1.1rem;margin-left:.25rem;transition:transform .18s;display:inline-block}.slip:hover .slip-arrow{color:hsl(var(--primary));transform:translate(2px,-2px)}.slip-excerpt{color:hsl(var(--muted-foreground));margin-top:.375rem;font-size:.9375rem;line-height:1.7}.post-prose{overflow-wrap:break-word;font-size:1.0625rem;line-height:1.85}.post-prose>*+*{margin-top:1.15em}.post-prose h2{font-family:var(--font-display);margin-top:2.4em;scroll-margin-top:5.5rem;font-size:clamp(1.35rem,3.4vw,1.65rem);font-weight:900;line-height:1.3}.post-prose h3{margin-top:2em;scroll-margin-top:5.5rem;font-size:1.2rem;font-weight:800;line-height:1.4}.post-prose h2+*,.post-prose h3+*{margin-top:.75em}.post-prose strong{background:linear-gradient(transparent 60%,hsl(var(--accent)/.55)60%);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 .1em;font-weight:800}[data-theme=dark] .post-prose strong{background:linear-gradient(transparent 62%,hsl(var(--accent)/.3)62%)}.post-prose a{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:2px;-webkit-text-decoration-color:hsl(var(--primary));text-decoration-color:hsl(var(--primary));font-weight:600}.post-prose a:hover{color:hsl(var(--primary))}.post-prose ul,.post-prose ol{padding-left:1.4em}.post-prose ul{list-style:outside}.post-prose ol{list-style:decimal}.post-prose li+li{margin-top:.4em}.post-prose li::marker{color:hsl(var(--primary));font-weight:700}.post-prose blockquote{border-left:4px solid hsl(var(--accent));color:hsl(var(--muted-foreground));padding:.35em 0 .35em 1em}.post-prose hr{text-align:center;border:0;margin:2.6em 0;overflow:visible}.post-prose hr:after{content:"✦  ✦  ✦";white-space:pre;color:hsl(var(--primary)/.8);font-size:.875rem}.post-prose :not(pre)>code{font-family:var(--font-mono);background:hsl(var(--foreground)/.07);border:1px solid hsl(var(--foreground)/.14);border-radius:5px;padding:.12em .38em;font-size:.86em}.post-prose pre{font-family:var(--font-mono);border:2px solid hsl(var(--foreground)/.85);box-shadow:3px 3px 0 hsl(var(--foreground)/.8);-webkit-overflow-scrolling:touch;background:#f1ecdf;border-radius:10px;margin-top:1.4em;padding:1rem 1.15rem;font-size:.8125rem;line-height:1.65;overflow-x:auto}[data-theme=dark] .post-prose pre{background:#1a1d32}.post-prose pre code{font-size:inherit}.post-prose .shiki,.post-prose .shiki span{color:var(--shiki-light)}[data-theme=dark] .post-prose .shiki,[data-theme=dark] .post-prose .shiki span{color:var(--shiki-dark)}.post-prose table{border-collapse:collapse;width:100%;font-size:.9375rem;display:block;overflow-x:auto}.post-prose th,.post-prose td{border:1.5px solid hsl(var(--foreground)/.3);text-align:left;padding:.5em .75em}.post-prose th{background:hsl(var(--foreground)/.05);font-weight:800}@media (max-width:640px){.post-prose{font-size:1rem;line-height:1.8}.post-prose pre{margin-left:-.5rem;margin-right:-.5rem;font-size:.75rem}}.post-layout{max-width:46rem;margin-left:auto;margin-right:auto}.post-layout .paper{min-width:0}@media (min-width:1280px){.post-layout{grid-template-columns:minmax(0,46rem) 15rem;justify-content:center;align-items:start;gap:3.5rem;max-width:none;display:grid}}.reading-progress{display:none}@supports (animation-timeline:scroll()){.reading-progress{z-index:60;background:hsl(var(--primary));transform-origin:0;height:3px;animation:linear both reading-progress;animation-timeline:scroll(root);display:block;position:fixed;inset:0 0 auto;transform:scaleX(0)}}@keyframes reading-progress{to{transform:scaleX(1)}}.toc-heading{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:800}.toc-list{border-left:2px solid hsl(var(--foreground)/.15);gap:.125rem;margin-top:.75rem;display:grid}.toc-list li[data-depth="3"] .toc-link{padding-left:1.75rem;font-size:.8125rem}.toc-link{color:hsl(var(--foreground)/.72);border-left:2px solid #0000;margin-left:-2px;padding:.375rem .5rem .375rem .875rem;font-size:.875rem;line-height:1.45;transition:color .15s,border-color .15s;display:block}.toc-link:hover{color:hsl(var(--foreground))}.toc-link.is-active{color:hsl(var(--primary));border-left-color:hsl(var(--primary));font-weight:700}.toc-link:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:1px;border-radius:4px}.toc-aside{display:none}@media (min-width:1280px){.toc-aside{max-height:calc(100dvh - 8rem);padding:.25rem .25rem 1rem 0;display:block;position:sticky;top:6rem;overflow-y:auto}}.toc-fab{right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));z-index:40;align-items:center;gap:.625rem;display:flex;position:fixed}@media (min-width:1280px){.toc-fab{display:none}}.toc-fab-button{min-width:2.75rem;height:2.75rem;color:hsl(var(--foreground));background:hsl(var(--card));border:2px solid hsl(var(--foreground));box-shadow:0 3px 0 hsl(var(--foreground)/.85);border-radius:999px;justify-content:center;align-items:center;gap:.375rem;padding:0 .75rem;font-size:.875rem;font-weight:800;transition:transform .12s,box-shadow .12s;display:inline-flex}.toc-fab-button:active{box-shadow:0 1px 0 hsl(var(--foreground)/.85);transform:translateY(2px)}.toc-fab-button:focus-visible{outline:3px solid hsl(var(--ring));outline-offset:2px}.toc-fab-main{background:hsl(var(--accent));color:hsl(var(--accent-foreground));padding:0 1rem}.toc-sheet{max-height:72dvh;padding:1.25rem 1.25rem max(1.25rem,env(safe-area-inset-bottom));background:hsl(var(--card));border-top:2px solid hsl(var(--foreground));border-radius:18px 18px 0 0;flex-direction:column;display:flex}.toc-sheet-body{overscroll-behavior:contain;overflow-y:auto}.toc-sheet .toc-link{padding-top:.625rem;padding-bottom:.625rem;font-size:.9375rem}@media (max-width:640px){.post-layout{margin-left:-1rem;margin-right:-1rem}.post-layout .paper{box-shadow:none;background:hsl(var(--card));border-left:0;border-right:0;border-radius:0;padding:1.5rem 1.25rem 5.5rem}[data-theme=dark] .post-layout .paper{background:radial-gradient(120% 40% at 50% 0%,#e8c47d14,transparent 65%),hsl(var(--card))}.paper-head{margin-bottom:1.5rem;padding-bottom:1.25rem}.paper-lede{font-size:1rem}.post-layout .blog-crumbs{padding:0 1rem}}@media (min-width:1280px){.toc-aside{margin-top:3.75rem}}
