:root{--indigo: #6366f1;--indigo-light: #818cf8;--indigo-glow: rgba(99, 102, 241, .15);--teal: #2dd4bf;--teal-glow: rgba(45, 212, 191, .12);--orange: #f97316;--bg: #0a0a0f;--surface: #12121a;--surface-2: #1a1a26;--border: #2a2a3a;--border-strong: #3a3a4a;--text: #e8e8f0;--text-dim: #8888a0;--text-tertiary: #6e6e85;--accent: var(--indigo);--accent-secondary: var(--teal);--code-bg: #0d0d14;--code-border: var(--border);--code-text: #e8e8f0;--code-keyword: var(--indigo-light);--code-string: var(--teal);--code-number: var(--orange);--code-comment: #5a5a72;--code-function: var(--indigo-light);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif: "Source Serif 4", Charter, Cambria, Georgia, serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--measure: 720px;--measure-wide: 920px}[data-theme=light]{--bg: #FAFAF7;--surface: #FFFFFF;--surface-2: #F5F4EE;--border: #E5E2DA;--border-strong: #B4B2A9;--text: #1a1a26;--text-dim: #5F5E5A;--text-tertiary: #888780}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}html{font-size:17px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);line-height:1.7}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:500;line-height:1.2;letter-spacing:-.015em;color:var(--text);margin:0 0 .6em}h1{font-size:clamp(2rem,4vw,2.6rem)}h2{font-size:1.55rem;margin-top:2.5em}h3{font-size:1.2rem;margin-top:2em}h4{font-size:1.05rem}p,ul,ol,blockquote,pre,table{margin:0 0 1.1em}a{color:var(--accent-secondary);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:.5px}a:hover{text-decoration-thickness:1px;color:var(--accent)}em{font-style:italic}strong{font-weight:500;color:var(--text)}ul,ol{padding-left:1.4em}li{margin-bottom:.3em}blockquote{border-left:2px solid var(--accent);padding:.2em 0 .2em 1.2em;color:var(--text-dim);font-style:italic}hr{border:0;border-top:.5px solid var(--border);margin:2.5em 0}code{font-family:var(--font-mono);font-size:.875em;background:#6366f11f;color:var(--text);padding:.12em .4em;border-radius:var(--radius-sm)}pre{background:var(--code-bg)!important;border:.5px solid var(--code-border);border-radius:var(--radius-md);padding:1.1rem 1.3rem;overflow-x:auto;font-size:13px;line-height:1.7}pre code{background:transparent;color:var(--code-text);padding:0;font-size:13px}table{width:100%;border-collapse:collapse;font-size:.92rem}th,td{text-align:left;padding:.6em .8em;border-bottom:.5px solid var(--border)}th{font-weight:500;color:var(--text-dim);font-size:.85em}.shell{max-width:1200px;margin:0 auto;padding:0 2rem}.prose{max-width:var(--measure);margin:0 auto}.prose-wide{max-width:var(--measure-wide);margin:0 auto}.eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--accent);margin-bottom:1.2rem}.topnav{position:sticky;top:0;z-index:50;background:#0a0a0fd9;backdrop-filter:blur(20px);border-bottom:1px solid var(--border)}.topnav-inner{max-width:1200px;margin:0 auto;padding:14px 2rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.topnav-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);font-size:14px;font-weight:500}.topnav-brand:hover{text-decoration:none}.topnav-mark{width:26px;height:26px;background:linear-gradient(135deg,var(--indigo),var(--teal));border-radius:6px;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--font-serif);font-weight:500;font-size:14px}.topnav-mark.os-mark{background:var(--indigo)}.topnav-product{font-family:var(--font-mono);font-size:11px;color:var(--text-tertiary);letter-spacing:.04em;padding-left:.6rem;border-left:1px solid var(--border)}.topnav-links{display:flex;gap:1.6rem;font-size:13.5px}.topnav-links a{color:var(--text-dim);text-decoration:none;font-weight:500}.topnav-links a:hover,.topnav-links a[aria-current=page]{color:var(--text)}.topnav-right{display:flex;align-items:center;gap:14px}.topnav-by{font-family:var(--font-mono);font-size:11px;color:var(--text-tertiary);letter-spacing:.02em}.topnav-by a{color:var(--accent);text-decoration:none}.topnav-by a:hover{text-decoration:underline}.sitefoot{border-top:1px solid var(--border);margin-top:6rem;padding:2.5rem 0;font-size:13px;color:var(--text-dim)}.sitefoot-inner{max-width:1200px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem}.sitefoot h5{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--text-tertiary);margin:0 0 .6rem;text-transform:uppercase;font-weight:500}.sitefoot a{color:var(--text-dim);text-decoration:none;display:block;margin-bottom:.3rem}.sitefoot a:hover{color:var(--text)}.sitefoot-brand{font-family:var(--font-serif);font-weight:500;color:var(--text);font-size:16px;margin-bottom:.4rem}.sitefoot-bottom{max-width:1200px;margin:1.6rem auto 0;padding:1.2rem 2rem 0;border-top:1px solid var(--border);display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem;font-family:var(--font-mono);font-size:11px;color:var(--text-tertiary)}.hero{padding:5rem 0 1.5rem;position:relative}.hero:before{content:"";position:absolute;top:-10%;left:-10%;width:50%;height:100%;background:radial-gradient(ellipse,var(--indigo-glow) 0%,transparent 70%);pointer-events:none;z-index:-1}.hero:after{content:"";position:absolute;top:-5%;right:-5%;width:40%;height:80%;background:radial-gradient(ellipse,var(--teal-glow) 0%,transparent 70%);pointer-events:none;z-index:-1}.hero h1{font-size:clamp(2.2rem,5vw,3rem);max-width:22ch;margin-bottom:1.2rem}.hero h1 em{font-style:italic;color:var(--accent)}.hero-abstract{font-size:1.05rem;line-height:1.75;max-width:var(--measure);color:var(--text-dim)}.hero-abstract .abstract-label{font-variant:small-caps;letter-spacing:.06em;font-size:.85em;color:var(--text-tertiary)}.cta-row{display:flex;flex-wrap:wrap;gap:1.4rem;align-items:center;margin-top:2rem}.cta-row a{color:var(--text);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:.5px}.cta-row a.primary{color:var(--accent);text-decoration-thickness:1px}.cta-row .sep{color:var(--border-strong)}.home-section{padding:3.5rem 0;border-top:1px solid var(--border)}.audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-top:1.6rem}.audience-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.8rem 1.8rem 1.5rem;text-decoration:none;color:var(--text);transition:border-color .2s,transform .2s;display:flex;flex-direction:column;gap:.7rem}.audience-card:hover{transform:translateY(-2px)}.audience-card.build:hover{border-color:var(--accent)}.audience-card.run:hover{border-color:var(--accent-secondary)}.audience-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--text-tertiary)}.audience-card.build .audience-eyebrow{color:var(--accent)}.audience-card.run .audience-eyebrow{color:var(--accent-secondary)}.audience-name{font-family:var(--font-serif);font-size:1.4rem;font-weight:500;letter-spacing:-.01em}.audience-tagline{color:var(--text-dim);font-size:.95rem}.audience-links{margin-top:.5rem;display:flex;flex-direction:column;gap:.3rem}.audience-links a{font-family:var(--font-mono);font-size:12.5px;color:var(--text-dim);text-decoration:none}.audience-links a:hover{color:var(--text)}.concept-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem 1.6rem;margin-top:1.6rem}.concept-card{padding:.4rem 0 .4rem 1.1rem;border-left:2px solid var(--accent)}.concept-card.alt{border-left-color:var(--accent-secondary)}.concept-card h4{font-family:var(--font-mono);font-size:13px;font-weight:500;margin:0 0 .4rem;color:var(--text)}.concept-card p{font-size:.92rem;color:var(--text-dim);line-height:1.6;margin:0}.doc-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:3rem;padding:2.5rem 0 4rem;max-width:1200px;margin:0 auto}.doc-layout>main{min-width:0}.docnav{font-family:var(--font-sans);font-size:13px;position:sticky;top:70px;align-self:start;max-height:calc(100vh - 80px);overflow-y:auto;padding-right:.6rem}.docnav h5{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--text-tertiary);margin:1.2rem 0 .5rem;text-transform:uppercase;font-weight:500}.docnav h5:first-child{margin-top:0}.docnav ul{list-style:none;padding:0;margin:0}.docnav li{margin:0}.docnav a{display:block;color:var(--text-dim);text-decoration:none;border-left:2px solid transparent;padding:4px 0 4px 10px;margin-left:-10px}.docnav a:hover{color:var(--text)}.docnav a[aria-current=page]{color:var(--accent);border-left-color:var(--accent)}@media(max-width:900px){.doc-layout{grid-template-columns:1fr;gap:1.5rem;padding:1.5rem 0 3rem}.docnav{position:static;max-height:none}.topnav-links{display:none}.audience-grid,.sitefoot-inner{grid-template-columns:1fr}}.docbody{max-width:var(--measure)}.docbody.wide{max-width:var(--measure-wide)}.docbody h1:first-child{margin-top:0}.docbody p{font-size:1rem;line-height:1.75}.docbody pre{max-width:100%}.s-code .meta{color:var(--indigo-light)}.s-code .type{color:var(--teal)}.s-code .data{color:var(--orange)}.s-code .vibe-marker{color:var(--code-comment)}.s-code .task{color:var(--indigo-light)}.s-code .path{color:var(--teal)}.code-figure{margin:2rem 0}.code-filename{font-family:var(--font-mono);font-size:11px;color:var(--text-tertiary);background:var(--surface-2);border:.5px solid var(--code-border);border-bottom:none;padding:7px 14px;border-radius:var(--radius-md) var(--radius-md) 0 0;letter-spacing:.04em}.code-filename+pre{border-top-left-radius:0;border-top-right-radius:0}.code-figure figcaption{font-family:var(--font-sans);font-size:13px;color:var(--text-dim);margin-top:.6rem;text-align:center;font-style:italic}.doc-prevnext{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:4rem;padding-top:1.5rem;border-top:1px solid var(--border)}.doc-prevnext a{display:block;text-decoration:none;color:var(--text);font-family:var(--font-serif);font-size:1.05rem}.doc-prevnext a:hover{color:var(--accent)}.doc-prevnext a div{margin-top:4px}.muted{color:var(--text-dim)}.serif{font-family:var(--font-serif)}.sans{font-family:var(--font-sans)}.mono{font-family:var(--font-mono)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
