body.page.writing #bg-canvas{display:none!important}body.page.writing{background:var(--bg)}body.page.writing .project-title{font-family:JetBrains Mono,monospace;font-weight:700;font-size:1.75rem;line-height:1.25;letter-spacing:-.01em;margin:0 0 8px}body.page.writing .article-subtitle{font-family:JetBrains Mono,monospace;font-style:italic;font-size:1.05rem;color:color-mix(in srgb,var(--fg) 78%,transparent);margin:0 0 14px;line-height:1.5;max-width:70ch}body.page.writing .article-project-crumb{margin:4px 0 20px;font-family:JetBrains Mono,monospace;font-size:.82rem}body.page.writing .article-project-crumb a{color:var(--muted);text-decoration:none;transition:color .15s ease}body.page.writing .article-project-crumb a:hover{color:var(--accent)}body.page.writing .article-header{margin:0 0 56px}body.page.writing .article-header .project-title{margin:0 0 8px}body.page.writing .article-header .article-subtitle{margin:0 0 14px}body.page.writing .article-date{display:block;font-family:JetBrains Mono,monospace;font-size:.82rem;color:var(--muted);letter-spacing:.02em;margin-bottom:20px}body.page.writing .article-formats{display:flex;flex-wrap:wrap;gap:12px}body.page.writing .article-formats .format-link{display:inline-block;padding:8px 22px;border:1px solid var(--border);border-radius:4px;background:transparent;font-family:JetBrains Mono,monospace;font-size:.9rem;color:var(--accent);text-decoration:none;text-align:center;min-width:80px;cursor:pointer;transition:border-color .15s ease,background .15s ease}body.page.writing .article-formats button.format-link{line-height:1.4}body.page.writing .article-formats .format-link:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}body.page.writing hr.article-divider{display:none}body.page.writing .article-toc{margin:0 0 56px;font-family:JetBrains Mono,monospace;font-size:.9rem;line-height:1.5}body.page.writing .article-toc .toc-rule{border:none;border-top:1px solid var(--border);margin:0}body.page.writing .article-toc .toc-heading{font-family:JetBrains Mono,monospace;font-size:1.1rem;font-weight:700;color:var(--fg);margin:20px 0 16px;padding:0;letter-spacing:-.005em}body.page.writing .article-toc>nav{margin-bottom:20px}body.page.writing .article-toc ul{list-style:none;padding:0;margin:0;counter-reset:toc}body.page.writing .article-toc li{counter-increment:toc;margin:0}body.page.writing .article-toc li:before{content:counter(toc,decimal-leading-zero) ":\a0\a0";color:var(--muted);opacity:.6}body.page.writing .article-toc a{color:var(--fg);text-decoration:none;transition:color .15s ease}body.page.writing .article-toc a:hover{color:var(--accent)}body.page.writing .article-abstract{font-family:JetBrains Mono,monospace;font-style:italic;font-size:.95rem;line-height:1.65;color:color-mix(in srgb,var(--fg) 80%,transparent);padding-left:16px;border-left:2px solid var(--border);margin:0 0 36px;max-width:72ch}body.page.writing main p,body.page.writing main li,body.page.writing main blockquote,body.page.writing main table td,body.page.writing main table th{font-size:16.5px;line-height:1.75}body.page.writing main h2{font-size:1.35rem;letter-spacing:-.005em;margin-top:2.6em;margin-bottom:.7em}body.page.writing main h3{font-size:1.1rem;margin-top:2.2em;margin-bottom:.6em}body.page.writing main p{margin-bottom:1.3em}body.page.writing main ul,body.page.writing main ol{margin-bottom:1.3em}@media (max-width: 700px){body.page.writing .project-title{font-size:1.5rem}body.page.writing .article-subtitle{font-size:1rem}body.page.writing main p,body.page.writing main li{font-size:16px;line-height:1.7}}
