:root{--bg:#0d0f12;--panel:#14171c;--text:#e9edf2;--muted:#89919d;--line:#292f38;--accent:#ff5b45;--max:850px}*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}body{margin:0;line-height:1.7}.shell{width:min(calc(100% - 36px),var(--max));margin:auto}.site-header{border-bottom:1px solid var(--line);background:rgba(13,15,18,.92);position:sticky;top:0;backdrop-filter:blur(12px);z-index:2}.nav{height:66px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:760;letter-spacing:-.02em}.mark{color:var(--accent)}a{color:inherit;text-decoration:none}.nav nav{display:flex;gap:22px}.nav nav a,.meta,.eyebrow,.footer{color:var(--muted);font-size:.9rem}.hero{padding:88px 0 60px;border-bottom:1px solid var(--line)}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.77rem}.hero h1,.article h1,.page-head h1{font-size:clamp(2.4rem,8vw,4.8rem);line-height:1.03;letter-spacing:-.055em;margin:.35em 0}.hero>p:not(.eyebrow),.lead{font-size:1.15rem;color:#aeb5bf;max-width:680px}.search{display:flex;gap:10px;margin-top:28px}.search input{flex:1;min-width:0;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:12px 14px;font:inherit}.search button{background:var(--text);color:var(--bg);border:0;border-radius:8px;padding:0 18px;font-weight:700}.post-list{padding:28px 0}.post-card{padding:28px 0;border-bottom:1px solid var(--line)}.post-card h2{font-size:1.7rem;letter-spacing:-.03em;margin:.2em 0}.post-card p{color:#aab1bb;margin:.4em 0 1em}.tags{display:flex;flex-wrap:wrap;gap:8px}.tags a{color:var(--accent);font-size:.88rem}.pagination{display:flex;justify-content:space-between;padding:24px 0;color:var(--muted)}.article{padding:70px 0}.article header{padding-bottom:32px;border-bottom:1px solid var(--line);margin-bottom:40px}.article h1{font-size:clamp(2.4rem,7vw,4.3rem)}.markdown{font-size:1.05rem}.markdown h2{margin-top:2.2em;font-size:1.7rem}.markdown h3{margin-top:1.8em}.markdown p,.markdown li{color:#cbd1d8}.markdown a{color:#ff7a68;text-decoration:underline}.markdown code{background:#1b1f25;border:1px solid var(--line);padding:.15em .35em;border-radius:4px}.markdown pre{overflow:auto;background:#111318;border:1px solid var(--line);padding:18px;border-radius:10px;line-height:1.55}.markdown pre code{border:0;padding:0;background:none}.markdown blockquote{border-left:3px solid var(--accent);margin-left:0;padding-left:18px;color:var(--muted)}.markdown table{border-collapse:collapse;width:100%;display:block;overflow:auto}.markdown th,.markdown td{border:1px solid var(--line);padding:8px 12px}.markdown img{max-width:100%;height:auto;border-radius:10px}.page-head{padding:65px 0 24px}.footer{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding:30px 0 50px}.empty{color:var(--muted)}@media(max-width:560px){.nav nav{gap:12px}.hero{padding-top:58px}.search{flex-direction:column}.search button{padding:11px}.footer{flex-direction:column}}

/* Post titles stay on one line and are fitted to their container by post.html. */
.post-title-wrap{width:100%;overflow:hidden}
.article h1.post-title{display:block;width:100%;max-width:100%;margin:.35em 0;font-size:clamp(2rem,6vw,4rem);line-height:1.05;letter-spacing:-.055em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
