body[a="dark"]{filter:invert(1)}body[a="dark"] img{filter:invert(1)}body[a="dark"] img.ioda{filter:invert(0)}@media (prefers-color-scheme: dark){body[a="auto"]{filter:invert(1)}body[a="auto"] img{filter:invert(1)}body[a="auto"] img.ioda{filter:invert(0)}}:root{--bg: #ffffff;--text: #111827;--muted: #6b7280;--border: #e5e7eb;--code-bg: #f9fafb;--blue-50:  #eff6ff;--blue-100: #dbeafe;--blue-200: #bfdbfe;--blue-300: #93c5fd;--blue-400: #60a5fa;--blue-500: #3b82f6;--blue-600: #2563eb;--blue-700: #1d4ed8;--blue-800: #1e40af;--blue-900: #1e3a8a;--heading-1: var(--blue-900);--heading-2: var(--blue-800);--heading-3: var(--blue-700);--heading-4: var(--blue-700);--heading-5: var(--blue-600);--heading-6: var(--blue-600);--link:         var(--blue-600);--link-hover:   var(--blue-700);--link-visited: var(--blue-800)}html,body{background:var(--bg)}html{height:100%}body{color:var(--text);font-family:"Libre Baskerville", Georgia, serif;font-size:22px;line-height:1.66;margin:0;min-height:100%;overflow-wrap:break-word;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}.w{max-width:72ch;margin:0 auto;padding:3.5rem 1.25rem}h1,h2,h3,h4,h5,h6{font-family:"Libre Baskerville", Georgia, serif;line-height:1.22;letter-spacing:-0.008em;margin:0}h1{color:var(--heading-1);font-size:clamp(2.2rem, 5.5vw, 3rem);margin-top:1.25rem;margin-bottom:0.8rem;font-weight:700}h2{color:var(--heading-2);font-size:clamp(1.8rem, 4.5vw, 2.25rem);margin-top:2.25rem;margin-bottom:0.6rem;font-weight:700}h3{color:var(--heading-3);font-size:clamp(1.5rem, 3.5vw, 1.75rem);margin-top:1.75rem;margin-bottom:0.45rem;font-weight:600}h4{color:var(--heading-4);font-size:1.25rem;margin-top:1.5rem;margin-bottom:0.35rem;font-weight:600}h5{color:var(--heading-5);font-size:1.1rem;margin-top:1.25rem;margin-bottom:0.25rem;font-weight:600}h6{color:var(--heading-6);font-size:1.05rem;margin-top:1.1rem;margin-bottom:0.25rem;font-weight:600}p{margin:0 0 1.05em 0;hyphens:auto}li{margin:0.25rem 0;hyphens:auto}ol,ul{padding-left:1.25rem;margin:0.75rem 0 1rem}blockquote{margin:1.25rem 0}.post-meta{color:var(--muted);font-size:0.9em;text-align:right}a{color:var(--link);text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--link) 60%, transparent);text-decoration-thickness:.08em;text-underline-offset:.18em}a:hover{color:var(--link-hover);text-decoration-color:var(--link-hover);text-decoration-thickness:.12em}a:visited{color:var(--link-visited);text-decoration-color:color-mix(in srgb, var(--link-visited) 55%, transparent)}a:focus-visible{outline:3px solid color-mix(in srgb, var(--blue-300) 70%, transparent);outline-offset:2px;border-radius:4px}hr{height:1px;border:0;background:var(--border);margin:2.5rem 0}code,pre,kbd,samp{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;font-variant-ligatures:none}code{font-size:85%;padding:0.15em 0.35em;background:var(--code-bg);border:1px solid var(--border);border-radius:4px}pre{padding:1rem 1.25rem;background:var(--code-bg);border:1px solid var(--border);border-radius:6px;overflow-x:auto}code.has-jax{-webkit-font-smoothing:antialiased;background:inherit !important;border:none !important;font-size:100%}blockquote{font-style:normal;border-left:4px solid var(--border);background:var(--code-bg);padding:0.75rem 1rem}blockquote p{margin:0.25rem 0}table{width:100%;border-collapse:collapse;margin:1.25rem 0}table,th,td{border:1px solid var(--border)}th,td{padding:0.5rem 0.6rem}th{text-align:left;font-weight:600}img{max-width:100%;display:block;margin:1.25rem auto;border-radius:4px}figure{margin:1.25rem 0}figcaption{text-align:center;opacity:0.7;font-size:0.95em;margin-top:0.35rem}*:target{background:#fff3}ul>li>span{color:var(--muted);margin-right:0.5rem}.post-list{list-style:none;margin:1.25rem 0 0;padding:0}.post-item{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:0.75rem 1rem;padding:0.25rem 0}.icon{width:0.95em;height:0.95em;vertical-align:-0.12em;margin-right:0.35em}.rss-icon{color:var(--link)}.post-list>li{margin:0}.post-title{color:var(--heading-2);font-weight:600;text-decoration:none}.post-title:hover{color:var(--heading-1);text-decoration:underline;text-decoration-thickness:.1em}.post-date{color:var(--muted);font-size:0.95em;white-space:nowrap}@media (max-width: 640px){.post-item{grid-template-columns:1fr}.post-date{order:2}}
