:root{--primary-color:#60a5fa;--primary-hover:#3b82f6;--primary-light:#1e3a8a;--primary-dark:#93c5fd;--text-primary:#f8fafc;--text-secondary:#e2e8f0;--text-muted:#cbd5e1;--text-light:#f9fafb;--bg-primary:#1f2937;--bg-secondary:#111827;--bg-tertiary:#374151;--bg-dark:#030712;--border-color:#374151;--border-light:#4b5563;--success:#34d399;--warning:#fbbf24;--error:#f87171;--info:#60a5fa;--code-bg:#111827;--code-text:#f1f5f9;--code-border:#374151;--card-bg:#1f2937;--card-shadow:0 4px 6px -1px rgba(0,0,0,.2),0 2px 4px -1px rgba(0,0,0,.1);--card-border:#374151;--nav-bg:#111827;--nav-text:#e2e8f0;--nav-text-hover:#f9fafb;--nav-border:#374151;--footer-bg:#111827;--footer-text:#e2e8f0;--footer-link:#cbd5e1;--footer-link-hover:#f9fafb}.hljs{background-color:#111827!important;color:#e5e7eb!important}.table-of-contents{background-color:#1f2937!important;border:1px solid #374151!important}code{background-color:#111827!important;color:#e5e7eb!important}pre code{background-color:transparent!important}blockquote{background-color:rgba(75,85,99,.1)!important;border-left-color:#4b5563!important}input,select,textarea{background-color:#374151!important;border-color:#4b5563!important;color:#f3f4f6!important}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af!important}input::placeholder,textarea::placeholder{color:#9ca3af!important}button.text-gray-500{color:var(--text-secondary)!important}button.text-gray-500:hover{color:var(--text-light)!important}.text-gray-600,.text-gray-700{color:var(--text-secondary)!important}.text-gray-800{color:var(--text-primary)!important}.text-gray-900{color:var(--text-light)!important}.bg-white{background-color:var(--bg-primary)!important}.bg-gray-100,.bg-gray-50{background-color:var(--bg-tertiary)!important}.shadow,.shadow-lg,.shadow-md,.shadow-sm{box-shadow:0 4px 6px -1px rgba(0,0,0,.3),0 2px 4px -1px rgba(0,0,0,.2)!important}.border,.border-b,.border-l,.border-r,.border-t{border-color:var(--border-color)!important}.dark{--primary-color:#93c5fd;--primary-hover:#60a5fa;--primary-light:#3b82f6;--primary-dark:#c7d2fe;--text-primary:#fff;--text-secondary:#e2e8f0;--text-muted:#cbd5e1;--text-light:#0f172a;--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#334155;--bg-dark:#f8fafc;--border-color:#475569;--border-light:#64748b;background-color:var(--bg-secondary);color:var(--text-primary)}.dark .bg-white{background-color:var(--bg-primary)!important}.dark .bg-gray-50{background-color:var(--bg-secondary)!important}.dark .bg-gray-100{background-color:var(--bg-tertiary)!important}.dark .text-gray-500{color:var(--text-muted)!important}.dark .text-gray-600,.dark .text-gray-700{color:var(--text-secondary)!important}.dark .text-gray-800,.dark .text-gray-900{color:var(--text-primary)!important}.dark .border,.dark .border-b,.dark .border-l,.dark .border-r,.dark .border-t{border-color:var(--border-color)!important}.dark .border-gray-100,.dark .border-gray-200,.dark .border-gray-300{border-color:var(--border-light)!important}.dark body{background-color:var(--bg-secondary);color:var(--text-primary)}.dark a{color:var(--primary-color)}.dark a:hover{color:var(--primary-hover)}.dark nav{background-color:var(--nav-bg);border-bottom:1px solid var(--nav-border)}.dark nav a,.dark nav button{color:var(--nav-text)}.dark nav a:hover,.dark nav button:hover{color:var(--nav-text-hover)}.dark .card{background-color:var(--card-bg);border:1px solid var(--card-border);box-shadow:var(--card-shadow)}.dark .btn,.dark button{border-color:var(--border-color);color:var(--text-primary)}.dark .btn,.dark .btn:hover,.dark button,.dark button:hover{background-color:var(--bg-tertiary)}.dark .btn-primary,.dark button.primary{background-color:var(--primary-color);color:#fff}.dark .btn-primary:hover,.dark button.primary:hover{background-color:var(--primary-hover)}.dark code,.dark pre{background-color:var(--code-bg);border:1px solid var(--code-border);color:var(--code-text)}.dark footer{background-color:var(--footer-bg);color:var(--footer-text)}.dark footer a{color:var(--footer-link)}.dark footer a:hover{color:var(--footer-link-hover)}.dark table td,.dark table th{border:1px solid var(--border-color)}.dark table th{background-color:var(--bg-tertiary)}.dark input,.dark select,.dark textarea{background-color:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary)}.dark input:focus,.dark select:focus,.dark textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(129,140,248,.2);outline:none}.dark .btn,.dark button{transition:all .2s cubic-bezier(.4,0,.2,1)}.dark .btn:hover,.dark button:hover{transform:translateY(-1px)}.dark .btn:active,.dark button:active{transform:translateY(1px)}.dark .article-card,.dark .card,.dark .project-card{transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1)}.dark .article-card:hover,.dark .card:hover,.dark .project-card:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.3),0 4px 6px -2px rgba(0,0,0,.2);transform:translateY(-2px)}.dark a{background-image:linear-gradient(transparent 95%,var(--primary-color) 5%);background-repeat:no-repeat;background-size:0 100%;text-decoration:none;transition:background-size .25s cubic-bezier(.4,0,.2,1)}.dark a:hover{background-size:100% 100%}.dark nav a{background-image:none;position:relative}.dark nav a:after{background-color:var(--primary-color);bottom:-2px;content:"";height:2px;left:0;position:absolute;transition:width .2s cubic-bezier(.4,0,.2,1);width:0}.dark nav a:hover:after{width:100%}.dark ::-webkit-scrollbar{width:12px}.dark ::-webkit-scrollbar-track{background:var(--bg-secondary)}.dark ::-webkit-scrollbar-thumb{background-color:var(--bg-tertiary);border:3px solid var(--bg-secondary);border-radius:6px}.dark ::-webkit-scrollbar-thumb:hover{background-color:var(--border-color)}.dark input::-moz-placeholder,.dark textarea::-moz-placeholder{color:var(--text-muted);opacity:.6;-moz-transition:opacity .2s;transition:opacity .2s}.dark input::placeholder,.dark textarea::placeholder{color:var(--text-muted);opacity:.6;transition:opacity .2s}.dark input:focus::-moz-placeholder,.dark textarea:focus::-moz-placeholder{opacity:.4}.dark input:focus::placeholder,.dark textarea:focus::placeholder{opacity:.4}.dark pre{overflow:hidden;position:relative}.dark pre:before{background:linear-gradient(90deg,rgba(15,23,42,.1),transparent 10%,transparent 90%,rgba(15,23,42,.1));content:"";height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}@media (prefers-reduced-motion:no-preference){.dark .card,.dark button,.dark img{transition-duration:.2s}.dark img:hover{filter:brightness(1.05)}}.dark .blog-article{background-color:var(--bg-secondary);color:var(--text-primary)}.dark .blog-article h1{color:var(--primary-dark);display:inline-block;position:relative}.dark .blog-article h1:after{background:linear-gradient(to right,var(--primary-color),transparent);bottom:-8px;content:"";height:3px;left:0;position:absolute;width:100px}.dark .blog-article .article-meta{color:var(--text-muted)}.dark .blog-article .article-tags span{background-color:var(--bg-tertiary);border:1px solid var(--primary-light);color:var(--primary-color);transition:all .2s ease}.dark .blog-article .article-tags span:hover{background-color:var(--primary-color);color:var(--bg-primary)}.dark .blog-article .article-content{color:var(--text-secondary);line-height:1.8}.dark .blog-article blockquote{background-color:rgba(129,140,248,.1);border-left:4px solid var(--primary-color);border-radius:0 8px 8px 0;margin:24px 0;padding:16px}.dark .project-grid{display:grid;gap:24px}.dark .project-card{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;box-shadow:0 4px 6px rgba(0,0,0,.1);overflow:hidden;transition:all .25s cubic-bezier(.4,0,.2,1)}.dark .project-card:hover{box-shadow:0 12px 24px rgba(0,0,0,.2);transform:translateY(-6px)}.dark .project-card .project-image{height:200px;overflow:hidden}.dark .project-card .project-image img{height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .4s ease;width:100%}.dark .project-card:hover .project-image img{transform:scale(1.05)}.dark .project-card .project-content{padding:20px}.dark .project-card .project-title{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin-bottom:8px}.dark .project-card .project-description{color:var(--text-secondary);line-height:1.6;margin-bottom:16px}.dark .project-card .project-tech{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.dark .project-card .project-tech span{background-color:var(--bg-tertiary);border-radius:20px;color:var(--primary-color);font-size:.75rem;letter-spacing:.5px;padding:4px 10px}.dark .project-details .project-header{margin-bottom:32px}.dark .project-details .project-title{color:var(--primary-dark);margin-bottom:16px}.dark .project-details .project-links a{align-items:center;color:var(--primary-color);display:inline-flex;gap:6px;margin-right:16px}.dark .project-details .project-content{color:var(--text-secondary);line-height:1.8}.dark .project-details .project-features{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;margin:32px 0;padding:20px}.dark .project-details .project-features h3{color:var(--primary-color);margin-bottom:16px}.dark .project-details .project-features ul{padding-left:20px}.dark .project-details .project-features li{margin-bottom:8px;position:relative}.dark .project-details .project-features li:before{color:var(--primary-color);content:"•";font-weight:700;left:-16px;position:absolute}.dark .resume{background-color:var(--card-bg);border-radius:12px;box-shadow:var(--card-shadow);margin:0 auto;max-width:900px;padding:32px}.dark .resume-header{border-bottom:1px solid var(--border-color);margin-bottom:32px;padding-bottom:24px;text-align:center}.dark .resume-name{color:var(--primary-dark);font-size:2rem;font-weight:700;margin-bottom:8px}.dark .resume-title{color:var(--text-secondary);font-size:1.25rem;margin-bottom:16px}.dark .resume-contact{color:var(--text-muted);display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.dark .resume-contact a{align-items:center;color:var(--primary-color);display:inline-flex;gap:6px}.dark .resume-section{margin-bottom:32px}.dark .resume-section-title{border-bottom:2px solid var(--primary-light);color:var(--primary-color);font-size:1.5rem;font-weight:600;margin-bottom:16px;padding-bottom:8px}.dark .resume-item{margin-bottom:24px}.dark .resume-item-header{display:flex;justify-content:space-between;margin-bottom:8px}.dark .resume-item-title{color:var(--text-primary);font-size:1.125rem;font-weight:600}.dark .resume-item-subtitle{color:var(--primary-color);font-weight:500}.dark .resume-item-date{color:var(--text-muted);font-style:italic}.dark .resume-item-content{color:var(--text-secondary);line-height:1.6}.dark .resume-skills{display:flex;flex-wrap:wrap;gap:12px}.dark .resume-skill{background-color:var(--bg-tertiary);border-radius:20px;color:var(--primary-color);font-size:.875rem;letter-spacing:.5px;padding:6px 12px;transition:all .2s ease}.dark .resume-skill:hover{background-color:var(--primary-color);color:var(--bg-primary);transform:translateY(-2px)}.dark .card,.dark .project-card{background-color:#1e293b!important;border:1px solid #334155!important;box-shadow:0 4px 6px rgba(0,0,0,.2)!important;color:#f1f5f9!important}.dark .card h2,.dark .project-card h2{color:#818cf8!important;font-weight:600}.dark .card p,.dark .project-card p{color:#cbd5e1!important}.dark .card .tag,.dark .project-card .tag{background-color:#334155!important;border:1px solid #4f46e5;color:#818cf8!important}.dark .card:hover,.dark .project-card:hover{border-color:#4f46e5!important;box-shadow:0 10px 15px rgba(0,0,0,.3)!important;transform:translateY(-4px)}.dark .text-gray-300{color:#f1f5f9!important}.dark .text-gray-400{color:#e2e8f0!important}.dark .text-gray-500{color:#cbd5e1!important}.dark .text-gray-600,.dark .text-gray-700{color:#e2e8f0!important}.dark .prose blockquote,.dark .prose li,.dark .prose p{color:#f1f5f9!important}.dark .prose h1,.dark .prose h2,.dark .prose h3,.dark .prose h4{color:#fff!important}.dark .prose a{color:#93c5fd!important}.dark .prose a:hover{color:#bfdbfe!important;text-decoration:underline}.dark .prose code{background-color:#1e293b!important}.dark .blog-content li,.dark .blog-content p,.dark .markdown-content,.dark .prose code{color:#f1f5f9!important}code{color:#34d399!important;font-weight:700}.command,pre .command{color:#10b981!important;font-weight:700}.code-block,div[class*=language-],pre{background-color:#111827!important;border:1px solid #374151!important}.command:before{color:#9ca3af!important;content:"$ ";font-weight:400}.dark{--code-bg:#111827;--code-text:#34d399;--code-border:#374151}