:root{--primary-h: 220;--primary-s: 90%;--primary-l: 56%;--primary-color: hsl(var(--primary-h), var(--primary-s), var(--primary-l));--accent-h: 260;--accent-s: 90%;--accent-l: 66%;--accent-color: hsl(var(--accent-h), var(--accent-s), var(--accent-l));--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--bg-body: #ffffff;--bg-card: #ffffff;--bg-subtle: var(--gray-50);--border-color: var(--gray-200);--text-main: var(--gray-900);--text-muted: var(--gray-500);--text-light: var(--gray-400);--radius-sm: 6px;--radius-md: 12px;--radius-lg: 16px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}@media (prefers-color-scheme: dark){:root{--bg-body: var(--gray-900);--bg-card: var(--gray-800);--bg-subtle: var(--gray-800);--border-color: var(--gray-700);--text-main: var(--gray-100);--text-muted: var(--gray-400)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-body);color:var(--text-main);line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}a{color:var(--primary-color);text-decoration:none;transition:opacity .2s}a:hover{opacity:.8}ul,ol{list-style:none}img{max-width:100%;height:auto;display:block}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-md);flex:1}h1,h2,h3,h4,h5,h6{line-height:1.25;margin-bottom:var(--spacing-md);font-weight:700}h1{font-size:2.25rem}h2{font-size:1.875rem}h3{font-size:1.5rem}p{margin-bottom:var(--spacing-md)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-weight:500;cursor:pointer;border:1px solid transparent;transition:all .2s}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:hsl(var(--primary-h),var(--primary-s),50%);color:#fff}.card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-lg);box-shadow:var(--shadow-sm)}.article-content{line-height:1.8;font-size:1.125rem;color:var(--text-main);max-width:800px;margin:0 auto}.article-title{font-size:2.25rem;line-height:1.3;text-align:center;max-width:900px;margin:0 auto 30px;font-weight:800;letter-spacing:-.02em}.article-content h2{margin-top:2.5rem;margin-bottom:1rem;font-size:1.75rem;border-bottom:1px solid var(--border-color);padding-bottom:.5rem;color:var(--text-main)}.article-content h3{margin-top:2rem;margin-bottom:.75rem;font-size:1.4rem;color:var(--text-main)}.article-content p{margin-bottom:1.5rem;color:#374151}.article-content blockquote{border-left:4px solid var(--primary-color);padding:1.5rem 2rem;margin:2rem 0;font-style:italic;font-size:1.1rem;color:var(--text-muted);background:linear-gradient(to right,var(--bg-subtle),transparent);border-radius:var(--radius-md)}.article-content img{border-radius:var(--radius-md);box-shadow:var(--shadow-md);margin:2rem auto;max-height:500px;display:block}.article-content ul,.article-content ol{margin-bottom:1.5rem;padding-left:1.5rem;list-style:disc}.article-content pre{background-color:var(--bg-subtle);padding:1.5rem;border-radius:var(--radius-md);overflow-x:auto;margin:1.5rem 0;border:1px solid var(--border-color)}.article-content code{font-family:var(--font-mono);font-size:.9em;background:var(--bg-subtle);padding:.2rem .4rem;border-radius:4px}.blog-card{transition:transform .2s,box-shadow .2s;cursor:pointer;text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:10px}.blog-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.blog-card .date{font-size:.85rem;color:var(--text-muted)}
