.post{max-width:54rem;margin:var(--space-12) auto 0}.post .back{display:inline-block;font-family:var(--font-mono);font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;text-decoration:none;margin-bottom:var(--space-6)}.sheet{position:relative;background:var(--color-sheet);border-radius:6px;box-shadow:0 2px 0 var(--color-rule),0 18px 40px var(--color-shadow);padding:var(--space-16) var(--space-16) var(--space-12)}.t-sheet{left:50%;top:-12px;transform:translate(-50%) rotate(-2deg)}.post-hero{max-width:var(--read-max);margin:0 auto var(--space-12)}.post-date{display:block;font-family:var(--font-mono);font-size:.8rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);margin-bottom:var(--space-3)}.post-title{margin:0;font-family:var(--font-display);font-weight:800;font-size:clamp(2.1rem,4.4vw,3.4rem);line-height:1.02;letter-spacing:-.04em;color:var(--color-ink);text-wrap:balance;overflow-wrap:anywhere}.featured-image{display:block;width:100%;height:auto;margin:0 auto var(--space-12);border-radius:var(--radius-md)}.prose{max-width:var(--read-max);margin:0 auto;min-width:0;color:var(--color-ink-2);font-size:1.06rem;line-height:1.85}.prose h2,.prose h3,.prose h4,.prose h5{font-family:var(--font-display);color:var(--color-ink);font-weight:800;letter-spacing:-.03em}.prose h2{font-size:clamp(1.7rem,3vw,2.2rem);margin:3.5rem 0 1rem;line-height:1.15}.prose h3{font-size:clamp(1.4rem,2.4vw,1.7rem);margin:2.75rem 0 .9rem;line-height:1.2}.prose h4{font-size:1.25rem;margin:2rem 0 .75rem;line-height:1.25}.prose h5{font-size:1.1rem;margin:1.5rem 0 .6rem;line-height:1.3}.prose p,.prose ul,.prose ol,.prose blockquote,.prose pre,.prose .expressive-code,.prose table{margin:0 0 1.45rem}.prose a{color:var(--color-blue-deep);-webkit-text-decoration:underline 1.5px;text-decoration:underline 1.5px;text-underline-offset:4px;background:linear-gradient(var(--color-yellow),var(--color-yellow)) left 88% / 0% 52% no-repeat;box-decoration-break:clone;-webkit-box-decoration-break:clone;transition:background-size var(--dur-slow) var(--ease-out)}.prose a:hover,.prose a:focus-visible{background-size:100% 52%;text-decoration-color:transparent}.prose strong{color:var(--color-ink);font-weight:650}.prose hr{margin:3rem 0;border:0;border-top:1px dashed var(--color-rule)}.prose img,.prose picture,.prose svg,.prose canvas{display:block;max-width:100%;height:auto}.prose img,.prose picture img,.prose canvas{margin:2rem auto;border-radius:var(--radius-sm)}.prose blockquote{padding:var(--space-4) 1.25rem;border-left:4px solid var(--color-yellow);background:var(--color-paper);color:var(--color-ink-2);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.prose :not(pre)>code{background:var(--color-wash);color:var(--color-ink);padding:.15rem .4rem;border-radius:6px;font-size:.9em;font-family:var(--font-mono);font-weight:500;white-space:pre-wrap;overflow-wrap:anywhere}.prose pre{padding:1.15rem 1.2rem;border-radius:var(--radius-sm);overflow-x:auto;background:var(--color-code-bg);color:var(--color-code-ink);line-height:1.7}.prose pre code{background:transparent;color:inherit;padding:0;font-size:.92rem;font-family:var(--font-mono);white-space:pre}.prose table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--color-rule);border-radius:var(--radius-sm);overflow:hidden}.prose thead{background:var(--color-paper)}.prose th,.prose td{padding:.8rem .95rem;text-align:left;border-bottom:1px solid var(--color-rule)}.prose th{color:var(--color-ink);font-size:.92rem;font-weight:600}.prose td{font-size:.96rem;font-variant-numeric:tabular-nums}.prose tbody tr:last-child td{border-bottom:0}.prose th:not(:first-child),.prose td:not(:first-child){text-align:right}.prose .incorrect-word{color:var(--color-margin);background:var(--color-rose);border-radius:.45rem;padding:.08rem .35rem;font-weight:600;box-decoration-break:clone;-webkit-box-decoration-break:clone}.prose .expressive-code{max-width:100%}.prose ul,.prose ol{padding-left:1.3rem}.prose ul{list-style-type:disc}.prose ol{list-style-type:decimal}.prose li{margin-bottom:.55rem;padding-left:.25rem}.prose ul ul,.prose ol ul{list-style-type:circle;margin:.5rem 0 0}.prose ol ol,.prose ul ol{list-style-type:lower-latin;margin:.5rem 0 0}@media (max-width: 860px){.post{margin-top:var(--space-8)}.sheet{padding:var(--space-12) var(--space-4) var(--space-8)}.prose{font-size:1rem;line-height:1.78}.prose table{display:block;overflow-x:auto;font-size:.92rem}.prose th,.prose td{padding:.7rem .8rem;white-space:nowrap}}@media (prefers-reduced-motion: reduce){.prose a{transition:none}}
