:root{--color-black:#100f0f;--color-paper:#fffcf0;--color-base-50:#f2f0e5;--color-base-100:#e6e4d9;--color-base-150:#dad8ce;--color-base-200:#cecdc3;--color-base-300:#b7b5ac;--color-base-400:#9f9d96;--color-base-500:#878580;--color-base-600:#6f6e69;--color-base-700:#575653;--color-base-800:#403e3c;--color-base-850:#343331;--color-base-900:#282726;--color-base-950:#1c1b1a;--color-red-50:#ffe1d5;--color-red-100:#ffcabb;--color-red-150:#fdb2a2;--color-red-200:#f89a8a;--color-red-300:#e8705f;--color-red-400:#d14d41;--color-red-500:#c03e35;--color-red-600:#af3029;--color-red-700:#942822;--color-red-800:#6c201c;--color-red-850:#551b18;--color-red-900:#3e1715;--color-red-950:#261312;--color-orange-50:#ffe7ce;--color-orange-100:#fed3af;--color-orange-150:#fcc192;--color-orange-200:#f9ae77;--color-orange-300:#ec8b49;--color-orange-400:#da702c;--color-orange-500:#cb6120;--color-orange-600:#bc5215;--color-orange-700:#9d4310;--color-orange-800:#71320d;--color-orange-850:#59290d;--color-orange-900:#40200d;--color-orange-950:#27180e;--color-yellow-50:#faeec6;--color-yellow-100:#f6e2a0;--color-yellow-150:#f1d67e;--color-yellow-200:#eccb60;--color-yellow-300:#dfb431;--color-yellow-400:#d0a215;--color-yellow-500:#be9207;--color-yellow-600:#ad8301;--color-yellow-700:#8e6b01;--color-yellow-800:#664d01;--color-yellow-850:#503d02;--color-yellow-900:#3a2d04;--color-yellow-950:#241e08;--color-green-50:#edeecf;--color-green-100:#dde2b2;--color-green-150:#cdd597;--color-green-200:#bec97e;--color-green-300:#a0af54;--color-green-400:#879a39;--color-green-500:#768d21;--color-green-600:#66800b;--color-green-700:#536907;--color-green-800:#3d4c07;--color-green-850:#313d07;--color-green-900:#252d09;--color-green-950:#1a1e0c;--color-cyan-50:#ddf1e4;--color-cyan-100:#bfe8d9;--color-cyan-150:#a2dece;--color-cyan-200:#87d3c3;--color-cyan-300:#5abdac;--color-cyan-400:#3aa99f;--color-cyan-500:#2f968d;--color-cyan-600:#24837b;--color-cyan-700:#1c6c66;--color-cyan-800:#164f4a;--color-cyan-850:#143f3c;--color-cyan-900:#122f2c;--color-cyan-950:#101f1d;--color-blue-50:#e1eceb;--color-blue-100:#c6dde8;--color-blue-150:#abcfe2;--color-blue-200:#92bfdb;--color-blue-300:#66a0c8;--color-blue-400:#4385be;--color-blue-500:#3171b2;--color-blue-600:#205ea6;--color-blue-700:#1a4f8c;--color-blue-800:#163b66;--color-blue-850:#133051;--color-blue-900:#12253b;--color-blue-950:#101a24;--color-purple-50:#f0eaec;--color-purple-100:#e2d9e9;--color-purple-150:#d3cae6;--color-purple-200:#c4b9e0;--color-purple-300:#a699d0;--color-purple-400:#8b7ec8;--color-purple-500:#735eb5;--color-purple-600:#5e409d;--color-purple-700:#4f3685;--color-purple-800:#3c2a62;--color-purple-850:#31234e;--color-purple-900:#261c39;--color-purple-950:#1a1623;--color-magenta-50:#fee4e5;--color-magenta-100:#fccfda;--color-magenta-150:#f9b9cf;--color-magenta-200:#f4a4c2;--color-magenta-300:#e47da8;--color-magenta-400:#ce5d97;--color-magenta-500:#b74583;--color-magenta-600:#a02f6f;--color-magenta-700:#87285e;--color-magenta-800:#641f46;--color-magenta-850:#4f1b39;--color-magenta-900:#39172b;--color-magenta-950:#24131d;--color-light-bg:var(--color-paper);--color-light-bg-2:var(--color-base-50);--color-light-tx:var(--color-black);--color-light-tx-2:var(--color-base-600);--color-light-tx-3:var(--color-base-300);--color-light-ui:var(--color-base-100);--color-light-ui-2:var(--color-base-150);--color-light-ui-3:var(--color-base-200);--color-dark-bg:var(--color-black);--color-dark-bg-2:var(--color-base-950);--color-dark-tx:var(--color-base-200);--color-dark-tx-2:var(--color-base-500);--color-dark-tx-3:var(--color-base-700);--color-dark-ui:var(--color-base-900);--color-dark-ui-2:var(--color-base-850);--color-dark-ui-3:var(--color-base-800);--surface:var(--color-light-bg-2);--surface-strong:var(--color-light-bg);--text-strong:var(--color-light-tx);--text:var(--color-light-tx);--muted:var(--color-light-tx-2);--border:var(--color-light-ui-2);--accent:var(--color-blue-400);--accent-strong:var(--color-blue-300);--text-xs:0.75rem;--text-xs--line-height:calc(1 / 0.75);--text-sm:0.875rem;--text-sm--line-height:calc(1.25 / 0.875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--text-8xl:6rem;--text-8xl--line-height:1;--text-9xl:8rem;--text-9xl--line-height:1}@media(prefers-color-scheme:dark){:root{--surface:var(--color-dark-bg-2);--surface-strong:var(--color-dark-bg);--text-strong:var(--color-base-150);--text:var(--color-dark-tx);--muted:var(--color-dark-tx-2);--border:var(--color-dark-ui-3);--accent:var(--color-blue-400);--accent-strong:var(--color-blue-300)}}*,*::before,*::after{box-sizing:border-box}body{margin:0;background:var(--surface);color:var(--text);font-family:segoe ui,system-ui,-apple-system,sans-serif;min-height:100vh;display:flex;flex-direction:column;font-size:var(--text-lg);line-height:var(--text-base--line-height)}a{color:inherit;text-decoration-color:var(--accent);text-decoration-thickness:.1em;text-underline-offset:.18em}a:hover{color:var(--accent-strong)}img{max-width:100%;height:auto}code{font-family:sfmono-regular,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,liberation mono,courier new,monospace}pre{background:var(--surface-strong);padding:1rem;border-radius:10px;overflow-x:auto;border:1px solid var(--border)}.site-container{width:100%;max-width:44rem;margin:0 auto;padding:0 1.25rem}header{padding:2.5rem 0 1.5rem}.title{font-weight:400;margin-top:2rem;margin-bottom:3rem}.nav{display:flex;justify-content:space-between;align-items:center;gap:2rem;font-size:var(--text-lg)}.brand{color:var(--text-strong);font-size:var(--text-xl);font-weight:500;text-decoration:none}.pagination{display:flex;justify-content:space-between;margin:3rem 0 1rem;font-size:var(--text-lg)}.nav-links{display:flex;gap:1rem;align-items:center}.nav-link{color:var(--text);padding-bottom:.15rem;border-bottom:2px solid transparent;text-decoration:none}.nav-link.active{color:var(--text-strong);border-color:var(--accent)}main{flex:1;width:100%;min-height:70vh;padding-top:2.5rem;padding-bottom:2rem}h1,h2,h3,h4,h5,h6{color:var(--text-strong);font-weight:400;margin:1.5rem 0}h1{font-size:var(--text-5xl);line-height:var(--text-5xl--line-height)}h2{font-size:var(--text-4xl);line-height:var(--text-4xl--line-height)}h3{line-height:var(--text-3xl--line-height);font-size:var(--text-3xl)}h4{font-size:var(--text-2xl);line-height:var(--text-2xl--line-height)}h5{font-size:var(--text-xl);line-height:var(--text-xl--line-height)}h6{font-size:var(--text-lg);line-height:var(--text-lg--line-height)}.prose .heading-anchor{display:inline-flex;align-items:center;margin-left:.35rem;font-size:.85em;color:var(--muted);text-decoration:none;opacity:0;transition:opacity .15s ease,color .15s ease}.prose h1:hover>.heading-anchor,.prose h2:hover>.heading-anchor,.prose h3:hover>.heading-anchor,.prose h4:hover>.heading-anchor,.prose h5:hover>.heading-anchor,.prose h6:hover>.heading-anchor,.prose .heading-anchor:focus-visible{opacity:1}.prose .heading-anchor:hover,.prose .heading-anchor:focus-visible{color:var(--accent)}p{margin:.85rem 0;color:var(--text);font-size:var(--text-lg);line-height:var(--text-lg--line-height)}ul,ol{padding-left:1.25rem}li{margin:.4rem 0}blockquote{border-left:4px solid var(--accent);margin:1.4rem 0;padding:.4rem 1rem;color:var(--text);background:color-mix(in srgb,var(--surface-strong) 70%,transparent)}figure{margin:1.5rem 0}figcaption{color:var(--muted);font-size:var(--text-base);text-align:center}hr{border:none;border-top:1px solid var(--border);margin:2rem 0}table{border-collapse:collapse;width:100%;margin:1.5rem 0}th,td{border:1px solid var(--border);padding:.65rem;text-align:left}strong{color:var(--text-strong)}.post-date{min-width:6.5rem;color:var(--muted);font-size:var(--text-base)}.tag-list{display:inline-flex;flex-wrap:wrap;gap:.3rem;padding:0;margin:.8rem 0 0;list-style:none}.tag{background:color-mix(in srgb,var(--accent) 14%,var(--surface));border:1px solid var(--border);color:var(--text-strong);border-radius:8px;padding:.2rem .45rem;font-size:var(--text-base)}footer{border-top:1px solid var(--border);padding:2rem 0;margin-top:2rem;text-align:center;color:var(--muted)}@media(max-width:640px){.nav{flex-direction:column;align-items:flex-start}.nav-links{width:100%}.post-item{flex-direction:column;gap:.2rem}.post-date{font-size:.9rem}}