:root{--fg:#222;--muted:#888;--bg:#fdfdfb;--accent:#7a3e9d;--line:#e6e6e6;--code:#f4f4f2}@media(prefers-color-scheme:dark){:root{--fg:#ddd;--muted:#888;--bg:#161616;--accent:#c79ae6;--line:#2c2c2c;--code:#222}}*{box-sizing:border-box}html{font-size:17px}body{max-width:42rem;margin:0 auto;padding:2rem 1.25rem;color:var(--fg);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,segoe ui,pingfang sc,hiragino sans gb,noto sans cjk sc,microsoft yahei,sans-serif;line-height:1.75}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:1.6rem;line-height:1.3;margin:0 0 .5rem}h2{font-size:1.25rem;margin-top:2rem}h3{font-size:1.05rem}.site-header{display:flex;flex-wrap:wrap;align-items:baseline;gap:.75rem;padding-bottom:1rem;margin-bottom:2.5rem;border-bottom:1px solid var(--line)}.brand{font-weight:700;font-size:1.15rem;color:var(--fg)}.site-header nav{margin-left:auto;display:flex;gap:1rem}.site-header nav a{color:var(--muted)}.site-header nav a:hover{color:var(--accent)}.callsign{font-family:ui-monospace,sf mono,Menlo,monospace;font-size:.8rem;letter-spacing:.05em;padding:0 .4em;border:1px solid var(--line);border-radius:3px;color:var(--muted)}.intro{margin-bottom:2rem}.tagline{color:var(--muted);margin:0}.year{color:var(--muted);font-size:1rem;font-weight:400;margin:2rem 0 .5rem}.posts{list-style:none;padding:0;margin:0}.posts li{display:flex;gap:1rem;padding:.3rem 0}.posts time{flex:none;color:var(--muted);font-family:ui-monospace,sf mono,Menlo,monospace;font-size:.85rem;padding-top:.15rem}.more{margin-top:1.5rem}.terms{padding-left:1.2rem}.terms small{color:var(--muted)}.meta{color:var(--muted);font-size:.9rem;margin:0 0 2rem}.content img{max-width:100%;height:auto}.content blockquote{margin:1rem 0;padding:0 1rem;border-left:3px solid var(--line);color:var(--muted)}.content table{width:100%;border-collapse:collapse;font-size:.85rem;display:block;overflow-x:auto}.content th,.content td{border:1px solid var(--line);padding:.3rem .5rem;text-align:left}code{background:var(--code);padding:.1em .3em;border-radius:3px;font-size:.9em}pre{background:var(--code);padding:1rem;overflow-x:auto;border-radius:4px;line-height:1.5}pre code{padding:0;background:0 0}.tags{margin-top:2rem}.tags a{margin-right:.5rem;font-size:.9rem}.pager{display:flex;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.9rem}.site-footer{display:flex;flex-wrap:wrap;gap:.75rem;align-items:baseline;margin-top:4rem;padding-top:1rem;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem}.site-footer a{color:var(--muted)}