@font-face{font-family:Fraunces;src:url(/fonts/fraunces-var.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Literata;src:url(/fonts/literata-var.woff2) format("woff2");font-weight:200 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Literata;src:url(/fonts/literata-var-italic.woff2) format("woff2");font-weight:200 900;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Spline Sans Mono;src:url(/fonts/spline-sans-mono-var.woff2) format("woff2");font-weight:300 700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #14130f;--bg-elev: #1a1915;--surface: #1e1d19;--surface-2: #29271f;--border: rgba(240, 232, 216, .13);--border-strong: rgba(240, 232, 216, .26);--text: #f1eadc;--text-primary: #f1eadc;--text-secondary: #b8ae9a;--text-body: #ded6c6;--text-dim: #a39984;--accent-cyan: #9ab8ff;--accent-violet: #ff9a62;--primary-color: #9ab8ff;--primary-dark: #7196ec;--secondary-color: #ff9a62;--primary-gradient: linear-gradient(90deg, #ff9a62 0%, #ffc07a 100%);--tint-bg: rgba(255, 154, 98, .07);--tag-bg: rgba(154, 184, 255, .1);--marker: #ff9a62;--marker-soft: rgba(255, 154, 98, .22);--grid-line: rgba(240, 232, 216, .055);--rule-line: rgba(240, 232, 216, .1);--card-meta: #bcb09b;--filter-on-bg: rgba(154, 184, 255, .2);--filter-on-text: #eef2ff;--filter-on-border: #9ab8ff;--bg-light: #14130f;--bg-white: #1e1d19;--border-color: rgba(240, 232, 216, .13);--border-subtle: rgba(240, 232, 216, .07);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 6px 18px rgba(0, 0, 0, .45);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .5);--shadow-card-hover: 4px 4px 0 rgba(0, 0, 0, .55);--shadow-hard: 3px 3px 0 rgba(0, 0, 0, .5);--ink-shadow: rgba(0, 0, 0, .6);--ink-edge: rgba(240, 232, 216, .3);--glow: none;--wash-violet: none;--wash-cyan: none;--glow-logo-img: none;--shadow-cta: 3px 3px 0 rgba(0, 0, 0, .55);--shadow-cta-hover: 5px 5px 0 rgba(0, 0, 0, .55);--shadow-social: 3px 3px 0 rgba(0, 0, 0, .5);--toc-hover-border: rgba(154, 184, 255, .7);--toc-hover-bg: rgba(154, 184, 255, .09);--glow-wordmark: none;--glow-logo-mark: none;--header-bg: rgba(20, 19, 15, .9);--transition: all .2s cubic-bezier(.4, 0, .2, 1);--font-head: "Fraunces", "Iowan Old Style", Georgia, serif;--font-body: "Literata", "Iowan Old Style", Georgia, "Times New Roman", serif;--font-mono: "Spline Sans Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace;--font-ui: var(--font-mono);--measure: 42.5rem;--radius: 6px}*{box-sizing:border-box}html{color-scheme:dark}html{font-size:100%}@media(min-width:1680px){html{font-size:106.25%}}@media(min-width:2100px){html{font-size:115.625%}}@media(min-width:2800px){html{font-size:128.125%}}@media(min-width:3600px){html{font-size:140.625%}}body{font-family:var(--font-body);margin:0;padding:0;background:var(--bg);color:var(--text);line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"kern","liga"}h1,h2,h3,h4{font-family:var(--font-head);font-weight:600;letter-spacing:-.015em;font-variation-settings:"SOFT" 50,"WONK" 0;text-wrap:balance}::selection{background:var(--marker-soft);color:var(--text)}:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:3px;border-radius:2px}.skip{position:fixed;left:-9999px;top:-9999px;z-index:2000;padding:.7rem 1.1rem;background:var(--surface-2);color:var(--text-primary);font-family:var(--font-mono);font-size:.95rem;font-weight:600;text-decoration:none;border:1px solid var(--border-strong);border-radius:8px;box-shadow:var(--shadow-md)}.skip:focus,.skip:focus-visible{left:.75rem;top:.75rem;outline:3px solid var(--accent-cyan);outline-offset:2px}header.site-header{position:sticky;top:0;z-index:1000;background:var(--header-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);padding:.7rem 2rem}.header-container{max-width:80rem;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}#logo{display:flex;align-items:center;text-decoration:none;color:var(--text);border-radius:4px}nav.site-nav{display:flex;align-items:center;gap:.15rem}nav.site-nav a{position:relative;color:var(--text-secondary);text-decoration:none;font-family:var(--font-mono);font-size:.86rem;font-weight:500;letter-spacing:.01em;padding:.5rem .8rem;border-radius:4px;transition:color .15s ease,background-color .15s ease}nav.site-nav a:hover{color:var(--text);background:var(--tag-bg)}nav.site-nav a[aria-current=page]{color:var(--text)}nav.site-nav a[aria-current=page]:after{content:"";position:absolute;left:.8rem;right:.8rem;bottom:.28rem;height:2px;background:var(--marker);border-radius:2px}.menu-toggle{display:none;font-family:var(--font-mono);font-size:1.25rem;line-height:1;cursor:pointer;padding:.5rem .65rem;border-radius:4px;background:transparent;border:1px solid var(--border-strong);color:var(--text);transition:background-color .15s ease}.menu-toggle:hover{background:var(--tag-bg)}main{position:relative;min-height:calc(100vh - 320px);isolation:isolate}main:before{content:"";position:absolute;inset:0 0 auto;height:26rem;z-index:-1;pointer-events:none;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:24px 24px;background-position:-1px -1px;-webkit-mask-image:linear-gradient(to bottom,#000 30%,transparent);mask-image:linear-gradient(to bottom,#000 30%,transparent)}main>*{animation:fadeIn .45s ease-out}.container{max-width:80rem;margin:0 auto;padding:0 1.25rem}.page-header{max-width:var(--measure);margin:0 auto;text-align:left;padding:3.25rem 1.25rem 1.75rem}.page-header:has(+.site-toc),.page-header:has(+.card-grid){max-width:80rem}.page-header h1{font-size:clamp(2.25rem,5.2vw,3.6rem);font-weight:600;margin:0 0 .75rem;line-height:1.08;letter-spacing:-.02em;color:var(--text);overflow-wrap:break-word;font-variation-settings:"SOFT" 100,"WONK" 1,"opsz" 96}.page-header .subtitle{font-size:1.1rem;line-height:1.55;color:var(--text-secondary);margin:0;max-width:42rem}article>.page-header h1{font-size:clamp(1.95rem,4.4vw,2.85rem);letter-spacing:-.012em;line-height:1.12;font-variation-settings:"SOFT" 100,"WONK" 0,"opsz" 60}article>.page-header .subtitle:last-child{font-family:var(--font-mono);font-size:.84rem;letter-spacing:.01em;color:var(--text-dim);max-width:none}.page-header:has(>.breadcrumb){padding-top:1.5rem}.breadcrumb{max-width:var(--measure);margin:0 0 1rem;font-family:var(--font-mono);font-size:.8rem;line-height:1.5;letter-spacing:.01em}.breadcrumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:nowrap;justify-content:flex-start;align-items:baseline;gap:0 .5rem}.breadcrumb li{flex:0 0 auto;display:flex;align-items:baseline}.breadcrumb li+li:before{content:"/";flex:0 0 auto;color:var(--text-dim);margin-right:.5rem}.breadcrumb li:last-child{flex:0 1 auto;min-width:0}.breadcrumb li:last-child>[aria-current=page]{flex:0 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.breadcrumb a{color:var(--text-secondary);text-decoration:none;border-bottom:1px solid transparent;transition:var(--transition)}.breadcrumb a:hover,.breadcrumb a:focus-visible{color:var(--accent-cyan);border-bottom-color:var(--accent-cyan)}.breadcrumb [aria-current=page]{color:var(--text-dim)}.gradient-text{color:var(--text)}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;max-width:80rem;margin:0 auto;padding:0 1.25rem 2.5rem}.nb-index{--nb-no: 4.25rem;list-style:none;max-width:80rem;margin:0 auto 1rem;padding:0 1.25rem;position:relative}.nb-index:before{content:"";position:absolute;top:0;bottom:0;left:calc(1.25rem + var(--nb-no) + .62rem);width:1px;background:var(--marker);opacity:.55}.nb-row{border-bottom:1px solid var(--rule-line)}.nb-link{display:grid;grid-template-columns:var(--nb-no) minmax(0,1fr) auto;align-items:baseline;column-gap:1.25rem;padding:.95rem .5rem .95rem 0;color:inherit;text-decoration:none;border-radius:2px;transition:background-color .15s ease}.nb-link:hover{background:var(--tag-bg)}.nb-link:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:2px}.nb-no{font-family:var(--font-mono);font-size:.8rem;font-weight:500;color:var(--accent-violet);letter-spacing:.04em;text-align:right;padding-right:.1rem;font-variant-numeric:tabular-nums}.nb-main{display:flex;flex-direction:column;gap:.35rem;min-width:0}.nb-title{font-family:var(--font-head);font-size:1.22rem;font-weight:550;line-height:1.28;letter-spacing:-.01em;color:var(--text);font-variation-settings:"SOFT" 100,"opsz" 36;text-wrap:pretty}.nb-link:hover .nb-title{color:var(--accent-cyan)}.nb-lead .nb-title{font-size:1.5rem;font-weight:600;line-height:1.2}.nb-sum{font-size:.98rem;line-height:1.6;color:var(--text-secondary);max-width:44rem}.nb-lead .nb-link{padding-top:1.35rem;padding-bottom:1.35rem}.nb-meta{display:flex;gap:.9rem;font-family:var(--font-mono);font-size:.76rem;color:var(--text-dim);white-space:nowrap;font-variant-numeric:tabular-nums}.nb-rt{min-width:4.6rem;text-align:right}@media(max-width:640px){.nb-index{--nb-no: 2.6rem}.nb-link{grid-template-columns:var(--nb-no) minmax(0,1fr);column-gap:1rem;row-gap:.4rem;padding:.9rem 0}.nb-no{font-size:.72rem}.nb-meta{grid-column:2;gap:.4rem;font-size:.72rem}.nb-rt{min-width:0;text-align:left}.nb-rt:before{content:"· "}.nb-title{font-size:1.1rem}.nb-lead .nb-title{font-size:1.28rem}.nb-sum{font-size:.94rem}.nb-index:before{left:calc(1.25rem + var(--nb-no) + .5rem)}}.tag{display:inline-block;padding:.3rem .6rem;background:var(--tag-bg);color:var(--text-secondary);border-radius:3px;font-family:var(--font-mono);font-size:.74rem;font-weight:500;letter-spacing:.01em;line-height:1.35;border:1px solid var(--border)}.tag-list{display:flex;flex-wrap:wrap;gap:.45rem}a.tag{color:var(--accent-cyan);text-decoration:none;border:1px solid var(--toc-hover-border);cursor:pointer;transition:var(--transition)}.prose a.tag,.prose a.tag:hover{color:var(--accent-cyan);text-decoration:none;border:1px solid var(--toc-hover-border)}a.tag:hover,.prose a.tag:hover{border-color:var(--accent-cyan);background:var(--toc-hover-bg)}a.tag:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:2px}.cta-button{display:inline-flex;align-items:center;gap:.4rem;padding:.75rem 1.2rem;border-radius:4px;font-family:var(--font-mono);font-size:.9rem;font-weight:600;letter-spacing:.01em;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease,color .15s ease;cursor:pointer;border:1.5px solid var(--text)}.cta-button.primary{background:var(--text);color:var(--bg);box-shadow:var(--shadow-cta)}.cta-button.primary:hover{transform:translate(-1px,-1px);box-shadow:var(--shadow-cta-hover)}.cta-button.secondary{background:var(--surface);color:var(--text);box-shadow:var(--shadow-cta)}.cta-button.secondary:hover{transform:translate(-1px,-1px);box-shadow:var(--shadow-cta-hover);color:var(--accent-cyan);border-color:var(--accent-cyan)}.cta-button:active{transform:translate(1px,1px);box-shadow:none}.prose{max-width:var(--measure);margin:0 auto;padding:0 1.25rem 3.5rem;color:var(--text-body);font-size:1.125rem;line-height:1.72;overflow-wrap:break-word}.prose h2{font-size:1.75rem;color:var(--text);margin:3rem 0 1rem;line-height:1.2}.prose h3{font-size:1.3rem;color:var(--text);margin:2.2rem 0 .7rem;line-height:1.3}.prose h4{font-size:1.08rem;color:var(--text);margin:1.8rem 0 .5rem}.prose p{margin:0 0 1.3rem}.prose strong{color:var(--text);font-weight:650}.prose a{color:var(--accent-cyan);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;text-decoration-color:var(--toc-hover-border);border-bottom:none;transition:text-decoration-color .15s ease,color .15s ease}.prose a:hover{color:var(--accent-cyan);text-decoration-color:currentColor;text-decoration-thickness:2px}.prose ul,.prose ol{margin:0 0 1.3rem;padding-left:1.4rem}.prose li{margin:.45rem 0}.prose li::marker{color:var(--text-dim);font-family:var(--font-mono);font-size:.9em}.prose img{display:block;max-width:100%;height:auto;border-radius:var(--radius);margin:2rem 0 .75rem;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-hard)}.prose figure{margin:2rem 0}.prose figure img{margin:0 0 .6rem}.prose figcaption{display:block;font-family:var(--font-mono);font-size:.78rem;line-height:1.5;color:var(--text-dim)}.prose p:has(>img:only-child){margin-bottom:0}.prose p:has(>img:only-child)+p:has(>em:only-child){margin:.2rem 0 1.8rem;font-family:var(--font-mono);font-size:.78rem;line-height:1.55;color:var(--text-dim)}.prose p:has(>img:only-child)+p:has(>em:only-child) em{font-style:normal}.prose p:has(>img:only-child)+p:has(>em:only-child):before{content:"↑ ";color:var(--accent-violet)}.prose blockquote{margin:2rem 0;padding:.2rem 0 .2rem 1.25rem;border-left:3px solid var(--marker);background:none;border-radius:0;color:var(--text);font-style:italic}.prose blockquote p:last-child{margin-bottom:0}.prose code{background:var(--surface-2);padding:.08rem .32rem;border-radius:3px;font-size:.82em;color:var(--text);font-family:var(--font-mono);border:1px solid var(--border)}.prose :not(pre)>code{overflow-wrap:anywhere}.prose pre{background:#070a11;border:1px solid var(--border);color:#e2e8f0;padding:1.25rem;border-radius:var(--radius);overflow-x:auto;margin:2rem 0;line-height:1.6;box-shadow:var(--shadow-hard);-webkit-overflow-scrolling:touch}.prose pre code{background:none;padding:0;color:inherit;border:0;font-size:.86em}@media(min-width:1100px){.prose pre{margin-left:-2.5rem;margin-right:-2.5rem}}.prose pre{background-image:linear-gradient(to right,#24292e 50%,#24292e00),linear-gradient(to left,#24292e 50%,#24292e00),linear-gradient(to right,#94a3b88c,#94a3b800),linear-gradient(to left,#94a3b88c,#94a3b800);background-repeat:no-repeat;background-position:left center,right center,left center,right center;background-size:40px calc(100% + 4px),40px calc(100% + 4px),18px 100%,18px 100%;background-attachment:local,local,scroll,scroll}.prose pre .copy-code-bar{display:flex;justify-content:flex-end;align-items:center;gap:.5rem;white-space:normal;margin-bottom:.55rem;line-height:1.2}.prose pre .copy-code-btn{font:inherit;font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:.04em;line-height:1;color:inherit;background:#ffffff12;border:1px solid currentColor;border-radius:8px;padding:.34rem .6rem;min-height:2.25rem;min-width:4.4rem;cursor:pointer;opacity:.72;transition:opacity .15s ease,background-color .15s ease}.prose pre .copy-code-btn:hover{opacity:1;background:#ffffff24}.prose pre .copy-code-btn:focus-visible{opacity:1;outline:2px solid var(--accent-cyan);outline-offset:2px}.prose pre .copy-code-live{position:absolute;width:1px;height:1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(prefers-reduced-motion:reduce){.prose pre .copy-code-btn{transition:none}}@media print{.prose pre .copy-code-bar{display:none!important}}.prose .post-toc{margin:0 0 2.25rem;padding:.9rem 1rem 1rem;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--marker);border-radius:var(--radius)}.prose .post-toc h2{font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);margin:0 0 .65rem;line-height:1.2;font-variation-settings:normal}.prose .post-toc ul{display:flex;flex-wrap:wrap;gap:.35rem .4rem;list-style:none;margin:0;padding:0}.prose .post-toc a{display:inline-block;padding:.2rem .55rem;border-radius:3px;background:var(--bg);border:1px solid var(--border);color:var(--accent-cyan);font-family:var(--font-body);font-size:.86rem;line-height:1.4;text-decoration:none;transition:var(--transition)}.prose .post-toc li{margin:0}.prose .post-toc a{display:inline-block;padding:.2rem .55rem;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--accent-cyan);font-size:.86rem;line-height:1.4;text-decoration:none;transition:var(--transition)}.prose h2[id]{scroll-margin-top:6rem}.prose .post-toc a:hover,.prose .post-toc a:focus-visible{border-color:var(--toc-hover-border);border-bottom-color:var(--toc-hover-border);color:var(--accent-cyan);background:var(--toc-hover-bg)}.prose .start-here{margin:0 0 2rem;padding:.9rem 1rem 1rem;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent-cyan);border-radius:var(--radius)}.prose .start-here p{margin:0 0 .6rem}.prose .start-here p:last-child{margin:0}.prose .start-here code{overflow-wrap:anywhere}.prose .start-here .start-here-jumps{display:flex;flex-wrap:wrap;gap:.35rem .45rem}.prose .start-here .start-here-jumps a{display:inline-block;padding:.2rem .55rem;border-radius:3px;background:var(--bg);border:1px solid var(--border);color:var(--accent-cyan);font-size:.86rem;line-height:1.4;text-decoration:none;transition:var(--transition)}.prose .start-here .start-here-jumps a:hover,.prose .start-here .start-here-jumps a:focus-visible{border-color:var(--toc-hover-border);color:var(--accent-cyan);background:var(--toc-hover-bg)}main#top{scroll-margin-top:6rem}.to-top{margin:2.5rem 0 0;text-align:center;font-size:.88rem;line-height:1.6}.to-top a{color:var(--text-secondary);text-decoration:none;border-bottom:1px solid var(--border-strong);transition:var(--transition)}.prose .to-top a{color:var(--text-secondary);border-bottom:1px solid var(--border-strong)}.to-top a:hover,.to-top a:focus-visible,.prose .to-top a:hover,.prose .to-top a:focus-visible{color:var(--text);border-bottom-color:var(--text)}.prose table{width:100%;border-collapse:collapse;margin:1.25rem 0}.prose th,.prose td{text-align:left;padding:.6rem .8rem;border-bottom:1px solid var(--border)}.table-scroll{overflow-x:auto;max-width:100%}.table-scroll:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:3px}@media(max-width:640px){.prose .table-scroll{overflow-x:visible}.prose .table-scroll>table,.prose .table-scroll tbody,.prose .table-scroll tr,.prose .table-scroll td{display:block;width:auto}.prose .table-scroll thead{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.prose .table-scroll tr{margin:0 0 .75rem;padding:.7rem .95rem;background:var(--bg-elev);border:1px solid var(--border);border-radius:12px}.prose .table-scroll td{display:flex;justify-content:space-between;align-items:baseline;gap:1.25rem;padding:.3rem 0;border-bottom:none}.prose .table-scroll td[data-label]{text-align:right}.prose .table-scroll td[data-label]:before{content:attr(data-label);flex:0 1 auto;text-align:left;color:var(--text-secondary);font-size:.92em}.prose .table-scroll td:not([data-label]){font-weight:600;color:var(--text);padding-bottom:.5rem;margin-bottom:.35rem;border-bottom:1px solid var(--border)}.prose pre{font-size:.8125rem;padding:.75rem .85rem}}.prose hr{border:none;border-top:1px solid var(--border);margin:2.5rem 0}footer.site-footer{background:var(--bg-elev);border-top:1px solid var(--border);color:var(--text);padding:2.75rem 2rem 2.25rem;margin-top:4.5rem}.footer-content{max-width:80rem;margin:0 auto;display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:2.5rem;row-gap:.25rem;text-align:left}footer.site-footer h2{grid-column:1 / -1;font-family:var(--font-mono);font-size:.74rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);margin:0 0 1rem;font-variation-settings:normal}.social-media{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,minmax(92px,max-content));width:fit-content;max-width:100%;justify-content:start;gap:.75rem;margin-bottom:1.75rem}.social-media a{display:grid;grid-template-columns:40px auto;grid-template-rows:40px;align-items:center;gap:.7rem;text-decoration:none;color:var(--text-secondary);transition:var(--transition);padding:.55rem .9rem .55rem .55rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface)}.social-media a:hover{color:var(--text);border-color:var(--border-strong);transform:translate(-1px,-1px);box-shadow:var(--shadow-social)}.social-media svg{width:40px;height:40px;border-radius:8px;display:block}.social-media p{margin:0;font-family:var(--font-mono);font-weight:500;font-size:.82rem;max-width:100%;overflow-wrap:break-word}.footer-content>p{margin:.35rem 0;color:var(--text-dim);font-family:var(--font-mono);font-size:.78rem}.footer-content>p a{color:var(--text-secondary);text-underline-offset:.2em}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){header.site-header{padding:.6rem 1rem}nav.site-nav{display:none;flex-direction:column;width:100%;gap:0;margin:.6rem 0 .2rem;border-top:1px solid var(--border);padding:.4rem 0 0}nav.site-nav.active{display:flex}.menu-toggle{display:block}nav.site-nav a{width:100%;text-align:left;padding:.85rem .25rem;font-size:.95rem;border-bottom:1px dashed var(--border);border-radius:0}nav.site-nav a[aria-current=page]:after{left:.25rem;right:auto;width:1.5rem;bottom:.45rem}.card-grid{grid-template-columns:1fr;gap:1.1rem}.page-header{padding-top:2.25rem}.prose{font-size:1.0625rem;line-height:1.7}.prose h2{font-size:1.5rem}.prose h3{font-size:1.2rem}.footer-content{grid-template-columns:1fr}.social-media{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(prefers-color-scheme:light){:root{--bg: #f6f1e7;--bg-elev: #efe8da;--surface: #fffdf8;--surface-2: #ece5d6;--border: rgba(52, 40, 20, .2);--border-strong: rgba(52, 40, 20, .4);--text: #1b1915;--text-primary: #1b1915;--text-secondary: #564e42;--text-body: #2b2721;--text-dim: #655c4e;--accent-cyan: #1f45c0;--accent-violet: #b23a0b;--accent: #1f45c0;--primary-color: #1f45c0;--primary-dark: #17359a;--secondary-color: #b23a0b;--primary-gradient: linear-gradient(90deg, #b23a0b 0%, #d4600f 100%);--tint-bg: rgba(178, 58, 11, .06);--tag-bg: rgba(31, 69, 192, .07);--marker: #e0601a;--marker-soft: rgba(255, 170, 60, .35);--grid-line: rgba(31, 69, 192, .075);--rule-line: rgba(31, 69, 192, .16);--card-meta: #5f5446;--filter-on-bg: rgba(31, 69, 192, .12);--filter-on-text: #132e82;--filter-on-border: #1f45c0;--bg-light: #f6f1e7;--bg-white: #fffdf8;--border-color: rgba(52, 40, 20, .2);--border-subtle: rgba(52, 40, 20, .1);--shadow-sm: 0 1px 2px rgba(52, 40, 20, .08);--shadow-md: 0 6px 18px rgba(52, 40, 20, .1);--shadow-lg: 0 16px 40px rgba(52, 40, 20, .14);--shadow-card-hover: 4px 4px 0 rgba(27, 25, 21, .9);--shadow-hard: 3px 3px 0 rgba(52, 40, 20, .14);--ink-shadow: #1b1915;--ink-edge: #1b1915;--glow: none;--wash-violet: none;--wash-cyan: none;--glow-logo-img: none;--shadow-cta: 3px 3px 0 rgba(27, 25, 21, .9);--shadow-cta-hover: 5px 5px 0 rgba(27, 25, 21, .9);--shadow-social: 3px 3px 0 rgba(27, 25, 21, .85);--toc-hover-border: rgba(31, 69, 192, .6);--toc-hover-bg: rgba(31, 69, 192, .07);--glow-wordmark: none;--glow-logo-mark: none;--header-bg: rgba(246, 241, 231, .92)}html{color-scheme:light}.cta-button.secondary{background:var(--surface)}}@media print{@page{margin:16mm}html{color-scheme:light;background:#fff}body{background:#fff;background-image:none;background-attachment:scroll;color:#111;line-height:1.5;font-size:11pt}main,.container,.page-header,.prose,.prose blockquote,.prose th,.prose td,.table-scroll,.tag{background:transparent;background-image:none;box-shadow:none}main{min-height:0}main>*{animation:none}.prose{max-width:none;padding:0;color:#111;font-size:11pt}.page-header{text-align:left;padding:0 0 .5rem}.page-header h1{font-size:20pt;color:#000}.page-header .subtitle{color:#333;font-size:11pt}.prose h2{color:#000;font-size:15pt;margin:1.4em 0 .5em}.prose h3{color:#000;font-size:12.5pt;margin:1.2em 0 .4em}.prose h2,.prose h3,.page-header h1{break-after:avoid;page-break-after:avoid}.prose p,.prose li,.prose td,.prose th{color:#111}.prose blockquote{border-left:3px solid #999;color:#111;border-radius:0}.prose hr,.prose th,.prose td{border-color:#bbb}.prose img{border:1px solid #ccc;box-shadow:none;break-inside:avoid;page-break-inside:avoid}.gradient-text{background:none;-webkit-background-clip:border-box;background-clip:border-box;-webkit-text-fill-color:currentColor;color:#000}.site-header,.site-nav,.menu-toggle,.site-footer,.footer-content,.related-posts,.post-nav,.feed-cta,.breadcrumb,.social-media{display:none!important}pre,pre code,.astro-code{white-space:pre-wrap;word-break:break-word}.prose pre,pre.astro-code{background:#fff!important;background-image:none!important;color:#111!important;border:1px solid #999;border-radius:0;padding:.6rem .75rem;font-size:9pt;overflow:visible}.astro-code span,.prose pre code,.prose pre code span{color:inherit!important;background:transparent!important}.prose :not(pre)>code{background:transparent;color:#111;border:1px solid #ccc;padding:0 .2em}.tag{color:#222;border:1px solid #999}.prose a.tag{color:#222;border:1px solid #555;text-decoration:none}.prose a{color:#000;text-decoration:underline;border-bottom:none}.prose a[href^=http]:after{content:" (" attr(href) ")";font-size:.85em;word-break:break-all;color:#444}}.logo[data-astro-cid-tvrurpns]{display:inline-flex;align-items:center;gap:.6rem}.logo-mark[data-astro-cid-tvrurpns]{display:block;transition:transform .2s ease}.lm-tile[data-astro-cid-tvrurpns]{fill:var(--text)}.lm-ink[data-astro-cid-tvrurpns]{stroke:var(--bg)}.lm-marker[data-astro-cid-tvrurpns]{stroke:var(--marker)}.logo[data-astro-cid-tvrurpns]:hover .logo-mark[data-astro-cid-tvrurpns]{transform:rotate(-6deg)}.logo-wm[data-astro-cid-tvrurpns]{font-family:var(--font-head);font-weight:650;font-size:1.38rem;letter-spacing:-.02em;color:var(--text);font-variation-settings:"SOFT" 100,"WONK" 1,"opsz" 48}.logo-wm[data-astro-cid-tvrurpns] .grad[data-astro-cid-tvrurpns]{color:var(--accent-violet);font-style:normal}@media(max-width:400px){.logo-wm[data-astro-cid-tvrurpns]{font-size:1.25rem}}@media(prefers-reduced-motion:reduce){.logo[data-astro-cid-tvrurpns]:hover .logo-mark[data-astro-cid-tvrurpns]{transform:none}}
