:root{--blog-shell-width: 860px;--blog-article-width: 760px;--blog-radius: 14px;--blog-shadow: 0 16px 36px rgba(15, 23, 42, .08);--blog-code-bg: #f8fafc;--blog-code-border: rgba(148, 163, 184, .44);--blog-code-text: #1f2937;--blog-inline-code-bg: rgba(15, 23, 42, .08);--blog-inline-code-text: #0f172a}.post-shell{max-width:var(--blog-shell-width);margin:0 auto;padding:2.15rem 1rem 4rem}h1{margin:1rem 0 .72rem;font-family:var(--blog-font-title);line-height:1.12;letter-spacing:-.03em;font-size:clamp(2rem,4.4vw,3rem)}.meta{margin:0 0 1.1rem;color:var(--blog-muted)}.meta-badges{margin:0 0 1.08rem;display:flex;flex-wrap:wrap;gap:.4rem}.meta-chip{display:inline-block;padding:.2rem .58rem;border-radius:999px;border:1px solid var(--blog-border);color:var(--blog-muted);background:#ffffffd9;font-size:.74rem;letter-spacing:.02em;text-decoration:none}.meta-chip.category{color:var(--blog-link);border-color:color-mix(in srgb,var(--blog-link) 28%,var(--blog-border))}.content{background:var(--blog-card);border:1px solid var(--blog-border);border-radius:var(--blog-radius);box-shadow:var(--blog-shadow);max-width:var(--blog-article-width);padding:1.35rem;line-height:1.82}.content img{display:block;max-width:100%;max-height:800px;width:auto;height:auto;margin:1.2rem 0;border-radius:calc(var(--blog-radius) * .72)}.cover-image{display:block;width:100%;max-width:var(--blog-article-width);border-radius:calc(var(--blog-radius) * .82);border:1px solid var(--blog-border);margin:0 0 1rem;object-fit:cover;max-height:540px;background:#fffc}.empty{background:var(--blog-card);border:1px dashed var(--blog-border);border-radius:var(--blog-radius);padding:1.25rem}.content h2,.content h3{font-family:var(--blog-font-title);line-height:1.24}.content a{color:var(--blog-link);text-decoration-color:var(--blog-link-soft);text-underline-offset:3px}.content blockquote{margin:1.25rem 0;padding:.95rem 1rem;border-left:4px solid color-mix(in srgb,var(--blog-link) 28%,var(--blog-border));border-radius:calc(var(--blog-radius) * .9)}.content blockquote>:first-child{margin-top:0}.content blockquote>:last-child{margin-bottom:0}.content blockquote p{white-space:pre-line}.content pre{margin:1.2rem 0;padding:1rem 1.05rem;border-radius:calc(var(--blog-radius) * .9);overflow-x:auto;line-height:1.65;font-size:.94rem;border:1px solid var(--blog-code-border);background:var(--blog-code-bg)!important;color:var(--blog-code-text);box-shadow:0 10px 24px #0f172a0f}.content pre.astro-code:not(.min-light){color:var(--blog-code-text)!important}.content pre.astro-code:not(.min-light) span{color:inherit!important}.content pre code{display:block;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Monaco,Consolas,Liberation Mono,monospace;background:transparent;padding:0;border:0;color:inherit;white-space:pre-wrap;overflow-wrap:anywhere}.content code:not(pre code){font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.92em;padding:.14rem .34rem;border-radius:.42rem;border:1px solid color-mix(in srgb,var(--blog-border) 65%,transparent);background:var(--blog-inline-code-bg);color:var(--blog-inline-code-text)}.content .katex-display{margin:1.35rem 0;overflow-x:auto;overflow-y:hidden;padding:.2rem 0}.content .katex{max-width:100%}.content table{width:100%;margin:1.2rem 0;border-collapse:collapse;border:1px solid var(--blog-border);border-radius:calc(var(--blog-radius) * .72);overflow:hidden}.content thead th{background:transparent}.content th,.content td{padding:.5rem .65rem;text-align:left;vertical-align:top;border-right:1px solid var(--blog-border);border-bottom:1px solid var(--blog-border)}.content th:last-child,.content td:last-child{border-right:0}.content tbody tr:last-child td{border-bottom:0}.template-chip{display:inline-block;margin-left:.5rem;padding:.2rem .5rem;border-radius:999px;border:1px solid var(--blog-border);color:var(--blog-muted);font-size:.72rem;letter-spacing:.05em;text-transform:uppercase}body.template-air .content{backdrop-filter:blur(4px)}body.template-astrowind .post-shell{max-width:1080px}body.template-astrowind h1{font-size:clamp(2.2rem,4.8vw,3.6rem)}body.template-astrowind .content{max-width:860px;border-top:4px solid var(--blog-link);background:linear-gradient(180deg,#fffffffa,#f8fcfff0)}body.template-astrowind .content blockquote{border-left-color:var(--blog-link)}body.template-bookworm .content{border-radius:calc(var(--blog-radius) * 1.2)}body.template-bookworm .content p,body.template-bookworm .content li{font-size:1.08rem}body.template-cactus .post-shell{max-width:800px}body.template-cactus h1{font-size:clamp(2rem,4.2vw,3rem)}body.template-cactus .content{box-shadow:none;border-left:4px solid var(--blog-link);background:#fffffff5}body.template-cactus .content blockquote{border-left-color:var(--blog-link)}body.template-paper .post-shell{max-width:760px}body.template-paper h1{font-size:clamp(1.9rem,4vw,2.55rem)}body.template-paper .content{border-radius:0;box-shadow:none;border-left:4px solid var(--blog-border)}@media print{@page{size:auto;margin:22mm 16mm 24mm 22mm}:root{color-scheme:light}body{background:#fff!important;background-image:none!important;color:#111827;font-family:Iowan Old Style,Palatino Linotype,Book Antiqua,Palatino,Georgia,serif;font-size:10.2pt;line-height:1.46;-webkit-print-color-adjust:exact;print-color-adjust:exact}.post-shell{max-width:124mm!important;margin:0 auto;padding:3mm 1mm 5mm 2mm}.top-links{display:none!important}.top-links a,.template-chip{display:none}.top-links a:first-child{display:inline;color:#4b5563;text-decoration:none;letter-spacing:.06em;text-transform:uppercase}.top-links a:first-child:before{content:"By ";letter-spacing:.08em}h1{margin:0 0 .12rem;color:#111827;font-family:var(--blog-font-title);text-align:center;font-size:14.4pt;line-height:1;letter-spacing:-.02em;break-after:avoid-page}.meta{margin-bottom:.22rem;color:#4b5563;text-align:center;font-size:8.2pt}.meta-badges{gap:.22rem;justify-content:center;margin-bottom:.4rem;break-inside:avoid;page-break-inside:avoid}.meta-chip{color:#374151;background:transparent;border-color:#cbd5e1;font-size:8pt;padding:.05rem .28rem}.cover-image,.content blockquote,.content blockquote.blog-callout,.content img,.content pre,.content table,.content .katex-display{break-inside:avoid;page-break-inside:avoid}.meta-badges,.cover-image{display:none}.content{max-width:none;padding:0 0 3mm;border:0;border-top:.6px solid #d1d5db;border-radius:0;box-shadow:none;background:transparent!important;line-height:1.38}.content h2,.content h3,.content h4{color:#111827;break-after:avoid-page;margin-top:.54rem;margin-bottom:.1rem;line-height:1.06;letter-spacing:-.02em}.content h2{font-size:1.08rem}.content h3{font-size:.98rem}.content h4{font-size:.9rem}.content p,.content li{orphans:3;widows:3;hyphens:auto}.content a{color:inherit;text-decoration-color:#9ca3af}.content p{margin:.14rem 0;text-align:justify}.content p+p{text-indent:1.35em}.content p:first-of-type{margin-top:.24rem}.content ul,.content ol{margin:.2rem 0 .32rem;padding-left:1rem}.content li+li{margin-top:.04rem}.content blockquote,.content blockquote.blog-callout{margin:.34rem 0;padding:.28rem .42rem;border-width:1px;border-left-width:3px;background:transparent}.content pre{margin:.32rem 0;padding:.38rem .46rem;border-color:#d1d5db;background:#f8fafc!important;box-shadow:none;font-size:8pt;line-height:1.22}.content code:not(pre code){border-color:#d1d5db;background:#f3f4f6;color:inherit}.content table{font-size:8.3pt}.content th,.content td{padding:.12rem .22rem}.content hr{margin:.26rem 0}.content .katex-display{margin:.3rem 0}}@media print and (orientation:portrait){@page{margin:22mm 10mm 24mm 12mm}.post-shell{max-width:160mm!important;padding-left:0;padding-right:0}}@media print and (orientation:landscape){@page{margin:2mm 8mm 2mm 12mm}html,body{margin:0!important;padding:0!important}.post-shell{max-width:236mm!important;margin-top:0!important;padding:0 0 .5mm}h1{margin-top:0!important;margin-bottom:.08rem}.meta{margin-bottom:.14rem}.content{padding-bottom:1mm}}@media(max-width:720px){.post-shell{padding-top:1.75rem}}.content blockquote.blog-callout{--callout-accent: var(--blog-link);--callout-label: var(--blog-link);--callout-bg: rgba(37, 99, 235, .08);margin:1.25rem 0;padding:.95rem 1rem;border-radius:calc(var(--blog-radius) * .9);border-left:4px solid var(--callout-accent);background:var(--callout-bg)}.content blockquote.blog-callout p{margin:.45rem 0 0}.content blockquote.blog-callout p:first-child{margin-top:0}.content blockquote.blog-callout .blog-callout-label{margin:0;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--callout-label)}.content blockquote.blog-callout-note{--callout-accent: #2563eb;--callout-label: #1d4ed8;--callout-bg: rgba(37, 99, 235, .09)}.content blockquote.blog-callout-tip{--callout-accent: #16a34a;--callout-label: #15803d;--callout-bg: rgba(34, 197, 94, .1)}.content blockquote.blog-callout-important{--callout-accent: #7c3aed;--callout-label: #6d28d9;--callout-bg: rgba(124, 58, 237, .1)}.content blockquote.blog-callout-caution{--callout-accent: #d97706;--callout-label: #b45309;--callout-bg: rgba(217, 119, 6, .12)}.content blockquote.blog-callout-warning{--callout-accent: #dc2626;--callout-label: #b91c1c;--callout-bg: rgba(220, 38, 38, .11)}
