:root{color-scheme:light;--bg-page: #f3f4f6;--bg-shell: rgba(255, 255, 255, .86);--bg-panel: rgba(255, 255, 255, .94);--bg-panel-strong: #ffffff;--bg-soft: #eaecef;--bg-code: #0f1218;--bg-code-inline: rgba(0, 127, 204, .08);--text-strong: #111418;--text-body: #374151;--text-muted: #5b6370;--text-soft: #8a93a0;--brand: #007fcc;--brand-strong: #005a99;--brand-soft: rgba(0, 127, 204, .08);--line: rgba(17, 20, 24, .08);--line-strong: rgba(17, 20, 24, .14);--success: #28c76f;--warning: #ff9f43;--danger: #ea5455;--shadow-lg: 0 12px 28px rgba(17, 20, 24, .08);--shadow-md: 0 1px 2px rgba(17, 20, 24, .04), 0 6px 16px rgba(17, 20, 24, .06);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--link: #007fcc;--link-hover: #005a99;--font-sans: "Plus Jakarta Sans", "Segoe UI", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;--max-shell: 1500px;--max-copy: 760px}[data-theme=dark]{color-scheme:dark;--bg-page: #0b0e14;--bg-shell: rgba(27, 34, 45, .7);--bg-panel: rgba(15, 18, 24, .92);--bg-panel-strong: #0f1218;--bg-soft: rgba(27, 34, 45, .58);--bg-code: #0a1623;--bg-code-inline: rgba(0, 127, 204, .1);--text-strong: #ffffff;--text-body: #d2d9e1;--text-muted: #a0aab4;--text-soft: #677483;--brand: #007fcc;--brand-strong: #005a99;--brand-soft: rgba(0, 127, 204, .14);--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .14);--shadow-lg: 0 24px 60px rgba(0, 0, 0, .28);--shadow-md: 0 8px 24px rgba(0, 0, 0, .18);--link: #00aaff;--link-hover: #007fcc}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--text-body);font-family:var(--font-sans);background:var(--bg-page);transition:background-color .3s ease,color .3s ease}*,*:before,*:after{box-sizing:border-box}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}img{display:block;max-width:100%}code,pre{font-family:var(--font-mono)}.shell{width:min(calc(100% - 4rem),var(--max-shell));margin:0 auto}.surface{background:var(--bg-panel);border:1px solid var(--line);box-shadow:var(--shadow-md)}[data-theme=dark] .surface{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.eyebrow{display:inline-flex;align-items:center;gap:.5rem;margin:0 0 1rem;font-family:var(--font-mono);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brand)}.prose{color:var(--text-body);font-size:.9375rem;line-height:1.75}.prose>:first-child{margin-top:0}.prose h1,.prose h2,.prose h3,.prose h4{color:var(--text-strong);line-height:1.15;scroll-margin-top:7rem}.prose h1{margin:0 0 1rem;font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.04em}.prose h2{margin:3rem 0 1rem;font-size:clamp(1.2rem,2.5vw,1.5rem)}.prose h3{margin:2rem 0 .85rem;font-size:1.1rem}.prose h4{margin:1.5rem 0 .75rem;font-size:1rem}.prose p,.prose ul,.prose ol,.prose pre,.prose table,.prose blockquote{margin:0 0 1.2rem}.prose ul,.prose ol{padding-left:1.4rem}.prose li+li{margin-top:.45rem}.prose strong{color:var(--text-strong)}.prose a{color:var(--link);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--link) 35%,transparent);text-underline-offset:.18em}.prose a:hover{color:var(--link-hover)}.prose hr{margin:2.4rem 0;border:0;border-top:1px solid var(--line)}.prose blockquote{padding:1rem 1.2rem;border-left:3px solid var(--brand);background:var(--brand-soft);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.prose :not(pre)>code{padding:.18rem .45rem;border-radius:.45rem;background:var(--bg-code-inline);color:var(--text-strong);font-size:.9em}.prose pre{overflow-x:auto;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-code);color:#ddedff}.prose table{width:100%;border-collapse:collapse;border-spacing:0;font-size:.95rem}.prose th,.prose td{padding:.85rem .9rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.prose th{color:var(--text-strong);font-weight:700}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@media(max-width:860px){.shell{width:min(calc(100% - 1rem),var(--max-shell))}}.prose :not(.shiki)>code{font-size:.875em}.prose .shiki{overflow-x:auto;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:var(--radius-md);font-size:.875rem;line-height:1.6;margin:0 0 1.2rem;background:var(--bg-code)!important}.prose .shiki code{background:none!important;padding:0;border-radius:0}
