:root{--bg:#0c0d10;--bg-raised:#131519;--border:#22262e;--text:#e6e4e0;--text-dim:#9aa0aa;--text-faint:#646b76;--accent:#7aa2f7;--accent-dim:#2a3a5c;--warn:#e0af68;--lock:#bb9af7;--serif:ui-serif, Charter, "Bitstream Charter", "Iowan Old Style", Georgia, serif;--sans:ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, sans-serif;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--measure:68ch;--gutter:clamp(1.25rem, 5vw, 2.5rem)}@media (prefers-color-scheme:light){:root{--bg:#fbfaf8;--bg-raised:#f2f0ec;--border:#ddd9d2;--text:#1a1c20;--text-dim:#5c626c;--text-faint:#8b919b;--accent:#2f5bb7;--accent-dim:#cdd9f0;--warn:#a16207;--lock:#6d40b8}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scrollbar-gutter:stable}body{background:var(--bg);color:var(--text);font-family:var(--serif);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:1.0625rem;line-height:1.7}.shell{max-width:var(--measure);padding-inline:var(--gutter);margin-inline:auto}.masthead{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1.5rem;padding-block:2.5rem 3.5rem;display:flex}.wordmark{font-family:var(--mono);letter-spacing:-.01em;color:var(--text);font-size:.9375rem;font-weight:600;text-decoration:none}.wordmark span{color:var(--text-faint)}.masthead nav{font-family:var(--mono);align-items:baseline;gap:1.25rem;font-size:.8125rem;display:flex}.masthead nav a{color:var(--text-dim);text-decoration:none}.masthead nav a:hover,.masthead nav a[aria-current=page]{color:var(--text)}.account{border-inline-start:1px solid var(--border);align-items:baseline;gap:.5rem;margin-inline-start:.25rem;padding-inline-start:1.25rem;display:inline-flex}@media (width<=30rem){.account{border-inline-start:0;margin-inline-start:0;padding-inline-start:0}}.account .handle{color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:14ch;overflow:hidden}.account .signin{color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);border-radius:4px;padding:.1875rem .5rem}.account .signin:hover{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent)}.badge{letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--border);color:var(--text-faint);border-radius:3px;padding:.0625rem .375rem;font-size:.625rem}.badge[data-audience=owner]{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 35%, transparent)}.badge[data-audience=circle]{color:var(--lock);border-color:color-mix(in srgb, var(--lock) 35%, transparent)}.badge[data-status=pending]{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 35%, transparent)}.intro{max-width:54ch;margin-block-end:3.5rem}.intro h1{letter-spacing:-.015em;margin:0 0 .75rem;font-size:1.5rem;font-weight:600;line-height:1.3}.intro p{color:var(--text-dim);margin:0}.section-label{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);border-block-end:1px solid var(--border);margin-block-end:1.25rem;padding-block-end:.625rem;font-size:.6875rem}.entries{margin:0 0 3.5rem;padding:0;list-style:none}.entry{border-block-end:1px solid var(--border);grid-template-columns:5.5rem 1fr;align-items:baseline;gap:0 1.5rem;padding-block:1.125rem;display:grid}@media (width<=34rem){.entry{grid-template-columns:1fr;gap:.25rem}}.entry time{font-family:var(--mono);color:var(--text-faint);white-space:nowrap;font-size:.75rem}.entry-title{margin:0;font-size:1.0625rem;font-weight:500;line-height:1.4}.entry-title a{color:var(--text);text-decoration:none;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);text-underline-offset:3px}.entry-title a:hover{text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.entry-desc{color:var(--text-dim);grid-column:2;margin:.25rem 0 0;font-size:.9375rem;line-height:1.6}@media (width<=34rem){.entry-desc{grid-column:1}}.tier{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--border);color:var(--text-faint);vertical-align:.15em;white-space:nowrap;border-radius:3px;margin-inline-start:.5rem;padding:.125rem .4375rem;font-size:.625rem;display:inline-block}.tier[data-tier=circle]{color:var(--lock);border-color:color-mix(in srgb, var(--lock) 35%, transparent)}.tier[data-tier=private]{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 35%, transparent)}.tier[data-tier=draft]{color:var(--text-faint);border-style:dashed}.article-head{border-block-end:1px solid var(--border);margin-block-end:2.5rem;padding-block-end:2rem}.article-head h1{letter-spacing:-.02em;margin:0 0 .75rem;font-size:clamp(1.625rem,4vw,2.125rem);font-weight:600;line-height:1.2}.article-meta{font-family:var(--mono);color:var(--text-faint);flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.75rem;display:flex}.prose{padding-block-end:4rem}.prose>*+*{margin-block-start:1.4em}.prose h2{letter-spacing:-.01em;margin-block-start:2.5em;font-size:1.3125rem;font-weight:600;line-height:1.35}.prose h3{margin-block-start:2em;font-size:1.0625rem;font-weight:600}.prose a{color:var(--accent);text-underline-offset:2px}.prose code{font-family:var(--mono);background:var(--bg-raised);border:1px solid var(--border);border-radius:3px;padding:.1em .35em;font-size:.8125em}.prose pre{border:1px solid var(--border);border-radius:6px;padding:1rem 1.125rem;font-size:.8125rem;line-height:1.6;overflow-x:auto}.prose pre code{font-size:inherit;background:0 0;border:0;padding:0}.prose blockquote{border-inline-start:2px solid var(--border);color:var(--text-dim);margin-inline:0;padding-inline-start:1.25rem;font-style:italic}.prose img,.prose video{border-radius:6px;max-width:100%;height:auto}.prose table{border-collapse:collapse;width:100%;font-family:var(--sans);font-size:.875rem}.prose th,.prose td{text-align:start;border-block-end:1px solid var(--border);padding:.5rem .75rem}.prose th{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);font-size:.6875rem;font-weight:500}.notice{border:1px solid var(--border);background:var(--bg-raised);border-radius:8px;margin-block:2rem;padding:1.75rem}.notice h2{margin:0 0 .5rem;font-size:1.0625rem;font-weight:600}.notice p{color:var(--text-dim);margin:0 0 1rem;font-size:.9375rem}.notice p:last-child{margin-block-end:0}.button{font-family:var(--mono);border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem .875rem;font-size:.8125rem;text-decoration:none;display:inline-flex}.button:hover{border-color:var(--accent);color:var(--accent)}.button svg{fill:currentColor;width:1em;height:1em}.project{border-block-end:1px solid var(--border);padding-block:1.5rem}.project h2{flex-wrap:wrap;align-items:baseline;gap:.625rem;margin:0 0 .375rem;font-size:1.0625rem;font-weight:600;display:flex}.project h2 a{color:var(--text);text-decoration:none}.project p{color:var(--text-dim);margin:0 0 .75rem;font-size:.9375rem}.stack{font-family:var(--mono);color:var(--text-faint);flex-wrap:wrap;gap:.375rem;font-size:.6875rem;display:flex}.stack li{border:1px solid var(--border);border-radius:3px;padding:.0625rem .375rem;list-style:none}.project-links{font-family:var(--mono);gap:1rem;margin-block-start:.75rem;font-size:.75rem;display:flex}.project-links a{color:var(--accent);text-decoration:none}.project-links a:hover{text-decoration:underline}.colophon{border-block-start:1px solid var(--border);font-family:var(--mono);color:var(--text-faint);flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-block:2rem 4rem;font-size:.75rem;display:flex}.colophon a{color:var(--text-dim);text-decoration:none}.colophon a:hover{color:var(--accent)}.skip{position:absolute;inset-inline-start:-9999px}.skip:focus{inset-inline-start:var(--gutter);z-index:10;background:var(--bg-raised);border-radius:4px;padding:.5rem .75rem;top:.5rem}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.empty{color:var(--text-faint);font-family:var(--mono);padding-block:1rem;font-size:.8125rem}
