:root{--bg-deep-space:#0A0E1A;--bg-void:#111827;--bg-surface:#1E293B;--accent-cyan:#06B6D4;--accent-blue:#3B82F6;--accent-violet:#8B5CF6;--text-primary:#E2E8F0;--text-secondary:#94A3B8;--text-muted:#64748B;--success:#10B981;--warning:#F59E0B;--error:#EF4444;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--sidebar-width:280px;--topbar-height:64px}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{background-color:var(--bg-deep-space);color:var(--text-primary);font-family:inter,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,Oxygen,Ubuntu,sans-serif;line-height:1.7;min-height:100vh}.layout{display:flex;min-height:100vh}.sidebar{position:fixed;top:0;left:0;width:var(--sidebar-width);height:100vh;background:var(--bg-void);border-right:1px solid var(--bg-surface);display:flex;flex-direction:column;z-index:1000;overflow-y:auto}.sidebar::before{content:'';position:absolute;top:0;right:0;width:3px;height:100%;background:linear-gradient(180deg,var(--accent-cyan) 0%,var(--accent-blue) 50%,var(--accent-violet) 100%)}.sidebar-header{padding:var(--space-xl);border-bottom:1px solid var(--bg-surface);display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;gap:var(--space-md);text-decoration:none}.logo-icon{width:40px;height:40px;background:linear-gradient(135deg,var(--accent-cyan),var(--accent-violet));border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.875rem;color:var(--bg-deep-space)}.logo-text{font-size:1.25rem;font-weight:700;background:linear-gradient(135deg,var(--accent-cyan),var(--accent-violet));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sidebar-close{display:none;background:0 0;border:none;color:var(--text-muted);cursor:pointer;padding:var(--space-sm);border-radius:var(--radius-md);transition:all .2s ease}.sidebar-close:hover{color:var(--text-primary);background:var(--bg-surface)}.sidebar-nav{flex:1;padding:var(--space-lg)0}.sidebar-nav ul{list-style:none}.sidebar-nav li{margin:var(--space-xs)0}.sidebar-nav a{display:flex;align-items:center;padding:var(--space-md)var(--space-xl);color:var(--text-secondary);text-decoration:none;font-weight:500;transition:all .2s ease;position:relative}.sidebar-nav a::before{content:'';position:absolute;right:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--accent-cyan),var(--accent-blue),var(--accent-violet));opacity:0;transition:opacity .2s ease}.sidebar-nav a:hover{color:var(--text-primary);background:var(--bg-surface)}.sidebar-nav a:hover::before{opacity:1}.sidebar-nav a.active{color:var(--accent-cyan);background:rgba(6,182,212,.1)}.sidebar-nav a.active::before{opacity:1}.sidebar-footer{padding:var(--space-xl);border-top:1px solid var(--bg-surface)}.social-links{display:flex;gap:var(--space-md)}.social-links a{color:var(--text-muted);transition:color .2s ease}.social-links a:hover{color:var(--accent-cyan)}.sidebar-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(10,14,26,.8);backdrop-filter:blur(4px);z-index:999;opacity:0;transition:opacity .3s ease}.sidebar-overlay.open{opacity:1}.main-wrapper{flex:1;margin-left:var(--sidebar-width);display:flex;flex-direction:column;min-height:100vh}.topbar{position:sticky;top:0;height:var(--topbar-height);background:rgba(10,14,26,.8);backdrop-filter:blur(10px);border-bottom:1px solid var(--bg-surface);display:flex;align-items:center;padding:0 var(--space-xl);z-index:100}.hamburger{display:none;background:0 0;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--space-sm);margin-right:var(--space-md);border-radius:var(--radius-md);transition:all .2s ease}.hamburger:hover{color:var(--text-primary);background:var(--bg-surface)}.topbar-title{font-size:1rem;font-weight:600;color:var(--text-secondary)}main{flex:1;padding:var(--space-2xl)var(--space-xl);max-width:1e3px;width:100%}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:700;line-height:1.3;margin-bottom:var(--space-md)}h1{font-size:2.5rem;background:linear-gradient(135deg,var(--accent-cyan),var(--accent-blue),var(--accent-violet));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}h2{font-size:1.75rem}h3{font-size:1.5rem}h4{font-size:1.25rem}p{color:var(--text-secondary);margin-bottom:var(--space-md)}a{color:var(--accent-cyan);text-decoration:none;transition:color .2s ease}a:hover{color:var(--accent-blue)}.hero{padding:var(--space-2xl)0;margin-bottom:var(--space-2xl);position:relative}.hero h1{font-size:3rem;margin-bottom:var(--space-lg)}.hero p{font-size:1.25rem;max-width:600px}.hero-gradient{position:absolute;top:-100px;right:-200px;width:500px;height:500px;background:radial-gradient(ellipse at center,rgba(139,92,246,.15) 0%,transparent 70%);pointer-events:none;z-index:-1}.posts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-xl)}.post-card{background:var(--bg-void);border:1px solid var(--bg-surface);border-radius:var(--radius-lg);padding:var(--space-xl);transition:all .2s ease;position:relative;overflow:hidden}.post-card::before{content:'';position:absolute;top:0;right:0;width:3px;height:100%;background:linear-gradient(180deg,var(--accent-cyan),var(--accent-blue),var(--accent-violet));opacity:0;transition:opacity .2s ease}.post-card:hover::before{opacity:1}.post-card h2{font-size:1.25rem;margin-bottom:var(--space-sm)}.post-card h2 a{color:var(--text-primary)}.post-card h2 a:hover{color:var(--accent-cyan)}.post-meta{color:var(--text-muted);font-size:.875rem;margin-bottom:var(--space-md)}.post-summary{color:var(--text-secondary);font-size:.95rem}.tags{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-md)}.tag{background:var(--bg-surface);color:var(--text-secondary);font-size:.75rem;padding:var(--space-xs)var(--space-sm);border-radius:var(--radius-sm);transition:all .2s ease}.tag:hover{background:var(--accent-cyan);color:var(--bg-deep-space)}article{max-width:768px}article h1{font-size:2.25rem;margin-bottom:var(--space-md)}article .post-meta{margin-bottom:var(--space-2xl);padding-bottom:var(--space-xl);border-bottom:1px solid var(--bg-surface)}article .content{font-size:1.1rem}article .content h2{margin-top:var(--space-2xl);padding-top:var(--space-lg);border-top:1px solid var(--bg-surface);font-size:1.5rem}article .content h3{margin-top:var(--space-xl)}article .content ul,article .content ol{margin:var(--space-md)0;padding-left:var(--space-xl);color:var(--text-secondary)}article .content li{margin-bottom:var(--space-sm)}article .content blockquote{border-left:3px solid var(--accent-violet);margin:var(--space-xl)0;padding:var(--space-md)var(--space-xl);background:var(--bg-void);border-radius:0 var(--radius-md)var(--radius-md)0}article .content blockquote p{color:var(--text-secondary);font-style:italic;margin:0}code{background:var(--bg-surface);color:var(--accent-cyan);font-family:jetbrains mono,fira code,monospace;font-size:.9em;padding:.2em .4em;border-radius:var(--radius-sm)}pre{background:var(--bg-void);border:1px solid var(--bg-surface);border-radius:var(--radius-md);padding:var(--space-lg);overflow-x:auto;margin:var(--space-xl)0}pre code{background:0 0;padding:0}footer{background:var(--bg-void);border-top:1px solid var(--bg-surface);padding:var(--space-xl);margin-top:auto}.footer-container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-lg)}.footer-text{color:var(--text-muted);font-size:.875rem}.footer-links{display:flex;gap:var(--space-lg)}.footer-links a{color:var(--text-muted)}.footer-links a:hover{color:var(--accent-cyan)}.posts-section{margin-top:var(--space-xl)}.posts-section>h2{margin-bottom:var(--space-xl);font-size:1.5rem}.related-posts{margin-top:var(--space-3xl);padding-top:var(--space-2xl);border-top:1px solid var(--bg-surface)}.related-posts h3{margin-bottom:var(--space-lg);color:var(--text-secondary);font-size:1.25rem}.related-posts .posts-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.related-posts .post-card{padding:var(--space-lg)}.related-posts .post-card h2{font-size:1rem}.post-terms{margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--bg-surface)}.section-intro{margin-bottom:var(--space-2xl);color:var(--text-secondary);font-size:1.1rem}.highlight{margin:var(--space-xl)0;border-radius:var(--radius-md);overflow:hidden}.highlight pre{margin:0;border:none;border-radius:0}.highlight .lnt{color:var(--text-muted);margin-right:var(--space-md);user-select:none}strong,b{color:var(--text-primary);font-weight:600}em,i{color:var(--text-secondary)}hr{border:none;height:1px;background:var(--bg-surface);margin:var(--space-2xl)0}article img{max-width:100%;height:auto;border-radius:var(--radius-md);margin:var(--space-lg)0}table{width:100%;border-collapse:collapse;margin:var(--space-xl)0}th,td{padding:var(--space-sm)var(--space-md);text-align:left;border-bottom:1px solid var(--bg-surface)}th{color:var(--text-primary);font-weight:600;background:var(--bg-void)}td{color:var(--text-secondary)}tr:hover td{background:var(--bg-void)}.text-gradient{background:linear-gradient(135deg,var(--accent-cyan),var(--accent-blue),var(--accent-violet));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}::selection{background:var(--accent-violet);color:var(--text-primary)}@media(max-width:1024px){:root{--sidebar-width:240px}}@media(max-width:768px){html{font-size:15px}.sidebar{transform:translateX(-100%);transition:transform .3s ease}.sidebar.open{transform:translateX(0)}.sidebar-close{display:block}.sidebar-overlay{display:block;pointer-events:none}.sidebar-overlay.open{pointer-events:auto}.main-wrapper{margin-left:0}.hamburger{display:block}.hero h1{font-size:2rem}.posts-grid{grid-template-columns:1fr}main{padding:var(--space-xl)var(--space-lg)}.footer-container{flex-direction:column;text-align:center}}@keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fadeIn .5s ease forwards}