@import"https://fonts.googleapis.com/css2?family=Inter+Tight:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--neutral-0: oklch(1 0 0);--neutral-50: oklch(.985 .002 280);--neutral-100: oklch(.965 .002 280);--neutral-150: oklch(.945 .003 280);--neutral-200: oklch(.91 .004 280);--neutral-300: oklch(.84 .005 280);--neutral-400: oklch(.715 .006 280);--neutral-500: oklch(.555 .006 280);--neutral-600: oklch(.42 .006 280);--neutral-700: oklch(.29 .005 280);--neutral-800: oklch(.2 .004 280);--neutral-900: oklch(.13 .003 280);--accent-100: oklch(.945 .04 145);--accent-300: oklch(.8 .11 145);--accent-500: oklch(.58 .15 145);--accent-600: oklch(.51 .14 145);--accent-700: oklch(.42 .12 145);--success: oklch(.56 .14 150);--warning: oklch(.575 .13 60);--danger: oklch(.555 .155 25);--info: oklch(.53 .14 255);--bg: var(--neutral-0);--surface-1: var(--neutral-0);--surface-2: var(--neutral-50);--surface-3: var(--neutral-100);--fg-1: var(--neutral-900);--fg-2: var(--neutral-600);--fg-3: var(--neutral-500);--fg-4: var(--neutral-400);--border: var(--neutral-200);--border-strong: var(--neutral-300);--link: var(--accent-500);--link-hover: var(--accent-600);--tip-bg: oklch(.945 .04 260);--tip-fg: oklch(.42 .15 260);--note-bg: oklch(.965 .002 280);--note-fg: oklch(.42 .006 280);--warn-bg: oklch(.95 .045 75);--warn-fg: oklch(.46 .13 60);--danger-bg: oklch(.945 .04 25);--danger-fg: oklch(.5 .155 25);--success-bg: oklch(.95 .045 150);--success-fg: oklch(.49 .135 150);--font-sans: "Inter Tight", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--fs-xs: 12px;--fs-sm: 14px;--fs-base: 16px;--fs-md: 18px;--fs-lg: 22px;--fs-xl: 28px;--fs-2xl: 36px;--fs-3xl: 44px;--fs-4xl: 56px;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--lh-tight: 1.15;--lh-snug: 1.3;--lh-normal: 1.5;--lh-relaxed: 1.65;--ls-tighter: -.03em;--ls-tight: -.02em;--ls-normal: 0em;--ls-wide: .02em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--space-9: 96px;--space-10: 128px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-full: 999px;--shadow-none: none;--shadow-sm: 0 1px 2px oklch(0 0 0 / .04);--shadow-md: 0 4px 12px oklch(0 0 0 / .06), 0 1px 3px oklch(0 0 0 / .04);--shadow-lg: 0 12px 32px oklch(0 0 0 / .1), 0 2px 6px oklch(0 0 0 / .05);--width-prose: 680px;--width-content: 1100px;--width-wide: 1280px;--ease-out: cubic-bezier(.2, 0, 0, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--dur-fast: .12s;--dur-base: .2s;--dur-slow: .32s}:root[data-theme=dark],:root.dark{--bg: oklch(.13 .003 280);--surface-1: oklch(.155 .004 280);--surface-2: oklch(.195 .005 280);--surface-3: oklch(.235 .005 280);--fg-1: oklch(.94 .002 280);--fg-2: oklch(.715 .005 280);--fg-3: oklch(.555 .006 280);--fg-4: oklch(.42 .006 280);--border: oklch(.235 .005 280);--border-strong: oklch(.29 .005 280);--accent-500: oklch(.7 .15 145);--accent-600: oklch(.64 .15 145);--link: var(--accent-500);--link-hover: var(--accent-300);--shadow-sm: 0 1px 2px oklch(0 0 0 / .3);--shadow-md: 0 4px 12px oklch(0 0 0 / .35), 0 1px 3px oklch(0 0 0 / .25);--shadow-lg: 0 12px 32px oklch(0 0 0 / .45), 0 2px 6px oklch(0 0 0 / .3);--tip-bg: oklch(.26 .06 260);--tip-fg: oklch(.8 .11 260);--note-bg: oklch(.235 .005 280);--note-fg: oklch(.715 .005 280);--warn-bg: oklch(.26 .06 60);--warn-fg: oklch(.8 .115 75);--danger-bg: oklch(.26 .06 25);--danger-fg: oklch(.76 .13 25);--success-bg: oklch(.26 .06 150);--success-fg: oklch(.78 .13 150)}html,body{background:var(--bg);color:var(--fg-1);font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-relaxed);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,.h1{font-size:var(--fs-3xl);line-height:var(--lh-tight);letter-spacing:var(--ls-tighter);font-weight:var(--fw-semibold);margin:0 0 var(--space-5)}h2,.h2{font-size:var(--fs-2xl);line-height:var(--lh-tight);letter-spacing:var(--ls-tight);font-weight:var(--fw-semibold);margin:var(--space-7) 0 var(--space-4)}h3,.h3{font-size:var(--fs-xl);line-height:var(--lh-snug);letter-spacing:var(--ls-tight);font-weight:var(--fw-semibold);margin:var(--space-6) 0 var(--space-3)}h4,.h4{font-size:var(--fs-lg);line-height:var(--lh-snug);font-weight:var(--fw-semibold);margin:var(--space-5) 0 var(--space-3)}p{margin:0 0 var(--space-4);color:var(--fg-1);text-wrap:pretty}small,.text-meta{font-size:var(--fs-sm);color:var(--fg-3)}a{color:var(--link);text-decoration:none;transition:color var(--dur-fast) var(--ease-out)}a:hover{color:var(--link-hover);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}code,.code-inline{font-family:var(--font-mono);font-size:.92em;background:var(--surface-3);padding:2px 6px;border-radius:var(--radius-sm);color:var(--fg-1)}pre{font-family:var(--font-mono);font-size:var(--fs-sm);line-height:var(--lh-normal);background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4);overflow-x:auto;margin:var(--space-5) 0}pre code{background:none;padding:0;font-size:inherit}hr{border:none;border-top:1px solid var(--border);margin:var(--space-7) 0}blockquote{border-left:2px solid var(--border-strong);padding-left:var(--space-4);margin:var(--space-5) 0;color:var(--fg-2)}::selection{background:var(--accent-100);color:var(--neutral-900)}:root.dark ::selection{background:var(--accent-700);color:var(--neutral-0)}:root{--ink: var(--fg-1);--muted: var(--fg-2);--line: var(--border);--surface: var(--surface-2);--surface-strong: var(--surface-3);--surface-raised: var(--surface-3);--card-bg: var(--surface-1);--card-border: var(--border);--accent: var(--accent-500);--accent-soft: oklch(.945 .04 145);--accent-border: oklch(.87 .06 145);--good: oklch(.56 .14 150);--good-soft: oklch(.95 .045 150);--good-border: oklch(.87 .06 150);--warn: oklch(.575 .13 60);--warn-soft: oklch(.95 .045 75);--warn-border: oklch(.87 .08 75);--danger: oklch(.555 .155 25);--danger-soft: oklch(.945 .04 25);--danger-border: oklch(.87 .07 25);--purple: oklch(.53 .14 285);--purple-soft: oklch(.945 .04 285);--code-bg: var(--surface-1);--code-header: var(--surface-3);--code-text: var(--fg-1);--sp-4: 4px;--sp-6: 6px;--sp-8: 8px;--sp-10: 10px;--sp-12: 12px;--sp-14: 14px;--sp-16: 16px;--sp-18: 18px;--sp-20: 20px;--sp-24: 24px;--sp-28: 28px;--sp-32: 32px;--sp-48: 48px;--radius-pill: var(--radius-full);--max-content: var(--width-content);--max-prose: var(--width-prose);--font-body: var(--font-sans)}:root[data-theme=dark],:root.dark{--ink: var(--fg-1);--muted: var(--fg-2);--line: var(--border);--surface: var(--surface-2);--surface-strong: var(--surface-3);--surface-raised: var(--surface-3);--card-bg: var(--surface-1);--card-border: var(--border);--accent: var(--accent-500);--accent-soft: oklch(.7 .15 145 / .14);--accent-border: oklch(.7 .15 145 / .32);--good: oklch(.76 .135 150);--good-soft: oklch(.76 .135 150 / .12);--good-border: oklch(.76 .135 150 / .3);--warn: oklch(.8 .125 75);--warn-soft: oklch(.8 .125 75 / .12);--warn-border: oklch(.8 .125 75 / .3);--danger: oklch(.7 .155 25);--danger-soft: oklch(.7 .155 25 / .12);--danger-border: oklch(.7 .155 25 / .3);--purple: oklch(.78 .11 285);--purple-soft: oklch(.78 .11 285 / .12);--code-bg: var(--surface-1);--code-header: var(--surface-2);--code-text: var(--fg-1)}*{scrollbar-width:thin;scrollbar-color:var(--line) transparent}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}*::-webkit-scrollbar-thumb:hover{background:var(--muted)}pre::-webkit-scrollbar-thumb,.table-wrap::-webkit-scrollbar-thumb,.diagram::-webkit-scrollbar-thumb{background:var(--surface-strong)}pre::-webkit-scrollbar-thumb:hover,.table-wrap::-webkit-scrollbar-thumb:hover,.diagram::-webkit-scrollbar-thumb:hover{background:var(--muted)}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none;scroll-behavior:smooth}body{line-height:1.6;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}body{font-family:var(--font-body);font-size:1rem;color:var(--ink);background-color:var(--bg);text-rendering:optimizeLegibility}a{color:var(--accent);text-decoration:none;text-decoration-thickness:1px;text-underline-offset:2px;transition:color var(--dur-fast) var(--ease-out)}a:hover{text-decoration:underline}::selection{background-color:var(--accent-soft);color:var(--ink)}main{max-width:var(--max-content);margin:0 auto;padding:var(--sp-24) var(--sp-24) var(--sp-48)}.site-header{position:sticky;top:0;z-index:100;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:color-mix(in srgb,var(--bg) 70%,transparent);border-bottom:1px solid var(--line)}.site-header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-24);max-width:var(--max-content);margin:0 auto;padding:var(--sp-14) var(--sp-24)}.site-header-left{display:flex;align-items:center;gap:var(--sp-32);min-height:22px}.site-header a{text-decoration:none}.site-brand{display:inline-flex;align-items:center;line-height:0;color:var(--ink)}.site-brand-logo{display:block;width:auto;height:24px}.site-brand-header .site-brand-logo{height:22px}.site-brand-header{min-height:22px}.site-brand-footer .site-brand-logo{height:15px}.site-brand:hover{text-decoration:none}.site-brand-logo-light,[data-theme=light] .site-brand-logo-dark{display:none}[data-theme=light] .site-brand-logo-light{display:block}.site-header-right{display:flex;align-items:center;gap:var(--sp-8)}.site-nav{display:flex;align-items:center;gap:var(--sp-20)}.site-nav a{display:inline-flex;align-items:center;min-height:22px;font-size:.8125rem;line-height:1;color:var(--muted);font-weight:400;transition:color var(--dur-fast) var(--ease-out)}.site-nav a:hover{color:var(--ink);text-decoration:none}.site-nav a.is-active{color:var(--ink);font-weight:500}.theme-toggle{background:none;border:1px solid var(--line);border-radius:var(--radius-sm);width:32px;height:32px;padding:0;cursor:pointer;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .15s,border-color .15s}.theme-toggle:hover{color:var(--ink);border-color:var(--muted)}.theme-toggle svg{width:15px;height:15px;display:block}.theme-toggle .icon-sun{display:block}.theme-toggle .icon-moon,[data-theme=light] .theme-toggle .icon-sun{display:none}[data-theme=light] .theme-toggle .icon-moon{display:block}.post-list{list-style:none;padding:0;margin:0}.post-list>li{list-style:none}.prose p{margin:0 0 var(--sp-14)}.prose>.lead,.prose>p:first-child{font-size:1.12rem;color:var(--muted);line-height:1.65;max-width:840px}.prose h2{font-size:1.625rem;font-weight:600;line-height:1.2;letter-spacing:-.02em;color:var(--ink);margin:var(--sp-48) 0 var(--sp-14)}.prose h2:first-child{margin-top:0}.prose h3{font-size:1.125rem;font-weight:600;line-height:1.3;letter-spacing:-.015em;color:var(--ink);margin:var(--sp-32) 0 var(--sp-10)}.prose h4{font-size:1rem;font-weight:600;line-height:1.3;color:var(--ink);margin:var(--sp-20) 0 var(--sp-8)}.prose a{text-decoration-color:var(--accent-border)}.prose a:hover{text-decoration-color:currentColor}.prose ul,.prose ol{margin:0 0 var(--sp-16);padding-left:var(--sp-20)}.prose li+li{margin-top:var(--sp-6)}.prose li::marker{color:var(--muted)}.prose blockquote{margin:var(--sp-18) 0;padding:var(--sp-14) var(--sp-18);background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:var(--radius-md);color:var(--ink);font-style:normal}.prose blockquote :global(p),.prose blockquote p{margin:0;color:var(--ink)}.prose blockquote p+p{margin-top:var(--sp-8)}.prose blockquote ol,.prose blockquote ul{margin:var(--sp-8) 0 0}.prose blockquote strong:first-child{display:inline-block;font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600;color:var(--accent);margin-bottom:4px}.prose blockquote em,.prose blockquote i{font-style:italic;color:var(--muted)}.prose :not(pre)>code{font-family:var(--font-mono);font-size:.88em;background:var(--surface-strong);padding:.12em .34em;border-radius:var(--radius-sm)}.prose pre{font-family:var(--font-mono);font-size:.85rem;line-height:1.55;background:var(--code-bg);color:var(--code-text);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--sp-16);margin:var(--sp-14) 0;max-width:100%;overflow-x:auto;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;-webkit-overflow-scrolling:touch}.prose pre code{background:none;padding:0;border-radius:0;font-size:inherit;color:inherit;white-space:inherit;overflow-wrap:inherit;word-break:inherit}.prose pre code span{white-space:inherit;overflow-wrap:inherit;word-break:inherit}[data-theme=dark] .astro-code,[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;text-decoration:var(--shiki-dark-text-decoration)!important}[data-theme=light] .astro-code,[data-theme=light] .astro-code span{color:var(--shiki-light)!important;background-color:var(--shiki-light-bg)!important;font-style:var(--shiki-light-font-style)!important;font-weight:var(--shiki-light-font-weight)!important;text-decoration:var(--shiki-light-text-decoration)!important}.cb-body .astro-code,.cb-body .astro-code span{background-color:transparent!important}.prose kbd{font-family:var(--font-mono);font-size:.85em;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.1em .4em;box-shadow:0 1px 0 var(--line)}.prose img{border-radius:var(--radius-md);margin:var(--sp-24) 0}.prose hr{border:none;border-top:1px solid var(--line);margin:var(--sp-48) 0}.prose>table{width:100%;border-collapse:collapse;font-size:.92rem;margin:var(--sp-18) 0}.prose th,.prose td{text-align:left;vertical-align:top;padding:var(--sp-8) var(--sp-12);border-bottom:1px solid var(--line);word-wrap:break-word;overflow-wrap:break-word}.prose th{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.prose .table-card table{margin:0}.diagram{text-align:center;margin:var(--sp-28) 0;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:var(--sp-4)}.diagram svg{display:inline-block;max-width:100%;height:auto}.overview-icon-node--accent .overview-icon-node__glyph{color:var(--accent);border-color:var(--accent-border);background:var(--accent-soft)}.overview-icon-node--good .overview-icon-node__glyph{color:var(--good);border-color:var(--good-border);background:var(--good-soft)}.overview-icon-node--danger .overview-icon-node__glyph{color:var(--danger);border-color:var(--danger-border);background:var(--danger-soft)}.overview-icon-node--warn .overview-icon-node__glyph{color:var(--warn);border-color:var(--warn-border);background:var(--warn-soft)}[data-theme=dark] .overview-icon-node--accent .overview-icon-node__glyph{border-color:var(--accent)}[data-theme=dark] .overview-icon-node--good .overview-icon-node__glyph{border-color:var(--good)}[data-theme=dark] .overview-icon-node--danger .overview-icon-node__glyph{border-color:var(--danger)}[data-theme=dark] .overview-icon-node--warn .overview-icon-node__glyph{border-color:var(--warn)}[data-theme=dark] .diagram-canvas{--diagram-grid-color: var(--border);--node-bg: var(--surface-1);--node-bg-raised: var(--surface-2);--node-bg-subtle: var(--surface-2);--node-border: var(--border);--node-separator: var(--border);--node-separator-subtle: var(--surface-3);--node-shadow: 0 1px 3px rgba(0, 0, 0, .4);--node-text: var(--fg-1);--node-text-heading: var(--fg-1);--node-text-label: var(--fg-3);--node-text-muted: var(--fg-3);--node-text-faint: var(--fg-4);--node-link: var(--accent);--node-state-accent-bg: var(--accent-soft);--node-state-accent-border: var(--accent-border);--node-state-success-bg: var(--good-soft);--node-state-success-border: var(--good-border);--node-state-danger-bg: var(--danger-soft);--node-state-danger-border: var(--danger-border);--connector-stroke-default: var(--fg-4);--connector-stroke-accent: var(--accent);--connector-stroke-success: var(--good);--connector-stroke-danger: var(--danger);--connector-label-background: var(--surface-2)}.diagram-canvas--readonly .react-flow__handle{opacity:0;pointer-events:none}.diagram-canvas--readonly .react-flow__resize-control,.diagram-canvas--readonly .diagram-edge-handle{display:none;pointer-events:none}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;width:1px;overflow:hidden;position:absolute;white-space:nowrap}.text-muted{color:var(--muted)}.text-sm{font-size:.92rem}.small{font-size:.92rem;color:var(--muted)}.tag,.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface-2);color:var(--fg-2);font-family:var(--font-body);font-size:var(--fs-xs);font-weight:var(--fw-medium);line-height:1.4}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 var(--sp-10)}.category-case-study,.category-engineering,.category-learning,.category-codelab{color:var(--muted)}.section-intro{font-size:1.03rem;color:var(--muted);max-width:860px}.pill-row{display:flex;flex-wrap:wrap;gap:var(--sp-8);margin-top:var(--sp-12)}@media(max-width:900px){.stage-grid,.two-col,.before-after{grid-template-columns:1fr!important}.meta-grid,.metric-grid{grid-template-columns:repeat(2,1fr)!important}.toc-list{columns:1!important}}@media(max-width:640px){main{padding:var(--sp-28) var(--sp-16) var(--sp-48)}.meta-grid,.metric-grid{grid-template-columns:1fr!important}}@media print{@page{margin:.6in;size:A4}html,body{background:#fff;color:#121417}main{max-width:none;margin:0;padding:0}.site-header{display:none}.two-col,.before-after,.stage-grid,.metric-grid,.meta-grid{grid-template-columns:1fr!important}.toc-list{columns:1!important}pre{white-space:pre-wrap!important;word-break:break-word!important}.callout,.iteration,.stage-card,.metric-card,.meta-card,.code-block,.narrative-box,.before-after-panel,section{break-inside:avoid}svg{max-width:100%!important;height:auto!important}table{table-layout:fixed;word-wrap:break-word}a{text-decoration:none;color:inherit}}.theme-toggle[data-astro-cid-3ef6ksr2] svg[data-astro-cid-3ef6ksr2]{width:16px;height:16px}.theme-toggle[data-astro-cid-3ef6ksr2] .icon-sun[data-astro-cid-3ef6ksr2],.theme-toggle[data-astro-cid-3ef6ksr2] .icon-moon[data-astro-cid-3ef6ksr2]{display:none}[data-theme=dark] .theme-toggle[data-astro-cid-3ef6ksr2] .icon-sun[data-astro-cid-3ef6ksr2],[data-theme=light] .theme-toggle[data-astro-cid-3ef6ksr2] .icon-moon[data-astro-cid-3ef6ksr2]{display:block}:root:not([data-theme]) .theme-toggle[data-astro-cid-3ef6ksr2] .icon-sun[data-astro-cid-3ef6ksr2]{display:block}
