.markdown-layout,.markdown-body{--article-accent:#4f46e5;--article-accent-strong:#4338ca;--article-border:#0f172a1a;--article-ink:#0d1726;--article-muted:#5b6b7c;--article-paper:#f6f8fb;--article-grad:linear-gradient(100deg, #4f46e5 0%, #0891b2 55%, #059669 100%);--article-ease:cubic-bezier(.22, 1, .36, 1)}.markdown-layout{--article-content-width:70ch;--article-toc-width:15rem;--article-layout-gap:clamp(2rem, 4vw, 4rem);width:min(calc(100% - 112px), var(--article-content-width));gap:32px;margin-inline:auto;padding-block:56px;font-size:17px;display:grid}.markdown-body{min-width:0;color:var(--article-ink);overflow-wrap:break-word;text-rendering:optimizelegibility;font-size:17px;line-height:1.85}.markdown-footer{width:min(100% - 112px,70ch);margin-inline:auto;font-size:17px}.markdown-toc{min-width:0;color:var(--article-ink)}.markdown-toc__panel{border:1px solid var(--article-border);background:linear-gradient(#ffffffe6,#fff9);border-radius:18px;padding:22px;box-shadow:0 1px 2px #0f172a0a}.markdown-toc__eyebrow{color:var(--article-accent);font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:500}.markdown-toc__title{letter-spacing:-.02em;margin:0;font-size:16px;font-weight:600;line-height:1.4}.markdown-toc__list{scrollbar-width:thin;scrollbar-color:#4f46e559 transparent;gap:2px;max-height:18rem;margin:16px 0 0;padding:0 4px 0 0;list-style:none;display:grid;overflow-y:auto}.markdown-toc__item{margin:0}.markdown-toc__link{color:var(--article-muted);border-left:2px solid #0000;border-radius:0 10px 10px 0;padding:8px 10px;font-size:13px;line-height:1.5;text-decoration:none;transition:background .25s,color .25s,border-color .25s;display:block}.markdown-toc__link--h2{padding-left:20px}.markdown-toc__link:hover,.markdown-toc__link--active{color:var(--article-accent);border-left-color:var(--article-accent);background:#4f46e512}.markdown-toc__link:focus-visible,.markdown-body a:focus-visible{outline-offset:2px;outline:3px solid #06b6d4}.markdown-body>:first-child{margin-top:0}.markdown-body>:last-child{margin-bottom:0}.markdown-body>h1:first-child{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.markdown-body :is(h1,h2,h3,h4,h5,h6){color:var(--article-ink);letter-spacing:-.04em;text-wrap:balance;scroll-margin-top:6rem;font-weight:600;line-height:1.2}.markdown-body h1{margin-block:40px 20px;font-size:36px}.markdown-body h2{border-top:1px solid var(--article-border);margin-block:48px 20px;padding-top:24px;font-size:clamp(28px,3vw,38px)}.markdown-body h3{letter-spacing:-.03em;margin-block:32px 14px;font-size:24px}.markdown-body :is(h4,h5,h6){margin-block:24px 12px;font-size:19px}.markdown-body p{color:var(--article-muted);margin-block:0 22px}.markdown-body strong{color:var(--article-ink);font-weight:600}.markdown-body a{color:var(--article-accent);text-underline-offset:3px;text-decoration:underline 1px #4f46e559;transition:text-decoration-color .3s}.markdown-body a:hover{text-decoration-color:currentColor}.markdown-body :is(ul,ol){color:var(--article-muted);list-style:revert;margin-block:16px 24px;padding-left:1.5em}.markdown-body li+li{margin-top:8px}.markdown-body li::marker{color:var(--article-accent)}.markdown-body li>p{margin-block:8px}.markdown-body li :is(ul,ol){margin-block:8px 12px}.markdown-body blockquote{border-left:3px solid #0000;border-image:var(--article-grad) 1;background:var(--article-paper);color:var(--article-ink);border-radius:0 16px 16px 0;margin-block:28px;padding:20px 24px}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body blockquote p{color:var(--article-ink)}.markdown-body code{color:var(--article-ink);font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);background:#4f46e514;border-radius:6px;padding:2px 6px;font-size:.85em}.markdown-body pre{color:#e2e8f0;tab-size:2;background:#0b1220;border:1px solid #ffffff1a;border-radius:16px;max-width:100%;margin-block:28px;padding:20px 22px;line-height:1.65;overflow-x:auto;box-shadow:0 30px 60px -36px #0f172a99}.markdown-body pre code{color:inherit;overflow-wrap:normal;background:0 0;padding:0}.markdown-body img{border-radius:16px;max-width:100%;height:auto;margin-block:28px;display:block;box-shadow:0 30px 60px -36px #0f172a66}.markdown-body table{border:1px solid var(--article-border);border-collapse:collapse;border-spacing:0;background:#fff;border-radius:16px;width:100%;max-width:100%;margin-block:28px;font-size:14px;line-height:1.65;display:block;overflow-x:auto}.markdown-body :is(th,td){border-bottom:1px solid var(--article-border);text-align:left;vertical-align:top;min-width:9rem;padding:12px 16px}.markdown-body tbody tr:last-child :is(th,td){border-bottom:0}.markdown-body tbody tr{transition:background .25s}.markdown-body tbody tr:hover{background:#4f46e50a}.markdown-body th{background:var(--article-paper);color:var(--article-ink);font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:500}.markdown-body hr{background:linear-gradient(90deg, transparent, var(--article-border) 20% 80%, transparent);border:0;height:1px;margin-block:36px}.markdown-body :is(h2,h3):target{border-color:var(--article-accent)}@media (width>=1120px){.markdown-layout--with-toc{grid-template-columns:minmax(0, var(--article-toc-width)) minmax(0, var(--article-content-width));width:min(calc(100% - 112px), calc(var(--article-toc-width) + var(--article-layout-gap) + var(--article-content-width)));column-gap:var(--article-layout-gap)}.markdown-layout--with-toc .markdown-toc__panel{padding:24px;position:sticky;top:6rem}.markdown-layout--with-toc .markdown-toc__list{max-height:calc(100svh - 15rem)}.markdown-footer--with-toc{width:min(100% - 112px,15rem + clamp(2rem,4vw,4rem) + 70ch)}}@media (width<=1100px){.markdown-layout,.markdown-footer{width:min(100% - 72px,70ch)}}@media (width<=760px){.markdown-layout,.markdown-footer{width:calc(100% - 40px)}.markdown-layout{padding-block:32px}.markdown-body{font-size:16px;line-height:1.8}.markdown-body h2{margin-top:36px}.markdown-body h3{font-size:22px}.markdown-toc__panel{padding:18px}}@media (prefers-reduced-motion:reduce){.markdown-toc__link{transition:none}}
