.prose{font-size:1rem;line-height:1.95;color:var(--ink);overflow-wrap:anywhere}.prose h1,.prose h2,.prose h3,.prose h4{margin-top:44px;margin-bottom:14px;position:relative;line-height:1.5}.prose h1{font-size:1.6rem}.prose h2{font-size:1.3rem;padding:8px 16px;border-radius:12px;background:var(--bg-tint)}.prose h3{display:inline;font-size:1.12rem;background:linear-gradient(transparent 60%,var(--sky-soft) 60%)}.prose h3:after{content:"";display:block;margin-bottom:14px}.prose h4{font-size:1.02rem}.prose p{margin:var(--space-md) 0}.prose a{color:var(--accent);text-decoration:underline}.prose ul,.prose ol{margin:var(--space-md) 0;padding-left:1.6em}.prose ul{list-style:none}.prose ul li{position:relative;margin:var(--space-xs) 0}.prose ul li:before{content:"";position:absolute;left:-1.1em;top:.75em;width:8px;height:8px;border:1.5px solid var(--ink);border-radius:50%;background:var(--sky-soft)}.prose ol{list-style:decimal}.prose ol li{margin:var(--space-xs) 0}.prose ol li::marker{color:var(--ink);font-family:var(--font-mono);font-weight:700}.prose blockquote{margin:var(--space-lg) 0;padding:var(--space-md) 20px;border:2px solid var(--ink);border-radius:12px;background:var(--sky-soft);color:var(--ink)}.prose blockquote p{margin:0}.prose blockquote p+p{margin-top:var(--space-sm)}.prose :not(pre)>code{font-family:var(--font-mono);background:var(--bg-tint);border:1px solid var(--gray);color:var(--ink);padding:.12em .4em;border-radius:6px;font-size:.88em}.prose strong{color:var(--ink);font-weight:700;background:linear-gradient(transparent 70%,var(--sky-soft) 70%)}.prose hr{margin:var(--space-xl) 0;border:none;height:0;border-top:2px dashed var(--gray)}.prose table{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:var(--space-lg) 0;border-collapse:collapse;font-size:.92rem}.prose thead{background:var(--bg-tint)}.prose th,.prose td{padding:var(--space-sm) var(--space-md);border:1.5px solid var(--ink);text-align:left}.prose th{color:var(--ink);font-weight:700}.prose img{margin:var(--space-lg) auto;border:2px solid var(--ink);border-radius:12px}.prose .expressive-code{margin:var(--space-lg) 0}.prose .expressive-code .frame{border:2px solid var(--ink)!important;border-radius:12px!important;box-shadow:4px 4px 0 var(--ink)!important}.wrap[data-astro-cid-gjtny2mx]{max-width:calc(var(--max-width-prose) + 32px);margin:0 auto;padding:40px var(--space-md) var(--space-2xl)}.top[data-astro-cid-gjtny2mx]{margin-bottom:20px}.backLink[data-astro-cid-gjtny2mx]{display:inline-block;padding:6px 16px;border:2px solid var(--ink);border-radius:999px;box-shadow:3px 3px 0 var(--ink);background:#fff;color:var(--ink);font-size:.9rem;font-weight:700;text-decoration:none;transition:transform .15s,box-shadow .15s}.backLink[data-astro-cid-gjtny2mx]:hover{color:var(--ink);transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}.post[data-astro-cid-gjtny2mx]{padding:40px;border:2.5px solid var(--ink);border-radius:24px;box-shadow:6px 6px 0 var(--ink);background:#fff}.draftBanner[data-astro-cid-gjtny2mx]{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-lg);border:2px solid var(--ink);border-radius:12px;background:var(--sky-soft);color:var(--ink);font-size:.9rem;flex-wrap:wrap}.draftBadge[data-astro-cid-gjtny2mx]{padding:2px 10px;border:2px solid var(--ink);border-radius:999px;font-family:var(--font-mono);font-size:.7rem;font-weight:700;background:#fff;flex-shrink:0}.draftBanner[data-astro-cid-gjtny2mx] code[data-astro-cid-gjtny2mx]{font-family:var(--font-mono);background:#fff;padding:1px 6px;border-radius:4px;font-size:.85em}.head[data-astro-cid-gjtny2mx]{margin-bottom:var(--space-lg)}.meta[data-astro-cid-gjtny2mx]{display:flex;align-items:center;gap:12px;margin-bottom:var(--space-md);font-family:var(--font-mono);font-size:.82rem;color:var(--ink-soft)}.cat[data-astro-cid-gjtny2mx]{display:inline-block;padding:0 12px;border:2px solid var(--ink);border-radius:999px;font-family:var(--font-mono);font-size:.7rem;font-weight:700;letter-spacing:1px;color:var(--ink);background:var(--gray-soft);text-decoration:none}.cat[data-astro-cid-gjtny2mx]:hover{color:var(--ink)}.cat-dev[data-astro-cid-gjtny2mx]{background:var(--blue-soft)}.cat-infra[data-astro-cid-gjtny2mx]{background:var(--mint-soft)}.cat-ai[data-astro-cid-gjtny2mx]{background:var(--sky-soft)}.cat-biz[data-astro-cid-gjtny2mx]{background:var(--gray)}h1[data-astro-cid-gjtny2mx]{font-size:clamp(1.4rem,3.6vw,2rem);line-height:1.5;color:var(--ink)}.desc[data-astro-cid-gjtny2mx]{margin-top:var(--space-md);color:var(--ink-soft);font-size:1rem;line-height:1.7}.tags[data-astro-cid-gjtny2mx]{margin-top:var(--space-md);display:flex;flex-wrap:wrap;gap:6px}.tag[data-astro-cid-gjtny2mx]{font-family:var(--font-mono);font-size:.78rem;color:var(--ink);padding:0 10px;border:1.5px solid var(--ink);border-radius:999px;background:#fff;text-decoration:none}.tag[data-astro-cid-gjtny2mx]:hover{color:var(--ink);background:var(--sky-soft)}.cta[data-astro-cid-gjtny2mx]{margin-top:40px;padding:32px 24px;border:2.5px solid var(--ink);border-radius:24px;box-shadow:6px 6px 0 var(--ink);background:var(--accent);color:#fff;text-align:center}.cta[data-astro-cid-gjtny2mx] p[data-astro-cid-gjtny2mx]{margin-bottom:16px;font-weight:700}.bottom[data-astro-cid-gjtny2mx]{margin-top:36px;text-align:center}@media(max-width:600px){.wrap[data-astro-cid-gjtny2mx]{padding-top:24px}.post[data-astro-cid-gjtny2mx]{padding:24px 18px}}
