:root{--color-primary: #1d4ed8;--color-primary-hover: #1e40af;--color-primary-light: #dbeafe;--color-text-primary: #111827;--color-text-secondary: #374151;--color-text-muted: #6b7280;--color-text-link: #1d4ed8;--color-text-link-hover:#1e40af;--color-bg-primary: #ffffff;--color-bg-secondary: #f9fafb;--color-bg-tertiary: #f3f4f6;--color-border: #d1d5db;--color-border-strong: #9ca3af;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Courier New", monospace;--font-size-sm: .9375rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--line-height-body: 1.7;--line-height-heading: 1.2;--letter-spacing-body: .01em;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--space-16: 4rem;--max-width-prose: 68ch;--max-width-content: 1280px;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--focus-ring-color: #1d4ed8;--focus-ring-width: 3px;--focus-ring-offset: 2px;--transition-fast: .15s ease;--transition-normal: .25s ease}*,*:before,*:after{box-sizing:border-box}html{font-size:100%;-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{margin:0;font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-body);color:var(--color-text-primary);background-color:var(--color-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:focus:not(:focus-visible){outline:none}:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-sm)}.skip-link{position:absolute;top:-100%;left:var(--space-4);padding:.75rem 1.25rem;background-color:var(--color-primary);color:#fff;font-weight:700;font-size:var(--font-size-sm);border-radius:0 0 var(--radius-lg) var(--radius-lg);z-index:9999;text-decoration:none;transition:top var(--transition-fast);white-space:nowrap}.skip-link:focus{top:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}h1,h2,h3,h4,h5,h6{line-height:var(--line-height-heading);font-weight:700;color:var(--color-text-primary);margin-top:0}p{line-height:var(--line-height-body);margin-top:0}a{color:var(--color-text-link);text-decoration:underline;text-underline-offset:2px}a:hover{color:var(--color-text-link-hover)}code,kbd,pre,samp{font-family:var(--font-mono);font-size:.9em}img{max-width:100%;height:auto}.page-wrapper{max-width:var(--max-width-content);margin-inline:auto;padding-inline:var(--space-4)}.prose-wrapper{max-width:var(--max-width-prose);margin-inline:auto}.prose{font-size:var(--font-size-lg);line-height:var(--line-height-body);color:var(--color-text-primary)}.prose h2{font-size:var(--font-size-3xl);margin-top:var(--space-12);margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.prose h3{font-size:var(--font-size-2xl);margin-top:var(--space-8);margin-bottom:var(--space-3)}.prose h4{font-size:var(--font-size-xl);margin-top:var(--space-6);margin-bottom:var(--space-2)}.prose p{margin-bottom:var(--space-6)}.prose ul,.prose ol{padding-left:var(--space-8);margin-bottom:var(--space-6)}.prose li{margin-bottom:var(--space-2)}.prose blockquote{border-left:4px solid var(--color-primary);padding-left:var(--space-6);margin-left:0;margin-right:0;color:var(--color-text-secondary);font-style:italic}.prose pre{background-color:#1e293b;color:#e2e8f0;padding:var(--space-6);border-radius:var(--radius-lg);overflow-x:auto;margin-bottom:var(--space-6);font-size:.875rem;line-height:1.7}.prose code:not(pre code){background-color:var(--color-bg-tertiary);color:var(--color-text-primary);padding:.15em .4em;border-radius:var(--radius-sm);font-size:.875em}.prose img{border-radius:var(--radius-lg);margin-block:var(--space-8);width:100%}.prose a{color:var(--color-text-link);text-decoration:underline;text-underline-offset:3px}.prose a:hover{color:var(--color-text-link-hover)}.callout{padding:var(--space-4) var(--space-6);border-radius:var(--radius-lg);margin-bottom:var(--space-6);border-left:4px solid}.callout--info{background:#eff6ff;border-color:#3b82f6;color:#1e40af}.callout--tip{background:#f0fdf4;border-color:#22c55e;color:#15803d}.callout--warning{background:#fefce8;border-color:#eab308;color:#a16207}.callout--important{background:#fef2f2;border-color:#ef4444;color:#b91c1c}.post-card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;transition:box-shadow var(--transition-fast),transform var(--transition-fast);display:flex;flex-direction:column}.post-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.post-card__image{width:100%;aspect-ratio:16 / 9;object-fit:cover}.post-card__body{padding:var(--space-6);display:flex;flex-direction:column;flex:1}.post-card__meta{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-2);display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.post-card__title{font-size:var(--font-size-xl);font-weight:700;line-height:1.3;margin-bottom:var(--space-3);color:var(--color-text-primary)}.post-card__title a{color:inherit;text-decoration:none}.post-card__title a:hover{color:var(--color-primary)}.post-card__excerpt{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.6;flex:1;margin-bottom:var(--space-4)}.post-card__cta{font-size:var(--font-size-sm);font-weight:600;color:var(--color-primary);text-decoration:none;display:inline-flex;align-items:center;gap:var(--space-2);margin-top:auto}.post-card__cta:hover{color:var(--color-primary-hover)}.category-pill{display:inline-block;padding:.2em .75em;border-radius:var(--radius-full);background:var(--color-primary-light);color:var(--color-primary);font-size:.8125rem;font-weight:600;text-decoration:none;white-space:nowrap}.category-pill:hover{background:#bfdbfe;color:var(--color-primary-hover)}.featured-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.2em .6em;border-radius:var(--radius-full);background:#fef9c3;color:#a16207;font-size:.8125rem;font-weight:600}
