@font-face{font-family:Overpass;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/overpass-400.woff2)format("woff2")}@font-face{font-family:Overpass;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/overpass-500.woff2)format("woff2")}@font-face{font-family:Overpass;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/overpass-600.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jbm-400.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jbm-500.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/jbm-600.woff2)format("woff2")}:root{--bg:#090c0f;--bg-elevated:#0f1418;--bg-elevated-2:#141b20;--line:#e6edf01a;--line-strong:#e6edf02e;--text:#e6edf0;--text-dim:#8b98a1;--text-faint:#737d85;--accent:#5eead4;--accent-strong:#22d3ee;--accent-dim:#5eead424;--warn:#f5b942;--danger:#f97066;--mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--sans:"Overpass", -apple-system, BlinkMacSystemFont, sans-serif;--content-max:1160px;--edge:1px}*{box-sizing:border-box}html{background:var(--bg);color-scheme:dark;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.6}img{max-width:100%;display:block}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mono{font-family:var(--mono)}.wrap{max-width:var(--content-max);margin:0 auto;padding:0 24px}section{padding:96px 0;position:relative}section:not(:last-of-type):after{content:"";pointer-events:none;background:url(/img/section-divider.svg) 50%/contain no-repeat;height:60px;position:absolute;bottom:0;left:0;right:0}h1,h2,h3{font-family:var(--sans);letter-spacing:-.01em;margin:0;font-weight:600}h2{color:var(--text);font-size:clamp(1.6rem,1.2rem + 1.6vw,2.4rem)}.section-head{margin-bottom:48px}.status-dot{background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 3px var(--accent-dim);border-radius:50%;flex-shrink:0}.status-dot.warn{background:var(--warn);box-shadow:0 0 0 3px #f5b94229}.status-dot.resolved{background:var(--bg-elevated);border:1px solid var(--line-strong);box-shadow:none}.btn{font-family:var(--mono);letter-spacing:.02em;border:var(--edge) solid var(--line-strong);border-radius:4px;align-items:center;gap:10px;padding:12px 22px;font-size:13px;text-decoration:none;transition:border-color .2s,background .2s,transform .2s;display:inline-flex}.btn-primary{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.btn-primary:hover{background:#5eead438;transform:translateY(-1px)}.btn-ghost{color:var(--text-dim);background:0 0}.btn-ghost:hover{color:var(--text);border-color:var(--line-strong);background:var(--bg-elevated)}.card{background:var(--bg-elevated);border:var(--edge) solid var(--line);border-radius:6px;padding:28px}.chip{border:var(--edge) solid var(--line-strong);font-family:var(--mono);color:var(--text-dim);background:var(--bg-elevated);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;display:inline-flex}.post-chip{color:var(--accent);border-color:#5eead459;padding:3px 9px;font-size:10.5px}.post-chip-personal{color:var(--accent-strong);border-color:#22d3ee59}.reveal{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(14px)}.reveal.is-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}}@media (width<=720px){section{padding:64px 0}}.prose{color:var(--text-dim);font-size:15.5px;line-height:1.75}.prose>*+*{margin-top:20px}.prose h2,.prose h3{color:var(--text);margin-top:40px}.prose h2{font-size:1.4rem}.prose h3{font-size:1.15rem}.prose a{color:var(--accent);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:3px}.prose ul,.prose ol{gap:8px;padding-left:20px;display:grid}.prose blockquote{border-left:2px solid var(--line-strong);color:var(--text-faint);margin:0;padding:4px 20px}.prose code{font-family:var(--mono);background:var(--bg-elevated);border:1px solid var(--line);border-radius:4px;padding:2px 6px;font-size:.9em}.prose pre{background:var(--bg-elevated);border:1px solid var(--line);border-radius:6px;padding:16px;overflow-x:auto}.prose pre code{background:0 0;border:none;padding:0}.prose hr{border:none;border-top:1px solid var(--line)}
