@font-face{font-family:"Bricolage Grotesque";font-weight:800;font-style:normal;font-display:swap;src:url("fonts/bricolage-grotesque-800.woff2") format("woff2")}@font-face{font-family:"IBM Plex Sans";font-weight:400;font-style:normal;font-display:swap;src:url("fonts/ibm-plex-sans-400.woff2") format("woff2")}@font-face{font-family:"IBM Plex Sans";font-weight:500;font-style:normal;font-display:swap;src:url("fonts/ibm-plex-sans-500.woff2") format("woff2")}@font-face{font-family:"IBM Plex Sans";font-weight:600;font-style:normal;font-display:swap;src:url("fonts/ibm-plex-sans-600.woff2") format("woff2")}@font-face{font-family:"IBM Plex Mono";font-weight:400;font-style:normal;font-display:swap;src:url("fonts/ibm-plex-mono-400.woff2") format("woff2")}:root{color-scheme:light dark;--bg: #F7F4EE;--text: #1C2630;--title: #003153;--muted: #45505A;--meta: #5B6670;--line: #DCD5C8;--accent: #E0A030;--tag: #9A5B00;--hover: #9A5B00;--code-bg: #EFEAE0;--font-logo: "Bricolage Grotesque", system-ui, sans-serif;--font-sans: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace}@media (prefers-color-scheme: dark){:root{--bg: #003153;--text: #F5F1E8;--title: #F5F1E8;--muted: #C6D3DD;--meta: #9FB4C4;--line: rgba(245, 241, 232, 0.18);--accent: #F2B84B;--tag: #F2B84B;--hover: #F2B84B;--code-bg: rgba(255, 255, 255, 0.06)}}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{max-width:760px;margin:0 auto;padding:0 24px;background:var(--bg);color:var(--text);font:400 17px/1.6 var(--font-sans);overflow-wrap:break-word}a{color:var(--title);text-decoration:none}a:hover{color:var(--hover)}.site-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;padding:32px 0}.logo{color:var(--title);font:800 26px/1 var(--font-logo);letter-spacing:-.01em}.logo .dot{color:var(--accent)}.site-header nav{display:flex;flex-wrap:wrap;margin-right:-12px}.site-header nav a{padding:12px;font-weight:500;font-size:16px;line-height:20px}.claim{margin:40px 0 48px;color:var(--muted);font-size:22px;font-weight:400;line-height:1.45}h1.claim{letter-spacing:normal}.meta{margin:0;color:var(--meta);font:400 13px/1.5 var(--font-mono)}.tag{color:var(--tag)}a.tag:hover{color:var(--hover);text-decoration:underline}.post-item{display:flex;flex-direction:column;gap:8px;padding:28px 0;border-top:1px solid var(--line)}.post-item h2{margin:0;font-size:26px;font-weight:600;line-height:1.25;letter-spacing:-.01em}.excerpt{margin:0;color:var(--muted);font-size:17px;line-height:1.6}.older{margin:0;padding:28px 0 80px;border-top:1px solid var(--line)}.post-list:empty+.older{border-top:0}.post{padding:40px 0 0}.post header{display:flex;flex-direction:column;gap:12px;margin-bottom:32px}.post h1{margin:0;color:var(--title);font-size:clamp(30px,6vw,38px);font-weight:600;line-height:1.2;letter-spacing:-.015em}.post>h1{margin-bottom:32px}.prose{font-size:18px;line-height:1.7}.prose a{text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px}.prose h2,.prose h3{color:var(--title);font-weight:600;line-height:1.3;letter-spacing:-.01em}.prose h2{font-size:26px;margin:2em 0 .6em}.prose h3{font-size:21px;margin:1.8em 0 .5em}.prose strong,.prose b{font-weight:600}.prose img{display:block;width:100%;height:auto;border-radius:8px}.prose blockquote{margin:1.5em 0;padding:0 0 0 24px;color:var(--muted)}.prose hr{border:0;border-top:1px solid var(--line);margin:2.5em 0}.prose li+li{margin-top:.3em}.prose table{width:100%;border-collapse:collapse;font-size:16px}.prose th,.prose td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left}code,pre{font-family:var(--font-mono);font-size:.85em}:not(pre)>code{padding:.12em .35em;border-radius:4px;background:var(--code-bg)}pre{overflow-x:auto;padding:16px 18px;border-radius:8px;background:var(--code-bg);line-height:1.55}pre code{font-size:inherit}.back{margin:48px 0 80px;padding-top:28px;border-top:1px solid var(--line)}.tag-list{list-style:none;margin:0 0 80px;padding:0;display:flex;flex-wrap:wrap;gap:12px 24px;font-family:var(--font-mono);font-size:15px}.tag-list .count{color:var(--meta)}.site-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding:28px 0 40px;border-top:1px solid var(--line);color:var(--meta);font-size:14px}.site-footer a{color:var(--meta)}.site-footer a:hover{color:var(--hover)}