:root{--bg:#fbfaf8;--fg:#1a1a18;--muted:#6b6a66;--accent:#0f766e;--border:#e4e1da;--card:#fff;--code-bg:#f1efe9;--max-width:720px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#14130f;--fg:#efece5;--muted:#a19d92;--accent:#5eead4;--border:#2c2a24;--card:#1b1a15;--code-bg:#201f19}}:root[data-theme=dark]{--bg:#14130f;--fg:#efece5;--muted:#a19d92;--accent:#5eead4;--border:#2c2a24;--card:#1b1a15;--code-bg:#201f19}*{box-sizing:border-box}html{color-scheme:light dark}body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,sans-serif;line-height:1.6}.wrap{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.site-nav{border-bottom:1px solid var(--border);position:relative;overflow:hidden}.site-nav:after{content:"";background:linear-gradient(90deg, transparent, var(--accent) 85%, var(--accent) 100%);width:140px;height:2px;box-shadow:0 0 14px 2px var(--accent);opacity:0;pointer-events:none;border-radius:999px;animation:1.7s cubic-bezier(.22,1,.36,1) forwards nav-sweep;position:absolute;bottom:-1px;left:-140px}@keyframes nav-sweep{0%{opacity:0;left:-140px}8%{opacity:1}80%{opacity:1}to{opacity:0;left:100%}}@media (prefers-reduced-motion:reduce){.site-nav:after{animation:none}}.site-nav .wrap{justify-content:space-between;align-items:center;max-width:860px;padding-top:1.1rem;padding-bottom:1.1rem;display:flex}.site-nav .brand{color:var(--fg);font-size:1.05rem;font-weight:700;transition:color .15s}.site-nav .brand:hover,.site-nav .brand .dot{color:var(--accent)}.nav-right{align-items:center;gap:1.25rem;display:flex}.site-nav nav{gap:1.25rem;display:flex}.site-nav nav a{color:var(--muted);font-size:.95rem;transition:color .15s}.site-nav nav a.active{color:var(--fg)}.site-nav nav a:hover{color:var(--accent)}.theme-toggle{font:inherit;color:var(--muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:999px;padding:.2rem .65rem;font-size:.8rem;line-height:1.4}.theme-toggle:hover{color:var(--fg);border-color:var(--fg)}main.wrap{min-height:60vh;padding-top:2.5rem;padding-bottom:4rem}h1,h2,h3{line-height:1.25}h1{margin-bottom:.5rem;font-size:2.1rem}h2{margin-top:2.2rem;font-size:1.4rem}.lede{color:var(--muted);font-size:1.1rem}.tag{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:.15rem .6rem;font-size:.75rem;display:inline-block}.card-list{gap:1rem;margin-top:1.5rem;padding:0;list-style:none;display:grid}.card{border:1px solid var(--border);background:var(--card);border-radius:10px;padding:1.2rem 1.4rem}.card h3{margin:0 0 .35rem;font-size:1.1rem}.card p{color:var(--muted);margin:.35rem 0 .5rem}.card .meta{align-items:center;gap:.6rem;margin-bottom:.5rem;display:flex}.card.has-image{justify-content:space-between;align-items:center;gap:1.2rem;display:flex}.card-body{flex:1;min-width:0}.card-image{border:1px solid var(--border);border-radius:8px;flex-shrink:0;width:120px;height:84px;display:block;overflow:hidden}.card-image img{object-fit:cover;width:100%;height:100%;display:block}@media (width<=520px){.card.has-image{flex-direction:column;align-items:stretch}.card-image{width:100%;height:160px}}.hero-image{border:1px solid var(--border);border-radius:10px;max-width:480px;margin:1rem 0 1.5rem;display:block;overflow:hidden}.hero-image img{width:100%;height:auto;display:block}.post-list{margin-top:1.5rem;padding:0;list-style:none}.post-list li{border-bottom:1px solid var(--border);padding:.9rem 0}.post-list time{color:var(--muted);margin-top:.2rem;font-size:.85rem;display:block}.post-list a{color:var(--fg);font-size:1.05rem;font-weight:600}.prose{max-width:var(--max-width)}.prose p{margin:1.1rem 0}.prose pre{background:var(--code-bg);border-radius:8px;padding:1rem;overflow-x:auto}.prose code{background:var(--code-bg);border-radius:4px;padding:.15rem .35rem;font-size:.9em}.prose pre code{background:0 0;padding:0}.site-footer{border-top:1px solid var(--border);margin-top:3rem}.site-footer .wrap{color:var(--muted);padding:1.5rem;font-size:.85rem}
