.callout[data-astro-cid-lnlu5god]{--c:var(--accent);border:1px solid color-mix(in srgb, var(--c) 45%, transparent);background:color-mix(in srgb, var(--c) 9%, transparent);border-radius:12px;grid-template-columns:auto 1fr;gap:1rem;margin:2rem 0;padding:1.1rem 1.2rem;display:grid}.callout--tip[data-astro-cid-lnlu5god]{--c:#22c55e}.callout--warning[data-astro-cid-lnlu5god]{--c:#f59e0b}.callout--danger[data-astro-cid-lnlu5god]{--c:var(--danger)}.callout-icon[data-astro-cid-lnlu5god]{background:var(--c);color:#fff;border-radius:7px;place-items:center;width:1.7rem;height:1.7rem;font-size:.85rem;font-weight:700;display:grid}.callout-title[data-astro-cid-lnlu5god]{font-weight:650;margin:.15rem 0 .35rem!important}.callout-content[data-astro-cid-lnlu5god] p{margin:0!important}.callout-content[data-astro-cid-lnlu5god] p+p{margin-top:.6rem!important}.progress[data-astro-cid-izs4ysrm]{z-index:150;pointer-events:none;height:3px;position:fixed;inset:0 0 auto}.progress[data-astro-cid-izs4ysrm] span[data-astro-cid-izs4ysrm]{background:var(--accent);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.post-head[data-astro-cid-izs4ysrm]{padding:clamp(8rem,16vw,12rem) 0 clamp(3rem,6vw,5rem);overflow:hidden}.post-head[data-astro-cid-izs4ysrm]:after{content:"";pointer-events:none;background:radial-gradient(40% 70% at 90% 100%,#9b5cff47,#0000 70%);position:absolute;inset:0}.post-head[data-astro-cid-izs4ysrm].has-cover{align-content:end;min-height:min(86svh,820px);display:grid}.post-cover[data-astro-cid-izs4ysrm]{position:absolute;inset:0;overflow:hidden}.post-cover[data-astro-cid-izs4ysrm] img[data-astro-cid-izs4ysrm]{object-fit:cover;filter:saturate(.9);width:100%;height:100%}.post-cover[data-astro-cid-izs4ysrm]:after{content:"";background:linear-gradient(90deg, #0e0b14f0 0%, #0e0b14d1 38%, #0e0b1459 75%, #0e0b1433 100%), linear-gradient(0deg, var(--ink) 0%, #0e0b1400 45%), linear-gradient(180deg, #0e0b14b3 0%, #0e0b1400 22%), #9b5cff14;position:absolute;inset:0}.post-head[data-astro-cid-izs4ysrm].has-cover:after{display:none}.post-head[data-astro-cid-izs4ysrm].has-cover .post-title[data-astro-cid-izs4ysrm]{text-shadow:0 2px 30px #00000073}.post-head[data-astro-cid-izs4ysrm].has-cover .post-desc[data-astro-cid-izs4ysrm],.post-head[data-astro-cid-izs4ysrm].has-cover .post-meta[data-astro-cid-izs4ysrm]{color:#d6d0e0}@media (width<=760px){.post-cover[data-astro-cid-izs4ysrm]:after{background:linear-gradient(0deg, var(--ink) 5%, #0e0b14bf 60%, #0e0b148c 100%)}}.post-head-inner[data-astro-cid-izs4ysrm]{z-index:1;gap:1.3rem;max-width:1100px;display:grid;position:relative}.back[data-astro-cid-izs4ysrm]{text-transform:uppercase;letter-spacing:.05em;color:var(--muted-dark);gap:.5rem;width:fit-content;font-size:.75rem;display:inline-flex}.back[data-astro-cid-izs4ysrm]:hover{color:var(--accent)}.post-chips[data-astro-cid-izs4ysrm]{flex-wrap:wrap;gap:.4rem;display:flex}.post-title[data-astro-cid-izs4ysrm]{letter-spacing:-.04em;max-width:22ch;margin:0;font-size:clamp(2.3rem,5.6vw,5rem);font-weight:750;line-height:.98}.post-desc[data-astro-cid-izs4ysrm]{max-width:60ch;color:var(--muted-dark);margin:0;font-size:clamp(1.05rem,1.5vw,1.25rem)}.post-meta[data-astro-cid-izs4ysrm]{text-transform:uppercase;letter-spacing:.05em;color:var(--muted-dark);flex-wrap:wrap;gap:.4rem 1.5rem;font-size:.72rem;display:flex}.muted[data-astro-cid-izs4ysrm]{opacity:.7}.post-body[data-astro-cid-izs4ysrm]{padding:clamp(3rem,6vw,5rem) 0 clamp(4rem,8vw,6rem)}.post-grid[data-astro-cid-izs4ysrm]{grid-template-columns:minmax(180px,260px) minmax(0,720px);justify-content:center;gap:clamp(2rem,5vw,5rem);display:grid}.toc-wrap[data-astro-cid-izs4ysrm]{position:relative}.toc[data-astro-cid-izs4ysrm]{flex-direction:column;max-height:calc(100svh - 8rem);display:flex;position:sticky;top:6rem}.toc[data-astro-cid-izs4ysrm] ol[data-astro-cid-izs4ysrm]{border-left:1px solid var(--line);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;align-content:start;gap:.5rem;min-height:0;margin:1rem 0 0;padding:.4rem .4rem .4rem .9rem;font-size:.85rem;list-style:none;display:grid;position:relative;overflow-y:auto;mask-image:linear-gradient(#0000 0,#000 .9rem calc(100% - 1.6rem),#0000 100%)}.toc[data-astro-cid-izs4ysrm] a[data-astro-cid-izs4ysrm]{color:var(--muted);transition:color .3s;display:block;position:relative}.toc[data-astro-cid-izs4ysrm] a[data-astro-cid-izs4ysrm]:before{content:"";background:var(--accent);width:2px;transition:transform .4s var(--ease-out);position:absolute;top:0;bottom:0;left:calc(-.9rem - 1px);transform:scaleY(0)}.toc[data-astro-cid-izs4ysrm] a[data-astro-cid-izs4ysrm]:hover,.toc[data-astro-cid-izs4ysrm] a[data-astro-cid-izs4ysrm].is-active{color:var(--ink)}.toc[data-astro-cid-izs4ysrm] a[data-astro-cid-izs4ysrm].is-active:before{transform:scaleY(1)}.toc-d3[data-astro-cid-izs4ysrm]{margin-top:-.15rem;padding-left:.8rem;font-size:.78rem}.post-tags[data-astro-cid-izs4ysrm]{border-top:1px solid var(--line);margin-top:3rem;padding-top:1.5rem}.post-tags[data-astro-cid-izs4ysrm] ul[data-astro-cid-izs4ysrm]{flex-wrap:wrap;gap:.4rem;margin:.8rem 0 0;padding:0;list-style:none;display:flex}.post-tags[data-astro-cid-izs4ysrm] .chip[data-astro-cid-izs4ysrm]:hover{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.post-nav[data-astro-cid-izs4ysrm]{grid-template-columns:1fr 1fr;gap:1rem;max-width:calc(980px + 5rem);margin-top:clamp(3rem,6vw,5rem);display:grid}.pn[data-astro-cid-izs4ysrm]{border:1px solid var(--line);border-radius:var(--radius);gap:.6rem;padding:1.4rem;transition:background-color .4s,color .4s,border-color .4s;display:grid}.pn--next[data-astro-cid-izs4ysrm]{text-align:right;justify-items:end}.pn[data-astro-cid-izs4ysrm]:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.pn-title[data-astro-cid-izs4ysrm]{font-size:1.1rem;font-weight:650}@media (width<=900px){.post-grid[data-astro-cid-izs4ysrm]{grid-template-columns:1fr}.toc-wrap[data-astro-cid-izs4ysrm]{display:none}.post-nav[data-astro-cid-izs4ysrm]{grid-template-columns:1fr}}.prose[data-astro-cid-izs4ysrm]{color:var(--fg-soft);font-size:1.075rem;line-height:1.75}.prose[data-astro-cid-izs4ysrm]>h1:first-child{display:none}.prose[data-astro-cid-izs4ysrm] h1{letter-spacing:-.03em;margin:3rem 0 1rem;font-size:clamp(1.8rem,3vw,2.4rem)}.prose[data-astro-cid-izs4ysrm] h2,.prose[data-astro-cid-izs4ysrm] h3{letter-spacing:-.025em;color:var(--ink);scroll-margin-top:6rem;line-height:1.15}.prose[data-astro-cid-izs4ysrm] h2{margin:3.2rem 0 1rem;font-size:clamp(1.6rem,2.6vw,2.1rem);font-weight:750}.prose[data-astro-cid-izs4ysrm] h2:before{content:"#";color:var(--accent);font-family:var(--font-mono);margin-right:.35em;font-weight:500}.prose[data-astro-cid-izs4ysrm] h3{margin:2.4rem 0 .8rem;font-size:1.35rem;font-weight:700}.prose[data-astro-cid-izs4ysrm] p,.prose[data-astro-cid-izs4ysrm] ul,.prose[data-astro-cid-izs4ysrm] ol{margin:0 0 1.25rem}.prose[data-astro-cid-izs4ysrm] li{margin-bottom:.4rem}.prose[data-astro-cid-izs4ysrm] li::marker{color:var(--accent)}.prose[data-astro-cid-izs4ysrm] a{color:var(--accent-2);text-underline-offset:3px;text-decoration:underline 1px}.prose[data-astro-cid-izs4ysrm] a:hover{background:var(--accent);color:#fff;text-decoration:none}.prose[data-astro-cid-izs4ysrm] strong{color:var(--ink);font-weight:700}.prose[data-astro-cid-izs4ysrm] :not(pre)>code{font-family:var(--font-mono);color:var(--accent-2);background:#9b5cff1f;border-radius:5px;padding:.12em .4em;font-size:.86em}.prose[data-astro-cid-izs4ysrm] blockquote{border-left:3px solid var(--accent);font-family:var(--font-serif);color:var(--ink);margin:2rem 0;padding:.3rem 0 .3rem 1.4rem;font-size:1.4rem;line-height:1.35}.prose[data-astro-cid-izs4ysrm] img{border-radius:12px;margin:2rem 0}.prose[data-astro-cid-izs4ysrm] hr{background:var(--line);border:0;height:1px;margin:3rem 0}.prose[data-astro-cid-izs4ysrm] table{border-collapse:collapse;width:100%;margin:2rem 0;font-size:.92rem}.prose[data-astro-cid-izs4ysrm] th,.prose[data-astro-cid-izs4ysrm] td{text-align:left;border-bottom:1px solid var(--line);padding:.6rem .8rem}.prose[data-astro-cid-izs4ysrm] th{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.75rem}.prose[data-astro-cid-izs4ysrm] .expressive-code{margin:1.8rem 0}
