:root{color-scheme:light;--bg: #f8fafc;--surface: #ffffff;--text: #0f172a;--muted: #64748b;--border: #e2e8f0;--accent: #2563eb;--accent-bg: #eff6ff;--card-shadow: 0 4px 6px -1px rgb(0 0 0 / .05), 0 2px 4px -2px rgb(0 0 0 / .05);--card-shadow-hover: 0 10px 15px -3px rgb(0 0 0 / .08), 0 4px 6px -4px rgb(0 0 0 / .05);--max: 720px;font-family:Inter,Noto Sans SC,system-ui,sans-serif;line-height:1.75}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--bg: #0f111a;--surface: #1e212b;--text: #e2e8f0;--muted: #94a3b8;--border: #334155;--accent: #60a5fa;--accent-bg: rgba(96, 165, 250, .15);--card-shadow: 0 4px 6px -1px rgb(0 0 0 / .2), 0 2px 4px -2px rgb(0 0 0 / .2);--card-shadow-hover: 0 10px 15px -3px rgb(0 0 0 / .4), 0 4px 6px -4px rgb(0 0 0 / .2)}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);transition:background-color .3s ease,color .3s ease}a{color:var(--accent);text-decoration:none;transition:color .2s ease}a:hover{text-decoration:underline}.wrap{width:min(100% - 2rem,960px);margin-inline:auto}.site-header{border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 85%,transparent);backdrop-filter:blur(12px);position:sticky;top:0;z-index:10;transition:background-color .3s ease,border-color .3s ease}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;padding:.85rem 0}.brand{font-weight:700;color:var(--text);text-decoration:none;font-size:1.1rem}.brand:hover{text-decoration:none;color:var(--accent)}.site-header nav{display:flex;gap:1.25rem;font-size:.95rem}.hero{padding:3.5rem 0 1.5rem}.hero h1{margin:0 0 .5rem;font-size:2.25rem;font-weight:800;letter-spacing:-.025em}.lede{margin:0;color:var(--muted);font-size:1.1rem}.post-list{list-style:none;padding:0;margin:2rem 0 4rem;display:grid;gap:1.5rem}.post-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem;box-shadow:var(--card-shadow);transition:transform .25s ease,box-shadow .25s ease,border-color .3s ease,background-color .3s ease;height:100%}.post-card:hover{transform:translateY(-2px);box-shadow:var(--card-shadow-hover);border-color:var(--accent)}.post-card time,.series{font-size:.85rem;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.series{margin-left:.5rem;color:var(--accent)}.post-card h2{margin:.5rem 0;font-size:1.4rem;font-weight:700;line-height:1.3}.post-card h2 a{color:inherit;text-decoration:none}.post-card h2 a:hover{color:var(--accent);text-decoration:none}.post-card p{margin:0 0 1rem;color:var(--muted);font-size:.95rem}.tags{display:flex;flex-wrap:wrap;gap:.5rem}.tag{font-size:.75rem;padding:.2rem .6rem;border-radius:999px;background:var(--accent-bg);color:var(--accent);font-weight:500;border:1px solid color-mix(in srgb,var(--accent) 20%,transparent)}.prose{max-width:var(--max);margin:0 auto 3rem;padding:2.5rem 0 2rem}.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin:0 0 1.25rem;font-size:.9rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:var(--muted)}.breadcrumb a{color:var(--muted);text-decoration:none}.breadcrumb a:hover{color:var(--accent);text-decoration:underline}.breadcrumb .sep{color:color-mix(in srgb,var(--muted) 70%,transparent);user-select:none}.breadcrumb .current{color:var(--text);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.post-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.post-header h1{margin:.5rem 0 1rem;line-height:1.3;font-size:2rem;font-weight:800;letter-spacing:-.025em}.meta,.dek{color:var(--muted);font-size:.95rem}.meta time{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.prose p{margin:1.25rem 0}.prose :global(h2){margin-top:2.5rem;margin-bottom:1rem;font-size:1.5rem;font-weight:700}.prose :global(h3){margin-top:2rem;margin-bottom:.75rem;font-size:1.25rem;font-weight:600}.prose :global(blockquote){margin:1.5rem 0;padding:.75rem 1.25rem;border-left:4px solid var(--accent);background:var(--accent-bg);border-radius:0 8px 8px 0;color:var(--text)}.prose :global(blockquote) p{margin:.5rem 0}.prose :global(pre){padding:1.25rem;border-radius:8px;border:1px solid var(--border);overflow-x:auto;font-size:.9rem;margin:1.5rem 0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.prose :global(code){font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.85em;padding:.15em .3em;border-radius:4px;background:var(--accent-bg);color:var(--accent)}.prose :global(pre code){padding:0;background:transparent;color:inherit;border-radius:0}.prose :global(ul),.prose :global(ol){margin:1.25rem 0;padding-left:1.5rem}.prose :global(li){margin-bottom:.5rem}.prose :global(table){width:100%;border-collapse:collapse;font-size:.95rem;margin:2rem 0;border:1px solid var(--border)}.prose :global(th),.prose :global(td){border:1px solid var(--border);padding:.75rem 1rem;text-align:left}.prose :global(th){background:var(--surface);font-weight:600;border-bottom:2px solid var(--border)}.prose :global(hr){border:none;border-top:1px solid var(--border);margin:3rem 0}.site-footer{padding:2.5rem 0;color:var(--muted);font-size:.9rem;border-top:1px solid var(--border);text-align:center}.prose :global(.katex-display){margin:1.5rem 0;overflow-x:auto;overflow-y:hidden;padding:.25rem 0}.prose :global(.katex){font-size:1.05em}.series-nav{margin-top:2rem;padding-top:1.5rem;border-top:1px dashed var(--border);display:flex;align-items:center;gap:1rem}.series-label{font-size:.9rem;font-weight:600;color:var(--text);white-space:nowrap}.series-tags{display:flex;flex-wrap:wrap;gap:.75rem}.series-pill{font-size:.85rem;padding:.35rem .85rem;border-radius:6px;background:var(--surface);color:var(--text);border:1px solid var(--border);font-weight:500;transition:all .2s ease;box-shadow:0 1px 2px #0000000d}.series-pill:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px);text-decoration:none;box-shadow:0 4px 6px -1px #0000001a}.section-title{margin:0 0 1.5rem;font-size:1.25rem;font-weight:700;color:var(--text)}.post-card .series a{color:inherit;text-decoration:none}.post-card .series a:hover{text-decoration:underline}.meta a{color:inherit}
