.prose{font-family:var(--font-sans);color:var(--ink);font-size:16px;line-height:1.68}.prose>*+*{margin-top:0}.prose h2{font-family:var(--font-serif);letter-spacing:-.012em;text-wrap:balance;margin:48px 0 18px;font-size:1.72rem;font-weight:600;line-height:1.2}.prose h3{letter-spacing:.002em;margin:38px 0 10px;font-size:.95rem;font-weight:600}.prose p{margin:0 0 17px}.prose a{color:var(--accent);border-bottom:1px solid var(--accent-soft);text-decoration:none}.prose a:hover{border-bottom-color:var(--accent)}.prose strong{font-weight:600}.prose em{font-style:italic}.prose ul,.prose ol{margin:0 0 17px;padding-left:1.3em}.prose li+li{margin-top:6px}.prose :not(pre)>code{font-family:var(--font-mono);background:var(--sunk);border:1px solid var(--rule-soft);white-space:nowrap;border-radius:3px;padding:.1em .34em;font-size:.855em}.prose img{max-width:100%;height:auto}.prose pre.astro-code{border:1px solid var(--rule);font-family:var(--font-mono);tab-size:2;border-radius:10px;margin:0 0 22px;padding:18px 16px;font-size:12.5px;line-height:1.78;position:relative;overflow-x:auto}.prose pre.astro-code code{font-size:inherit;white-space:pre;background:0 0;border:none;padding:0}.prose pre[data-language]:before{content:attr(data-language);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);opacity:.75;margin-bottom:10px;font-size:10px;display:block}.prose pre.astro-code,.prose pre.astro-code span{color:var(--shiki-light);background-color:var(--shiki-light-bg)!important}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .prose pre.astro-code,:root:not([data-theme=light]) .prose pre.astro-code span{color:var(--shiki-dark);background-color:var(--shiki-dark-bg)!important}}:root[data-theme=dark] .prose pre.astro-code,:root[data-theme=dark] .prose pre.astro-code span{color:var(--shiki-dark);background-color:var(--shiki-dark-bg)!important}.prose aside.note{background:var(--surface);border-radius:10px;margin:0 0 22px;padding:20px 20px 18px;box-shadow:0 8px 24px -12px #00000059,0 2px 6px -2px #0000002e}.prose aside.note p{color:var(--ink);margin:0;font-size:.92rem;line-height:1.62}.prose aside.note p+p{margin-top:10px}.prose aside.note .lbl{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:10px;font-size:10px;font-weight:500;display:block}.prose aside.note.warn .lbl{color:var(--defer)}.prose blockquote.pull-quote{background:var(--surface);border-radius:10px;align-items:flex-start;gap:14px;margin:0 0 22px;padding:20px 20px 18px;display:flex;box-shadow:0 8px 24px -12px #00000059,0 2px 6px -2px #0000002e}.prose blockquote.pull-quote:before{content:"“";font-family:var(--font-serif);color:var(--accent);flex:none;font-size:1.6rem;font-weight:600;line-height:1}.prose blockquote.pull-quote .quote-body p{font-family:var(--font-serif);color:var(--ink);margin:0;font-size:1.05rem;font-style:italic;line-height:1.55}.prose blockquote.pull-quote .quote-body p+p{margin-top:10px}.prose blockquote.pull-quote .quote-body p.cite{font-family:var(--font-sans);color:var(--muted);margin-top:12px;font-size:12.5px;font-style:normal;font-weight:500}.prose .tablewrap{border:1px solid var(--rule);background:var(--surface);border-radius:10px;margin:0 0 22px;overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-size:.885rem}.prose th{text-align:left;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--sunk);border-bottom:1px solid var(--rule);white-space:nowrap;padding:11px 16px;font-size:10.5px;font-weight:500}.prose td{border-bottom:1px solid var(--rule-soft);vertical-align:top;padding:12px 16px;line-height:1.55}.prose tr:last-child td{border-bottom:none}.prose td.mono,.prose th.mono{font-family:var(--font-mono);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px}.prose figure{margin:0 0 22px}.prose img{border-radius:10px;width:100%;display:block;box-shadow:0 8px 24px -12px #00000059,0 2px 6px -2px #0000002e}.prose figcaption{font-family:var(--font-mono);color:var(--muted);text-align:center;margin-top:10px;font-size:10px}.prose svg[id^=mermaid],.prose .excalidraw-figure svg{max-width:100%;height:auto;margin:0 auto;display:block}.prose .diagram-figure,.prose .excalidraw-figure{text-align:center;margin:0 0 22px}.prose .diagram-card{background:var(--surface);border:1px solid var(--rule);border-radius:10px;padding:28px 24px;box-shadow:0 8px 24px -12px #00000059,0 2px 6px -2px #0000002e}.prose .diagram-card pre.mermaid{font-family:var(--font-mono);color:var(--muted);text-align:left;white-space:pre-wrap;margin:0;font-size:12px;line-height:1.6}.prose .excalidraw-card{color:var(--ink);background:var(--surface);border:1px solid var(--rule);border-radius:10px;padding:28px 24px;box-shadow:0 8px 24px -12px #00000059,0 2px 6px -2px #0000002e}.prose .diagram-figure figcaption{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:center;margin-top:10px;font-size:10px}.prose .excalidraw-figure figcaption{font-family:var(--font-mono);color:var(--muted);text-align:center;margin-top:10px;font-size:10px}.prose .plot-figure{text-align:center;margin:0 0 22px}.prose .plot-card{background:var(--surface);border:1px solid var(--rule);border-radius:10px;padding:20px 20px 12px;position:relative;box-shadow:0 8px 24px -12px #00000059,0 2px 6px -2px #0000002e}.prose .plot-card svg{width:100%;height:auto;display:block}.prose .plot-grid line{stroke:var(--rule-soft);stroke-width:1px}.prose .plot-grid text,.prose .plot-axis text{font-family:var(--font-mono);fill:var(--muted);font-size:9px}.prose .plot-area{fill:var(--accent);opacity:.12}.prose .plot-line{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.prose .plot-dot{fill:var(--surface);stroke:var(--accent);stroke-width:2px}.prose .plot-bar{fill:var(--accent);transition:opacity .1s}.prose .plot-bar.is-active{opacity:.75}.prose .plot-hit{cursor:crosshair}.prose .plot-crosshair{stroke:var(--rule);stroke-width:1px;opacity:0}.prose .plot-crosshair.is-active{opacity:1}.prose .plot-dot{transition:r .1s}.prose .plot-dot.is-active{r:5}.prose .plot-tooltip{pointer-events:none;background:var(--ink);color:var(--paper);font-family:var(--font-mono);white-space:nowrap;z-index:5;border-radius:5px;padding:4px 8px;font-size:10.5px;position:absolute;transform:translate(-50%,calc(-100% - 10px))}.prose .plot-figure figcaption{font-family:var(--font-mono);color:var(--muted);text-align:center;margin-top:10px;font-size:10px}.prose .embed-frame{border-radius:10px;margin:0 0 22px;overflow:hidden;box-shadow:0 8px 24px -12px #00000059,0 2px 6px -2px #0000002e}.prose .katex-display{margin:22px 0;overflow:auto hidden}
