﻿@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600&family=Playfair+Display:wght@400;500;600;700;800;900&display=swap");@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css");:root{--color-primary: #6366f1;--color-primary-dark: #4f46e5;--color-primary-light: #8b5cf6;--color-accent: #06b6d4;--color-accent-dark: #0891b2;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-text: #0f172a;--color-text-light: #475569;--color-text-muted: #64748b;--color-bg: #ffffff;--color-bg-secondary: #f8fafc;--color-bg-tertiary: #f1f5f9;--color-bg-glass: rgba(255, 255, 255, 0.8);--color-border: #e2e8f0;--color-border-light: #f1f5f9;--color-shadow: rgba(15, 23, 42, 0.08);--color-shadow-light: rgba(15, 23, 42, 0.04);--color-shadow-colored: rgba(99, 102, 241, 0.15);--gradient-primary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #06b6d4 100%);--gradient-secondary: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);--gradient-hero: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-card: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%);--font-family-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-serif: "Playfair Display", Georgia, serif;--font-family-mono: "JetBrains Mono", "Fira Code", Consolas, monospace;--spacing-xs: 0.25rem;--spacing-sm: 0.5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--radius-sm: 0.375rem;--radius-md: 0.5rem;--radius-lg: 0.75rem;--radius-xl: 1rem;--transition-fast: 0.15s ease-in-out;--transition-normal: 0.3s ease-in-out;--transition-slow: 0.5s ease-in-out;--shadow-sm: 0 1px 2px 0 var(--color-shadow-light);--shadow-md: 0 4px 6px -1px var(--color-shadow-light), 0 2px 4px -1px var(--color-shadow-light);--shadow-lg: 0 10px 15px -3px var(--color-shadow-light), 0 4px 6px -2px var(--color-shadow-light);--shadow-xl: 0 20px 25px -5px var(--color-shadow-light), 0 10px 10px -5px var(--color-shadow-light)}[data-theme=dark]{--color-text: #f1f5f9;--color-text-light: #cbd5e1;--color-text-muted: #94a3b8;--color-bg: #0f172a;--color-bg-secondary: #1e293b;--color-bg-tertiary: #334155;--color-bg-glass: rgba(15, 23, 42, 0.8);--color-border: #334155;--color-border-light: #475569;--color-shadow: rgba(0, 0, 0, 0.3);--color-shadow-light: rgba(0, 0, 0, 0.2);--color-shadow-colored: rgba(99, 102, 241, 0.25);--gradient-secondary: linear-gradient(135deg, #1e293b 0%, #334155 100%);--gradient-hero: linear-gradient(135deg, #4c1d95 0%, #1e1b4b 100%);--gradient-card: linear-gradient(145deg, #1e293b 0%, #0f172a 100%)}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-family-sans);font-size:1rem;line-height:1.6;color:var(--color-text);background:var(--gradient-secondary);transition:all var(--transition-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:relative}body::before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle at 25% 25%, var(--color-primary) 0%, rgba(0,0,0,0) 50%),radial-gradient(circle at 75% 75%, var(--color-accent) 0%, rgba(0,0,0,0) 50%);opacity:.03;z-index:-1;animation:float 20s ease-in-out infinite}@keyframes float{0%, 100%{transform:translateY(0px) rotate(0deg)}33%{transform:translateY(-10px) rotate(1deg)}66%{transform:translateY(5px) rotate(-1deg)}}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-serif);font-weight:700;line-height:1.2;margin-bottom:var(--spacing-lg);color:var(--color-text);position:relative}h1{font-size:3.5rem;font-weight:900;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);background-clip:text}h2{font-size:2.5rem;font-weight:800}h3{font-size:2rem;font-weight:700}h4{font-size:1.5rem;font-weight:600}h5{font-size:1.25rem;font-weight:600}h6{font-size:1.125rem;font-weight:600}p{margin-bottom:var(--spacing-md);color:var(--color-text-light)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark);text-decoration:underline}code{font-family:var(--font-family-mono);font-size:.875rem;background-color:var(--color-bg-tertiary);padding:.125rem .25rem;border-radius:var(--radius-sm);color:var(--color-text)}pre{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg);overflow-x:auto;margin-bottom:var(--spacing-lg)}pre code{background:none;padding:0;font-size:.875rem}ul,ol{margin-bottom:var(--spacing-md);padding-left:var(--spacing-lg)}ul li,ol li{margin-bottom:var(--spacing-xs);color:var(--color-text-light)}img{max-width:100%;height:auto;border-radius:var(--radius-md)}blockquote{border-left:4px solid var(--color-primary);padding-left:var(--spacing-lg);margin:var(--spacing-lg) 0;font-style:italic;color:var(--color-text-light)}table{width:100%;border-collapse:collapse;margin-bottom:var(--spacing-lg)}table th,table td{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border)}table th{font-weight:600;color:var(--color-text);background-color:var(--color-bg-secondary)}table td{color:var(--color-text-light)}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}.text-center{text-align:center}.text-muted{color:var(--color-text-muted)}.font-mono{font-family:var(--font-family-mono)}@media (max-width: 768px){html{font-size:14px}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.375rem}.container{padding:0 var(--spacing-md)}}@media (max-width: 480px){html{font-size:13px}h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}}.header{background:var(--color-bg-glass);backdrop-filter:blur(20px);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm)}.header .header-content{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg) 0}.header .logo{font-family:var(--font-family-serif);font-size:2rem;font-weight:900;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);background-clip:text;text-decoration:none;position:relative}.header .logo::after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--gradient-primary);transition:width var(--transition-normal)}.header .logo:hover{text-decoration:none}.header .logo:hover::after{width:100%}.header .nav{display:flex;gap:var(--spacing-xl)}.header .nav a{color:var(--color-text-light);font-weight:600;font-size:1rem;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);transition:all var(--transition-fast);position:relative}.header .nav a::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--gradient-primary);border-radius:var(--radius-md);opacity:0;transform:scale(.8);transition:all var(--transition-fast);z-index:-1}.header .nav a:hover,.header .nav a.active{color:#fff;text-decoration:none;transform:translateY(-2px)}.header .nav a:hover::before,.header .nav a.active::before{opacity:1;transform:scale(1)}.header .header-actions{display:flex;align-items:center;gap:var(--spacing-md)}.header .theme-toggle{background:var(--gradient-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-md);cursor:pointer;color:var(--color-text);transition:all var(--transition-fast);font-size:1.2rem;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.header .theme-toggle::before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--gradient-primary);transition:left var(--transition-normal);z-index:-1}.header .theme-toggle:hover{color:#fff;border-color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-colored)}.header .theme-toggle:hover::before{left:0}.hero{padding:8rem 0 6rem;text-align:center;background:var(--gradient-hero);position:relative;overflow:hidden}.hero::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 80%, rgba(120,119,198,.3) 0%, rgba(0,0,0,0) 50%),radial-gradient(circle at 80% 20%, rgba(255,119,198,.3) 0%, rgba(0,0,0,0) 50%),radial-gradient(circle at 40% 40%, rgba(120,219,255,.2) 0%, rgba(0,0,0,0) 50%);animation:heroFloat 15s ease-in-out infinite}.hero .container{position:relative;z-index:1}.hero h1{font-size:4.5rem;font-weight:900;margin-bottom:var(--spacing-xl);color:#fff;text-shadow:0 4px 20px rgba(0,0,0,.3);animation:fadeInUp 1s ease-out}.hero h1 .highlight{background:linear-gradient(135deg, gold, #ff6b6b);-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);background-clip:text}.hero .subtitle{font-size:1.5rem;color:rgba(255,255,255,.9);margin-bottom:var(--spacing-2xl);max-width:700px;margin-left:auto;margin-right:auto;line-height:1.6;animation:fadeInUp 1s ease-out .2s both}.hero .cta-button{display:inline-flex;align-items:center;gap:var(--spacing-sm);background:rgba(255,255,255,.2);backdrop-filter:blur(10px);color:#fff;padding:var(--spacing-lg) var(--spacing-2xl);border-radius:var(--radius-xl);font-weight:700;font-size:1.125rem;text-decoration:none;transition:all var(--transition-normal);box-shadow:0 8px 32px rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.3);animation:fadeInUp 1s ease-out .4s both}.hero .cta-button:hover{background:rgba(255,255,255,.3);transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.3);text-decoration:none;color:#fff}.hero .cta-button::after{content:"→";transition:transform var(--transition-fast)}.hero .cta-button:hover::after{transform:translateX(4px)}@keyframes heroFloat{0%, 100%{transform:translateY(0px) rotate(0deg)}33%{transform:translateY(-20px) rotate(1deg)}66%{transform:translateY(10px) rotate(-1deg)}}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.posts-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(350px, 1fr));gap:var(--spacing-xl);margin-bottom:var(--spacing-3xl)}.post-card{background:var(--gradient-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-2xl);transition:all var(--transition-normal);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.post-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-primary);transform:scaleX(0);transition:transform var(--transition-normal)}.post-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:var(--shadow-xl);border-color:var(--color-primary)}.post-card:hover::before{transform:scaleX(1)}.post-card .post-meta{display:flex;align-items:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg);font-size:.875rem;color:var(--color-text-muted);font-weight:500}.post-card .post-meta time{display:flex;align-items:center;gap:var(--spacing-xs)}.post-card .post-meta time::before{content:"📅";font-size:.875rem}.post-card .post-meta .reading-time{display:flex;align-items:center;gap:var(--spacing-xs)}.post-card .post-meta .reading-time::before{content:"⏱️";font-size:.875rem}.post-card .post-meta .category{background:var(--gradient-primary);color:#fff;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.post-card .post-title{font-family:var(--font-family-serif);font-size:1.75rem;font-weight:700;margin-bottom:var(--spacing-md);line-height:1.3}.post-card .post-title a{color:var(--color-text);text-decoration:none;transition:all var(--transition-fast);position:relative}.post-card .post-title a:hover{color:var(--color-primary)}.post-card .post-excerpt{color:var(--color-text-light);margin-bottom:var(--spacing-xl);line-height:1.7;font-size:1rem}.post-card .post-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.post-card .post-tags .tag{background:rgba(99,102,241,.1);color:var(--color-primary);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-lg);font-size:.8rem;font-weight:600;text-decoration:none;transition:all var(--transition-fast);border:1px solid rgba(99,102,241,.2)}.post-card .post-tags .tag:hover{background:var(--color-primary);color:#fff;text-decoration:none;transform:translateY(-2px)}.post-card .post-footer{margin-top:auto;padding-top:var(--spacing-lg);border-top:1px solid var(--color-border-light)}.post-card .post-footer a{display:inline-flex;align-items:center;gap:var(--spacing-sm);color:var(--color-primary);font-weight:600;text-decoration:none;transition:all var(--transition-fast)}.post-card .post-footer a::after{content:"→";transition:transform var(--transition-fast)}.post-card .post-footer a:hover{color:var(--color-primary-dark)}.post-card .post-footer a:hover::after{transform:translateX(4px)}.footer{background-color:var(--color-bg-secondary);border-top:1px solid var(--color-border);padding:var(--spacing-3xl) 0 var(--spacing-xl);margin-top:var(--spacing-3xl)}.footer .footer-content{display:grid;grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));gap:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.footer .footer-section h3{font-size:1.125rem;font-weight:600;margin-bottom:var(--spacing-md);color:var(--color-text)}.footer .footer-section p,.footer .footer-section li{color:var(--color-text-light);font-size:.875rem}.footer .footer-section ul{list-style:none;padding:0}.footer .footer-section ul li{margin-bottom:var(--spacing-sm)}.footer .social-links{display:flex;gap:var(--spacing-md)}.footer .social-links a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:var(--color-bg-tertiary);border-radius:var(--radius-md);color:var(--color-text-light);transition:all var(--transition-fast)}.footer .social-links a:hover{background-color:var(--color-primary);color:#fff;transform:translateY(-2px);text-decoration:none}.footer .footer-bottom{text-align:center;padding-top:var(--spacing-lg);border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:.875rem}.pagination{display:flex;justify-content:center;align-items:center;gap:var(--spacing-sm);margin:var(--spacing-3xl) 0}.pagination a,.pagination span{display:flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-light);text-decoration:none;transition:all var(--transition-fast)}.pagination a:hover,.pagination span:hover{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.pagination a.current,.pagination span.current{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.search-container{position:relative;max-width:400px;margin:0 auto var(--spacing-xl)}.search-container input{width:100%;padding:var(--spacing-md) var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-bg);color:var(--color-text);font-size:1rem;transition:all var(--transition-fast)}.search-container input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(37,99,235,.1)}.search-container input::placeholder{color:var(--color-text-muted)}.search-container .search-results{position:absolute;top:100%;left:0;right:0;background-color:var(--color-bg);border:1px solid var(--color-border);border-top:none;border-radius:0 0 var(--radius-lg) var(--radius-lg);max-height:300px;overflow-y:auto;z-index:10;display:none}.search-container .search-results.show{display:block}.search-container .search-results .search-result{padding:var(--spacing-md);border-bottom:1px solid var(--color-border-light);cursor:pointer;transition:background-color var(--transition-fast)}.search-container .search-results .search-result:hover{background-color:var(--color-bg-secondary)}.search-container .search-results .search-result:last-child{border-bottom:none}.search-container .search-results .search-result .result-title{font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-xs)}.search-container .search-results .search-result .result-excerpt{font-size:.875rem;color:var(--color-text-light)}.mobile-nav-toggle{display:none;background:var(--gradient-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm);font-size:1.2rem;color:var(--color-text);cursor:pointer;transition:all var(--transition-fast)}.mobile-nav-toggle:hover{background:var(--color-primary);color:#fff;transform:scale(1.1)}@media (max-width: 768px){.header .nav{display:none;position:absolute;top:100%;left:0;right:0;background-color:var(--color-bg);border-top:1px solid var(--color-border);flex-direction:column;padding:var(--spacing-lg);gap:var(--spacing-lg)}.header .nav.show{display:flex}.header .mobile-nav-toggle{display:block}.hero{padding:var(--spacing-xl) 0}.hero h1{font-size:2.5rem}.hero .subtitle{font-size:1.125rem}.posts-grid{grid-template-columns:1fr;gap:var(--spacing-lg)}.footer-content{grid-template-columns:1fr;gap:var(--spacing-lg)}.social-links{justify-content:center}}.animate-on-scroll{opacity:0;transform:translateY(30px);transition:all .6s ease-out}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(99,102,241,.4)}70%{box-shadow:0 0 0 10px rgba(99,102,241,0)}100%{box-shadow:0 0 0 0 rgba(99,102,241,0)}}.cta-button{animation:pulse 2s infinite}.gradient-text{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);background-clip:text}.glass{background:var(--color-bg-glass);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2)}.floating{animation:float 6s ease-in-out infinite}@keyframes float{0%, 100%{transform:translateY(0px)}50%{transform:translateY(-20px)}}.shimmer{background:linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);background-size:200% 100%;animation:shimmer 2s infinite}@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}.glow-on-hover{transition:all var(--transition-normal)}.glow-on-hover:hover{box-shadow:0 0 20px var(--color-shadow-colored)}.typewriter{overflow:hidden;border-right:2px solid var(--color-primary);white-space:nowrap;animation:typing 3.5s steps(40, end),blink-caret .75s step-end infinite}@keyframes typing{from{width:0}to{width:100%}}@keyframes blink-caret{from, to{border-color:rgba(0,0,0,0)}50%{border-color:var(--color-primary)}}