
:root{color-scheme:light;--bg:#fff;--fg:#1b1b1f;--muted:#666a73;--line:#d9dde4;--soft:#f5f6f8;--link:#064f9e;--code:#f0f2f5;--accent:#e9eef6;--system-font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--text-font:"IBM Plex Sans",Inter,var(--system-font);--ui-font:"IBM Plex Sans",Inter,var(--system-font);--mono-font:"IBM Plex Mono",ui-monospace,"SF Mono",SFMono-Regular,"Cascadia Code","Liberation Mono",Menlo,Consolas,monospace}
@media(prefers-color-scheme:dark){:root{color-scheme:dark;--bg:#17181c;--fg:#e7e8ec;--muted:#a7abb5;--line:#363943;--soft:#202229;--link:#8ab4ff;--code:#292c35;--accent:#242936}}
:root[data-theme=light]{color-scheme:light;--bg:#fff;--fg:#1b1b1f;--muted:#666a73;--line:#d9dde4;--soft:#f5f6f8;--link:#064f9e;--code:#f0f2f5;--accent:#e9eef6}
:root[data-theme=dark]{color-scheme:dark;--bg:#17181c;--fg:#e7e8ec;--muted:#a7abb5;--line:#363943;--soft:#202229;--link:#8ab4ff;--code:#292c35;--accent:#242936}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:17px/1.68 var(--text-font);font-kerning:normal;text-rendering:optimizeLegibility}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}
.site-header{border-bottom:1px solid var(--line)}nav,main,.site-footer{max-width:900px;margin:auto;padding:0 22px}.site-header nav{display:flex;gap:18px;align-items:center;min-height:62px;overflow-x:auto}.brand{font-weight:700;margin-right:auto;color:var(--fg)}
nav,.site-footer,.meta,.entry footer,.entry-tags,.post-tags,.terms,.search,.theme-toggle{font-family:var(--ui-font)}.theme-toggle{flex:0 0 auto;min-width:54px;height:34px;margin-left:-4px;padding:0 .7em;border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--fg);font:600 .82rem/1 var(--ui-font);cursor:pointer}.theme-toggle::before{content:"Dark"}@media(prefers-color-scheme:dark){.theme-toggle::before{content:"Light"}}:root[data-theme=light] .theme-toggle::before{content:"Dark"}:root[data-theme=dark] .theme-toggle::before{content:"Light"}.theme-toggle:hover{background:var(--soft)}.theme-toggle:focus-visible{outline:2px solid var(--link);outline-offset:2px}
main{padding-top:28px;padding-bottom:48px}.site-footer{border-top:1px solid var(--line);color:var(--muted);font-size:.9rem;padding-top:22px;padding-bottom:30px}
h1,h2,h3,h4,h5,h6{line-height:1.2;margin:1.75em 0 .55em;font-weight:600}h1{font-size:2.1rem}h2{font-size:1.55rem}h3{font-size:1.25rem}p,ul,ol,blockquote,pre,table,figure,details{margin:1em 0}.anchor{visibility:hidden;margin-left:.35em;font-size:.75em}h1:hover .anchor,h2:hover .anchor,h3:hover .anchor,h4:hover .anchor{visibility:visible}
.entry{position:relative;border-top:1px solid var(--line);padding:22px 0}.entry h2{font-size:1.35rem;margin:.1em 0 .35em}.entry p{margin:.3em 0;color:var(--muted)}.entry footer,.meta{color:var(--muted);font-size:.92rem}.entry-tags{display:block;margin-top:.35em}.entry-tags a,.post-tags a{display:inline-block;margin:.25em .35em .25em 0;padding:.12em .55em;border:1px solid var(--line);border-radius:999px;color:var(--muted)}
.home-info{padding-bottom:18px}.post header{border-bottom:1px solid var(--line);margin-bottom:26px}.content{overflow-wrap:anywhere}.content a{text-decoration:underline;text-decoration-thickness:.06em;text-underline-offset:.16em}
blockquote{border-left:4px solid var(--line);padding-left:1em;color:var(--muted)}pre{overflow:auto;background:var(--code);border:1px solid var(--line);border-radius:6px;padding:14px;font-size:.88rem;line-height:1.5}code{font-family:var(--mono-font);background:var(--code);padding:.1em .25em;border-radius:4px}pre code{background:transparent;padding:0;border-radius:0}.sourceCode{overflow:auto}.sourceCode a{color:inherit;text-decoration:none}
.kw,.cf,.dt,.bu,.va{color:#7c3aed}.st,.ch,.sc,.ss{color:#047857}.co{color:#6b7280;font-style:italic}.dv,.bn,.fl{color:#b45309}.ot,.at,.pp,.im{color:#2563eb}@media(prefers-color-scheme:dark){.kw,.cf,.dt,.bu,.va{color:#c084fc}.st,.ch,.sc,.ss{color:#86efac}.co{color:#9ca3af}.dv,.bn,.fl{color:#fb923c}.ot,.at,.pp,.im{color:#93c5fd}}:root[data-theme=light] .kw,:root[data-theme=light] .cf,:root[data-theme=light] .dt,:root[data-theme=light] .bu,:root[data-theme=light] .va{color:#7c3aed}:root[data-theme=light] .st,:root[data-theme=light] .ch,:root[data-theme=light] .sc,:root[data-theme=light] .ss{color:#047857}:root[data-theme=light] .co{color:#6b7280}:root[data-theme=light] .dv,:root[data-theme=light] .bn,:root[data-theme=light] .fl{color:#b45309}:root[data-theme=light] .ot,:root[data-theme=light] .at,:root[data-theme=light] .pp,:root[data-theme=light] .im{color:#2563eb}:root[data-theme=dark] .kw,:root[data-theme=dark] .cf,:root[data-theme=dark] .dt,:root[data-theme=dark] .bu,:root[data-theme=dark] .va{color:#c084fc}:root[data-theme=dark] .st,:root[data-theme=dark] .ch,:root[data-theme=dark] .sc,:root[data-theme=dark] .ss{color:#86efac}:root[data-theme=dark] .co{color:#9ca3af}:root[data-theme=dark] .dv,:root[data-theme=dark] .bn,:root[data-theme=dark] .fl{color:#fb923c}:root[data-theme=dark] .ot,:root[data-theme=dark] .at,:root[data-theme=dark] .pp,:root[data-theme=dark] .im{color:#93c5fd}
table{border-collapse:collapse;display:block;overflow-x:auto}th,td{border:1px solid var(--line);padding:.35em .6em}th{background:var(--soft)}img{max-width:100%;height:auto}figure{text-align:center}figcaption{color:var(--muted);font-size:.92rem}figure.center img{display:block;margin:auto}
details{border:1px solid var(--line);border-radius:6px;padding:.5em .65em 0;background:var(--soft)}summary{font-weight:700;margin:-.5em -.65em 0;padding:.5em .65em;cursor:pointer}details[open]{padding:.5em .65em}details[open] summary{border-bottom:1px solid var(--line);margin-bottom:.5em}
.pagination{display:flex;justify-content:center;gap:18px;margin-top:28px}.terms{columns:2;list-style:none;padding:0}.terms li{break-inside:avoid;margin:.25em 0}.terms span{color:var(--muted)}.search{width:100%;font:inherit;padding:.65em .8em;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--fg)}
@media(max-width:650px){body{font-size:16px}nav,main,.site-footer{padding-left:16px;padding-right:16px}.terms{columns:1}}
