.toc[data-astro-cid-xvrfupwn]{font-size:var(--text-sm);color:var(--fg-muted)}.toc-shell[data-astro-cid-xvrfupwn]{margin:0}.toc-summary[data-astro-cid-xvrfupwn]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);list-style:none;cursor:pointer;padding:var(--space-2) 0;border-bottom:1px solid var(--border);color:var(--fg-muted);user-select:none}.toc-summary[data-astro-cid-xvrfupwn]::-webkit-details-marker{display:none}.toc-title[data-astro-cid-xvrfupwn]{font-size:var(--text-xs);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.1em}.toc-chev[data-astro-cid-xvrfupwn]{font-size:var(--text-xs);transition:transform var(--transition-fast) ease}.toc-shell[data-astro-cid-xvrfupwn][open] .toc-chev[data-astro-cid-xvrfupwn]{transform:rotate(180deg)}.toc-list[data-astro-cid-xvrfupwn]{list-style:none;padding:var(--space-3) 0 0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.toc-item[data-astro-cid-xvrfupwn].toc-depth-3{padding-left:var(--space-4)}.toc-link[data-astro-cid-xvrfupwn]{color:var(--fg-muted);text-decoration:none;line-height:var(--leading-snug);display:inline-block;border-left:2px solid transparent;padding-left:var(--space-2);margin-left:calc(-1 * var(--space-2));transition:color var(--transition-fast) ease,border-color var(--transition-fast) ease}.toc-link[data-astro-cid-xvrfupwn]:hover{color:var(--fg)}.toc-link[data-astro-cid-xvrfupwn].active{color:var(--accent);font-weight:var(--font-medium);border-left-color:var(--accent)}@media(prefers-reduced-motion:reduce){.toc-link[data-astro-cid-xvrfupwn],.toc-chev[data-astro-cid-xvrfupwn]{transition:none}}@media(min-width:769px){.toc[data-astro-cid-xvrfupwn]{position:sticky;top:calc(3.25rem + var(--space-6));max-height:calc(100vh - 3.25rem - var(--space-12));overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.toc[data-astro-cid-xvrfupwn]::-webkit-scrollbar{width:6px}.toc[data-astro-cid-xvrfupwn]::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.toc[data-astro-cid-xvrfupwn]::-webkit-scrollbar-track{background:transparent}.toc-summary[data-astro-cid-xvrfupwn]{display:none}.toc-shell[data-astro-cid-xvrfupwn][open] .toc-list[data-astro-cid-xvrfupwn],.toc-list[data-astro-cid-xvrfupwn]{display:flex}.toc-list[data-astro-cid-xvrfupwn]{padding-top:0}.toc-shell[data-astro-cid-xvrfupwn]:before{content:"Contents";display:block;font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--fg-muted);text-transform:uppercase;letter-spacing:.1em;padding-bottom:var(--space-3);border-bottom:1px solid var(--border);margin-bottom:var(--space-3)}}.reading-progress[data-astro-cid-gjtny2mx]{position:fixed;top:0;left:0;height:2px;width:var(--progress, 0%);background:var(--accent);z-index:calc(var(--z-sticky) + 1);transition:width 80ms linear;pointer-events:none}@media(prefers-reduced-motion:reduce){.reading-progress[data-astro-cid-gjtny2mx]{transition:none}}.post-shell[data-astro-cid-gjtny2mx]{display:block}.post[data-astro-cid-gjtny2mx]{max-width:var(--measure);margin-inline:auto}@media(min-width:1024px){.post-shell[data-astro-cid-gjtny2mx].has-toc{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:var(--space-10);max-width:var(--container-wide);margin-inline:auto}.post-shell[data-astro-cid-gjtny2mx].has-toc .post[data-astro-cid-gjtny2mx]{max-width:none;margin-inline:0}}.toc-desktop[data-astro-cid-gjtny2mx]{display:none}@media(min-width:1024px){.has-toc[data-astro-cid-gjtny2mx] .toc-desktop[data-astro-cid-gjtny2mx]{display:block}.has-toc[data-astro-cid-gjtny2mx] .toc-mobile[data-astro-cid-gjtny2mx]{display:none}}.toc-mobile[data-astro-cid-gjtny2mx]{margin:var(--space-6) 0 var(--space-2)}.post-header[data-astro-cid-gjtny2mx]{margin-bottom:var(--space-2)}.meta[data-astro-cid-gjtny2mx]{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--fg-muted);margin-bottom:var(--space-3)}.category[data-astro-cid-gjtny2mx]{font-family:var(--font-mono);text-transform:lowercase;color:var(--fg-muted);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.1em .45em;line-height:1.3}.difficulty[data-astro-cid-gjtny2mx]{font-weight:var(--font-medium);text-transform:lowercase}.difficulty-easy[data-astro-cid-gjtny2mx]{color:#57ab5a}.difficulty-medium[data-astro-cid-gjtny2mx]{color:var(--warning)}.difficulty-hard[data-astro-cid-gjtny2mx]{color:color-mix(in srgb,var(--danger) 65%,var(--fg-muted))}.difficulty-insane[data-astro-cid-gjtny2mx]{color:var(--danger)}h1[data-astro-cid-gjtny2mx]{font-size:var(--text-3xl);font-weight:var(--font-bold);line-height:var(--leading-tight);margin-bottom:var(--space-3)}.description[data-astro-cid-gjtny2mx]{font-size:var(--text-lg);color:var(--fg-muted);line-height:var(--leading-normal);margin-bottom:var(--space-4)}.tags[data-astro-cid-gjtny2mx]{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none}.updated[data-astro-cid-gjtny2mx]{font-size:var(--text-xs);color:var(--fg-muted);margin-top:var(--space-3)}.post-nav[data-astro-cid-gjtny2mx]{margin-top:var(--space-10)}.post-nav-grid[data-astro-cid-gjtny2mx]{display:grid;grid-template-columns:1fr;gap:var(--space-4)}@media(min-width:640px){.post-nav-grid[data-astro-cid-gjtny2mx]{grid-template-columns:1fr 1fr;gap:var(--space-6)}}.nav-card[data-astro-cid-gjtny2mx]{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);text-decoration:none;color:var(--fg);transition:border-color var(--transition-fast) ease,color var(--transition-fast) ease}.nav-card[data-astro-cid-gjtny2mx]:hover{border-color:var(--accent);color:var(--accent)}.nav-empty[data-astro-cid-gjtny2mx]{border:none;padding:0}.nav-next[data-astro-cid-gjtny2mx]{text-align:right}.nav-label[data-astro-cid-gjtny2mx]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--fg-muted);text-transform:lowercase;letter-spacing:.04em}.nav-title[data-astro-cid-gjtny2mx]{font-size:var(--text-base);font-weight:var(--font-medium);line-height:var(--leading-snug);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
