﻿:root{--bg: oklch(0.985 0.002 280);--bg-subtle: oklch(0.970 0.003 280);--fg: oklch(0.205 0.015 280);--fg-secondary: oklch(0.400 0.010 280);--accent: oklch(0.555 0.150 280);--accent-hover: oklch(0.490 0.160 280);--accent-soft: oklch(0.555 0.150 280 / 0.08);--accent-glow: oklch(0.555 0.150 280 / 0.15);--muted: oklch(0.556 0.010 280);--border: oklch(0.910 0.005 280);--border-subtle: oklch(0.940 0.003 280);--shadow-color: oklch(0.205 0.015 280 / 0.06);--font-body: "Lora", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--font-heading: "DM Sans", "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Fira Code", monospace;--font-ui: "DM Sans", system-ui, -apple-system, sans-serif;--space-xs: 0.25rem;--space-sm: 0.5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2.5rem;--space-2xl: 4rem;--max-width: 660px;--radius: 0.5rem;--radius-sm: 0.25rem;--ease-out: cubic-bezier(0.25, 0.46, 0.45, 0.94);--ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);--duration-fast: 150ms;--duration-base: 250ms;--duration-slow: 400ms}@media (prefers-color-scheme: dark){:root{--bg: oklch(0.130 0.010 280);--bg-subtle: oklch(0.160 0.012 280);--fg: oklch(0.910 0.005 280);--fg-secondary: oklch(0.650 0.010 280);--accent: oklch(0.720 0.130 280);--accent-hover: oklch(0.780 0.140 280);--accent-soft: oklch(0.720 0.130 280 / 0.10);--accent-glow: oklch(0.720 0.130 280 / 0.18);--muted: oklch(0.600 0.010 280);--border: oklch(0.230 0.010 280);--border-subtle: oklch(0.190 0.008 280);--shadow-color: oklch(0 0 0 / 0.3)}}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}.skip-link{position:absolute;top:-100%;left:var(--space-md);background:var(--accent);color:var(--bg);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-family:var(--font-ui);font-size:.875rem;font-weight:500;z-index:100;text-decoration:none}.skip-link:focus{top:var(--space-md)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-size:clamp(17px,1.1vw + 14px,19px);line-height:1.78;color:var(--fg);background:var(--bg);max-width:var(--max-width);margin:0 auto;padding:clamp(1.5rem,5vw,3rem) clamp(1.25rem,4vw,2rem);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}a{color:var(--accent);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}a:hover{color:var(--accent-hover);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px}header{margin-bottom:clamp(var(--space-xl),6vw,var(--space-2xl))}header nav{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md)}header .nav-identity{display:flex;flex-direction:column;gap:var(--space-xs)}header .logo{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-heading);font-size:1.4rem;font-weight:700;color:var(--fg);letter-spacing:-.025em;text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}header .logo:hover{color:var(--accent);text-decoration:none}header .logo .logo-spark{font-size:1.1rem;display:inline-block;transition:transform var(--duration-base) var(--ease-spring)}header .logo:hover .logo-spark{transform:scale(1.2) rotate(15deg)}header .tagline{color:var(--muted);font-family:var(--font-body);font-size:.92rem;font-style:italic}header .nav-links{display:flex;gap:var(--space-md);font-family:var(--font-ui);font-size:.85rem;font-weight:500;padding-top:.4rem}header .nav-links a{color:var(--muted);transition:color var(--duration-fast) var(--ease-out)}header .nav-links a:hover{color:var(--accent);text-decoration:none}main{min-height:60vh}.intro{margin-bottom:clamp(var(--space-xl),5vw,var(--space-2xl));padding-bottom:clamp(var(--space-lg),4vw,var(--space-xl));border-bottom:1px solid var(--border)}.intro p{color:var(--fg-secondary);font-size:1.05rem;line-height:1.75}.post-preview{margin-bottom:clamp(var(--space-lg),4vw,var(--space-xl));padding:var(--space-lg);border-radius:var(--radius);border:1px solid var(--border-subtle);background:var(--bg);transition:border-color var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out)}.post-preview:hover{border-color:var(--border);box-shadow:0 4px 24px -4px var(--shadow-color);transform:translateY(-1px)}.post-preview time{display:block;font-family:var(--font-ui);font-size:.82rem;font-weight:500;color:var(--muted);letter-spacing:.02em;text-transform:uppercase;margin-bottom:var(--space-xs)}.post-preview h2{font-family:var(--font-heading);font-size:clamp(1.15rem,2vw + .8rem,1.35rem);font-weight:600;line-height:1.35;margin-bottom:var(--space-sm);letter-spacing:-.015em}.post-preview h2 a{color:var(--fg);transition:color var(--duration-fast) var(--ease-out)}.post-preview h2 a:hover{color:var(--accent);text-decoration:none}.post-preview .summary{color:var(--fg-secondary);font-size:.95rem;line-height:1.65;margin-bottom:var(--space-sm)}.post-preview .read-more{display:inline-block;font-family:var(--font-ui);font-size:.875rem;font-weight:500;color:var(--accent);transition:all var(--duration-fast) var(--ease-out)}.post-preview .read-more span{display:inline-block;transition:transform var(--duration-fast) var(--ease-out)}.post-preview .read-more:hover{text-decoration:none}.post-preview .read-more:hover span{transform:translateX(3px)}.post .post-header{margin-bottom:clamp(var(--space-xl),5vw,var(--space-2xl))}.post .post-header h1{font-family:var(--font-heading);font-size:clamp(1.85rem,4vw + 1rem,2.35rem);line-height:1.2;font-weight:700;margin-bottom:var(--space-sm);letter-spacing:-.03em;color:var(--fg)}.post .post-header .post-meta{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-sm)}.post .post-header time{font-family:var(--font-ui);font-size:.88rem;color:var(--muted);font-weight:500}.post .post-header .reading-time{font-family:var(--font-ui);font-size:.82rem;color:var(--muted);padding-left:var(--space-md);border-left:1px solid var(--border)}.post .post-header .tags{margin-top:var(--space-sm);display:flex;flex-wrap:wrap;gap:var(--space-sm)}.post .post-header .tags a{font-family:var(--font-ui);font-size:.78rem;font-weight:500;letter-spacing:.01em;padding:.2rem .6rem;background:var(--accent-soft);border-radius:2rem;color:var(--accent);transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.post .post-header .tags a:hover{background:var(--accent);color:var(--bg);text-decoration:none}.post .post-content h2{font-family:var(--font-heading);font-size:clamp(1.2rem,2vw + .8rem,1.4rem);font-weight:600;margin:var(--space-2xl) 0 var(--space-md);letter-spacing:-.015em;color:var(--fg)}.post .post-content h3{font-family:var(--font-heading);font-size:clamp(1.05rem,1.5vw + .7rem,1.2rem);font-weight:600;margin:var(--space-xl) 0 var(--space-md);letter-spacing:-.01em;color:var(--fg)}.post .post-content p{margin-bottom:1.4rem;hanging-punctuation:first}.post .post-content blockquote{margin:var(--space-xl) 0;padding:var(--space-md) var(--space-lg);background:var(--accent-soft);border-left:3px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0;color:var(--fg);font-style:italic}.post .post-content blockquote p:last-child{margin-bottom:0}.post .post-content ul,.post .post-content ol{margin:1.25rem 0;padding-left:var(--space-lg)}.post .post-content ul li,.post .post-content ol li{margin-bottom:var(--space-sm)}.post .post-content ul li::marker,.post .post-content ol li::marker{color:var(--accent)}.post .post-content code{font-family:var(--font-mono);font-size:.85em;background:var(--bg-subtle);border:1px solid var(--border);padding:.12em .4em;border-radius:var(--radius-sm)}.post .post-content pre{margin:var(--space-xl) 0;padding:var(--space-lg);overflow-x:auto;border-radius:var(--radius);background:var(--bg-subtle);border:1px solid var(--border)}.post .post-content pre code{background:none;border:none;padding:0;font-size:.88em;line-height:1.6}.post .post-content img{max-width:100%;height:auto;border-radius:var(--radius);margin:var(--space-lg) 0}.post .post-content hr{border:none;margin:var(--space-2xl) auto;text-align:center}.post .post-content hr::after{content:"✦ ✦ ✦";color:var(--muted);font-size:.7rem;letter-spacing:.5em}.post .post-content strong{font-weight:600;color:var(--fg)}.post .post-content em{font-style:italic}.post-nav{margin-top:clamp(var(--space-xl),5vw,var(--space-2xl));padding-top:clamp(var(--space-lg),4vw,var(--space-xl));border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:var(--space-md)}.post-nav .post-nav-link{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border-radius:var(--radius);transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out);text-decoration:none;max-width:48%}.post-nav .post-nav-link:hover{background:var(--accent-soft);text-decoration:none}.post-nav .post-nav-next{text-align:right;margin-left:auto}.post-nav .post-nav-label{font-family:var(--font-ui);font-size:.78rem;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.post-nav .post-nav-title{font-family:var(--font-heading);font-size:.92rem;font-weight:600;color:var(--fg);line-height:1.35}.pagination{margin-top:var(--space-xl);display:flex;justify-content:space-between;gap:var(--space-md);font-family:var(--font-ui);font-size:.9rem;font-weight:500}footer{margin-top:clamp(var(--space-2xl),8vw,5rem);padding-top:clamp(var(--space-lg),4vw,var(--space-xl));border-top:1px solid var(--border);font-family:var(--font-ui);font-size:.82rem;color:var(--muted)}footer .footer-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-sm)}footer .footer-links{display:flex;gap:var(--space-sm);align-items:center}footer a{color:var(--muted);font-weight:500;transition:color var(--duration-fast) var(--ease-out)}footer a:hover{color:var(--accent);text-decoration:none}.taxonomy-list h1,.taxonomy-single h1{font-family:var(--font-heading);font-size:clamp(1.5rem,3vw + 1rem,2rem);font-weight:700;margin-bottom:var(--space-xl);letter-spacing:-.02em}.taxonomy-list ul,.taxonomy-single ul{list-style:none;padding:0}.taxonomy-list ul li,.taxonomy-single ul li{margin-bottom:var(--space-md)}.taxonomy-list ul li a,.taxonomy-single ul li a{font-family:var(--font-heading);font-weight:500}@keyframes fadeInUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.intro,.post-preview,.post .post-header,.post .post-content{animation:fadeInUp var(--duration-slow) var(--ease-out) both}.post-preview:nth-child(1){animation-delay:0ms}.post-preview:nth-child(2){animation-delay:80ms}.post-preview:nth-child(3){animation-delay:160ms}.post-preview:nth-child(4){animation-delay:240ms}.post-preview:nth-child(5){animation-delay:320ms}@media (max-width: 600px){header nav{flex-direction:column;gap:var(--space-sm)}.nav-links{order:-1}.post-nav{flex-direction:column}.post-nav .post-nav-link{max-width:100%}.post-nav .post-nav-next{text-align:left}.footer-content{flex-direction:column;text-align:center}}::selection{background:var(--accent-glow);color:var(--fg)}