:root{--paper: #f7f7f4;--ink: #17191c;--blue: #1d4ed8;--terminal: #1e2430;--terminal-sky: #7dd3fc;--terminal-dim: #94a3b8;--muted: #6b7280;--rule: #e3e4df;--font-display: "Space Grotesk", "Noto Sans SC", system-ui, sans-serif;--font-body: "Noto Sans SC", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:16.5px;line-height:1.75}::selection{background:var(--blue);color:#fff}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}a:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:2px}.wrap{max-width:1060px;margin:0 auto;padding:0 24px}.site-header{border-bottom:1px solid var(--rule)}.site-header .wrap{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-top:18px;padding-bottom:18px;flex-wrap:wrap}.wordmark{font-family:var(--font-display);font-size:20px;font-weight:700;letter-spacing:.01em;color:var(--ink)}.wordmark:hover{text-decoration:none;color:var(--blue)}.wordmark .dot{color:var(--blue)}.site-nav{display:flex;gap:26px;font-size:15px}.site-nav a{color:var(--ink)}.site-nav a:hover{color:var(--blue);text-decoration:none}.terminal{background:var(--terminal);border-radius:10px;margin:40px 0 8px;overflow:hidden;box-shadow:0 24px 50px -28px #1e24308c}.terminal-bar{display:flex;align-items:center;gap:7px;padding:12px 16px;background:#252b38}.terminal-bar .dot{width:12px;height:12px;border-radius:50%}.terminal-bar .r{background:#ff5f57}.terminal-bar .y{background:#febc2e}.terminal-bar .g{background:#28c840}.terminal-bar .title{margin-left:8px;font-family:var(--font-mono);font-size:12px;color:#7d8590}.terminal-body{padding:20px 22px 24px;font-family:var(--font-mono);font-size:13.5px;line-height:1.9;color:#e2e8f0;overflow-x:auto}.terminal-body p{margin:0;white-space:nowrap}.terminal-body .user{color:var(--terminal-sky)}.terminal-body .dim{color:var(--terminal-dim)}.cursor{display:inline-block;width:8px;height:15px;margin-left:2px;vertical-align:-2px;background:var(--terminal-sky);animation:blink 1.1s steps(1) infinite}@keyframes blink{0%,55%{opacity:1}56%,to{opacity:0}}@media(prefers-reduced-motion:reduce){.cursor{animation:none}}.blog-intro{max-width:62ch;margin:26px 0 0;font-size:17px;color:var(--ink)}.blog-intro .soft{color:var(--muted)}.featured{display:block;color:var(--ink);padding:44px 0 40px;border-bottom:1px solid var(--ink)}.featured:hover{text-decoration:none}.featured:hover .featured-title{color:var(--blue)}.featured-meta{display:flex;gap:18px;flex-wrap:wrap;font-size:14px;color:var(--muted);margin-bottom:14px}.featured-meta .cat{color:var(--blue);font-weight:600}.featured-title{font-family:var(--font-display);font-size:clamp(28px,4.6vw,42px);font-weight:700;line-height:1.3;margin:0 0 14px;transition:color .15s ease}.featured-desc{max-width:68ch;margin:0;color:#3c4148;font-size:17px}.read-more{display:inline-block;margin-top:18px;font-size:15px;font-weight:600}.post-rows{margin:8px 0 0}.post-row{display:grid;grid-template-columns:108px 1fr;gap:8px 28px;padding:26px 0;border-bottom:1px solid var(--rule);color:var(--ink)}.post-row:hover{text-decoration:none}.post-row:hover .row-title{color:var(--blue)}.row-date{font-family:var(--font-display);padding-top:3px}.row-date .md{display:block;font-size:17px;font-weight:700}.row-date .yr{display:block;font-size:13px;color:var(--muted);margin-top:2px}.row-meta{display:flex;gap:16px;font-size:13.5px;color:var(--muted);margin-bottom:5px}.row-meta .cat{color:var(--blue);font-weight:600}.row-title{font-family:var(--font-display);font-size:21px;font-weight:700;line-height:1.4;margin:0 0 6px;transition:color .15s ease}.row-desc{margin:0;color:#3c4148;font-size:15.5px;max-width:68ch}.about-strip{display:grid;grid-template-columns:180px 1fr;gap:8px 28px;padding:44px 0 10px}.about-strip h2{font-family:var(--font-display);font-size:19px;margin:4px 0 0}.about-strip p{margin:0;max-width:66ch;color:#3c4148}.post-head{padding:52px 0 8px;max-width:76ch}.post-head .featured-meta{margin-bottom:16px}.post-head h1{font-family:var(--font-display);font-size:clamp(27px,4.2vw,38px);line-height:1.35;margin:0 0 16px}.post-head .lede{font-size:17.5px;color:#3c4148;margin:0}.prose{max-width:72ch;padding-bottom:24px}.prose p{margin:0 0 1.35em}.prose h2{font-family:var(--font-display);font-size:22px;margin:1.9em 0 .7em;line-height:1.45}.prose code{font-family:var(--font-mono);font-size:.88em;background:#eceee9;padding:.12em .36em;border-radius:4px}.prose pre{background:var(--terminal);color:#e2e8f0;border-radius:8px;padding:16px 18px;overflow-x:auto;line-height:1.65}.prose pre code{background:none;padding:0;color:inherit}.back-link{display:inline-block;margin:40px 0 60px;font-size:15px}.page-head{padding:52px 0 8px}.page-head h1{font-family:var(--font-display);font-size:clamp(27px,4vw,36px);margin:0 0 14px}.page-body{max-width:72ch;padding-bottom:70px}.page-body p{margin:0 0 1.35em;color:#26292e}.site-footer{border-top:1px solid var(--rule);margin-top:56px}.site-footer .wrap{display:flex;justify-content:space-between;align-items:baseline;gap:14px;flex-wrap:wrap;padding-top:24px;padding-bottom:34px;font-size:14px;color:var(--muted)}.footer-links{display:flex;gap:24px}.footer-links a{color:var(--ink)}.footer-links a:hover{color:var(--blue);text-decoration:none}@media(max-width:640px){.post-row{grid-template-columns:1fr;gap:6px}.row-date .md{display:inline;font-size:15px}.row-date .yr{display:inline;margin-left:8px}.about-strip{grid-template-columns:1fr}.terminal-body p{white-space:normal;word-break:break-all}}
