.post-content--left{text-align:left}.post-content--right{text-align:right}.post-content--center{text-align:center}.post-content--justify{text-align:justify;text-justify:inter-word}.post-content .katex{color:var(--content);font-size:1.05em}.post-content :not(.katex-display)>.katex,.post-content li .katex,.post-content p .katex{vertical-align:-.12em}.post-content .katex .frac-line,.post-content .katex .hline,.post-content .katex .overline-line,.post-content .katex .underline-line{border-color:currentColor}.post-content .katex-display{display:block;margin:1.15em 0 1.35em;padding:.85em 1rem;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;text-align:center;background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius)}.post-content .katex-display>.katex{font-size:1.12em;color:var(--content)}.post-content .katex-display>.katex>.katex-html{padding:.1em 0}.post-content :is(h1,h2,h3,h4,h5,h6) .anchor{margin-left:.3em;color:var(--secondary);text-decoration:none;opacity:0;transition:opacity .2s}.post-content :is(h1,h2,h3,h4,h5,h6):hover .anchor{opacity:1}.post-content .anchor:before{content:"#"}.post-content .anchor[hidden],img.in-text{display:inline}img.in-text{vertical-align:middle}.toc .inner ul{margin-left:1.2em}#searchResults .search-excerpt :is(h1,h2,h3,h4,h5,h6){display:inline;margin:0;padding:0;font-size:inherit;font-weight:inherit;line-height:inherit;color:inherit}.archive-toggle{display:flex;gap:.5rem;margin-bottom:1.5rem}.archive-toggle-btn{padding:.35rem .9rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--entry);color:var(--secondary);cursor:pointer;font:inherit;line-height:1.4}.archive-toggle-btn.is-active,.archive-toggle-btn:hover{color:var(--primary);border-color:var(--primary)}.archive-toggle-btn.is-active{font-weight:600}.archive-empty{color:var(--secondary)}.tag-section,.taxonomy-section{margin-bottom:2rem}.tag-section-title,.taxonomy-section-title{font-size:1.15rem;margin:0 0 1rem;color:var(--secondary);font-weight:600;letter-spacing:.02em;text-transform:uppercase}.tag-section-posts .tag-section-title:empty{display:none}:root{--tag-color:#2563eb}.dark{--tag-color:#60a5fa}.post-tags-row{position:relative;z-index:2;display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem .5rem;margin-top:.5rem}.post-tags-label{font-size:13px;color:var(--secondary);flex-shrink:0}.post-entry .post-tags a{display:inline;padding:0;background:none;border:none;border-radius:0;color:var(--tag-color);font-size:13px;line-height:inherit;opacity:.85;transition:opacity .15s}.post-entry .post-tags a:hover{background:none;opacity:1;text-decoration:underline;text-underline-offset:2px}.post-tags{display:flex;flex-wrap:wrap;gap:0 8px}.post-tags li{display:inline}.tag-legend{margin-bottom:1rem;font-size:.875rem;color:var(--secondary);line-height:1.6}.tag-legend-link{color:inherit;text-decoration:none}.tag-legend-link:hover{color:var(--primary)}.home-info-header{display:flex;align-items:center;gap:1rem}.home-info-header h1{margin:0}.home-avatar{width:96px;height:96px;border-radius:50%;object-fit:cover;object-position:center;flex-shrink:0}.tag-filter{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.tag-filter-pill{padding:.35rem .9rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--entry);color:var(--secondary);cursor:pointer;font:inherit;line-height:1.4;transition:color .15s,border-color .15s}.tag-filter-pill.is-active,.tag-filter-pill:hover{color:var(--primary);border-color:var(--primary)}.tag-filter-pill.is-active{font-weight:600}.tag-filter-clear{display:inline-flex;align-items:center;justify-content:center;padding:.35rem .65rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--entry);cursor:pointer;color:var(--secondary);transition:color .15s,border-color .15s;line-height:1.4}.tag-filter-clear:hover:not(:disabled){color:var(--primary);border-color:var(--primary)}.tag-filter-clear:disabled{opacity:.3;cursor:default}.linked-notes-toggle{position:fixed;top:50%;right:0;transform:translateY(-50%);z-index:41;display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.6rem .45rem;border:1px solid var(--border);border-right:none;border-radius:var(--radius) 0 0 var(--radius);background:var(--entry);color:var(--secondary);cursor:pointer;font:inherit;line-height:1;transition:color .15s,border-color .15s}.linked-notes-toggle:hover,.linked-notes.is-open .linked-notes-toggle{color:var(--primary);border-color:var(--primary)}.linked-notes-count{font-size:.75rem;font-weight:600}.linked-notes-panel{position:fixed;top:50%;right:2.7rem;transform:translateY(-50%);z-index:40;width:min(20rem,78vw);max-height:70vh;overflow-y:auto;padding:1rem 1.1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--entry);box-shadow:0 6px 24px rgb(0 0 0/.14)}.linked-notes-panel[hidden]{display:none}.linked-notes-title{margin:0 0 .6rem;font-size:.95rem}.linked-notes-panel ul{list-style:none;margin:0;padding:0}.linked-notes-panel li{margin:.35rem 0;line-height:1.4}.linked-notes-panel a{color:var(--primary);text-decoration:none}.linked-notes-panel a:hover{text-decoration:underline}@media (max-width:768px){.linked-notes-panel,.linked-notes-toggle{top:auto;bottom:5rem;transform:none}.linked-notes-panel{right:2.7rem}}.post-content .callout{--callout-color:#086ddd;margin:1.25rem 0;padding:.7rem 1rem;border:1px solid color-mix(in srgb,var(--callout-color) 28%,var(--border));border-left:3px solid var(--callout-color);border-radius:var(--radius);background:color-mix(in srgb,var(--callout-color) 7%,var(--entry))}.post-content .callout>.callout-content>:first-child,.post-content .callout>:first-child{margin-top:0}.post-content .callout>.callout-content>:last-child,.post-content .callout>:last-child{margin-bottom:0}.post-content .callout-content{margin-top:.55rem}.post-content .callout-title{display:flex;align-items:center;gap:.5em;font-weight:600;line-height:1.3;color:var(--callout-color)}.post-content .callout-icon{display:inline-flex;flex-shrink:0;color:var(--callout-color)}.post-content .callout-icon svg{display:block}.post-content details.callout>summary.callout-title{cursor:pointer;list-style:none}.post-content details.callout>summary.callout-title::-webkit-details-marker{display:none}.post-content details.callout>summary.callout-title:after{content:"";width:1em;height:1em;margin-left:auto;background:currentColor;-webkit-mask:var(--callout-chevron) center /contain no-repeat;mask:var(--callout-chevron) center /contain no-repeat;transition:transform .2s ease;--callout-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E")}.post-content details.callout[open]>summary.callout-title:after{transform:rotate(90deg)}.post-content [data-callout=info],.post-content [data-callout=note],.post-content [data-callout=todo]{--callout-color:#086ddd}.post-content [data-callout=abstract],.post-content [data-callout=tip]{--callout-color:#00b8b8}.post-content [data-callout=success]{--callout-color:#16a34a}.post-content [data-callout=question],.post-content [data-callout=warning]{--callout-color:#d98a00}.post-content [data-callout=bug],.post-content [data-callout=danger],.post-content [data-callout=failure]{--callout-color:#e93147}.post-content [data-callout=example]{--callout-color:#7c5cff}.post-content [data-callout=quote]{--callout-color:#9aa0a6}.dark .post-content [data-callout=info],.dark .post-content [data-callout=note],.dark .post-content [data-callout=todo]{--callout-color:#4d9bff}.dark .post-content [data-callout=abstract],.dark .post-content [data-callout=tip]{--callout-color:#2dd4d4}.dark .post-content [data-callout=success]{--callout-color:#34d367}.dark .post-content [data-callout=question],.dark .post-content [data-callout=warning]{--callout-color:#f0a830}.dark .post-content [data-callout=bug],.dark .post-content [data-callout=danger],.dark .post-content [data-callout=failure]{--callout-color:#ff5a6e}.dark .post-content [data-callout=example]{--callout-color:#a288ff}.dark .post-content [data-callout=quote]{--callout-color:#b4b9bf}.post-versions{margin-top:6px;display:flex;flex-wrap:wrap;gap:0 .6em;font-size:14px;color:var(--secondary)}.post-versions a{text-decoration:underline;text-underline-offset:2px}.version-notice{--notice-color:#ec7500;margin:1.25rem 0;padding:.7rem 1rem;border:1px solid color-mix(in srgb,var(--notice-color) 28%,var(--border));border-left:3px solid var(--notice-color);border-radius:var(--radius);background:color-mix(in srgb,var(--notice-color) 7%,var(--entry));font-size:15px}.version-notice a{text-decoration:underline;text-underline-offset:2px}.post-content .sidenote-ref{cursor:pointer;font-size:.7em;font-weight:700;line-height:0;vertical-align:super;-webkit-margin-start:1px;margin-inline-start:1px;color:#086ddd;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-underline-offset:2px}.dark .post-content .sidenote-ref{color:#4d9bff}.post-content .sidenote-toggle{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.post-content .sidenote-ref:has(+.sidenote-toggle:focus-visible){outline:2px solid #086ddd;outline-offset:2px;border-radius:2px}.post-content .sidenote-num{font-weight:700;color:#086ddd;-webkit-margin-end:.15em;margin-inline-end:.15em}.dark .post-content .sidenote-num{color:#4d9bff}.post-content .marginnote .anchor{-webkit-margin-start:.3em;margin-inline-start:.3em;color:var(--secondary);text-decoration:none}@media (max-width:1199px){.post-content .sidenote{display:none}.post-content .sidenote-toggle:checked+.sidenote{display:block;margin:.7rem 0;padding:.55rem .85rem;border:1px solid color-mix(in srgb,#086ddd 22%,var(--border));-webkit-border-start:3px solid #086ddd;border-inline-start:3px solid #086ddd;border-radius:var(--radius);background:color-mix(in srgb,#086ddd 6%,var(--entry));font-size:.85rem;line-height:1.55;color:var(--content)}.dark .post-content .sidenote-toggle:checked+.sidenote{border-color:color-mix(in srgb,#4d9bff 24%,var(--border));border-inline-start-color:#4d9bff;background:color-mix(in srgb,#4d9bff 8%,var(--entry))}.post-content .marginnote{display:inline;font-weight:700}.post-content .marginnote-nopunct:after{content:"."}.post-content .marginnote .anchor{display:none}}@media (min-width:1200px){.post-content .sidenote-ref{cursor:default;text-decoration:none}.post-content .sidenote-num{font-size:.85em;line-height:0;vertical-align:super}.post-content .marginnote,.post-content .sidenote{display:block;float:right;clear:right;width:12.5rem;margin:.25rem -14rem 1rem 0;font-size:.82rem;line-height:1.55;color:var(--secondary);text-align:start}.post-content .marginnote .anchor{opacity:0;transition:opacity .2s}.post-content .marginnote:hover .anchor{opacity:1}}.post-cite{margin-top:10px}.cite-toggle{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;font-size:14px;color:var(--secondary);background:var(--entry);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer}.cite-toggle:hover{color:var(--primary)}.cite-toggle svg{flex:none}.cite-panel{margin-top:8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--entry);overflow:hidden}.cite-bibtex{margin:0;padding:.8rem 1rem;max-height:22rem;overflow:auto;font-size:13px;line-height:1.5;white-space:pre}.cite-bibtex code{background:none;padding:0;font-family:var(--font-mono,monospace)}.cite-actions{display:flex;gap:8px;padding:8px 1rem;border-top:1px solid var(--border)}.cite-copy,.cite-download{padding:3px 12px;font-size:14px;border-radius:var(--radius);border:1px solid var(--border);cursor:pointer}.cite-copy{color:var(--secondary);background:var(--theme)}.cite-copy:hover,.cite-download{color:var(--primary)}.cite-download{background:var(--theme);text-decoration:none}.cite-download:hover{border-color:var(--primary)}.secret-gate-form{max-width:26rem;margin:2rem 0}.secret-gate-label{display:block;margin-bottom:6px;font-size:14px;color:var(--secondary)}.secret-gate-row{display:flex;gap:8px}.secret-gate-row input{flex:1 1;padding:6px 10px;font-size:16px;color:var(--content);background:var(--entry);border:1px solid var(--border);border-radius:var(--radius)}.secret-gate-row input:focus{outline:none;border-color:var(--primary)}.secret-gate-row button{padding:6px 16px;font-size:15px;color:var(--primary);background:var(--theme);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer}.secret-gate-row button:hover:enabled{border-color:var(--primary)}.secret-gate-row button:disabled{color:var(--secondary);cursor:default}.secret-gate-error,.secret-gate-hint{margin-top:10px;font-size:14px;color:var(--secondary)}.secret-gate-error{color:#d1495b}.pub-intro a{text-decoration:underline;text-underline-offset:3px}.pub-section{margin-bottom:calc(var(--gap) * 2)}.pub-section-title{font-size:1.15rem;margin:0 0 1rem;color:var(--secondary);font-weight:600;letter-spacing:.02em;text-transform:uppercase}.pub-entry--featured{margin-bottom:var(--gap);padding:var(--gap);background:var(--entry);border:1px solid var(--border);border-radius:var(--radius)}.pub-entry--compact{padding:.9rem 0;border-bottom:1px solid var(--border)}.pub-year:last-child .pub-entry--compact:last-child{border-bottom:none}.pub-year-title{font-size:1.05rem;margin:1.25rem 0 0;color:var(--secondary)}.pub-title{color:var(--primary);line-height:1.35}.pub-entry--featured .pub-title{font-size:22px}.pub-entry--compact .pub-title{font-size:18px}.pub-title a:hover{text-decoration:underline;text-underline-offset:3px}.pub-authors{margin-top:.35rem;font-size:14px;line-height:1.5;color:var(--secondary)}.pub-self{color:var(--primary);font-weight:600}.pub-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.5rem;font-size:13px;line-height:1.4}.pub-venue{margin-right:.25rem;color:var(--tag-color);font-weight:600}.pub-link{padding:.1rem .6rem;border:1px solid var(--tertiary);border-radius:var(--radius);color:var(--secondary);transition:color .15s,border-color .15s}.pub-link:hover{color:var(--primary);border-color:var(--primary)}.pub-tldr{margin-top:.75rem;font-size:15px;line-height:1.6;color:var(--content)}