:root{--color-bg: #faf7f2;--color-surface: #ffffff;--color-cream: #f4e8d8;--color-text: #2a2622;--color-text-muted: #6b6258;--color-text-dim: #9b9388;--color-border: #e9e2d4;--color-primary: #6a8e4e;--color-primary-strong: #5e7e3f;--color-accent: #d97757;--color-on-primary: #faf7f2;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-pill: 999px;--shadow-soft: 0 1px 2px rgba(42, 38, 34, .04), 0 4px 12px rgba(42, 38, 34, .06);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--max-width: 720px;--max-width-prose: 640px;--font-body: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-size:16px;line-height:1.55}a{color:var(--color-text);text-decoration:underline;text-decoration-color:var(--color-border);text-underline-offset:3px;transition:text-decoration-color .15s ease}a:hover{text-decoration-color:var(--color-primary)}h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.2;margin:0 0 var(--space-4)}h1{font-size:clamp(2rem,4vw + 1rem,3rem);letter-spacing:-.02em}h2{font-size:clamp(1.4rem,2vw + .75rem,1.875rem);margin-top:var(--space-7)}h3{font-size:1.125rem;margin-top:var(--space-5)}p,li{margin:0 0 var(--space-3)}ul,ol{padding-left:1.25rem}button,input,textarea{font:inherit}main{min-height:60vh}.container{max-width:var(--max-width);margin:0 auto;padding:var(--space-7) var(--space-5)}.prose{max-width:var(--max-width-prose)}.prose blockquote{border-left:3px solid var(--color-primary);padding-left:var(--space-4);margin:var(--space-4) 0;color:var(--color-text-muted);font-style:italic}.prose code{background:var(--color-cream);padding:.1em .35em;border-radius:4px;font-size:.92em}.site-header{padding:var(--space-4) var(--space-5);display:flex;align-items:center;justify-content:space-between;max-width:var(--max-width);margin:0 auto}.site-header .logo{font-family:var(--font-display);font-weight:600;font-size:1.25rem;color:var(--color-text);text-decoration:none;letter-spacing:-.01em}.site-nav{display:flex;gap:var(--space-4);font-size:.95rem}.site-nav a{color:var(--color-text-muted);text-decoration:none}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--color-text)}.site-footer{border-top:1px solid var(--color-border);margin-top:var(--space-8);padding:var(--space-5)}.site-footer-inner{max-width:var(--max-width);margin:0 auto;display:flex;flex-wrap:wrap;gap:var(--space-4);font-size:.92rem;color:var(--color-text-muted)}.site-footer a{color:var(--color-text-muted);text-decoration:none}.site-footer a:hover{color:var(--color-text)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;border-radius:var(--radius-pill);border:1px solid var(--color-primary);background:var(--color-primary);color:var(--color-on-primary);font-weight:600;text-decoration:none;cursor:pointer;transition:transform .05s ease,background .15s ease,border-color .15s ease}.btn:hover{background:var(--color-primary-strong);border-color:var(--color-primary-strong)}.btn:active{transform:translateY(1px)}.btn--ghost{background:transparent;color:var(--color-text);border-color:var(--color-border)}.btn--ghost:hover{background:var(--color-surface);border-color:var(--color-primary)}.field{display:block;margin-bottom:var(--space-4)}.field label{display:block;font-weight:600;margin-bottom:var(--space-1);color:var(--color-text)}.field input,.field textarea{width:100%;padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}.field input:focus,.field textarea:focus{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.field-hint{font-size:.875rem;color:var(--color-text-muted);margin-top:var(--space-1)}
