*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: oklch(96% .012 80);--wash-a: oklch(78% .13 60 / .55);--wash-b: oklch(72% .11 220 / .45);--wash-c: oklch(80% .1 140 / .3);--wash-d: oklch(70% .14 320 / .3);--glass-1: oklch(99% .004 85 / .32);--glass-1-hover: oklch(100% .003 85 / .5);--glass-2: oklch(99% .004 85 / .18);--glass-3: oklch(99% .004 85 / .55);--glass-thin: oklch(100% .002 85 / .1);--border: oklch(100% .002 85 / .45);--border-mid: oklch(100% .002 85 / .7);--border-dark: oklch(30% .01 85 / .18);--ink: oklch(18% .015 80);--ink-mid: oklch(40% .013 80);--ink-light: oklch(55% .012 80);--red: oklch(52% .16 30);--teal: oklch(48% .1 210);--green: oklch(50% .13 155);--amber: oklch(60% .12 75);--navy: oklch(38% .08 255);--nav-bg: oklch(99% .004 85 / .32);--font-display: "Instrument Serif", Georgia, serif;--font-body: "Inter Tight", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--blur-card: blur(22px) saturate(160%);--blur-panel: blur(32px) saturate(170%);--blur-strong: blur(40px) saturate(180%);--surface-tint: 99% .004 85;--surface-tint-hi: 100% .003 85;--surface-card-a: .2;--surface-card-hover-a: .42;--surface-featured-a: .22;--surface-featured-hover-a: .45;--surface-sidebar-a: .18;--surface-headerbar-a: .3;--surface-code-a: .35;--surface-code-inline-a: .45;--surface-table-head-a: .25;--surface-table-zebra-a: .12;--highlight: 100% 0 0;--highlight-a: .5;--highlight-a-strong: .7;--highlight-a-soft: .1;--highlight-a-side: .4;--shadow-drop: oklch(20% .02 85 / .1);--shadow-drop-soft: oklch(20% .02 80 / .04);--badge-live-bg: oklch(50% .14 155 / .18);--badge-live-fg: oklch(32% .13 155);--badge-done-bg: oklch(60% .01 85 / .2);--badge-border: oklch(100% 0 0 / .4);--link-underline: oklch(48% .1 210 / .35);--grain-blend: overlay}@media(prefers-color-scheme:dark){:root{--bg: oklch(19% .012 80);--wash-a: oklch(58% .15 60 / .3);--wash-b: oklch(52% .13 220 / .28);--wash-c: oklch(56% .12 140 / .18);--wash-d: oklch(52% .16 320 / .2);--glass-1: oklch(100% .004 85 / .08);--glass-1-hover: oklch(100% .003 85 / .13);--glass-2: oklch(100% .004 85 / .05);--glass-3: oklch(100% .004 85 / .11);--glass-thin: oklch(100% .002 85 / .04);--border: oklch(100% .002 85 / .11);--border-mid: oklch(100% .002 85 / .2);--border-dark: oklch(0% 0 0 / .45);--ink: oklch(94% .01 80);--ink-mid: oklch(78% .009 80);--ink-light: oklch(62% .008 80);--red: oklch(74% .15 30);--teal: oklch(78% .1 210);--green: oklch(78% .13 155);--amber: oklch(84% .12 75);--navy: oklch(76% .08 255);--nav-bg: oklch(100% .004 85 / .1);--surface-tint: 100% .004 85;--surface-tint-hi: 100% .003 85;--surface-card-a: .07;--surface-card-hover-a: .13;--surface-featured-a: .08;--surface-featured-hover-a: .14;--surface-sidebar-a: .05;--surface-headerbar-a: .1;--surface-code-a: .06;--surface-code-inline-a: .09;--surface-table-head-a: .07;--surface-table-zebra-a: .035;--highlight-a: .08;--highlight-a-strong: .14;--highlight-a-soft: .04;--highlight-a-side: .05;--shadow-drop: oklch(0% 0 0 / .5);--shadow-drop-soft: oklch(0% 0 0 / .3);--badge-live-bg: oklch(72% .15 155 / .16);--badge-live-fg: oklch(84% .15 155);--badge-done-bg: oklch(80% .01 85 / .12);--badge-border: oklch(100% 0 0 / .12);--link-underline: oklch(78% .1 210 / .4);--grain-blend: soft-light}}html,body{background:var(--bg);min-height:100vh}html{color-scheme:light dark}body{font-family:var(--font-body);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;position:relative;overflow-x:hidden}.bg-washes{position:fixed;top:-10vh;right:-10vw;bottom:-10vh;left:-10vw;pointer-events:none;z-index:0}.wash{position:absolute;border-radius:50%;will-change:transform}.wash-a{width:70vw;height:70vw;top:-10vh;left:-10vw;background:radial-gradient(circle at 50% 50%,var(--wash-a),transparent 65%);animation:drift-a 32s ease-in-out infinite alternate}.wash-b{width:80vw;height:80vw;bottom:-20vh;right:-15vw;background:radial-gradient(circle at 50% 50%,var(--wash-b),transparent 65%);animation:drift-b 40s ease-in-out infinite alternate}.wash-c{width:50vw;height:50vw;top:30vh;left:35vw;background:radial-gradient(circle at 50% 50%,var(--wash-c),transparent 70%);animation:drift-c 45s ease-in-out infinite alternate}.wash-d{width:45vw;height:45vw;top:55vh;left:5vw;background:radial-gradient(circle at 50% 50%,var(--wash-d),transparent 70%);animation:drift-d 38s ease-in-out infinite alternate}@keyframes drift-a{0%{transform:translate(0) scale(1)}to{transform:translate(8vw,6vh) scale(1.1)}}@keyframes drift-b{0%{transform:translate(0) scale(1)}to{transform:translate(-6vw,-8vh) scale(1.05)}}@keyframes drift-c{0%{transform:translate(0) scale(1)}to{transform:translate(-10vw,4vh) scale(.9)}}@keyframes drift-d{0%{transform:translate(0) scale(1)}to{transform:translate(7vw,-5vh) scale(1.08)}}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");pointer-events:none;z-index:2;mix-blend-mode:var(--grain-blend)}#root{position:relative;z-index:1}.glass{backdrop-filter:var(--blur-card);-webkit-backdrop-filter:var(--blur-card)}a{color:inherit}.prose h2{font-family:var(--font-display);font-size:36px;font-weight:400;letter-spacing:-.018em;color:var(--ink);margin:56px 0 16px;line-height:1.05}.prose h2:first-child{margin-top:0}.prose h3{font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-light);margin:30px 0 10px}.prose p{font-size:15px;line-height:1.72;color:var(--ink-mid);font-weight:400;margin-bottom:16px;text-wrap:pretty;max-width:66ch}.prose p strong{font-weight:600;color:var(--ink)}.prose ul{list-style:none;margin-bottom:18px}.prose ul li{font-size:14.5px;line-height:1.7;color:var(--ink-mid);font-weight:400;padding-left:18px;position:relative;margin-bottom:5px}.prose ul li:before{content:"—";position:absolute;left:0;color:var(--ink-light);font-size:11px;top:4px}.prose ol{margin:0 0 20px;padding-left:1.35rem;list-style:decimal;color:var(--ink-mid)}.prose ol li{font-size:15px;line-height:1.72;font-weight:400;margin-bottom:8px;padding-left:.25rem}.prose ol li::marker{color:var(--ink-light);font-size:.85em}.prose h4{font-family:var(--font-body);font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--ink);margin:28px 0 10px}.prose blockquote{border-left:2px solid var(--border-mid);padding:8px 0 8px 22px;margin:24px 0;font-family:var(--font-display);font-style:italic;font-size:22px;line-height:1.35;color:var(--ink-mid);max-width:58ch;font-weight:400}.prose-article{padding-bottom:24px}.prose-article h1{font-family:var(--font-display);font-size:clamp(1.85rem,4.2vw,2.65rem);font-weight:400;letter-spacing:-.02em;line-height:1.08;color:var(--ink);margin:0 0 20px}.prose-article hr{border:0;border-top:1px solid var(--border);margin:36px 0}.prose-article a{color:var(--teal);text-decoration:none;border-bottom:1px solid var(--link-underline)}.prose-article a:hover{border-bottom-color:var(--teal)}.prose-article pre{font-family:var(--font-mono);font-size:12px;line-height:1.55;background:oklch(var(--surface-tint) / var(--surface-code-a));border:1px solid var(--border);border-radius:8px;padding:16px 18px;overflow-x:auto;margin:20px 0;color:var(--ink-mid)}.prose-article code{font-family:var(--font-mono);font-size:.92em;background:oklch(var(--surface-tint) / var(--surface-code-inline-a));padding:.15em .4em;border-radius:4px;border:1px solid var(--border);color:var(--ink-mid)}.prose-article pre code{padding:0;border:0;background:transparent;font-size:12px;color:inherit}.prose-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:24px 0}.prose-table-scroll table{width:100%;min-width:520px;border-collapse:collapse;font-size:13px;color:var(--ink-mid)}.prose-table-scroll th,.prose-table-scroll td{border:1px solid var(--border);padding:9px 12px;vertical-align:top;text-align:left}.prose-table-scroll th{font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-mid);background:oklch(var(--surface-tint) / var(--surface-table-head-a))}.prose-table-scroll tr:nth-child(2n) td{background:oklch(var(--surface-tint) / var(--surface-table-zebra-a))}
