@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700;900&family=IBM+Plex+Mono:wght@300;400;500&family=IBM+Plex+Sans:wght@300;400;500&display=swap";:root{--bg: #f5f0e8;--surface: #ede8df;--border: #d4cfc5;--ink: #1a1714;--ink-mid: #4a4540;--ink-light: #8a837a;--accent: #c8401a;--accent-bg: #fdf5f0;--font-head: "Playfair Display", serif;--font-body: "IBM Plex Sans", sans-serif;--font-mono: "IBM Plex Mono", monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.7;min-height:100vh}.site-wrap{display:flex;flex-direction:column;min-height:100vh}.site-main{flex:1;max-width:1100px;margin:0 auto;padding:48px 24px 80px;width:100%}.site-header{display:flex;align-items:center;justify-content:space-between;padding:20px 32px;border-bottom:1px solid var(--border);position:sticky;top:0;background:#f5f0e8eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100}.site-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}.logo-mark{width:32px;height:32px;background:var(--ink);color:var(--bg);display:grid;place-items:center;font-family:var(--font-head);font-size:13px;font-weight:900;border-radius:2px}.logo-name{font-family:var(--font-head);font-size:15px;font-weight:700}.logo-divider{color:var(--ink-light);font-weight:300}.logo-section{font-family:var(--font-mono);font-size:12px;color:var(--ink-light);text-transform:uppercase;letter-spacing:.08em}.site-cta{font-family:var(--font-mono);font-size:11px;color:var(--ink-mid);text-decoration:none;letter-spacing:.05em;border:1px solid var(--border);padding:6px 12px;border-radius:2px;transition:all .2s}.site-cta:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}.hero{padding:64px 0 56px;border-bottom:1px solid var(--border);margin-bottom:56px;max-width:680px}.hero-tag{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--accent);margin-bottom:20px}.hero-title{font-family:var(--font-head);font-size:clamp(36px,6vw,64px);font-weight:900;line-height:1.05;letter-spacing:-1px;margin-bottom:20px}.accent{color:var(--accent)}.hero-sub{font-size:16px;color:var(--ink-mid);line-height:1.7;max-width:520px}.articles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1px;background:var(--border);border:1px solid var(--border)}.article-card{background:var(--bg);padding:32px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:12px;transition:background .2s;animation:fade-up .5s ease both}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.article-card:hover{background:var(--accent-bg)}.card-top{display:flex;align-items:center;justify-content:space-between}.card-date{font-family:var(--font-mono);font-size:11px;color:var(--ink-light);letter-spacing:.05em}.card-tag{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;background:var(--surface);color:var(--ink-light);padding:2px 8px;border-radius:100px}.card-title{font-family:var(--font-head);font-size:20px;font-weight:700;line-height:1.25;letter-spacing:-.3px}.card-desc{font-size:13px;color:var(--ink-mid);line-height:1.6;flex:1}.card-footer{margin-top:8px;padding-top:16px;border-top:1px solid var(--border)}.card-read{font-family:var(--font-mono);font-size:12px;color:var(--accent);letter-spacing:.03em}.back-link{display:inline-block;font-family:var(--font-mono);font-size:12px;color:var(--ink-light);text-decoration:none;margin-bottom:40px;transition:color .15s}.back-link:hover{color:var(--accent)}.article-page{max-width:720px}.article-header{margin-bottom:48px}.article-meta{display:flex;gap:16px;margin-bottom:16px}.article-date{font-family:var(--font-mono);font-size:12px;color:var(--ink-light)}.article-title{font-family:var(--font-head);font-size:clamp(28px,5vw,48px);font-weight:900;line-height:1.1;letter-spacing:-.5px;margin-bottom:16px}.article-lead{font-size:18px;color:var(--ink-mid);line-height:1.6;border-left:3px solid var(--accent);padding-left:16px}.article-body{font-size:16px;line-height:1.8;color:var(--ink-mid)}.article-body h2{font-family:var(--font-head);font-size:26px;font-weight:700;color:var(--ink);margin:48px 0 16px;letter-spacing:-.3px}.article-body h3{font-family:var(--font-head);font-size:20px;font-weight:600;color:var(--ink);margin:32px 0 12px}.article-body p{margin-bottom:20px}.article-body ul,.article-body ol{margin:0 0 20px 24px}.article-body li{margin-bottom:8px}.article-body strong{color:var(--ink);font-weight:600}.article-body a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.article-body blockquote{border-left:3px solid var(--accent);padding:4px 0 4px 20px;margin:24px 0;color:var(--ink-mid);font-style:italic}.article-body code{font-family:var(--font-mono);font-size:13px;background:var(--surface);padding:2px 6px;border-radius:2px;color:var(--accent)}.article-body pre{background:var(--ink);color:var(--bg);padding:24px;border-radius:2px;overflow-x:auto;margin:24px 0;font-family:var(--font-mono);font-size:13px;line-height:1.6}.article-body pre code{background:none;color:inherit;padding:0}.article-footer{margin-top:64px;padding-top:32px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:20px}.source-link{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:13px;color:var(--ink);text-decoration:none;background:var(--surface);border:1px solid var(--border);padding:12px 20px;border-radius:2px;transition:all .2s;width:fit-content}.source-link:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}.back-link-bottom{font-family:var(--font-mono);font-size:12px;color:var(--ink-light);text-decoration:none}.back-link-bottom:hover{color:var(--accent)}.loading-wrap,.error-wrap,.empty-wrap{text-align:center;padding:80px 24px;color:var(--ink-light)}.loading-bar{width:200px;height:2px;background:var(--border);margin:0 auto 20px;overflow:hidden;position:relative}.loading-bar:after{content:"";position:absolute;left:-50%;width:50%;height:100%;background:var(--accent);animation:load 1.2s ease-in-out infinite}@keyframes load{0%{left:-50%}to{left:150%}}.site-footer{border-top:1px solid var(--border);padding:24px 32px;text-align:center}.site-footer p{font-family:var(--font-mono);font-size:11px;color:var(--ink-light);letter-spacing:.03em}@media (max-width: 600px){.site-header{padding:16px 20px}.hero{padding:40px 0}.site-main{padding:32px 20px 60px}.article-card{padding:24px 20px}.articles-grid{grid-template-columns:1fr}}
