/*! tailwindcss v4.2.0 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose{--tw-prose-body:oklch(37.3% .034 259.733);--tw-prose-headings:oklch(21% .034 264.665);--tw-prose-lead:oklch(44.6% .03 256.802);--tw-prose-links:oklch(21% .034 264.665);--tw-prose-bold:oklch(21% .034 264.665);--tw-prose-counters:oklch(55.1% .027 264.364);--tw-prose-bullets:oklch(87.2% .01 258.338);--tw-prose-hr:oklch(92.8% .006 264.531);--tw-prose-quotes:oklch(21% .034 264.665);--tw-prose-quote-borders:oklch(92.8% .006 264.531);--tw-prose-captions:oklch(55.1% .027 264.364);--tw-prose-kbd:oklch(21% .034 264.665);--tw-prose-kbd-shadows:oklab(21% -.00316127 -.0338527/.1);--tw-prose-code:oklch(21% .034 264.665);--tw-prose-pre-code:oklch(92.8% .006 264.531);--tw-prose-pre-bg:oklch(27.8% .033 256.848);--tw-prose-th-borders:oklch(87.2% .01 258.338);--tw-prose-td-borders:oklch(92.8% .006 264.531);--tw-prose-invert-body:oklch(87.2% .01 258.338);--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:oklch(70.7% .022 261.325);--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:oklch(70.7% .022 261.325);--tw-prose-invert-bullets:oklch(44.6% .03 256.802);--tw-prose-invert-hr:oklch(37.3% .034 259.733);--tw-prose-invert-quotes:oklch(96.7% .003 264.542);--tw-prose-invert-quote-borders:oklch(37.3% .034 259.733);--tw-prose-invert-captions:oklch(70.7% .022 261.325);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:oklch(87.2% .01 258.338);--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:oklch(44.6% .03 256.802);--tw-prose-invert-td-borders:oklch(37.3% .034 259.733);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.contents{display:contents}.grid{display:grid}.inline{display:inline}.table{display:table}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.w-auto{width:auto}@media (prefers-color-scheme:dark){.dark\:prose-invert{--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-kbd:var(--tw-prose-invert-kbd);--tw-prose-kbd-shadows:var(--tw-prose-invert-kbd-shadows);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}}}:root{--bg-primary:#fff;--bg-secondary:#f9fafb;--bg-tertiary:#f3f4f6;--text-primary:#111827;--text-secondary:#6b7280;--text-muted:#9ca3af;--border:#e5e7eb;--accent:#2563eb;--accent-hover:#1d4ed8;--code-bg:#f6f8fa;--nav-width-collapsed:4rem;--nav-width-expanded:16rem}.dark{--bg-primary:#0a0a0a;--bg-secondary:#141414;--bg-tertiary:#1f1f1f;--text-primary:#f9fafb;--text-secondary:#9ca3af;--text-muted:#6b7280;--border:#2e2e2e;--accent:#3b82f6;--accent-hover:#60a5fa;--code-bg:#0d1117}html{color:var(--text-primary);background-color:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:18px;line-height:1.65}body{min-height:100vh;margin:0}code,pre,kbd,samp{font-family:SF Mono,Fira Code,Fira Mono,Roboto Mono,Menlo,Monaco,Consolas,Liberation Mono,monospace}a{color:var(--accent);text-decoration:none;transition:color .15s}a:hover{color:var(--accent-hover)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.link{color:var(--accent);text-decoration:none}.link:hover{color:var(--accent-hover);text-decoration:underline}.main-content{flex-direction:column;max-width:70ch;min-height:100vh;margin:0 auto;padding:2rem 1.5rem 6rem;display:flex}@media (min-width:501px){.main-content{margin-left:var(--nav-width-collapsed);max-width:calc(70ch + 4rem);margin-right:auto;padding:3rem 2rem 2rem}}.main-content>main{flex:1}.side-nav{display:none}@media (min-width:501px){.side-nav{z-index:40;width:var(--nav-width-collapsed);border-right:1px solid var(--border);background-color:var(--bg-primary);flex-direction:column;transition:width .2s;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}@media (prefers-reduced-motion:reduce){.side-nav{transition:none}}.side-nav:hover{width:var(--nav-width-expanded);box-shadow:4px 0 24px #00000014}.dark .side-nav:hover{box-shadow:4px 0 24px #00000052}}.side-nav-header{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;height:3.5rem;padding:0 .75rem;display:flex}.side-nav-logo-link{width:2.5rem;height:2.5rem;color:var(--text-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.side-nav-logo-icon{width:auto;height:1.25rem}.side-nav-logo-expanded{color:var(--text-primary);margin-left:.5rem;display:none}.side-nav:hover .side-nav-logo-link{display:none}.side-nav:hover .side-nav-logo-expanded{align-items:center;padding-left:.625rem;display:flex}.side-nav-items{flex-direction:column;flex:1;gap:.25rem;padding:.75rem;display:flex;overflow-y:auto}.side-nav-item{color:var(--text-secondary);white-space:nowrap;cursor:pointer;font:inherit;text-align:left;background:0 0;border:none;border-radius:.5rem;align-items:center;gap:.75rem;width:100%;padding:.5rem .625rem;font-size:.875rem;text-decoration:none;transition:color .15s,background-color .15s;display:flex}@media (prefers-reduced-motion:reduce){.side-nav-item{transition:none}}.side-nav-item:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.side-nav-item-active{color:var(--accent);background-color:var(--bg-secondary)}.side-nav-item-active:hover{color:var(--accent)}.side-nav-icon{flex-shrink:0;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;display:flex}.side-nav-label{display:none;overflow:hidden}.side-nav:hover .side-nav-label{display:inline}.side-nav-bottom{flex-direction:column;flex-shrink:0;gap:.25rem;padding:.75rem;display:flex}.side-nav-divider{background-color:var(--border);height:1px;margin-bottom:.5rem}.bottom-nav{z-index:50;border-top:1px solid var(--border);background-color:var(--bg-primary);padding-bottom:env(safe-area-inset-bottom);align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0}@media (min-width:501px){.bottom-nav{display:none}}.bottom-nav-item{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.125rem;padding:.5rem 0;text-decoration:none;transition:color .15s;display:flex}@media (prefers-reduced-motion:reduce){.bottom-nav-item{transition:none}}.bottom-nav-item:hover{color:var(--text-secondary)}.bottom-nav-item-active{color:var(--accent)}.bottom-nav-icon{justify-content:center;align-items:center;display:flex}.bottom-nav-label{font-size:.625rem;font-weight:500}.theme-icon-dark,.theme-label-dark{display:none}.theme-icon-light,.theme-label-light,.dark .theme-icon-dark,.dark .theme-label-dark{display:inline}.dark .theme-icon-light,.dark .theme-label-light{display:none}.footer{border-top:1px solid var(--border);color:var(--text-muted);margin-top:4rem;padding:2rem 0;font-size:.875rem}.home-header{margin-bottom:3rem}.home-title{color:var(--text-primary);margin:0;font-size:1.5rem;font-weight:600;line-height:1.3}.post-list{flex-direction:column;gap:2rem;display:flex}.post-list-year-heading{color:var(--text-muted);margin:0 0 .75rem;font-size:1.125rem;font-weight:600}.post-list-items{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.post-list-item{flex-direction:column;gap:.25rem;display:flex}.post-list-link{color:inherit;flex-direction:column;gap:.125rem;text-decoration:none;display:flex}@media (min-width:501px){.post-list-link{flex-direction:row;align-items:baseline;gap:1rem}}.post-list-link:hover .post-list-title{color:var(--accent)}.post-list-date{color:var(--text-muted);white-space:nowrap;min-width:4rem;font-size:.875rem}.post-list-title{color:var(--text-primary);font-weight:500;transition:color .15s}@media (prefers-reduced-motion:reduce){.post-list-title{transition:none}}.post-list-description{color:var(--text-secondary);margin:0;font-size:.875rem;line-height:1.5}.post-list-meta{color:var(--text-muted);font-size:.8125rem}.page-post{padding-bottom:2rem}.post-header{margin-bottom:2rem}.post-title{color:var(--text-primary);margin:0 0 .75rem;font-size:2rem;font-weight:700;line-height:1.2}@media (min-width:501px){.post-title{font-size:2.5rem}}.post-meta{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.875rem;display:flex}.post-meta-separator{color:var(--text-muted)}.toc{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:2rem;padding:1rem 0}.toc-summary{color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.9375rem;font-weight:600}.toc-summary::-webkit-details-marker{color:var(--text-muted)}.toc-nav{margin-top:.75rem}.toc-list{flex-direction:column;gap:.375rem;margin:0;padding-left:1.75rem;list-style:decimal;display:flex}.toc-item{line-height:1.4}.toc-item-nested{padding-left:1.25rem}.toc-link{color:var(--accent);font-size:.875rem;text-decoration:none}.toc-link:hover{text-decoration:underline}.post-nav{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:1rem;margin-top:3rem;padding-top:2rem;display:grid}.post-nav-prev{text-align:left}.post-nav-next{text-align:right}.post-nav-link{color:inherit;flex-direction:column;gap:.25rem;text-decoration:none;display:flex}.post-nav-link:hover .post-nav-title{color:var(--accent)}.post-nav-direction{color:var(--text-muted);font-size:.8125rem}.post-nav-title{color:var(--text-primary);font-weight:500;transition:color .15s}@media (prefers-reduced-motion:reduce){.post-nav-title{transition:none}}.page-title{color:var(--text-primary);margin:0 0 1rem;font-size:2rem;font-weight:700}.page-404{text-align:center;padding-top:4rem}.page-404 .page-title{font-size:4rem}.prose{--tw-prose-body:var(--text-primary);--tw-prose-headings:var(--text-primary);--tw-prose-links:var(--accent);--tw-prose-bold:var(--text-primary);--tw-prose-counters:var(--text-secondary);--tw-prose-bullets:var(--text-muted);--tw-prose-hr:var(--border);--tw-prose-quotes:var(--text-secondary);--tw-prose-quote-borders:var(--border);--tw-prose-captions:var(--text-muted);--tw-prose-code:var(--text-primary);--tw-prose-pre-code:var(--text-primary);--tw-prose-pre-bg:var(--code-bg);--tw-prose-th-borders:var(--border);--tw-prose-td-borders:var(--border);max-width:70ch}.prose :where(a):hover{color:var(--accent-hover)}.prose :where(code):not(:where(pre *)){background-color:var(--code-bg);border-radius:.25rem;padding:.125rem .375rem;font-size:.875em}.prose :where(code):not(:where(pre *)):before,.prose :where(code):not(:where(pre *)):after{content:none}.prose :where(pre){border:1px solid var(--border);border-radius:.5rem;font-size:.875rem}.shiki,.shiki span{color:var(--shiki-light)!important;background-color:var(--shiki-light-bg)!important}.dark .shiki,.dark .shiki span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}.shiki{border:1px solid var(--border);border-radius:.5rem;padding:1rem 1.25rem;font-size:.875rem;line-height:1.7;overflow-x:auto}.heading-anchor{color:inherit;text-decoration:none}.heading-anchor:hover{text-decoration:underline}