:root{--bg-primary: #0a0a0a;--bg-secondary: #111111;--bg-card: #161616;--text-primary: #f5f5f5;--text-secondary: #888888;--accent: #6366f1;--accent-glow: rgba(99, 102, 241, .3);--border: rgba(255, 255, 255, .06);color-scheme:dark;--font-display: "Space Grotesk", sans-serif;--font-body: "Inter", sans-serif;--font-code: "JetBrains Mono", monospace}[data-theme=light]{--bg-primary: #eef5ff;--bg-secondary: #f4f7ff;--bg-card: #ffffff;--bg-card-rgb: 255, 255, 255;--text-primary: #102a43;--text-secondary: #475569;--accent: #4338ca;--accent-glow: rgba(67, 56, 202, .18);--border: rgba(15, 23, 42, .12);color-scheme:light}[data-theme=light] body{background-color:var(--bg-primary)}[data-theme=light] .card,[data-theme=light] .project-card,[data-theme=light] .timeline-content,[data-theme=light] .chatbot-panel,[data-theme=light] .nav-pill{box-shadow:0 20px 60px #0f172a0d}[data-theme=light] .filter-btn{background:#4338ca14;border-color:#4338ca1f;color:#102a43}[data-theme=light] .filter-btn.active,[data-theme=light] .filter-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}[data-theme=light] .tag-pill{background:#4338ca14;color:#102a43}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-family:var(--font-body);background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease;scroll-padding-top:7rem}body{line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}button,a,input,textarea{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.font-display{font-family:var(--font-display)}.font-body{font-family:var(--font-body)}.font-code{font-family:var(--font-code)}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-7xl{font-size:4.5rem;line-height:1}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-accent{color:var(--accent)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;color:var(--text-primary);line-height:1.2}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.glass{background:#ffffff08;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border)}[data-theme=light] .glass{background:#ffffffd1;border-color:#0f172a14}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.section-padding{padding:6rem 0}.grain-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:9999;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");animation:grain 8s steps(10) infinite}[data-theme=light] .grain-overlay{opacity:.03}.card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:1rem;padding:2rem;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;position:relative;overflow:hidden}.card:hover{transform:translateY(-5px);border-color:var(--accent);box-shadow:0 10px 30px -10px var(--accent-glow)}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:9999px;background-color:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);font-family:var(--font-code);font-size:.75rem;transition:all .2s ease}.badge:hover{background-color:var(--accent);color:#fff;border-color:var(--accent)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes grain{0%,to{transform:translate(0)}10%{transform:translate(-5%,-10%)}20%{transform:translate(-15%,5%)}30%{transform:translate(7%,-25%)}40%{transform:translate(-5%,25%)}50%{transform:translate(-15%,10%)}60%{transform:translate(15%)}70%{transform:translateY(15%)}80%{transform:translate(3%,35%)}90%{transform:translate(-10%,10%)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media (max-width: 1024px){.text-7xl{font-size:3.5rem}.text-6xl{font-size:3rem}}@media (max-width: 768px){.text-7xl{font-size:2.5rem}.text-6xl{font-size:2.25rem}.text-5xl{font-size:2rem}.section-padding{padding:4rem 0}.container{padding:0 1.5rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
