:root{--bg:#000;--surface:#0b0b0c;--line:#1f1f22;--fg:#ececec;--muted:#8b8b90;--faint:#5a5a60;--yellow:#e9d84a;--pink:#d9468f;--grid:#ffffff1c;--sans:"Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;--serif:"Source Serif 4", Georgia, "Times New Roman", serif;--mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--fg);margin:0;padding:0}body{font-family:var(--mono);padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));min-height:100vh;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}:focus-visible{outline:1px solid var(--yellow);outline-offset:2px}.bgfx{z-index:0;pointer-events:none;background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);background-position:-1px -1px;background-size:40px 40px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(90% 70% at 50% 0,#000 25%,#0000 100%);mask-image:radial-gradient(90% 70% at 50% 0,#000 25%,#0000 100%)}.app{z-index:1;position:relative}.wrap{flex-direction:column;gap:40px;max-width:640px;margin:0 auto;padding-block:64px 96px;display:flex}header{flex-direction:column;gap:14px;display:flex}nav{font-family:var(--mono);color:var(--muted);gap:18px;font-size:13.5px;display:flex}nav a{color:var(--muted);text-decoration:none;transition:color .15s}nav a:hover{color:var(--fg)}nav a[aria-current=page]{color:var(--fg);text-underline-offset:4px;text-decoration:underline}.intro{font-family:var(--mono);color:var(--muted);max-width:52ch;margin:0;font-size:14px;line-height:1.7}.list{flex-direction:column;gap:36px;display:flex}.year h2{font-family:var(--mono);color:var(--faint);letter-spacing:.08em;margin:0 0 8px;font-size:12px;font-weight:500}.year h2:before{content:"── "}.year h2:after{content:" ──────────────";color:var(--line)}.row{width:100%;color:inherit;align-items:baseline;gap:10px;padding:5px 0;font-size:14px;text-decoration:none;display:flex}.row .t{flex:0 auto;order:1;min-width:0}.row .dots{border-bottom:1px dotted var(--line);flex:24px;order:2;min-width:24px;transform:translateY(-4px)}.row time{color:var(--faint);font-variant-numeric:tabular-nums;white-space:nowrap;order:3;font-size:13px}.row:hover .t{color:var(--yellow)}.row:hover .t:before{content:"> ";color:var(--yellow)}.post{flex-direction:column;gap:28px;max-width:680px;margin:0 auto;padding-block:48px 96px;display:flex}.back{all:unset;cursor:pointer;font-family:var(--mono);color:var(--muted);align-items:center;gap:6px;width:fit-content;font-size:13px;text-decoration:none;transition:color .15s;display:inline-flex}.back:hover{color:var(--fg)}.post-meta{font-family:var(--mono);color:var(--muted);flex-wrap:wrap;gap:14px;font-size:12.5px;display:flex}.post h1{font-family:var(--mono);letter-spacing:0;text-wrap:balance;color:var(--fg);margin:0;font-size:clamp(22px,4vw,28px);font-weight:500;line-height:1.25}.post .lede{font-family:var(--mono);color:var(--muted);margin:0;font-size:14px;font-style:normal;line-height:1.6}.post .body{font-family:var(--mono);max-width:65ch;color:var(--fg);flex-direction:column;gap:1.1em;font-size:15px;line-height:1.75;display:flex}.post .body p{margin:0}.post .body h2{font-family:var(--sans);color:var(--fg);margin:1.2em 0 .3em;font-size:20px;font-weight:700;line-height:1.3}.post .body h3{font-family:var(--sans);color:var(--fg);margin:1em 0 .2em;font-size:17px;font-weight:600;line-height:1.3}.post .body blockquote{border-left:2px solid var(--yellow);color:var(--muted);margin:.5em 0;padding-left:16px;font-style:italic}.post .body blockquote p{margin:0}.post .body .tbl,.post .body table{overflow-x:auto}.post .body table{border-collapse:collapse;font-family:var(--mono);width:100%;margin:.8em 0;font-size:13.5px;display:table}.post .body td,.post .body th{text-align:right;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;padding:8px 10px}.post .body th{color:var(--muted);border-bottom:1px solid var(--line);font-weight:500}.post .body td:first-child,.post .body th:first-child{text-align:left}.post .body pre{border:1px solid var(--line);font-family:var(--mono);border-radius:6px;margin:.8em 0;padding:14px 16px;font-size:13px;line-height:1.5;overflow-x:auto;background:var(--surface)!important}.post .body code{font-family:var(--mono)}.post .body :not(pre)>code{background:var(--surface);border:1px solid var(--line);color:var(--yellow);border-radius:4px;padding:2px 6px;font-size:.9em}.post .body ul,.post .body ol{margin:0;padding-left:24px}.post .body li{margin-bottom:.4em}.post .body a{color:var(--yellow);text-underline-offset:3px;text-decoration:underline}.post .next{border-top:1px solid var(--line);font-family:var(--mono);color:var(--muted);justify-content:space-between;gap:16px;margin-top:24px;padding-top:24px;font-size:13px;display:flex}.post .next a{color:var(--muted);text-decoration:none;transition:color .15s}.post .next a:hover{color:var(--fg)}@media (width<=480px){.wrap,.post{gap:28px;padding-block:36px 64px}.row{flex-wrap:wrap;align-items:center;row-gap:4px}.row .t{flex:100%}.row .dots{display:none}.row time{margin-left:auto;font-size:12px}.post .next{flex-direction:column;gap:12px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
