:root{--color-primary:#8cc2dd;--color-primary-tint:rgba(140, 194, 221, 0.12);--color-primary-hover:rgba(140, 194, 221, 0.22);--color-primary-faint:rgba(140, 194, 221, 0.06);--color-primary-underline:rgba(140, 194, 221, 0.35);--color-text-muted:#aaa;--color-text-dimmed:#999;--color-border:#333;--color-heading:#eee;--color-lead:#b0b8c4;--callout-note:#8cc2dd;--callout-tip:#50fa7b;--callout-tip-bg:rgba(80, 250, 123, 0.07);--callout-warning:#f1fa8c;--callout-warning-bg:rgba(241, 250, 140, 0.07);--callout-danger:#ff5555;--callout-danger-bg:rgba(255, 85, 85, 0.07);--callout-info:#8be9fd;--callout-info-bg:rgba(139, 233, 253, 0.07);--callout-question:#bd93f9;--callout-question-bg:rgba(189, 147, 249, 0.07);--callout-example:#ffb86c;--callout-example-bg:rgba(255, 184, 108, 0.07);--callout-quote:#999;--callout-quote-bg:rgba(153, 153, 153, 0.07)}.callout{border-left:3px solid var(--callout-note);background:var(--color-primary-faint);padding:12px 16px;margin:1em 0;font-style:normal}.callout-title,.callout>summary{font-weight:700;color:var(--callout-note);margin:0 0 4px}.callout>summary{cursor:pointer;list-style:none}.callout>summary::-webkit-details-marker{display:none}.callout-tip,.callout-hint,.callout-important{border-left-color:var(--callout-tip);background:var(--callout-tip-bg)}.callout-tip .callout-title,.callout-hint .callout-title,.callout-important .callout-title,.callout-tip>summary,.callout-hint>summary,.callout-important>summary{color:var(--callout-tip)}.callout-warning,.callout-caution,.callout-attention{border-left-color:var(--callout-warning);background:var(--callout-warning-bg)}.callout-warning .callout-title,.callout-caution .callout-title,.callout-attention .callout-title,.callout-warning>summary,.callout-caution>summary,.callout-attention>summary{color:var(--callout-warning)}.callout-danger,.callout-error,.callout-bug{border-left-color:var(--callout-danger);background:var(--callout-danger-bg)}.callout-danger .callout-title,.callout-error .callout-title,.callout-bug .callout-title,.callout-danger>summary,.callout-error>summary,.callout-bug>summary{color:var(--callout-danger)}.callout-abstract,.callout-summary,.callout-tldr,.callout-info,.callout-todo{border-left-color:var(--callout-info);background:var(--callout-info-bg)}.callout-abstract .callout-title,.callout-summary .callout-title,.callout-tldr .callout-title,.callout-info .callout-title,.callout-todo .callout-title,.callout-abstract>summary,.callout-summary>summary,.callout-tldr>summary,.callout-info>summary,.callout-todo>summary{color:var(--callout-info)}.callout-question,.callout-help,.callout-faq{border-left-color:var(--callout-question);background:var(--callout-question-bg)}.callout-question .callout-title,.callout-help .callout-title,.callout-faq .callout-title,.callout-question>summary,.callout-help>summary,.callout-faq>summary{color:var(--callout-question)}.callout-example{border-left-color:var(--callout-example);background:var(--callout-example-bg)}.callout-example .callout-title,.callout-example>summary{color:var(--callout-example)}.callout-quote,.callout-cite{border-left-color:var(--callout-quote);background:var(--callout-quote-bg)}.callout-quote .callout-title,.callout-cite .callout-title,.callout-quote>summary,.callout-cite>summary{color:var(--callout-quote)}.callout-success,.callout-check,.callout-done{border-left-color:var(--callout-tip);background:var(--callout-tip-bg)}.callout-success .callout-title,.callout-check .callout-title,.callout-done .callout-title,.callout-success>summary,.callout-check>summary,.callout-done>summary{color:var(--callout-tip)}.callout-failure,.callout-fail,.callout-missing{border-left-color:var(--callout-danger);background:var(--callout-danger-bg)}.callout-failure .callout-title,.callout-fail .callout-title,.callout-missing .callout-title,.callout-failure>summary,.callout-fail>summary,.callout-missing>summary{color:var(--callout-danger)}.post-tags{margin:4px 0 0}.tags-label{font-size:.85em;color:var(--color-text-dimmed);margin-right:4px}a.blog-tags{display:inline-block;background:var(--color-primary-tint);border-radius:3px;padding:1px 7px;margin:1px 3px 1px 0;font-size:.8em;line-height:1.5;color:var(--color-text-muted);text-decoration:none}a.blog-tags:hover{background:var(--color-primary-hover);color:var(--color-primary)}.post-meta{font-size:.9em;color:var(--color-text-muted);margin:4px 0 0}.post-meta-item{display:inline-block;margin-right:16px}.post-meta-label{color:var(--color-text-dimmed)}.post-content{counter-reset:figures}.post-content img{display:block;margin-left:auto;margin-right:auto}figure{margin:1.5em 0;text-align:center}figcaption{font-size:.9em;color:var(--color-text-muted);margin-top:8px;text-align:left}figcaption .figure-number::before{counter-increment:figures;content:"Figure " counter(figures)". ";font-weight:700}hr{border:0;border-top:1px dashed var(--color-text-muted)}.post-lead{font-size:1.1em;font-style:italic;line-height:1.6;color:var(--color-lead);margin:1em 0 1.5em}table{border-collapse:collapse;width:100%;margin:1.5em 0;border-top:2px solid var(--color-text-muted);border-bottom:2px solid var(--color-text-muted)}th,td{border:none;padding:6px 12px}thead th{border-bottom:1px solid var(--color-text-muted);padding:8px 12px;text-align:left;font-weight:700;color:var(--color-heading)}tbody tr:first-child td{padding-top:8px}tbody tr:last-child td{padding-bottom:8px}.home-intro{display:flex;gap:2em;align-items:center;margin:1em 0}.home-profile{flex-shrink:0;text-align:center}.profile-photo{width:150px;height:150px;border-radius:50%;object-fit:cover}.social-links{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:12px;max-width:150px}.social-pill{display:block;background:var(--color-primary-tint);border-radius:3px;padding:2px 0;font-size:.8em;line-height:1.5;color:var(--color-text-muted);text-decoration:none;text-align:center}.social-pill:hover{background:var(--color-primary-hover);color:var(--color-primary)}.home-content{flex:1;min-width:0}@media(max-width:480px){.home-intro{flex-direction:column;align-items:center;text-align:center}}a{text-decoration-color:var(--color-primary-underline);text-underline-offset:2px;text-decoration-thickness:1px;transition:text-decoration-color .2s}a:hover{text-decoration-color:var(--color-primary)}nav a.active{text-decoration-color:var(--color-primary);color:var(--color-heading)}.post-content a[href^=http]::after,.post-content a[href^="//"]::after{content:" ↗";font-size:.75em;opacity:.5}.toc{margin:1.5em 0;padding:.75em 1em;background:var(--color-primary-faint);border:1px solid var(--color-border);border-radius:4px;font-size:.88em}.toc summary{cursor:pointer;font-weight:700;color:var(--color-text-muted);font-size:.9em;text-transform:uppercase;letter-spacing:.04em}.toc summary::marker{color:var(--color-text-dimmed)}.toc ul{list-style:none;padding-left:1em;margin:.3em 0 0}.toc #TableOfContents>ul{padding-left:0}.toc li{margin:.15em 0;line-height:1.5}.toc a{color:var(--color-primary);text-decoration:none}.toc a:hover{text-decoration:underline}