@font-face{font-family:"Source Serif 4";src:url(assets/fonts/SourceSerif4-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url(assets/fonts/SourceSerif4-Italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url(assets/fonts/SourceSerif4-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url(assets/fonts/JetBrainsMono-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url(assets/fonts/JetBrainsMono-Italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url(assets/fonts/JetBrainsMono-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}

:root{--bg-primary:#FAF9F5;--bg-surface:#F2F0E8;--text-primary:#141413;--text-secondary:#575653;--border-hairline:#DFDDD4;--accent-crimson:#9E2A2B;--accent-green:#2D6A4F;--font-serif:"Source Serif 4",Georgia,serif;--font-mono:"JetBrains Mono","IBM Plex Mono",ui-monospace,monospace}
@media (prefers-color-scheme:dark){:root{--bg-primary:#141413;--bg-surface:#201F1C;--text-primary:#F2F0E8;--text-secondary:#ABA89E;--border-hairline:#35342F;--accent-crimson:#E58A80;--accent-green:#7BBF9A}}

*{box-sizing:border-box}
html,body{margin:0;background:var(--bg-primary);color:var(--text-primary)}
body{font-family:var(--font-serif)}
a{color:var(--accent-crimson);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
a:focus-visible,summary:focus-visible{outline:2px solid var(--accent-crimson);outline-offset:2px}
::selection{background:var(--accent-crimson);color:#fff}

main{max-width:760px;margin:0 auto;padding:4rem 1.5rem 6rem}
.mono{font-family:var(--font-mono);font-size:.85rem}
.muted{color:var(--text-secondary)}

header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.25rem 2rem}
.id{display:flex;flex-direction:column;gap:.6rem;flex:1 1 320px;min-width:0}
h1{margin:0;font-size:2.25rem;font-weight:600;letter-spacing:-.02em;line-height:1.15}
.subtitle{margin:0;line-height:1.5}
nav{flex:0 0 auto;display:grid;grid-template-columns:auto auto;justify-content:end;gap:.5rem 1.25rem;padding-top:.6rem}

section{margin-top:3.5rem;padding-top:3.5rem;border-top:1px solid var(--border-hairline)}
.bio{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem 2rem}
.bio img{display:block;width:190px;height:auto;flex:0 0 190px;filter:grayscale(1);border-radius:10px}
.prose{margin:0;font-size:1.125rem;line-height:1.65;max-width:65ch;text-wrap:pretty}
.bio .prose{flex:1 1 320px;min-width:0}

h2{margin:0 0 1.75rem;font-family:var(--font-mono);font-size:.8125rem;font-weight:400;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary)}
h3{margin:0;font-size:1.35rem;font-weight:600;line-height:1.3;text-wrap:balance}
.version{margin:.5rem 0 0}

.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:1rem 0 1.25rem}
.pill{display:inline-flex;padding:.45rem .8rem;color:var(--text-primary);border:1px solid var(--border-hairline);border-radius:3px;text-decoration:none;cursor:pointer;list-style:none}
.pill::-webkit-details-marker{display:none}
.pill:hover{border-color:var(--accent-crimson);color:var(--accent-crimson);text-decoration:none}
.pill.primary{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary)}
.pill.primary:hover{background:var(--accent-crimson);border-color:var(--accent-crimson);color:#fff}
details[open]{flex-basis:100%}
details pre{margin:.75rem 0 0;padding:1rem 1.25rem;background:var(--bg-surface);border:1px solid var(--border-hairline);border-radius:4px;font-family:var(--font-mono);font-size:.78rem;line-height:1.6;overflow-x:auto}

figure{margin:2rem 0 0;display:flex;flex-direction:column;gap:.75rem}
.panel{background:#fff;border:1px solid var(--border-hairline);padding:1.25rem;border-radius:4px}
.panel img{display:block;width:100%;height:auto}
figcaption{font-family:var(--font-mono);font-size:.8rem;line-height:1.6;color:var(--text-secondary);font-style:italic}
.next{margin:1.25rem 0 0;line-height:1.6}

.offer{background:var(--bg-surface);border-left:3px solid var(--accent-crimson);padding:1.25rem 1.5rem;margin:1.5rem 0}
.offer-title{margin:0 0 1rem;font-weight:700;letter-spacing:.04em}
.offer ol{margin:0;padding-left:1.4rem;display:flex;flex-direction:column;gap:.85rem;font-size:1.0625rem;line-height:1.6}
.offer strong{font-weight:600}
.cta{margin:0}
