@font-face{font-family:IBM Plex Mono;src:url(/assets/fonts/IBMPlexMono-normal-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/assets/fonts/IBMPlexMono-normal-500.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}:root{--bg-primary:#f8f6f3;--bg-secondary:#fff;--bg-tertiary:#f1efeb;--bg-quaternary:#e8e6e2;--text-primary:#1a1915;--text-secondary:#5a5851;--text-muted:#6f6d66;--border-primary:#d9d7d1;--border-secondary:#c9c7c1;--link-color:#a14f05;--link-hover:#b45309;--code-color:#b91c1c;--accent-color:#a14f05;--accent-soft:#a14f0517;--selection-bg:#f2e3c2;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Monaco, "Cascadia Code", Consolas, monospace;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--radius-outer:6px;--radius-inner:4px;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg-primary:#0c0c0d;--bg-secondary:#141416;--bg-tertiary:#1c1c1e;--bg-quaternary:#2a2a2e;--text-primary:#f1f1f3;--text-secondary:#b1b1b9;--text-muted:#8b8b93;--border-primary:#2f2f35;--border-secondary:#45454d;--link-color:#ffb347;--link-hover:#ffc977;--code-color:#f87171;--accent-color:#ffb347;--accent-soft:#ffb3471f;--selection-bg:#4a3a1c;color-scheme:dark}}:root[data-theme=dark]{--bg-primary:#0c0c0d;--bg-secondary:#141416;--bg-tertiary:#1c1c1e;--bg-quaternary:#2a2a2e;--text-primary:#f1f1f3;--text-secondary:#b1b1b9;--text-muted:#8b8b93;--border-primary:#2f2f35;--border-secondary:#45454d;--link-color:#ffb347;--link-hover:#ffc977;--code-color:#f87171;--accent-color:#ffb347;--accent-soft:#ffb3471f;--selection-bg:#4a3a1c;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;margin:0;padding:0;font-size:17px;line-height:1.78}button,input,optgroup,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}sub,sup{vertical-align:baseline;font-size:.75em;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}::selection{background-color:var(--selection-bg);color:var(--text-primary)}.container{margin:0 auto;padding:16px 24px 0}.container-sm{width:100%;margin-left:auto;margin-right:auto;padding-left:12px;padding-right:12px;max-width:720px!important}.content{max-width:680px;margin:0 auto;padding:0 20px}.content-full{width:100%;padding:0 20px}.navbar{border-bottom:1px solid var(--border-primary);justify-content:space-between;align-items:center;gap:20px;margin-bottom:44px;padding:22px 20px 18px;display:flex}.nav-brand,.nav-brand:hover,.nav-brand:focus,.nav-brand:visited{color:var(--text-primary);letter-spacing:-.01em;margin:0;font-size:21px;font-weight:600;text-decoration:none}.nav-links{align-items:center;gap:26px;display:flex}.nav-link{color:var(--text-secondary);font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;font-size:12.5px;font-weight:500;text-decoration:none;transition:color .15s}.nav-link:hover{color:var(--text-primary)}.nav-link.active,.nav-link.active:hover{color:var(--link-color);text-underline-offset:5px;text-decoration:underline 1px}.theme-toggle{width:30px;height:30px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;margin:0 0 0 2px;padding:0;transition:color .15s,background-color .15s;display:inline-flex}.theme-toggle:hover{color:var(--text-primary);background-color:var(--bg-tertiary)}.theme-toggle svg{stroke:currentColor;fill:none;stroke-width:1.6px;stroke-linecap:round;width:16px;height:16px}.theme-toggle .icon-sun{display:none}.theme-toggle .icon-moon,:root[data-theme=dark] .theme-toggle .icon-sun{display:block}:root[data-theme=dark] .theme-toggle .icon-moon{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-toggle .icon-sun{display:block}:root:not([data-theme=light]) .theme-toggle .icon-moon{display:none}}h1{letter-spacing:-.01em;margin:0 0 12px;font-size:32px;font-weight:600;line-height:1.25}h2{letter-spacing:-.005em;margin-top:52px;margin-bottom:18px;font-size:25px;font-weight:600;line-height:1.35}h3{margin-top:40px;margin-bottom:14px;font-size:20px;font-weight:600;line-height:1.4}h4{margin-top:32px;margin-bottom:12px;font-size:17px;font-weight:600}h5{margin-top:0;margin-bottom:12px;font-size:16px;font-weight:500}p{max-width:68ch;margin-top:0;margin-bottom:20px;font-size:17px;line-height:1.78}.content h2:first-child,.content h3:first-child{margin-top:0}.page-title{letter-spacing:-.015em;margin:0 0 36px;font-size:31px}.section-title{font-family:var(--font-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:14px;margin:56px 0 20px;font-size:12.5px;font-weight:500;display:flex}.section-title:after{content:"";border-top:1px solid var(--border-primary);flex:1}.content .section-title:first-child{margin-top:0}img{border-radius:var(--radius-outer);max-width:100%;height:auto}img,svg{vertical-align:middle}a{color:var(--link-color);text-decoration-color:color-mix(in srgb, var(--link-color) 35%, transparent);text-underline-offset:2px;transition:color .15s,text-decoration-color .15s}a:hover{color:var(--link-hover);text-decoration-color:var(--link-hover)}code{color:var(--code-color);background-color:var(--bg-tertiary);border-radius:var(--radius-inner);font-family:var(--font-mono);padding:.15em .38em;font-size:.86em}pre{background-color:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-outer);max-height:480px;color:var(--text-primary);font-family:var(--font-mono);margin-top:0;margin-bottom:1rem;padding:14px 16px;font-size:13.5px;line-height:1.55;overflow:auto}pre code{color:inherit;font-size:inherit;background:0 0;padding:0}hr{border:none;border-top:1px solid var(--border-primary);margin:48px 0}:focus-visible{outline:2px solid var(--link-color);outline-offset:2px;border-radius:2px}.text-muted{color:var(--text-muted)!important}.error-page{padding:2.5rem 0}.header-anchor{color:var(--text-muted);opacity:0;margin-left:.35em;font-size:.85em;font-weight:400;text-decoration:none;transition:opacity .2s,color .2s}.content h2:hover .header-anchor,.content h3:hover .header-anchor,.content h4:hover .header-anchor,.post-content h2:hover .header-anchor,.post-content h3:hover .header-anchor,.post-content h4:hover .header-anchor{opacity:1}.header-anchor:hover{color:var(--link-color)}table{border-collapse:collapse;width:100%;margin:28px 0;font-size:15px;line-height:1.5}th{font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);text-align:left;border-bottom:1px solid var(--border-secondary);padding:8px 12px 8px 0;font-size:12px;font-weight:500}td{border-bottom:1px solid var(--border-primary);vertical-align:top;padding:8px 12px 8px 0}th:last-child,td:last-child{padding-right:0}.post-list{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.post-list-item{flex-direction:row;align-items:baseline;gap:18px;padding:7px 0;display:flex}.post-date{white-space:nowrap;width:118px;color:var(--text-muted);font-size:13px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;flex-shrink:0;align-items:center;gap:7px;display:flex}.post-favicon{border-radius:2px;flex-shrink:0;width:14px;height:14px}.post-link{color:var(--text-primary);font-weight:500;text-decoration:none;transition:color .15s,transform .15s}.post-list-item .post-link:hover{color:var(--link-color);transform:translate(3px)}.more-link{font-family:var(--font-mono);margin-top:18px;font-size:13px;text-decoration:none;display:inline-block}.more-link:hover{text-underline-offset:3px;text-decoration:underline}ul{color:var(--text-secondary);margin:1.4rem 0;padding-left:1.4rem;list-style:outside}ul li{margin-bottom:.45rem}ul li strong{color:var(--text-primary)}ol{color:var(--text-secondary);margin:1.4rem 0;padding-left:1.4rem;list-style:decimal}ol li{margin-bottom:.45rem}ol li strong{color:var(--text-primary)}.content ul{list-style:outside}.content ol{list-style:decimal}.content ul ul,.content ul ol,.content ol ul,.content ol ol{margin:.5rem 0;padding-left:1.25rem}.content ul.post-list,.content ol.post-list,.post-content ul.post-list,.content ul.papers-list,.content ul.tool-list{margin:0;padding-left:0;list-style:none}blockquote{border-left:3px solid var(--link-color);color:var(--text-secondary);margin:1.6rem 0;padding-left:1.25rem}blockquote p{margin:0;font-style:italic}.post-meta{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.02em;margin:0 0 14px;font-size:13px}.post-content>h2:first-of-type{letter-spacing:-.015em;margin-top:0;margin-bottom:26px;font-size:31px;line-height:1.28}.post-endmark{text-align:center;color:var(--link-color);user-select:none;margin-top:56px;font-size:19px}.papers-list{margin:0 0 8px;padding:0;list-style:none}.paper-entry{margin-bottom:26px}.paper-title{color:var(--text-primary);font-size:17.5px;font-weight:500;line-height:1.5;display:block}.paper-links{font-family:var(--font-mono);color:var(--text-muted);margin-top:5px;font-size:13px;display:block}.paper-links a{margin:0 2px;text-decoration:none}.paper-links a:hover{text-underline-offset:3px;text-decoration:underline}.bibtex-citation{margin:10px 0 0;position:relative}.bibtex-citation pre{max-height:320px;margin:0;padding-right:50px;font-size:12.5px;line-height:1.5}.bibtex-copy{font-family:var(--font-mono);color:var(--text-muted);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-inner);cursor:pointer;opacity:0;padding:2px 8px;font-size:11px;transition:opacity .15s,color .15s,border-color .15s;position:absolute;top:6px;right:6px}.bibtex-citation:hover .bibtex-copy,.bibtex-copy:focus-visible{opacity:1}.bibtex-copy:hover{color:var(--text-primary);border-color:var(--border-secondary)}.hljs-copy-wrapper{position:relative!important}.hljs-copy-container{position:absolute!important;top:0!important;right:0!important}.hljs-copy-button{background-color:var(--bg-tertiary)!important;color:var(--text-primary)!important;border:1px solid var(--border-primary)!important;border-radius:var(--radius-inner)!important;cursor:pointer!important;font-size:11px!important;font-family:var(--font-mono)!important;padding:2px 8px!important;transition:background-color .2s,border-color .2s!important}.hljs-copy-button:hover{background-color:var(--bg-quaternary)!important;border-color:var(--border-secondary)!important}.tool-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.tool-row{border:1px solid var(--border-primary);border-radius:var(--radius-outer);padding:16px 18px;text-decoration:none;transition:border-color .15s,background-color .15s;display:block}.tool-row:hover{border-color:var(--border-secondary);background-color:var(--bg-secondary)}.tool-name{color:var(--text-primary);font-size:17px;font-weight:600;transition:color .15s;display:block}.tool-row:hover .tool-name{color:var(--link-color)}.tool-desc{color:var(--text-secondary);margin-top:3px;font-size:14.5px;line-height:1.55;display:block}.site-footer{border-top:1px solid var(--border-primary);margin-top:76px;padding-bottom:30px}@media screen and (width<=640px){.container{padding:12px 16px 0}.container-sm{padding-left:0;padding-right:0;max-width:100%!important}.navbar{gap:14px;margin-bottom:28px;padding:18px 16px 14px}.nav-brand{font-size:18px}.nav-links{flex-wrap:nowrap;gap:15px}.nav-link{font-size:11px}.theme-toggle{width:28px;height:28px;margin-left:0}h1{font-size:26px}h2{margin-top:42px;font-size:21px}h3{margin-top:34px;font-size:18px}.page-title{margin-bottom:28px;font-size:26px}.post-content>h2:first-of-type{font-size:26px}.section-title{margin:44px 0 16px}.post-list-item{flex-direction:column;gap:2px;padding:9px 0}.post-date{width:100%;font-size:12px}.post-link{font-size:16px;line-height:1.45}p{font-size:16px}.site-footer{margin-top:56px}}.footnote-ref{font-weight:600;text-decoration:none}.footnote-ref:hover{text-decoration:underline}.footnote-tooltip{z-index:1000;background-color:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-outer);max-width:400px;color:var(--text-primary);opacity:0;pointer-events:none;padding:12px 16px;font-size:14px;line-height:1.55;transition:opacity .2s;position:absolute}.footnote-tooltip.visible{opacity:1;pointer-events:auto}.footnote-tooltip p{margin:0;font-size:14px}.footnote-tooltip a{color:var(--link-color)}.footnote-tooltip .footnote-backref{display:none}@media screen and (width<=640px){.footnote-tooltip{width:auto;max-width:90vw;left:5vw!important;right:5vw!important}}@media (prefers-reduced-motion:reduce){.post-list-item .post-link,a,.tool-row,.bibtex-copy,.nav-link{transition:none}}.daydream{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-muted);padding-top:14px;font-size:12px}.daydream-count{color:var(--accent-color)}.daydream-caret{background:var(--accent-color);vertical-align:-.12em;width:6px;height:1em;animation:1.1s step-end infinite daydream-blink;display:inline-block}@keyframes daydream-blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.daydream-caret{animation:none}}.usage-chart{margin:30px 0 34px;position:relative}.usage-chart svg{width:100%;height:auto;display:block}.usage-frame{fill:none;stroke:var(--border-primary)}.usage-gridline{stroke:var(--border-primary);stroke-width:1px}.usage-tick,.usage-axis-title{fill:var(--text-secondary);font-family:var(--font-mono);font-size:12px}.usage-axis-title{fill:var(--text-muted)}.usage-bar{fill:var(--accent-color);transition:fill .15s}.usage-col:hover .usage-bar{fill:var(--link-hover)}.usage-hit{fill:#0000}.usage-chart-tooltip{z-index:1;background-color:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-inner);font-family:var(--font-mono);color:var(--text-primary);pointer-events:none;white-space:nowrap;padding:6px 10px;font-size:12px;line-height:1.5;position:absolute}
