@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300..700&display=swap";:root{--bg-primary: #fdfdfd;--bg-secondary: #f3f4f6;--bg-tertiary: #e5e7eb;--bg-hover: #d1d5db;--text-primary: #111827;--text-secondary: #4b5563;--text-tertiary: #6b7280;--text-muted: #9ca3af;--accent-primary: #2563eb;--accent-hover: #1d4ed8;--accent-active: #1e40af;--success: #16a34a;--warning: #ca8a04;--error: #dc2626;--border-light: #e5e7eb;--border-medium: #d1d5db;--border-heavy: #9ca3af;--font-sans: "Space Grotesk", "Space Grotesk Placeholder", sans-serif;--font-mono: "Courier New", Courier, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--text-4xl: 3rem;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-4xl: 6rem;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 12px;--radius-full: 999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .4);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--z-navbar: 100;--z-dropdown: 200;--z-modal: 300;--z-tooltip: 400;--container-max-width: 768px;--container-padding: 1.5rem}[data-theme=dark]{--bg-primary: #030712;--bg-secondary: #111827;--bg-tertiary: #1f2937;--bg-hover: #243244;--text-primary: #f9fafb;--text-secondary: #d1d5db;--text-tertiary: #9ca3af;--text-muted: #6b7280;--accent-primary: #60a5fa;--accent-hover: #93c5fd;--accent-active: #bfdbfe;--border-light: #374151;--border-medium: #4b5563;--border-heavy: #6b7280;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .5)}*{margin:0;padding:0;box-sizing:border-box}*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:light}[data-theme=dark]{color-scheme:dark}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;font-size:var(--text-base);font-weight:500;min-height:100vh;-webkit-user-select:none;user-select:none;transition:background-color .45s ease,color .45s ease}h1,h2,h3,h4,h5,h6{line-height:1.2;font-weight:600;margin-bottom:var(--space-md)}h1{font-size:var(--text-4xl);font-weight:700}h2{font-size:var(--text-2xl);font-weight:600;text-transform:lowercase;letter-spacing:-.02em}h3{font-size:var(--text-lg);font-weight:500}p{margin-bottom:var(--space-md);line-height:1.6}a{color:inherit;text-decoration:none;transition:color var(--transition-base)}.app,.navbar,.project-card,.publish-card,.skills-container,.footer,.project-preview,.publish-preview,.company-preview{transition:background-color .45s ease,border-color .45s ease,color .45s ease,box-shadow .45s ease}ul,ol{list-style:none}strong{font-weight:600}small{font-size:var(--text-sm)}::selection{background-color:var(--accent-primary);color:var(--text-primary)}::-moz-selection{background-color:var(--accent-primary);color:var(--text-primary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--border-medium)}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}button:focus-visible,a:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}img{max-width:100%;height:auto;display:block}.container{max-width:var(--container-max-width);margin:0 auto;padding:0 var(--container-padding);width:100%}main{min-height:calc(100vh - 200px);padding:var(--space-2xl) 0}section{margin-bottom:var(--space-3xl);padding:var(--space-xl) 0}.section-header{font-size:var(--text-2xl);font-weight:600;margin-bottom:var(--space-xl);color:var(--text-primary);text-transform:lowercase;letter-spacing:-.02em}.section-header:after{content:".";color:var(--accent-primary)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-muted{color:var(--text-muted)}.text-accent{color:var(--accent-primary)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.bg-primary{background-color:var(--bg-primary)}.bg-secondary{background-color:var(--bg-secondary)}.bg-tertiary{background-color:var(--bg-tertiary)}.mt-1{margin-top:var(--space-sm)}.mt-2{margin-top:var(--space-md)}.mt-3{margin-top:var(--space-lg)}.mt-4{margin-top:var(--space-xl)}.mb-1{margin-bottom:var(--space-sm)}.mb-2{margin-bottom:var(--space-md)}.mb-3{margin-bottom:var(--space-lg)}.mb-4{margin-bottom:var(--space-xl)}.ml-1{margin-left:var(--space-sm)}.ml-2{margin-left:var(--space-md)}.ml-3{margin-left:var(--space-lg)}.mr-1{margin-right:var(--space-sm)}.mr-2{margin-right:var(--space-md)}.mr-3{margin-right:var(--space-lg)}.pt-1{padding-top:var(--space-sm)}.pt-2{padding-top:var(--space-md)}.pt-3{padding-top:var(--space-lg)}.pt-4{padding-top:var(--space-xl)}.pb-1{padding-bottom:var(--space-sm)}.pb-2{padding-bottom:var(--space-md)}.pb-3{padding-bottom:var(--space-lg)}.pb-4{padding-bottom:var(--space-xl)}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.flex-wrap{flex-wrap:wrap}.gap-1{gap:var(--space-sm)}.gap-2{gap:var(--space-md)}.gap-3{gap:var(--space-lg)}.gap-4{gap:var(--space-xl)}.border{border:1px solid var(--border-light)}.border-t{border-top:1px solid var(--border-light)}.border-b{border-bottom:1px solid var(--border-light)}.border-l{border-left:1px solid var(--border-light)}.border-r{border-right:1px solid var(--border-light)}.rounded{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:var(--radius-full)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.link{color:var(--accent-primary);text-decoration:underline;text-underline-offset:3px;transition:color var(--transition-base)}.link:hover{color:var(--accent-hover)}.link:active{color:var(--accent-active)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-sm) var(--space-lg);font-size:var(--text-base);font-weight:500;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--transition-base);text-decoration:none}.btn-primary{background-color:var(--accent-primary);color:var(--text-primary)}.btn-primary:hover{background-color:var(--accent-hover);transform:translateY(-2px)}.btn-secondary{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-light)}.btn-secondary:hover{background-color:var(--bg-hover);border-color:var(--border-medium)}.btn-outline{background-color:transparent;color:var(--accent-primary);border:1px solid var(--accent-primary)}.btn-outline:hover{background-color:var(--accent-primary);color:var(--text-primary)}.card{background-color:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-xl);transition:all var(--transition-base)}.card:hover{border-color:var(--border-medium);transform:translateY(-4px);box-shadow:var(--shadow-lg)}.badge{display:inline-flex;align-items:center;padding:var(--space-xs) var(--space-md);font-size:var(--text-sm);font-weight:500;border-radius:var(--radius-full);border:1px solid var(--border-light)}.badge-success{background-color:#22c55e1a;color:var(--success);border-color:var(--success)}.badge-warning{background-color:#eab3081a;color:var(--warning);border-color:var(--warning)}.badge-primary{background-color:var(--bg-tertiary);color:var(--text-primary)}.divider{height:1px;background-color:var(--border-light);margin:var(--space-2xl) 0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.fade-in{animation:fadeIn .6s ease}.fade-in-up{animation:fadeInUp .6s ease}.fade-in-down{animation:fadeInDown .6s ease}@media(max-width:640px){:root{--container-padding: 1rem;--text-4xl: 2rem;--text-3xl: 1.5rem;--text-2xl: 1.25rem}.container{padding:0 var(--container-padding)}section{margin-bottom:var(--space-2xl);padding:var(--space-md) 0}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-xl)}.card{padding:var(--space-lg)}}@media(min-width:641px)and (max-width:1024px){.container{padding:0 2rem}}@media(min-width:1025px){.container{max-width:var(--container-max-width)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(prefers-contrast:high){:root{--text-secondary: #333333;--border-light: #222222}}@media print{body{background-color:#fff;color:#000}.navbar,.footer{display:none}a{text-decoration:underline}.card{border:1px solid #000;box-shadow:none}}.app{min-height:100vh;background-color:var(--bg-primary);display:flex;flex-direction:column}.main-content{width:100%;display:flex;justify-content:center;padding:2rem 0;flex:1}.container{max-width:768px;width:100%;padding:0 1.5rem}@media(max-width:640px){.container{padding:0 1rem}}.footer{color:var(--text-tertiary);text-align:center;font-weight:500;font-size:.9rem;line-height:1.6;margin-top:auto;margin-bottom:0;padding:2.25rem 0 1.75rem;border-top:1px solid var(--border-light);background:color-mix(in srgb,var(--bg-secondary) 45%,transparent);-webkit-user-select:none;user-select:none;cursor:default}@media(max-width:640px){.footer{font-size:.7rem}}.navbar{width:100%;background-color:color-mix(in srgb,var(--bg-primary) 84%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid color-mix(in srgb,var(--border-light) 85%,transparent);padding:.8rem 0;position:sticky;top:0;z-index:100;margin-bottom:0}.navbar:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(to right,transparent,color-mix(in srgb,var(--accent-primary) 30%,var(--border-light)),transparent);opacity:.5;pointer-events:none}.navbar-list{display:flex;gap:.35rem;list-style:none;justify-content:flex-end;max-width:730px;margin:0 auto;padding:.3rem;align-items:center;border:1px solid var(--border-light);border-radius:5px;background:color-mix(in srgb,var(--bg-secondary) 72%,transparent);box-shadow:0 8px 24px #1118270d}.navbar-link{display:inline-flex;align-items:center;justify-content:center;min-width:84px;padding:.45rem .9rem;border-radius:5px;color:var(--text-secondary);border:1px solid transparent;background:transparent;font-weight:600;transition:transform .2s ease,border-color .2s ease,background-color .2s ease,color .2s ease,box-shadow .2s ease}.navbar-link:hover{color:var(--text-primary);border-color:var(--border-medium);background:color-mix(in srgb,var(--bg-primary) 70%,var(--bg-secondary));transform:translateY(-1px)}.navbar-link.active{color:var(--accent-primary);border-color:color-mix(in srgb,var(--accent-primary) 30%,var(--border-light));background:color-mix(in srgb,var(--bg-primary) 68%,var(--bg-secondary));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent-primary) 10%,transparent)}@media(max-width:640px){.navbar-list{justify-content:flex-start;gap:.75rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:.1rem;padding:.25rem .35rem .15rem;max-width:100%;scroll-snap-type:x proximity;margin:0 1rem}.navbar-list::-webkit-scrollbar{display:none}.navbar-list>li{flex:0 0 auto;scroll-snap-align:start}.navbar-link{min-width:max-content;font-size:.86rem;padding:.4rem .75rem;border-radius:5px}}.hero-section{padding:4rem 0 3rem}.hero-content{display:flex;gap:2rem;align-items:flex-start}.profile-img{width:120px;height:120px;border-radius:50%;object-fit:cover;border:3px solid var(--border-light)}.hero-info{flex:1}.hero-title{font-size:1.5rem;margin-bottom:.5rem;color:var(--text-primary)}.hero-subtitle{font-size:1rem;margin-bottom:1.5rem}.social-links{display:flex;gap:1rem;margin-top:1.5rem;align-items:center}.social-icon{color:var(--text-secondary);transition:all .2s ease;display:flex;align-items:center;position:relative;justify-content:center}.social-icon:hover{color:var(--text-primary);transform:translateY(-2px)}.social-icon svg{width:15px;height:15px}.social-icon:before{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-8px);background-color:var(--bg-hover);color:var(--text-primary);padding:.4rem .8rem;border-radius:6px;font-size:.75rem;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:10}.social-icon:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-2px);border:5px solid transparent;border-top-color:var(--bg-hover);opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:10}.social-icon:hover:before{opacity:1;transform:translate(-50%) translateY(-6px);font-weight:700}.page-content{margin-top:-34rem}@media(max-width:640px){.hero-content{flex-direction:column;align-items:center;text-align:center}.hero-title{font-size:2rem}.social-links{justify-content:center}.page-content{margin-top:-30rem}}.about{padding:3rem 0;margin-top:-4rem}.about-title{font-weight:700;font-size:large;text-decoration:underline}.about-para{font-size:1rem;line-height:1.6;color:var(--text-primary);margin-top:1rem}@media(max-width:640px){.about{padding:2rem 0;margin-top:-3rem}.about-title{font-size:1.25rem}.about-para{font-size:.95rem;line-height:1.65}}.journey-section{padding:3rem 0;margin-top:-4rem}.experience-card{border-left:2px solid var(--border-light);padding-left:1.5rem;position:relative;transition:border-left-color .3s ease}.experience-card:hover{border-left-color:var(--accent-primary)}.experience-card:before{content:"";position:absolute;left:-5px;top:0;width:8px;height:8px;border-radius:50%;transition:transform .3s ease,box-shadow .3s ease}.experience-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.experience-left{flex:1;min-width:200px}.experience-right{flex-shrink:0}.experience-role{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:.25rem;line-height:1.4;text-transform:capitalize}.experience-company{font-size:1rem;color:var(--text-secondary);margin-bottom:.5rem;line-height:1.4;text-transform:lowercase}.experience-company a{color:var(--accent-primary);text-decoration:none;transition:color .2s ease}.experience-company a:hover{color:var(--accent-hover);text-decoration:underline}.company-hover{position:relative;display:inline-block}.company-preview{position:absolute;left:0;top:140%;width:280px;background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:12px;padding:1rem;box-shadow:0 20px 40px #0009;opacity:0;visibility:hidden;transform:translateY(10px);transition:all .25s ease;z-index:50}.company-hover:hover .company-preview{opacity:1;visibility:visible;transform:translateY(0)}.company-preview img{width:100%;border-radius:8px;margin-bottom:.75rem;object-fit:cover}.company-preview p{font-size:.85rem;color:var(--text-secondary);line-height:1.5;margin:0}.experience-period{font-size:.875rem;font-weight:500;color:var(--text-tertiary);text-transform:lowercase;white-space:nowrap}.tech-badge{background-color:var(--bg-tertiary);color:var(--accent-primary);padding:.4rem .9rem;border-radius:6px;font-size:.8rem;font-weight:500;border:1px solid var(--border-light);text-transform:lowercase;transition:all .2s ease;cursor:default;-webkit-user-select:none;user-select:none}.tech-badge:hover{background-color:var(--bg-hover);border-color:var(--accent-primary);transform:translateY(-2px)}.experience-highlights{list-style:none;padding-left:0;margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}.experience-highlights li{font-size:.95rem;font-weight:700;line-height:1.6;color:var(--text-secondary);padding-left:1.5rem;position:relative}.experience-highlights li:before{content:"▹";position:absolute;left:0;color:var(--accent-primary);font-weight:700;font-size:1.2rem;top:-2px}@media(max-width:768px){.journey-section{padding:2rem 0}.section-title{font-size:1.25rem;margin-bottom:2rem}.timeline{gap:2rem;margin-top:1.5rem}.experience-card{padding-left:1rem}.experience-header{flex-direction:column;gap:.5rem}.experience-role{font-size:1rem}.experience-company{font-size:.9rem}.experience-period{font-size:.8rem}.tech-stack{gap:.4rem;margin:.75rem 0}.tech-badge{font-size:.7rem;padding:.3rem .7rem}.experience-highlights{gap:.4rem}.experience-highlights li{font-size:.85rem;padding-left:1.2rem}.experience-highlights li:before{font-size:1rem}.company-preview{width:240px}.company-preview p{font-size:.8rem}}@media(min-width:769px)and (max-width:1024px){.journey-section{padding:2.5rem 0}.tech-stack{gap:.45rem}.tech-badge{font-size:.75rem}.experience-highlights li{font-size:.9rem}}.skills{padding:0;margin-bottom:0}.skills-title{font-weight:700;font-size:large;text-decoration:underline}.skills-container{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;padding:1rem;border:1px solid var(--border-light);border-radius:5px;background:color-mix(in srgb,var(--bg-secondary) 55%,transparent)}.skills-badge{background-color:var(--bg-primary);color:var(--text-secondary);padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:600;border:1px solid var(--border-medium);transition:all .2s ease;text-transform:lowercase;cursor:default;-webkit-user-select:none;user-select:none}.skills-badge:hover{background-color:color-mix(in srgb,var(--accent-primary) 10%,transparent);border-color:color-mix(in srgb,var(--accent-primary) 40%,var(--border-medium));color:var(--text-primary);transform:translateY(-2px)}@media(max-width:640px){.skills{padding:0}.skills-title{font-size:1.25rem;margin-bottom:1.5rem}.skills-container{gap:.5rem}.skills-badge{font-size:.8rem;padding:.4rem .85rem}}.publish-section{padding:0;-webkit-user-select:none;user-select:none}.publish-timeline{margin-top:2rem}.publish-card{border:1px solid var(--border-light);border-radius:5px;background:color-mix(in srgb,var(--bg-secondary) 55%,transparent);padding:1.25rem;position:relative;transition:border-color .2s ease}.publish-card:hover{border-color:var(--border-medium)}.publish-card:before{content:"";position:absolute;left:-5px;top:0;width:8px;height:8px;border-radius:50%}.publish-header{margin-bottom:1rem}.publish-label{margin:0 0 .5rem;font-size:.85rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em}.publish-title{margin:0;font-size:1.125rem;font-weight:700;color:var(--text-primary);text-transform:lowercase}.publish-links{margin-top:.75rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.publish-hover{position:relative;display:inline-block}.publish-preview{position:absolute;left:0;top:140%;width:300px;background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:12px;padding:1rem;box-shadow:0 18px 34px #11182733;opacity:0;visibility:hidden;transform:translateY(10px);transition:all .25s ease;z-index:50}.publish-hover:hover .publish-preview{opacity:1;visibility:visible;transform:translateY(0)}.publish-preview img{width:100%;border-radius:8px;margin-bottom:.75rem;object-fit:cover}.publish-preview p{font-size:.85rem;color:var(--text-secondary);line-height:1.5;margin:0}.github-link{font-size:.85rem;font-weight:600;color:var(--text-secondary);text-decoration:none;border:1px solid var(--border-medium);border-radius:999px;padding:.3rem .65rem;background:var(--bg-secondary);transition:all .2s ease}.github-link:hover{color:var(--text-primary);border-color:var(--border-heavy);transform:translateY(-1px)}.publish-tech-stack{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.publish-tech-badge{background-color:var(--bg-tertiary);color:var(--text-secondary);padding:.4rem .9rem;border-radius:6px;font-size:.8rem;font-weight:500;border:1px solid var(--border-light);text-transform:lowercase;transition:all .2s ease;cursor:default}.publish-tech-badge:hover{background-color:var(--border-medium);border-color:var(--border-heavy);color:var(--text-primary);transform:translateY(-2px)}.publish-highlights{list-style:none;padding-left:0;margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}.publish-highlights li{font-size:.95rem;font-weight:700;line-height:1.6;color:var(--text-secondary);padding-left:1.5rem;position:relative}.publish-highlights li:before{content:"▹";position:absolute;left:0;color:var(--accent-primary);font-weight:700;font-size:1.2rem;top:-2px}@media(max-width:768px){.publish-card{padding-left:1rem}.publish-title{font-size:1rem}.publish-preview{width:240px}.publish-tech-badge{font-size:.7rem;padding:.3rem .7rem}.publish-highlights li{font-size:.85rem;padding-left:1.2rem}}@media(max-width:640px){.publish-preview{left:0;width:min(92vw,280px)}}.project-section{padding:3rem 0;margin-top:-4rem;-webkit-user-select:none;user-select:none}.section-title{font-weight:700;font-size:large;text-decoration:underline}.timeline{display:flex;flex-direction:column;gap:3rem;margin-top:2rem}.project-card{border:1px solid var(--border-light);border-radius:5px;background:color-mix(in srgb,var(--bg-secondary) 55%,transparent);padding:1.25rem;position:relative;transition:border-color .2s ease}.project-card:hover{border-color:var(--border-medium)}.project-card:before{content:"";position:absolute;left:-5px;top:0;width:8px;height:8px;border-radius:50%;transition:transform .3s ease,box-shadow .3s ease}.project-card:hover:before{transform:scale(1.3)}.project-header{margin-bottom:1rem}.project-left{flex-shrink:0}.project-title{font-size:1.125rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem;line-height:1.4}.project-links{margin-top:.5rem}.live-preview-link{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;font-weight:600;color:var(--accent-primary);text-decoration:none;position:relative;border:1px solid color-mix(in srgb,var(--accent-primary) 25%,var(--border-light));border-radius:999px;padding:.3rem .65rem;background:color-mix(in srgb,var(--accent-primary) 8%,transparent);transition:all .2s ease}.live-preview-link:hover{color:var(--accent-hover);border-color:color-mix(in srgb,var(--accent-primary) 45%,var(--border-medium));transform:translateY(-1px)}.live-preview-link:hover:after{transform:translate(2px,-2px)}.project-hover{position:relative;display:inline-block}.project-hover svg:hover{transform:translate(2px,-2px)}.project-preview{position:absolute;left:0;top:140%;width:280px;background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:12px;padding:1rem;box-shadow:0 18px 34px #11182733;opacity:0;visibility:hidden;transform:translateY(10px);transition:all .25s ease;z-index:50}.project-hover:hover .project-preview{opacity:1;visibility:visible;transform:translateY(0)}.project-preview img{width:100%;border-radius:8px;margin-bottom:.75rem;object-fit:cover}.project-preview p{font-size:.85rem;color:var(--text-secondary);line-height:1.5;margin:0}.tech-stack{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.tech-badge{background-color:var(--bg-tertiary);color:var(--text-secondary);padding:.4rem .9rem;border-radius:6px;font-size:.8rem;font-weight:500;border:1px solid var(--border-light);text-transform:lowercase;transition:all .2s ease;cursor:default;-webkit-user-select:none;user-select:none}.tech-badge:hover{background-color:var(--border-medium);border-color:var(--border-heavy);color:var(--text-primary);transform:translateY(-2px)}.project-highlights{list-style:none;padding-left:0;margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}.project-highlights li{font-size:.95rem;font-weight:700;line-height:1.6;color:var(--text-secondary);padding-left:1.5rem;position:relative}.project-highlights li:before{content:"▹";position:absolute;left:0;color:var(--accent-primary);font-weight:700;font-size:1.2rem;top:-2px}@media(max-width:768px){.project-section{padding:2rem 0}.section-title{font-size:1.25rem;margin-bottom:2rem}.timeline{gap:2rem;margin-top:1.5rem}.project-card{padding-left:1rem}.project-title{font-size:1rem}.live-preview-link{font-size:.8rem}.tech-stack{gap:.4rem;margin:.75rem 0}.tech-badge{font-size:.7rem;padding:.3rem .7rem}.project-highlights{gap:.4rem}.project-highlights li{font-size:.85rem;padding-left:1.2rem}.project-highlights li:before{font-size:1rem}.project-preview{width:240px}.project-preview p{font-size:.8rem}}@media(max-width:640px){.project-preview{left:0;width:min(92vw,280px)}}@media(min-width:769px)and (max-width:1024px){.project-section{padding:2.5rem 0}.tech-stack{gap:.45rem}.tech-badge{font-size:.75rem}.project-highlights li{font-size:.9rem}}.contact{padding:3rem 0;margin-top:0}.contact-title{font-weight:700;font-size:large;text-decoration:underline}.dot{font-weight:bolder}.contact-para{font-size:1rem;line-height:1.6;color:var(--text-primary);margin-top:1rem}.contact-para a{text-decoration:underline;font-weight:700}@media(max-width:640px){.contact{padding:2rem 0}.contact-title{font-size:1.25rem}.contact-para{font-size:.95rem;line-height:1.65}}
