:root { --ink:#14212b; --muted:#5b6871; --line:#dce4e7; --paper:#fff; --wash:#f4f7f8; --accent:#e34b2f; --dark:#0b1821; }
* { box-sizing:border-box; }
html { color:var(--ink); background:var(--wash); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.65; }
body { margin:0; }
a { color:inherit; text-decoration-color:#aab8be; text-underline-offset:3px; }
a:hover { color:var(--accent); }
.shell { width:min(1120px,calc(100% - 2.5rem)); margin:auto; }
.site-header { background:var(--dark); color:white; border-bottom:3px solid var(--accent); }
.header-inner { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:1.25rem; }
.brand { color:white; font-size:1.55rem; font-weight:800; letter-spacing:-.06em; text-decoration:none; }.brand span { color:#79d1c3; }
nav { display:flex; gap:1rem; flex-wrap:wrap; justify-content:flex-end; } nav a { color:#e7f0f1; font-size:.88rem; text-decoration:none; } nav a:hover { color:#79d1c3; }
.site-search { position:relative; flex:0 1 210px; }.site-search input { width:100%; border:1px solid #3d5059; border-radius:5px; background:#132934; color:#fff; padding:.5rem .7rem; font:inherit; font-size:.85rem; }.site-search input::placeholder { color:#b7c6ca; }.site-search input:focus { outline:2px solid #79d1c3; outline-offset:2px; }.search-results { position:absolute; z-index:10; top:calc(100% + .55rem); right:0; width:min(420px,calc(100vw - 1.5rem)); max-height:70vh; overflow:auto; padding:.45rem; background:#fff; color:var(--ink); border:1px solid var(--line); border-radius:6px; box-shadow:0 12px 30px #0004; font-size:.9rem; }.search-results ul { margin:0; padding:0; list-style:none; }.search-results li { padding:.55rem .7rem; border-bottom:1px solid var(--line); }.search-results li:last-child { border:0; }.search-results a { display:block; color:var(--ink); font-weight:700; text-decoration:none; line-height:1.3; }.search-results span { display:block; color:var(--muted); font-size:.78rem; margin-top:.15rem; }.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
main { padding:4rem 0 5rem; }.intro { max-width:760px; margin-bottom:2.5rem; }.eyebrow,.post-meta { color:var(--muted); font-size:.82rem; letter-spacing:.04em; text-transform:uppercase; }.intro h1,.article h1 { font-size:clamp(2.15rem,5vw,4.3rem); line-height:1.06; letter-spacing:-.055em; margin:.25rem 0 1rem; }.intro p:not(.eyebrow) { color:var(--muted); font-size:1.1rem; }
.post-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.35rem; }.post-card { display:flex; flex-direction:column; overflow:hidden; background:var(--paper); border:1px solid var(--line); border-radius:10px; box-shadow:0 2px 5px #0b18210a; }.post-image { height:165px; background:#dce4e7; }.post-image img { display:block; width:100%; height:100%; object-fit:cover; }.post-card-body { padding:1.25rem; }.post-card h2 { font-size:1.35rem; line-height:1.2; letter-spacing:-.025em; margin:.35rem 0 .7rem; }.post-card h2 a { text-decoration:none; }.post-card p { font-size:.95rem; margin:.5rem 0 1rem; }.read-more { color:var(--accent); font-weight:700; font-size:.9rem; text-decoration:none; }
.pagination { display:flex; justify-content:space-between; gap:1rem; align-items:center; margin:3rem 0 0; font-weight:700; }.pagination a { color:var(--accent); }.pagination span { color:var(--muted); font-size:.9rem; }
.article { max-width:1120px; margin:auto; background:var(--paper); padding:clamp(1.4rem,5vw,4.5rem); border:1px solid var(--line); border-radius:10px; }.article-header { margin-bottom:2rem; }.article-header h1 { font-size:clamp(2.1rem,5vw,3.8rem); }.article-cover { display:block; width:100%; max-height:480px; object-fit:cover; border-radius:6px; margin-top:2rem; }.article-content { font-family:Georgia,"Times New Roman",serif; font-size:1.12rem; }.article-content h2,.article-content h3 { font-family:Inter,ui-sans-serif,sans-serif; line-height:1.2; margin-top:2.2rem; }.article-content img { max-width:100%; height:auto; }.article-content pre { overflow:auto; padding:1rem; background:#0b1821; color:#eef7f8; border-radius:6px; scrollbar-color:#79d1c3 #1b303a; }.article-content pre::-webkit-scrollbar { width:10px; height:10px; }.article-content pre::-webkit-scrollbar-track { background:#1b303a; border-radius:999px; }.article-content pre::-webkit-scrollbar-thumb { background:#79d1c3; border:2px solid #1b303a; border-radius:999px; }.article-content pre::-webkit-scrollbar-thumb:hover { background:#a2e3d8; }.article-content code { font-size:.88em; }.article-content iframe { max-width:100%; }.article-tags { border-top:1px solid var(--line); padding-top:1.3rem; margin-top:3rem; display:flex; flex-wrap:wrap; gap:.5rem; }.article-tags a { border:1px solid var(--line); border-radius:999px; padding:.15rem .65rem; color:var(--muted); font:700 .8rem Inter,sans-serif; text-decoration:none; }
.site-footer { background:var(--dark); color:#b7c6ca; padding:2rem 0; font-size:.9rem; }.site-footer a { color:white; }
@media (max-width:800px) { .header-inner { padding:1rem 0; align-items:flex-start; flex-direction:column; }.site-search { width:100%; max-width:420px; }.post-grid { grid-template-columns:1fr 1fr; } main { padding-top:2.5rem; } }
@media (max-width:520px) { .shell { width:min(100% - 1.5rem,1120px); }.post-grid { grid-template-columns:1fr; }.pagination { font-size:.9rem; }.pagination span { display:none; } }
