:root{--bg: #fbfaf8;--surface: #ffffff;--text: #1c1b1a;--muted: #6b6660;--line: #e7e3dd;--accent: #1f5c4d;--accent-soft: #e8f0ed;--radius: 14px;--maxw: 760px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.65;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 1.25rem}.site-header{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:saturate(180%) blur(8px);position:sticky;top:0;z-index:10}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:60px}.brand{font-weight:700;letter-spacing:-.01em;color:var(--text)}.brand:hover{text-decoration:none}.nav{display:flex;gap:1.25rem;align-items:center}.nav a{color:var(--muted);font-size:.95rem}.nav a:hover{color:var(--text);text-decoration:none}.nav .lang-toggle{border:1px solid var(--line);border-radius:999px;padding:.1rem .6rem;font-size:.8rem;font-weight:600;color:var(--muted)}.nav .lang-toggle:hover{color:var(--accent);border-color:var(--accent);text-decoration:none}.site-footer{border-top:1px solid var(--line);margin-top:4rem;padding:2rem 0;color:var(--muted);font-size:.9rem}.site-footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem}h1{font-size:2.1rem;line-height:1.15;letter-spacing:-.02em;margin:0 0 .4rem}h2{font-size:1.4rem;letter-spacing:-.01em;margin:2.5rem 0 1rem}h3{font-size:1.1rem;margin:0 0 .2rem}p{margin:0 0 1rem}.lead{font-size:1.15rem;color:var(--muted)}.hero{padding:3rem 0 1rem}.hero .headline{color:var(--accent);font-weight:600;margin-bottom:.25rem}.hero .location{color:var(--muted);font-size:.95rem}.badge{display:inline-block;background:var(--accent-soft);color:var(--accent);font-size:.8rem;font-weight:600;padding:.2rem .65rem;border-radius:999px;margin-top:.75rem}.entry{border-left:2px solid var(--line);padding:0 0 1.75rem 1.25rem;position:relative}.entry:before{content:"";position:absolute;left:-5px;top:6px;width:8px;height:8px;border-radius:50%;background:var(--accent)}.entry:last-child{padding-bottom:0}.entry .org{color:var(--muted);font-size:.95rem}.entry .meta{color:var(--muted);font-size:.85rem;margin:.1rem 0 .6rem}.entry p{margin-bottom:0}.tags{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0}.tags li{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:.3rem .8rem;font-size:.85rem}.tags.small{margin-top:.6rem}.tags.small li{padding:.15rem .6rem;font-size:.78rem}.tags li a{color:var(--muted)}.tags li a:hover{color:var(--accent);text-decoration:none}.topic-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--line)}.topic-bar .pill{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;padding:.35rem .9rem;font-size:.9rem;transition:all .15s ease}.topic-bar .pill:hover{color:var(--accent);border-color:var(--accent);text-decoration:none}.topic-bar .pill.active{background:var(--accent);border-color:var(--accent);color:#fff}.quote{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem 1.5rem;margin:0 0 1rem}.quote p{font-style:italic}.quote .by{font-style:normal;color:var(--muted);font-size:.9rem;margin:0}.post-list{list-style:none;padding:0;margin:0}.post-list li{padding:1.25rem 0;border-bottom:1px solid var(--line)}.post-list li:last-child{border-bottom:none}.post-list time{color:var(--muted);font-size:.85rem}.post-list h3{margin:.2rem 0 .3rem}.post-list p{margin:0;color:var(--muted)}.prose{font-size:1.05rem}.prose img{border-radius:var(--radius)}.prose pre{background:#f4f2ee;padding:1rem;border-radius:var(--radius);overflow-x:auto}.prose code{background:#f0eee9;padding:.1rem .35rem;border-radius:6px;font-size:.9em}.prose pre code{background:none;padding:0}.post-head{margin-bottom:2rem}.post-head time{color:var(--muted);font-size:.9rem}.back{font-size:.9rem}@media (max-width: 520px){h1{font-size:1.7rem}.nav{gap:.9rem}}
