:root{--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono: "SF Mono", "Fira Code", "Fira Mono", "Roboto Mono", "Courier New", monospace;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--space-4xl: 96px;--color-bg: #ffffff;--color-bg-secondary: #f5f5f7;--color-bg-tertiary: #e8e8ed;--color-text: #1d1d1f;--color-text-secondary: #6e6e73;--color-text-tertiary: #aeaeb2;--color-accent: #0071e3;--color-accent-hover: #0077ed;--color-border: #d2d2d7;--color-border-light: #e5e5ea;--color-card-bg: #ffffff;--color-card-shadow: rgba(0, 0, 0, .04);--color-selection: rgba(0, 113, 227, .2);--color-gradient-1: #0071e3;--color-gradient-2: #5e5ce6;--color-bg-dark: #000000;--color-bg-secondary-dark: #1d1d1f;--color-bg-tertiary-dark: #2d2d2f;--color-text-dark: #f5f5f7;--color-text-secondary-dark: #a1a1a6;--color-text-tertiary-dark: #6e6e73;--color-accent-dark: #2997ff;--color-border-dark: #424245;--color-border-light-dark: #333336;--color-card-bg-dark: #1d1d1f;--color-card-shadow-dark: rgba(0, 0, 0, .3);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 24px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04);--shadow-md: 0 4px 20px rgba(0, 0, 0, .06);--shadow-lg: 0 12px 48px rgba(0, 0, 0, .08);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--transition-spring: .5s cubic-bezier(.34, 1.56, .64, 1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-synthesis:none;scroll-behavior:smooth}body{font-family:var(--font-sans);font-weight:400;line-height:1.6;color:var(--color-text);background:var(--color-bg);min-height:100vh}::selection{background:var(--color-selection)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.15;letter-spacing:-.022em;color:var(--color-text)}h1{font-size:3.5rem;letter-spacing:-.028em}h2{font-size:2.5rem}h3{font-size:1.75rem}h4{font-size:1.25rem}p{margin-bottom:var(--space-md);color:var(--color-text-secondary)}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-hover)}img{max-width:100%;height:auto;display:block}code{font-family:var(--font-mono);font-size:.875em;background:var(--color-bg-tertiary);padding:2px 6px;border-radius:4px}pre{background:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--space-lg);overflow-x:auto;margin-bottom:var(--space-lg)}pre code{background:none;padding:0}blockquote{border-left:3px solid var(--color-accent);padding-left:var(--space-lg);margin:var(--space-xl) 0;color:var(--color-text-secondary);font-style:italic}hr{border:none;border-top:1px solid var(--color-border-light);margin:var(--space-3xl) 0}.container{width:100%;max-width:720px;margin:0 auto;padding:0 var(--space-lg)}.container-wide{width:100%;max-width:1024px;margin:0 auto;padding:0 var(--space-lg)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@keyframes fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-scale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fade-in var(--transition-slow) ease-out forwards}.animate-stagger>*{opacity:0;animation:fade-in var(--transition-slow) ease-out forwards}.animate-stagger>*:nth-child(1){animation-delay:0ms}.animate-stagger>*:nth-child(2){animation-delay:80ms}.animate-stagger>*:nth-child(3){animation-delay:.16s}.animate-stagger>*:nth-child(4){animation-delay:.24s}.animate-stagger>*:nth-child(5){animation-delay:.32s}.animate-stagger>*:nth-child(6){animation-delay:.4s}@media (prefers-color-scheme: dark){body{color:var(--color-text-dark);background:var(--color-bg-dark)}h1,h2,h3,h4,h5,h6{color:var(--color-text-dark)}p{color:var(--color-text-secondary-dark)}code{background:var(--color-bg-tertiary-dark)}pre{background:var(--color-bg-secondary-dark);border-color:var(--color-border-light-dark)}}.prose h2{font-size:1.5rem;font-weight:600;letter-spacing:-.018em;margin-top:var(--space-2xl);margin-bottom:var(--space-md);color:var(--color-text)}.prose h3{font-size:1.2rem;font-weight:600;margin-top:var(--space-xl);margin-bottom:var(--space-sm);color:var(--color-text)}.prose p{font-size:1.05rem;line-height:1.8;margin-bottom:var(--space-lg);color:var(--color-text-secondary)}.prose strong{font-weight:600;color:var(--color-text)}.prose a{color:var(--color-accent);text-decoration:none;border-bottom:1px solid var(--color-border-light);transition:border-color var(--transition-fast)}.prose a:hover{border-color:var(--color-accent)}.prose pre{background:#1d1d1f;border:none;border-radius:var(--radius-md);padding:var(--space-lg);margin:var(--space-lg) 0 var(--space-xl);overflow-x:auto}.prose pre code{color:#f5f5f7;background:none;font-size:.875rem;line-height:1.6}.prose code{font-family:var(--font-mono);font-size:.875em;background:var(--color-bg-secondary);padding:2px 7px;border-radius:5px;color:#eb5757;font-weight:500}.prose ul,.prose ol{margin:0 0 var(--space-lg) var(--space-lg);color:var(--color-text-secondary);line-height:1.85}.prose li{margin-bottom:var(--space-xs)}.prose blockquote{border-left:3px solid var(--color-accent);padding:var(--space-sm) 0 var(--space-sm) var(--space-lg);margin:var(--space-xl) 0;color:var(--color-text-secondary);background:var(--color-bg-secondary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-style:normal}.prose blockquote p{margin:0;color:inherit}.prose hr{margin:var(--space-2xl) 0}.prose img{border-radius:var(--radius-md);margin:var(--space-lg) auto}@media (hover: hover){.card-hover:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:transparent}.card-hover:hover h3{color:var(--color-accent)}}@media (max-width: 768px){h1{font-size:2.25rem}h2{font-size:1.75rem}h3{font-size:1.35rem}.container,.container-wide{padding:0 var(--space-md)}}
