:root{--primary-color:#2563eb;--primary-dark:#1e40af;--primary-light:#3b82f6;--secondary-color:#7c3aed;--accent-color:#ec4899;--text-primary:#1f2937;--text-secondary:#6b7280;--text-light:#9ca3af;--bg-primary:#ffffff;--bg-secondary:#f9fafb;--bg-tertiary:#f3f4f6;--border-color:#e5e7eb;--border-light:#f3f4f6;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-mono:"SFMono-Regular", "Consolas", "Liberation Mono", "Menlo", "Courier", monospace;--font-serif:"Georgia", "Garamond", serif;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-base:1rem;--spacing-md:1.5rem;--spacing-lg:2rem;--spacing-xl:3rem;--spacing-2xl:4rem;--container-max-width:900px;--container-padding:var(--spacing-md);--shadow-sm:0 1px 2px 0 rgba(0, 0, 0, 0.05);--shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);--shadow-md:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);--shadow-lg:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);--transition-fast:150ms ease-in-out;--transition-base:250ms ease-in-out;--transition-slow:350ms ease-in-out}@media(prefers-color-scheme:dark){:root{--bg-primary:#0b0f12;--bg-secondary:#0f1720;--bg-tertiary:#111827;--text-primary:#e6eef8;--text-secondary:#b7c1cc;--text-light:#9aa6b3;--border-color:rgba(255,255,255,0.06);--border-light:rgba(255,255,255,0.03);--primary-color:#60a5fa;--primary-dark:#3b82f6;--primary-light:#93c5fd;--nav-highlight:rgba(96,165,250,0.12)}}body.dark{--bg-primary:#0b0f12;--bg-secondary:#0f1720;--bg-tertiary:#111827;--text-primary:#e6eef8;--text-secondary:#b7c1cc;--text-light:#9aa6b3;--border-color:rgba(255,255,255,0.06);--border-light:rgba(255,255,255,0.03);--primary-color:#60a5fa;--primary-dark:#3b82f6;--primary-light:#93c5fd;--nav-highlight:rgba(96,165,250,0.12)}@media(prefers-color-scheme:dark){.main-nav .nav-link{color:var(--text-primary) !important}.main-nav .nav-link:hover,.main-nav .nav-link:focus,.main-nav li.active .nav-link{color:var(--text-primary) !important}}body.dark .main-nav .nav-link{color:var(--text-primary) !important}body.dark .main-nav .nav-link:hover,body.dark .main-nav .nav-link:focus,body.dark .main-nav li.active .nav-link{color:var(--text-primary) !important}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;margin-bottom:var(--spacing-base);color:var(--text-primary)}h1{font-size:2.5rem}h2{font-size:2rem;margin-top:var(--spacing-xl);margin-bottom:var(--spacing-lg)}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}p{margin-bottom:var(--spacing-base)}a{color:var(--primary-color);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-dark);text-decoration:underline}strong{font-weight:600}em{font-style:italic}code{font-family:var(--font-mono);background:var(--bg-secondary);padding:.2em .4em;border-radius:3px;font-size:.95em}pre{background:var(--bg-tertiary);padding:var(--spacing-lg);border-radius:8px;overflow-x:auto;margin-bottom:var(--spacing-lg);border:1px solid var(--border-color)}pre code{background:0 0;padding:0;font-size:.95em}blockquote{border-left:4px solid var(--primary-color);padding-left:var(--spacing-lg);margin-bottom:var(--spacing-lg);color:var(--text-secondary);font-style:italic}ul,ol{margin-bottom:var(--spacing-lg);padding-left:var(--spacing-xl)}.post-content ul{list-style:none;padding-left:0;margin-left:0}.post-content ul li{margin-bottom:var(--spacing-sm);padding-left:var(--spacing-base)}.post-content li ul{padding-left:var(--spacing-md)}.post-content ol{list-style:none;padding-left:0;margin-left:0}.post-content ol li{margin-bottom:var(--spacing-sm);padding-left:var(--spacing-base)}.post-content li ol{padding-left:var(--spacing-md)}li{margin-bottom:var(--spacing-sm)}.archive-year ul{list-style:none;padding-left:0;margin-left:0}.archive-year li{padding-left:var(--spacing-base);margin-bottom:var(--spacing-sm)}.archive-item{display:flex;align-items:center;gap:.5rem}.archive-date{flex:0 0 140px;text-align:right;color:var(--text-secondary);font-size:.95rem}.archive-sep{flex:0 0 1.25rem;text-align:center;color:var(--text-secondary)}.archive-title{flex:auto}.archive-title a{color:var(--primary-color)}.container{max-width:var(--container-max-width);margin:0 auto;padding:0 var(--container-padding)}.posts-section .container{max-width:100%;margin:0;padding:0 var(--container-padding)}.posts-grid{width:100%}.posts-grid .post-card{width:100%;border-radius:.25rem}.site-header{background:var(--bg-primary);border-right:1px solid var(--border-color);position:fixed;left:0;top:0;height:100vh;width:120px;z-index:1000;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;align-items:center;padding:var(--spacing-lg)0}.header-container{max-width:none;width:100%;margin:0;padding:0;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;gap:0;height:100%}.logo{flex:none;margin-bottom:var(--spacing-xl);writing-mode:vertical-lr}.snowflake-logo{width:50px;height:50px;margin-bottom:var(--spacing-sm);color:var(--primary-color);transition:color var(--transition-base)}.logo:hover .snowflake-logo{color:var(--primary-dark)}.site-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);transition:color var(--transition-fast);white-space:nowrap}.site-title:hover{color:var(--primary-color);text-decoration:none}.main-nav{flex:auto;display:flex;flex-direction:column;justify-content:flex-start;width:100%}.main-nav ul{list-style:none;display:flex;flex-direction:column;gap:var(--spacing-sm);padding:0;margin:0;width:100%;align-items:stretch}.main-nav li{width:100%}.main-nav .nav-link{font-weight:500;color:var(--text-primary);transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);position:relative;white-space:nowrap;display:flex;align-items:center;justify-content:center;padding:var(--spacing-base);border-radius:8px}.main-nav .nav-link::after{display:none}.main-nav .nav-link{--nav-highlight:rgba(37,99,235,0.08);transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.main-nav .nav-link::before{content:"";position:absolute;left:8px;top:14%;bottom:14%;width:4px;background:var(--primary-color);border-radius:3px;opacity:0;transform:scaleY(0);transform-origin:center;transition:opacity var(--transition-fast),transform var(--transition-fast)}.main-nav .nav-link:hover,.main-nav .nav-link:focus,.main-nav li.active .nav-link{background:var(--nav-highlight);color:var(--text-primary)}.main-nav .nav-link:focus-visible{box-shadow:0 0 0 3px rgba(37,99,235,.12);outline:none}.main-nav .nav-link:hover::before,.main-nav .nav-link:focus::before,.main-nav li.active .nav-link::before{opacity:1;transform:scaleY(1)}.mobile-menu-toggle{display:none;flex-direction:column;gap:6px;background:0 0;border:none;cursor:pointer;padding:var(--spacing-sm)}.mobile-menu-toggle span{display:block;width:24px;height:2px;background:var(--text-primary);border-radius:2px;transition:var(--transition-fast)}.dark-toggle{display:inline-flex;align-items:center;justify-content:center;background:0 0;border:none;color:var(--text-primary);cursor:pointer;padding:.35rem;margin-bottom:var(--spacing-sm);border-radius:8px}.dark-toggle .dark-icon{font-size:18px;line-height:1}.dark-toggle:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(96,165,250,.12)}.main-content{min-height:calc(100vh - 200px);padding:var(--spacing-xl)0;margin-left:120px}.home-container{width:100%}.welcome-section{padding:0;margin-bottom:0;text-align:left}.welcome-section h1{font-size:2.5rem;margin-bottom:var(--spacing-base);color:var(--text-primary)}.welcome-text{font-size:1.1rem;color:var(--text-secondary);max-width:900px;line-height:1.6}.welcome{background:var(--bg-secondary);padding:0;margin-bottom:0;border-radius:6px}.welcome-section h1,.welcome-text{margin-top:0}.welcome-section h1{margin-bottom:var(--spacing-sm)}.welcome-text{margin-bottom:0}.welcome-section .container{max-width:var(--container-max-width);margin:0;padding:0 var(--container-padding)}.welcome h2{font-size:1.75rem;margin-top:0}.posts-section{margin-top:0;margin-bottom:0}.posts-section h2{text-align:left;margin-top:var(--spacing-md);margin-bottom:var(--spacing-md);font-size:2rem}.posts-grid{display:flex;flex-direction:column;gap:var(--spacing-lg);margin-bottom:var(--spacing-sm)}.post-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:var(--spacing-lg);transition:all var(--transition-base);display:flex;flex-direction:column;height:auto}.post-card:hover{border-color:var(--primary-light);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.post-card-content{display:flex;flex-direction:column;height:100%}.card-tags{margin-bottom:var(--spacing-sm);display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.tag-badge{display:inline-block;background:var(--primary-light);color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.post-title{font-size:1.25rem;margin-bottom:var(--spacing-base);line-height:1.3}.post-title a{color:var(--text-primary);transition:color var(--transition-fast)}.post-title a:hover{color:var(--primary-color)}.post-meta{color:var(--text-secondary);font-size:.95rem;margin-bottom:var(--spacing-base)}.post-excerpt{flex-grow:1;color:var(--text-secondary);margin-bottom:var(--spacing-base);line-height:1.6}.read-more{display:inline-block;color:var(--primary-color);font-weight:600;transition:all var(--transition-fast);margin-top:auto}.read-more:hover{color:var(--primary-dark);transform:translateX(4px);text-decoration:none}.view-all{display:flex;justify-content:center;margin-top:var(--spacing-xl)}.btn{display:inline-block;padding:var(--spacing-base)var(--spacing-xl);border-radius:8px;font-weight:600;text-decoration:none;transition:all var(--transition-fast);border:none;cursor:pointer;font-size:1rem}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-md);text-decoration:none}.single-post{max-width:700px;margin:var(--spacing-xl)auto}.post-header{margin-bottom:var(--spacing-xl)}.post-header h1{margin-bottom:var(--spacing-lg);font-size:2.5rem;line-height:1.2}.post-header .post-meta{display:flex;gap:var(--spacing-lg);flex-wrap:wrap;font-size:.95rem;color:var(--text-secondary)}.post-tags{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--border-color)}.tag{display:inline-block;background:var(--bg-secondary);color:var(--primary-color);padding:.25rem .75rem;border-radius:6px;font-size:.9rem;text-decoration:none;transition:all var(--transition-fast)}.tag:hover{background:var(--primary-light);color:#fff}.post-content{margin-bottom:var(--spacing-2xl);font-size:1.05rem;line-height:1.8}.post-content img{max-width:100%;height:auto;border-radius:8px;margin:var(--spacing-lg)0;box-shadow:var(--shadow-md)}.post-content table{width:100%;border-collapse:collapse;margin:var(--spacing-lg)0;border:1px solid var(--border-color)}.post-content table thead{background:var(--bg-secondary)}.post-content table th,.post-content table td{padding:var(--spacing-base);text-align:left;border-bottom:1px solid var(--border-color)}.post-categories{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--border-color)}.post-categories a{display:inline-block;margin-right:var(--spacing-base);margin-bottom:var(--spacing-sm)}.post-nav{display:flex;justify-content:space-between;gap:var(--spacing-lg);margin-top:var(--spacing-2xl);padding-top:var(--spacing-lg);border-top:1px solid var(--border-color)}.post-nav a{flex:1;padding:var(--spacing-base);background:var(--bg-secondary);border-radius:8px;transition:all var(--transition-fast)}.post-nav a:hover{background:var(--primary-light);color:#fff;text-decoration:none}.page-header{text-align:center;margin-bottom:var(--spacing-xl)}.page-header h1{font-size:2.5rem;margin-bottom:var(--spacing-base)}.list-container{max-width:700px;margin:0 auto}.posts-list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.post-item{padding:var(--spacing-lg);border:1px solid var(--border-color);border-radius:8px;transition:all var(--transition-base)}.post-item:hover{border-color:var(--primary-light);box-shadow:var(--shadow)}.post-item-header{margin-bottom:var(--spacing-base)}.post-item-header h3{margin-bottom:var(--spacing-sm)}.post-item-header h3 a{color:var(--text-primary)}.post-item-header h3 a:hover{color:var(--primary-color)}.post-item-header .post-date{color:var(--text-secondary);font-size:.9rem}.post-item .post-excerpt{margin-bottom:var(--spacing-base)}.post-item .post-tags{border:none;padding:0;margin:0;gap:var(--spacing-sm)}.no-posts{text-align:center;padding:var(--spacing-xl);color:var(--text-secondary)}.pagination{margin:var(--spacing-2xl)0;display:flex;justify-content:center}.pagination-list{display:flex;list-style:none;gap:var(--spacing-sm);flex-wrap:wrap;justify-content:center}.pagination-list li{margin:0}.pagination-list a,.pagination-list span{display:flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 var(--spacing-sm);border-radius:6px;border:1px solid var(--border-color);color:var(--text-primary);transition:all var(--transition-fast);font-weight:500}.pagination-list a:hover{background:var(--primary-light);color:#fff;border-color:var(--primary-light);text-decoration:none}.pagination-current{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.pagination-previous,.pagination-next{min-width:auto;padding:0 var(--spacing-base)}.pagination-previous[disabled],.pagination-next[disabled]{opacity:.5;cursor:not-allowed}.site-footer{background:var(--bg-secondary);border-top:1px solid var(--border-color);padding:var(--spacing-2xl)0;margin-top:0;margin-left:80px}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.footer-section h3,.footer-section h4{margin-bottom:var(--spacing-base);font-size:1.1rem}.footer-section p{color:var(--text-secondary);margin-bottom:0}.footer-section ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-sm)}.footer-section a{color:var(--text-secondary);transition:color var(--transition-fast)}.footer-section a:hover{color:var(--primary-color);text-decoration:underline}.social-links{display:flex;gap:var(--spacing-base);flex-wrap:wrap}.footer-bottom{border-top:1px solid var(--border-color);padding-top:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-base);align-items:center}.footer-bottom p{margin:0;color:var(--text-secondary)}.footer-links{display:flex;gap:var(--spacing-lg);flex-wrap:wrap;justify-content:center}.footer-links a{color:var(--text-secondary);font-size:.9rem}@media(max-width:768px){html{font-size:15px}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}.welcome-section h1{font-size:2rem}.welcome-section{padding:var(--spacing-xl)var(--container-padding)}.site-header{width:60px;padding:var(--spacing-base)0}.site-title{font-size:1rem}.main-nav ul{gap:var(--spacing-base)}.main-nav .nav-link{padding:var(--spacing-sm);font-size:.9rem}.main-content{margin-left:60px}.site-footer{margin-left:60px}.mobile-menu-toggle{display:none}.main-nav.active{display:flex}.post-nav{flex-direction:column}.footer-content{grid-template-columns:1fr}.footer-bottom{align-items:center;text-align:center}}@media(max-width:480px){:root{--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:2.5rem}h1{font-size:1.75rem}h2{font-size:1.25rem}.welcome-section h1{font-size:1.5rem}.welcome-text{font-size:1rem}.post-header h1{font-size:1.75rem}.post-content{font-size:1rem}.main-nav ul{padding:0}.header-container{padding:var(--spacing-sm)var(--container-padding)}.site-title{font-size:1.25rem}.pagination-list{gap:var(--spacing-xs)}.pagination-list a,.pagination-list span{min-width:36px;height:36px;font-size:.9rem}}@media print{body{background:#fff;color:#000}a{color:inherit}.mobile-menu-toggle,.site-header,.site-footer{display:none}.main-content{padding:0;min-height:auto}h1,h2,h3,h4,h5,h6{page-break-after:avoid}p{orphans:3;widows:3}}.home-container .welcome-section .container{margin-left:0 !important;margin-right:0 !important}