:root{--page:#f4f1ec;--side:#e7e4df;--ink:#232225;--accent:#8c734f;--stone:#6b6975;--line:rgba(35,34,37,.12);--card:#faf8f4;--glass:rgba(244,241,236,.72)}
@media (prefers-color-scheme:dark){:root{--page:#232225;--side:#34323a;--ink:#e8e3db;--accent:#c2ad8c;--stone:#9a98a6;--line:rgba(232,227,219,.12);--card:#2b2a2f;--glass:rgba(35,34,37,.72)}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--page);color:var(--ink);font:17px/1.65 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2{font-family:ui-serif,"New York",Georgia,serif;font-weight:300;letter-spacing:-.02em;text-wrap:balance;margin:0}
p{text-wrap:pretty}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
.wrap{width:min(720px,100% - 32px);margin:0 auto}
.bar{position:sticky;top:0;z-index:10;background:var(--glass);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--line)}
.bar .wrap{display:flex;justify-content:space-between;align-items:center;height:48px;width:min(1040px,100% - 32px)}
.brand{display:flex;align-items:center;gap:9px;color:var(--ink);font-weight:600;font-size:15px}
.brand img{width:22px;height:22px;border-radius:5px}
.links{display:flex;gap:20px;font-size:14px}.links a{color:var(--stone)}.links a:hover{color:var(--ink);text-decoration:none}
.top{padding:clamp(36px,7vw,72px) 0 8px}
.top h1{font-size:clamp(34px,7vw,56px);line-height:1.06;margin-bottom:14px}
.lede{color:var(--stone);font-size:clamp(16px,2.2vw,19px);margin:0 0 20px}
.grid{display:grid;gap:12px;margin-top:20px}
.card{display:block;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px 20px;color:var(--ink)}
.card:hover{text-decoration:none;border-color:var(--accent)}
.card h2{font-size:22px;margin-bottom:6px}.card p{margin:0;color:var(--stone);font-size:15px}
.post{padding-top:clamp(28px,5vw,56px)}
.crumb{font-size:13px;margin:0 0 14px}
.post h1{font-size:clamp(30px,6vw,46px);line-height:1.1}
.byline{color:var(--stone);font-size:14px;margin:10px 0 26px}
.post h2{font-size:clamp(22px,3.6vw,28px);line-height:1.2;margin:34px 0 8px}
.post p,.post ul{margin:0 0 14px}.post ul{padding-left:20px}.post li{margin:6px 0}
.sources{color:var(--stone);font-size:14px;border-top:1px solid var(--line);padding-top:14px;margin-top:30px}
.about{margin-top:36px;padding:18px 20px;border:1px solid var(--line);border-radius:12px;background:var(--card);font-size:15px}
.about p{margin:0 0 10px}.about p:last-child{margin:0}
.btn{display:inline-block;background:var(--accent);color:var(--page);padding:9px 20px;border-radius:999px;font-weight:600;font-size:15px}
.btn:hover{text-decoration:none;filter:brightness(1.08)}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
footer{margin-top:56px;border-top:1px solid var(--line);padding:24px 0 40px;color:var(--stone);font-size:13px}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;width:min(1040px,100% - 32px)}footer a{color:var(--stone)}footer a+a{margin-left:18px}
.ref{font-size:15px;padding-left:2em;text-indent:-2em;margin:0 0 10px;overflow-wrap:anywhere;text-transform:none}
