@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap");:root{--bg: #111827;--fg: #111827;--fg-muted: #6b7280;--fg-subtle: #9ca3af;--accent: #4f46e5;--accent-hover: #4338ca;--accent-light: #eef2ff;--surface: #ffffff;--border: #e5e7eb;--border-light: #f3f4f6;--font-mono: "JetBrains Mono", "SF Mono", monospace;--font-sans: "Inter", -apple-system, system-ui, sans-serif;--max-width: 640px;--radius: 6px}*{margin:0;padding:0;box-sizing:border-box}html{font-size:15.5px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{font-family:var(--font-sans);background:var(--bg);color:var(--fg);line-height:1.6;min-height:100vh;display:flex;flex-direction:column}::selection{background:var(--accent-light);color:var(--accent)}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}header{padding:1.5rem 1.25rem .25rem;max-width:var(--max-width);width:100%;margin:0 auto}header .site-title{font-size:.95rem;font-weight:600;color:#e5e7eb}header .site-title:hover{color:#fff}main{max-width:var(--max-width);width:100%;margin:0 auto;padding:1rem 1.25rem 3rem;flex:1}.intro{margin-bottom:2rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border)}.intro h1{font-size:1.5rem;font-weight:700;letter-spacing:-.03em;margin-bottom:.15rem}.intro .tagline{color:var(--fg-muted);font-size:.9rem}.posts h1{font-size:1.2rem;margin-bottom:1.25rem}.posts>.post{margin-bottom:1.5rem}.post-meta{display:flex;align-items:baseline;justify-content:flex-end;gap:.5rem;margin-top:1rem;font-family:var(--font-mono);font-size:.85rem;color:var(--fg-subtle)}.post-number{font-weight:600;color:var(--fg);text-decoration:none}.post-number:hover{color:var(--accent)}.post-summary{margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border-light)}.post-summary:last-child{border-bottom:none}.post-summary h2{font-size:1rem;font-weight:600;margin:.1rem 0 .2rem}.post-summary h2 a{color:var(--fg)}.post-summary h2 a:hover{color:var(--accent)}.post-summary .post-desc{color:var(--fg-muted);font-size:.85rem}.post{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius);padding:1.25rem}.post .post-content h2{font-size:1.1rem;margin:1.75rem 0 .5rem;font-weight:600}.post .post-content h3{font-size:.95rem;margin:1.25rem 0 .35rem;font-weight:600}.post .post-content p{margin-bottom:.75rem}.post .post-content ul,.post .post-content ol{margin:.35rem 0 .85rem 1.25rem}.post .post-content ul li,.post .post-content ol li{margin-bottom:.2rem}.post .post-content ul li::marker,.post .post-content ol li::marker{color:var(--fg-subtle)}.post .post-content blockquote{border-left:2px solid var(--accent);padding:.4rem .85rem;margin:1rem 0;color:var(--fg-muted);background:var(--surface);border-radius:0 var(--radius) var(--radius) 0;font-style:italic;font-size:.95rem}.post .post-content code{font-family:var(--font-mono);font-size:.82em;background:var(--surface);padding:.15em .35em;border-radius:3px;border:1px solid var(--border-light)}.post .post-content pre{background:#1e1e2e;color:#cdd6f4;padding:.85rem 1rem;border-radius:var(--radius);overflow-x:auto;margin:.85rem 0;font-size:.82rem;line-height:1.55}.post .post-content pre code{background:none;padding:0;color:inherit;border:none}.post .post-content pre.mermaid{background:none;color:var(--fg);border:none;padding:0}.post .post-content table{width:100%;border-collapse:collapse;margin:.85rem 0;font-size:.88rem;display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.post .post-content table th,.post .post-content table td{text-align:left;padding:.4rem .6rem;border-bottom:1px solid var(--border)}.post .post-content table th{font-weight:600;font-size:.82rem;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.03em}.post .post-content table tr:last-child td{border-bottom:none}.post .post-content table tbody tr:hover{background:var(--surface)}.post .post-content .footnote-reference{position:relative;display:inline-block;cursor:help}.post .post-content .footnote-reference a{color:var(--accent);font-weight:600;font-size:.75em}.post .post-content .fn-tooltip{position:absolute;top:100%;left:0;background:var(--fg);color:var(--surface);font-size:.78rem;line-height:1.5;padding:.5rem .75rem;border-radius:var(--radius);width:max-content;max-width:300px;max-height:200px;overflow-y:auto;margin-top:.35rem;pointer-events:auto;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease;z-index:10}.post .post-content .fn-tooltip strong{font-weight:600}.post .post-content .fn-tooltip em{font-style:italic}.post .post-content .fn-tooltip a{color:#93c5fd;text-decoration:underline}.post .post-content .fn-tooltip a:hover{color:#bfdbfe}.post .post-content .fn-tooltip p{margin:.25rem 0}.post .post-content .fn-tooltip p:first-child{margin-top:0}.post .post-content .fn-tooltip p:last-child{margin-bottom:0}.post .post-content .fn-tooltip blockquote{border-left:2px solid rgba(255,255,255,.3);padding-left:.5rem;margin:.35rem 0;font-style:italic;color:rgba(255,255,255,.8);background:none}.post .post-content .fn-tooltip code{font-family:var(--font-mono);font-size:.85em;background:rgba(255,255,255,.15);padding:.1em .3em;border-radius:3px;border:none}.post .post-content .footnote-reference:hover .fn-tooltip,.post .post-content .footnote-reference.active .fn-tooltip,.post .post-content .fn-tooltip:hover{opacity:1;visibility:visible}.post .post-content hr{border:none;border-top:1px solid var(--border);margin:1.5rem 0}.post .post-content .mermaid{margin:1rem 0;text-align:center;overflow-x:auto}footer{max-width:var(--max-width);width:100%;margin:0 auto;padding:1.5rem 1.25rem;border-top:1px solid #1f2937}footer blockquote{font-style:italic;color:#6b7280;font-size:.8rem;border-left:2px solid #4f46e5;padding-left:.75rem;line-height:1.5}@media (max-width: 480px){html{font-size:14.5px}header{padding:1rem 1rem .25rem}main{padding:.75rem .75rem 2rem}.post{padding:1rem;border-radius:4px}.fn-tooltip{position:fixed !important;top:auto !important;bottom:0 !important;left:0 !important;right:0 !important;width:100% !important;max-width:100% !important;max-height:40vh !important;border-radius:12px 12px 0 0 !important;margin:0 !important;padding:1rem !important;font-size:.85rem !important}footer{padding:1rem}}