:root{--color-bg: #faf6f0;--color-bg-alt: #f1ece2;--color-surface: #ffffff;--color-surface-alt: #fbf3e7;--color-border: #e4dccb;--color-ink: #24211d;--color-ink-soft: #56504a;--color-muted: #8b8378;--color-copper: #b5622f;--color-copper-dark: #8f4a22;--color-teal: #1f6f6b;--color-teal-dark: #154e4b;--color-amber: #e0a33c;--color-link: var(--color-teal);--color-link-hover: var(--color-copper);--color-focus: #1f6f6b;--font-display: "Iowan Old Style", "Palatino Linotype", Georgia, "Noto Serif", serif;--font-body: "Iowan Old Style", Georgia, "Noto Serif", serif;--font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;--space-1: .5rem;--space-2: 1rem;--space-3: 1.5rem;--space-4: 2.5rem;--space-5: 4rem;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--max-width: 760px;--shadow-sm: 0 1px 2px rgba(36, 33, 29, .06);--shadow-md: 0 8px 24px rgba(36, 33, 29, .08)}*{box-sizing:border-box;margin:0;padding:0}html{font-size:100%;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background-color:var(--color-bg);background-image:radial-gradient(circle at 1px 1px,rgba(181,98,47,.06) 1px,transparent 0);background-size:22px 22px;color:var(--color-ink);font-family:var(--font-body);font-size:1.125rem;line-height:1.7;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}a{color:var(--color-link);text-decoration-thickness:1px;text-underline-offset:3px;transition:color .15s ease}a:hover{color:var(--color-link-hover)}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px;border-radius:4px}img{max-width:100%;display:block}.container{width:100%;max-width:var(--max-width);margin-inline:auto;padding-inline:var(--space-2)}.skip-link{position:absolute;left:-9999px;top:auto;background:var(--color-teal-dark);color:#fff;padding:.75rem 1.25rem;border-radius:var(--radius-sm);z-index:1000;font-family:var(--font-mono);font-size:.9rem;letter-spacing:.02em}.skip-link:focus{left:var(--space-2);top:var(--space-2)}.site-header{background:var(--color-surface);border-bottom:3px solid var(--color-ink);position:sticky;top:0;z-index:100}.header-inner{max-width:var(--max-width);margin-inline:auto;padding:var(--space-2);display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}.brand{font-family:var(--font-mono);font-weight:700;font-size:1.25rem;letter-spacing:-.02em;color:var(--color-ink);text-decoration:none;display:inline-flex;align-items:center;gap:.4em}.brand:before{content:"◐";color:var(--color-copper);font-size:1.1em}.brand:hover{color:var(--color-copper)}.site-header nav ul{list-style:none;display:flex;gap:var(--space-3);flex-wrap:wrap}.site-header nav a{color:var(--color-ink-soft);text-decoration:none;font-family:var(--font-mono);font-size:.9rem;text-transform:uppercase;letter-spacing:.06em;padding-bottom:2px;border-bottom:2px solid transparent}.site-header nav a:hover{color:var(--color-copper);border-bottom-color:var(--color-copper)}.lang-switch{display:flex;gap:.5rem;font-family:var(--font-mono);font-size:.8rem}.lang-switch a{color:var(--color-muted);text-decoration:none;padding:.2rem .5rem;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.lang-switch a.active{background:var(--color-teal);border-color:var(--color-teal);color:#fff}main{flex:1;display:block;padding-bottom:var(--space-5)}h1,h2,h3{font-family:var(--font-display);color:var(--color-ink);line-height:1.25;font-weight:700}h1{font-size:clamp(2rem,4vw,2.75rem);margin-bottom:var(--space-2);letter-spacing:-.01em}h2{font-size:1.65rem;margin-top:var(--space-4);margin-bottom:var(--space-2);position:relative;padding-left:.9rem;border-left:4px solid var(--color-copper)}h3{font-size:1.25rem;margin-bottom:.5rem}.lead{font-size:1.3rem;color:var(--color-ink-soft);font-style:italic;margin-bottom:var(--space-3)}.meta{font-family:var(--font-mono);font-size:.85rem;color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.hero-section{background:linear-gradient(135deg,var(--color-teal-dark),var(--color-teal));color:#f4ece0;padding:var(--space-5) var(--space-2);margin-bottom:var(--space-4);border-bottom:3px solid var(--color-ink)}.hero-section h1{color:#fff}.hero-section .lead{color:#d7ece9}.btn{display:inline-block;background:var(--color-copper);color:#fff!important;font-family:var(--font-mono);font-size:.9rem;text-decoration:none;padding:.7rem 1.4rem;border-radius:var(--radius-sm);border:2px solid var(--color-ink);box-shadow:3px 3px 0 var(--color-ink);transition:transform .12s ease,box-shadow .12s ease}.btn:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--color-ink);color:#fff}.btn:active{transform:translate(0);box-shadow:1px 1px 0 var(--color-ink)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-3);margin-block:var(--space-3)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);box-shadow:var(--shadow-sm);transition:box-shadow .15s ease,transform .15s ease,border-color .15s ease;display:flex;flex-direction:column;gap:.5rem}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-color:var(--color-copper)}.card h3{margin-bottom:0}.card h3 a{color:var(--color-ink);text-decoration:none}.card h3 a:hover{color:var(--color-copper)}.read-more{font-family:var(--font-mono);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-teal);text-decoration:none;align-self:flex-start;margin-top:auto}.read-more:after{content:" →";transition:margin-left .15s ease}.read-more:hover:after{margin-left:4px}.post-list{list-style:none;border-top:1px solid var(--color-border)}.post-list li{border-bottom:1px solid var(--color-border);padding:var(--space-3) 0;display:flex;flex-direction:column;gap:.3rem}.post-list a{font-family:var(--font-display);font-size:1.2rem;font-weight:700;color:var(--color-ink);text-decoration:none}.post-list a:hover{color:var(--color-copper)}.prose{font-size:1.125rem;color:var(--color-ink)}.prose p{margin-bottom:var(--space-2)}.prose h2{margin-top:var(--space-4)}.prose img.hero{width:100%;border-radius:var(--radius-md);border:1px solid var(--color-border);margin-block:var(--space-3);box-shadow:var(--shadow-md)}.prose code{font-family:var(--font-mono);background:var(--color-bg-alt);color:var(--color-copper-dark);padding:.15em .4em;border-radius:4px;font-size:.9em}.prose pre{background:#1f1c17;color:#f1ece2;padding:var(--space-2);border-radius:var(--radius-md);overflow-x:auto;margin-block:var(--space-3);font-family:var(--font-mono);font-size:.95rem;line-height:1.6;border:1px solid var(--color-ink)}.prose pre code{background:none;color:inherit;padding:0}.prose blockquote{border-left:4px solid var(--color-teal);background:var(--color-surface-alt);padding:var(--space-2) var(--space-3);margin-block:var(--space-3);font-style:italic;color:var(--color-ink-soft);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.breadcrumb{font-family:var(--font-mono);font-size:.85rem;color:var(--color-muted);margin-bottom:var(--space-2)}.breadcrumb a{color:var(--color-muted);text-decoration:none}.breadcrumb a:hover{color:var(--color-copper)}.tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-block:var(--space-3)}.tag{display:inline-block;background:var(--color-surface-alt);color:var(--color-teal-dark);border:1px solid var(--color-border);font-family:var(--font-mono);font-size:.8rem;padding:.25rem .7rem;border-radius:999px;text-decoration:none}.tag:hover{background:var(--color-amber);border-color:var(--color-amber);color:var(--color-ink)}.site-footer{background:var(--color-ink);color:#cfc7ba;border-top:3px solid var(--color-copper);margin-top:auto}.footer-inner{max-width:var(--max-width);margin-inline:auto;padding:var(--space-4) var(--space-2);display:flex;flex-direction:column;gap:var(--space-2);align-items:center;text-align:center;font-size:.9rem}.site-footer nav ul{list-style:none;display:flex;gap:var(--space-3);flex-wrap:wrap;justify-content:center}.site-footer nav a{color:#cfc7ba;text-decoration:none;font-family:var(--font-mono);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}.site-footer nav a:hover{color:var(--color-amber)}@media(max-width:560px){body{font-size:1rem}.header-inner{flex-direction:column;align-items:flex-start;gap:.75rem}.site-header nav ul{gap:var(--space-2)}h1{font-size:1.75rem}h2{font-size:1.4rem}.hero-section{padding:var(--space-3) var(--space-2)}.grid{grid-template-columns:1fr}.btn{width:100%;text-align:center}.footer-inner{text-align:center}}
