:root{--color-bg:#fdfdfc;--color-text:#1a1a1a;--color-muted:#5c5c5c;--color-accent:#0e6673;--color-border:#e5e5e5;--color-code-bg:#f4f4f1;--font-serif:var(--font-newsreader);--font-sans:var(--font-inter);--font-mono:var(--font-jetbrains-mono);--text-sm:.875rem;--text-base:1.0625rem;--text-h4:1.125rem;--text-h3:1.375rem;--text-h2:1.75rem;--text-h1:2.5rem;--leading-body:1.65;--leading-heading:1.2;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--measure:70ch;--page-pad:var(--space-4);color-scheme:light}:root[data-theme=dark]{--color-bg:#111;--color-text:#e8e6e3;--color-muted:#a0a0a0;--color-accent:#6cc1ce;--color-border:#2a2a2a;--color-code-bg:#1b1b1b;color-scheme:dark}@media (width>=48rem){:root{--text-base:1.125rem;--text-h1:2.6rem;--page-pad:var(--space-6)}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background-color:var(--color-bg);min-height:100dvh;color:var(--color-text);font-family:var(--font-serif);font-size:var(--text-base);line-height:var(--leading-body);font-optical-sizing:auto;flex-direction:column;margin:0;display:flex}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);line-height:var(--leading-heading);letter-spacing:-.015em;margin:0}h1{font-size:var(--text-h1);font-weight:700}h2{font-size:var(--text-h2);font-weight:650}h3{font-size:var(--text-h3);font-weight:600}h4{font-size:var(--text-h4);font-weight:600}h5{font-size:var(--text-base);font-weight:600}h6{font-size:var(--text-sm);letter-spacing:.01em;font-weight:600}p{margin:0}a{color:var(--color-accent);text-underline-offset:.15em;text-decoration:underline 1px}a:hover{text-decoration-thickness:2px}code,pre,kbd,samp{font-family:var(--font-mono)}img,svg,video{max-width:100%;height:auto}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-header{border-bottom:1px solid var(--color-border)}.site-header nav{max-width:calc(var(--measure) + var(--space-16));padding:var(--space-4) var(--page-pad);justify-content:space-between;align-items:center;gap:var(--space-4);margin-inline:auto;display:flex}.site-title{font-family:var(--font-sans);color:var(--color-text);letter-spacing:-.01em;font-size:1.0625rem;font-weight:700;text-decoration:none}.site-title:hover{color:var(--color-accent)}.nav-right{align-items:center;gap:var(--space-4);display:flex}.nav-links{gap:var(--space-4);font-family:var(--font-sans);font-size:var(--text-sm);margin:0;padding:0;list-style:none;display:flex}.nav-links a{color:var(--color-muted);text-decoration:none}.nav-links a:hover{color:var(--color-accent)}.nav-links a[aria-current=page]{color:var(--color-text);font-weight:600}main{width:100%;max-width:calc(var(--measure) + var(--space-16));padding:var(--space-12) var(--page-pad) var(--space-16);flex:1;margin-inline:auto}.site-footer{border-top:1px solid var(--color-border);color:var(--color-muted);font-family:var(--font-sans);font-size:var(--text-sm)}.site-footer p{max-width:calc(var(--measure) + var(--space-16));padding:var(--space-6) var(--page-pad);margin-inline:auto}.site-footer a{color:inherit}.site-footer a:hover{color:var(--color-accent)}.post-header{max-width:var(--measure);margin-inline:auto;margin-bottom:var(--space-12)}.post-header h1{margin-bottom:var(--space-3)}.post-meta{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-muted)}.prose{max-width:var(--measure);margin-inline:auto}.prose>*+*{margin-block-start:var(--space-6)}.prose>h2{margin-block-start:var(--space-12)}.prose>h3,.prose>h4{margin-block-start:var(--space-8)}.prose>h5,.prose>h6{font-family:var(--font-sans);margin-block-start:var(--space-8)}.prose blockquote{border-inline-start:3px solid var(--color-border);color:var(--color-muted);margin-inline:0;padding-inline-start:var(--space-4);font-style:italic}.prose ul,.prose ol{padding-inline-start:var(--space-6)}.prose li+li{margin-block-start:var(--space-2)}.prose hr{border:0;border-top:1px solid var(--color-border);margin-block:var(--space-12)}.prose code:not(pre code){background-color:var(--color-code-bg);border:1px solid var(--color-border);border-radius:4px;padding:.1em .35em;font-size:.85em}.prose pre{padding:var(--space-4);tab-size:2;border-radius:8px;font-size:.85rem;line-height:1.6;overflow-x:auto}@media (width>=64rem){.prose .code-block,.prose pre{margin-inline:calc(-1 * var(--space-8))}.prose .code-block pre{margin-inline:0}}:root[data-theme=dark] .astro-code,:root[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}.prose .katex-display{padding-block:var(--space-2);overflow:auto hidden}.prose .callout{--callout-accent:var(--color-accent);padding:var(--space-3) var(--space-4);border-inline-start:3px solid var(--callout-accent);background-color:var(--color-code-bg);color:var(--color-text);border-radius:6px;margin-inline:0;font-style:normal}.prose .callout>*+*{margin-block-start:var(--space-3)}.callout-title{font-family:var(--font-sans);font-weight:600;font-size:var(--text-sm);color:var(--callout-accent)}details.callout>summary.callout-title{cursor:pointer}.prose [data-callout=tip]{--callout-accent:#22713f}.prose [data-callout=idea]{--callout-accent:#7a5c0d}.prose [data-callout=definition]{--callout-accent:#64459c}.prose [data-callout=ml-context]{--callout-accent:#99461d}:root[data-theme=dark] .prose [data-callout=tip]{--callout-accent:#7ecfa2}:root[data-theme=dark] .prose [data-callout=idea]{--callout-accent:#d6b95c}:root[data-theme=dark] .prose [data-callout=definition]{--callout-accent:#b39ddb}:root[data-theme=dark] .prose [data-callout=ml-context]{--callout-accent:#d99a6c}.note-tag{color:var(--color-muted)}.prose table{border-collapse:collapse;width:100%;font-family:var(--font-sans);font-size:var(--text-sm)}.prose th,.prose td{border:1px solid var(--color-border);padding:var(--space-2) var(--space-3);text-align:left}.post-list{max-width:var(--measure);margin:0;margin-inline:auto;padding:0;list-style:none}.post-list li+li{margin-block-start:var(--space-8)}.post-list h3{margin-bottom:var(--space-1)}.post-list h3 a{color:var(--color-text);text-decoration:none}.post-list h3 a:hover{color:var(--color-accent)}.post-list .post-meta{margin-bottom:var(--space-2)}.intro{max-width:var(--measure);margin-inline:auto;margin-bottom:var(--space-12);color:var(--color-muted);font-style:italic}.draft-badge{border:1px solid var(--color-border);text-transform:uppercase;letter-spacing:.05em;border-radius:999px;margin-inline-start:var(--space-2);padding:.1em .5em;font-size:.75rem}.category-nav{max-width:var(--measure);margin-inline:auto;margin-bottom:var(--space-12)}.category-nav ul,.post-tags ul{gap:var(--space-2) var(--space-4);font-family:var(--font-sans);font-size:var(--text-sm);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.post-tags{max-width:var(--measure);border-top:1px solid var(--color-border);margin-block-start:var(--space-12);margin-inline:auto;padding-block-start:var(--space-6)}.post-tags a{color:var(--color-muted)}.post-tags a:hover{color:var(--color-accent)}.archive-header{max-width:var(--measure);margin-inline:auto;margin-bottom:var(--space-12)}.archive-header h1{margin-bottom:var(--space-2)}.comments{max-width:var(--measure);border-top:1px solid var(--color-border);margin-block-start:var(--space-16);margin-inline:auto;padding-block-start:var(--space-8)}.comments h2{font-size:var(--text-h3);margin-bottom:var(--space-6)}.comments .giscus{min-height:14rem}button[data-astro-cid-l6lhmie6]{border:1px solid var(--color-border);width:2.25rem;height:2.25rem;color:var(--color-text);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}button[data-astro-cid-l6lhmie6]:hover{color:var(--color-accent);border-color:var(--color-accent)}svg[data-astro-cid-l6lhmie6]{display:none}button[data-astro-cid-l6lhmie6][data-mode=system] .icon-system[data-astro-cid-l6lhmie6],button[data-astro-cid-l6lhmie6][data-mode=light] .icon-sun[data-astro-cid-l6lhmie6],button[data-astro-cid-l6lhmie6][data-mode=dark] .icon-moon[data-astro-cid-l6lhmie6]{display:inline}
