:root{--it-purple:#4a154b;--it-blue:#64c3eb;--it-yellow:#e3b34c;--it-radius:20px;--md-surface:#fafbfc;--md-surface-bright:#ffffff;--md-surface-container:#edf0f5;--md-on-surface:#111316;--md-on-surface-variant:#3e424a;--md-outline:#c3c8d1;--md-outline-variant:#dbe0e8;--md-primary:var(--it-purple);--md-primary-alt:var(--it-blue);--md-on-primary:#ffffff;--md-primary-container:#EADDFF;--elev-0:none;--elev-1:0 2px 4px rgba(0,0,0,.10), 0 1px 1px rgba(0,0,0,.04);--elev-2:0 8px 18px rgba(0,0,0,.12), 0 3px 8px rgba(0,0,0,.06);--state-hover:.10;--it-radius:20px;--it-ring:#e8ebf1;--it-shadow:0 10px 30px rgba(14,15,18,.10),0 6px 14px rgba(14,15,18,.08);--toc-max-h:60vh;--toc-target-offset:88px;--toc-bottom-gap:8px}@media (prefers-color-scheme:dark){:root{--md-surface:#101214;--md-surface-bright:#16181c;--md-surface-container:#181b1f;--md-on-surface:#e7eaee;--md-on-surface-variant:#c7ccd6;--md-outline:#454a52;--md-outline-variant:#2e3238;--md-primary:color-mix(in oklab, var(--it-purple) 70%, var(--it-blue) 30%);--md-on-primary:#ffffff;--md-primary-container:#3a2a4a;--elev-1:0 2px 4px rgba(0,0,0,.55);--elev-2:0 12px 28px rgba(0,0,0,.55), 0 2px 8px rgba(0,0,0,.35)}}h2[id],h3[id],h4[id],h5[id]{scroll-margin-top:var(--toc-target-offset)}.post-toc-wrapper{max-width:900px;margin:24px auto;padding:0 8px}.toc-static .dynamic-toc,.toc-sticky .dynamic-toc{background:var(--md-surface-bright);border:1.5px solid var(--md-outline-variant);border-radius:24px;padding:12px 14px;box-shadow:var(--elev-1);font-family:"Fields Light",system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.55;color:var(--md-on-surface);overflow:hidden}.toc-static .dynamic-toc,.toc-sticky .dynamic-toc{border-radius:var(--it-radius)}.toc-sticky{position:fixed;left:0;right:0;bottom:env(safe-area-inset-bottom,0);z-index:1000;display:block;pointer-events:none;margin:0;padding:0}.toc-sticky .dynamic-toc{max-width:900px;margin:0 auto calc(var(--toc-bottom-gap) + env(safe-area-inset-bottom,0));pointer-events:auto;transform:translateY(110%);transition:transform .28s cubic-bezier(.2,0,.2,1);box-shadow:0 -10px 24px rgb(14 15 18 / .08),var(--elev-1)}@supports ((backdrop-filter:blur(6px)) or (-webkit-backdrop-filter:blur(6px))){.toc-sticky .dynamic-toc{background:color-mix(in oklab,var(--md-surface-bright) 80%,transparent);-webkit-backdrop-filter:saturate(140%) blur(10px);backdrop-filter:saturate(140%) blur(10px)}}.toc-sticky.active .dynamic-toc{transform:translateY(0)}.dynamic-toc .toc-toggle{display:flex;align-items:center;justify-content:space-between;gap:.75rem;cursor:pointer;user-select:none;font-weight:800;letter-spacing:.2px;color:var(--md-on-surface);padding:2px 0}.dynamic-toc .toc-toggle:focus-visible{outline:3px solid var(--md-primary-container);outline-offset:2px;border-radius:18px}.dynamic-toc .toc-toggle .emphasis{background:linear-gradient(90deg,var(--md-primary),var(--md-primary-alt),var(--it-yellow));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:#fff0;color:#fff0;font-size:15px}.dynamic-toc .toggle-arrow{font-size:14px;color:var(--md-on-surface);opacity:.75;transition:transform .22s cubic-bezier(.2,0,.2,1),opacity .16s ease}.dynamic-toc .toc-toggle:hover .toggle-arrow{opacity:.95}.dynamic-toc.open .toggle-arrow{transform:rotate(180deg)}.dynamic-toc ul{margin-top:10px;padding-left:0;list-style:none;max-height:0;overflow:hidden;opacity:0;transition:max-height .25s cubic-bezier(.2,0,.2,1),opacity .18s ease;scrollbar-width:thin;scrollbar-color:rgb(0 0 0 / .28) #fff0;background:var(--md-surface-bright);border-radius:14px}.dynamic-toc.open ul{max-height:var(--toc-max-h);overflow:auto;opacity:1;background:color-mix(in oklab,var(--md-surface-container) 55%,var(--md-surface-bright))}.dynamic-toc ul::-webkit-scrollbar{height:8px;width:8px}.dynamic-toc ul::-webkit-scrollbar-thumb{background:rgb(0 0 0 / .22);border-radius:8px}.dynamic-toc ul::-webkit-scrollbar-track{background:#fff0}.dynamic-toc li{margin:0 0 6px 0}.dynamic-toc li a{display:block;text-decoration:none;color:var(--md-on-surface);padding:8px 10px;border-radius:12px;border:1px solid #fff0;transition:background .16s cubic-bezier(.2,0,.2,1),border-color .16s cubic-bezier(.2,0,.2,1),color .16s cubic-bezier(.2,0,.2,1),transform .16s cubic-bezier(.2,0,.2,1)}.dynamic-toc li a:hover{background:color-mix(in oklab,var(--md-primary-container) calc(var(--state-hover)*100%),transparent);border-color:var(--md-outline);transform:translateY(-1px)}.dynamic-toc li a:focus-visible{outline:3px solid var(--md-primary-container);outline-offset:2px;border-radius:12px}.dynamic-toc li a.is-active,.dynamic-toc li a[aria-current="true"]{color:var(--md-on-primary)!important;background:linear-gradient(100deg,var(--md-primary),color-mix(in oklab,var(--md-primary-alt) 75%,var(--md-primary) 25%));border:1px solid color-mix(in oklab,var(--md-primary) 30%,transparent);box-shadow:0 12px 26px color-mix(in oklab,var(--md-primary) 28%,transparent)}.dynamic-toc .toc-level-2{padding-left:10px}.dynamic-toc .toc-level-3{padding-left:20px}.dynamic-toc .toc-level-4{padding-left:30px}.dynamic-toc .toc-level-5{padding-left:40px}@media (max-width:768px){.toc-static .dynamic-toc,.toc-sticky .dynamic-toc{font-size:13px}.dynamic-toc .toc-toggle .emphasis{font-size:14px}.dynamic-toc li a{font-size:13px}}@media (prefers-reduced-motion:reduce){.dynamic-toc ul,.dynamic-toc .toggle-arrow,.toc-sticky .dynamic-toc{transition:none}}@media (forced-colors:active){.toc-static .dynamic-toc,.toc-sticky .dynamic-toc{border:1px solid CanvasText;background:Canvas;box-shadow:none}.dynamic-toc li a.is-active,.dynamic-toc li a[aria-current="true"]{background:CanvasText;color:Canvas!important;box-shadow:none}}.toc-sticky .dynamic-toc{max-width:var(--container-w,1100px)}@supports((backdrop-filter:blur(6px)) or (-webkit-backdrop-filter:blur(6px))){.toc-sticky .dynamic-toc{-webkit-backdrop-filter:saturate(140%) blur(12px);backdrop-filter:saturate(140%) blur(12px)}}.dynamic-toc li a.is-active{background:linear-gradient(100deg,var(--md-primary),var(--md-primary-alt))}:root{--toc-hover-bg:var(--md-primary-container, color-mix(in oklab, var(--it-purple) 14%, #fff));--toc-hover-border:var(--md-outline, color-mix(in oklab, var(--it-purple) 38%, transparent));--toc-hover-shadow:0 4px 10px rgba(14,15,18,.10)}@media (hover:hover){.dynamic-toc li a:not(.is-active):hover,.dynamic-toc li a:not([aria-current="true"]):hover{background:var(--toc-hover-bg);border-color:var(--toc-hover-border);color:var(--it-ink);box-shadow:var(--toc-hover-shadow);transform:translateY(-1px)}}.dynamic-toc li a:not(.is-active):active{transform:translateY(0);box-shadow:0 2px 6px rgb(14 15 18 / .10)}.dynamic-toc li a:focus-visible{outline:3px solid var(--md-primary-container,color-mix(in oklab,var(--it-blue) 30%,#fff));outline-offset:2px;border-radius:12px}:root{--toc-hover-bg:var(--md-primary-container, color-mix(in oklab, var(--it-purple) 14%, #fff));--toc-hover-border:var(--md-outline, color-mix(in oklab, var(--it-purple) 38%, transparent));--toc-hover-shadow:0 4px 10px rgba(14,15,18,.10)}@media (hover:hover){.dynamic-toc li a:not(.is-active):hover,.dynamic-toc li a:not([aria-current="true"]):hover{background:var(--toc-hover-bg);border-color:var(--toc-hover-border);color:var(--it-ink);box-shadow:var(--toc-hover-shadow);transform:translateY(-1px)}}.dynamic-toc li a:not(.is-active):active{transform:translateY(0);box-shadow:0 2px 6px rgb(14 15 18 / .10)}.dynamic-toc li a:focus-visible{outline:3px solid var(--md-primary-container,color-mix(in oklab,var(--it-blue) 30%,#fff));outline-offset:2px;border-radius:12px}