:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}.visible{visibility:visible}.block{display:block}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.pt-\[10px\]{padding-top:10px}.text-center{text-align:center}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}html,body{height:100%;margin:0;padding:0}body{color:#ccc;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#1e1e1e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow-x:hidden}#root{height:100%}.app-layout{background-color:#1e1e1e;height:100vh;display:flex}.main-content{background-color:#1e1e1e;flex-direction:column;flex-grow:1;height:100vh;display:flex;position:relative}.editor-container{flex-direction:column;height:100%;display:flex}.tab-bar{background-color:#252526;border-bottom:1px solid #2d2d30;align-items:center;height:35px;padding:0;display:flex}.tab{color:#ccc;cursor:pointer;background-color:#1e1e1e;border-right:1px solid #2d2d30;align-items:center;gap:6px;height:35px;padding:0 12px;font-family:Consolas,Monaco,Courier New,monospace;font-size:13px;display:flex;position:relative}.tab.active{background-color:#1e1e1e;border-bottom:2px solid #007acc}.tab.active:after{content:"";background-color:#007acc;height:2px;position:absolute;bottom:-1px;left:0;right:0}.tab-icon{font-size:14px}.tab-name{color:#ccc;font-size:13px}.tab-close{opacity:0;color:#ccc;margin-left:4px;font-size:16px;transition:opacity .2s}.tab:hover .tab-close{opacity:1}.tab-close:hover{background-color:#3c3c3c;border-radius:3px}.editor-content{background-color:#1e1e1e;flex-grow:1;padding:0;overflow-y:auto}.backdrop{opacity:0;pointer-events:none;z-index:30;background:#0006;transition:opacity .2s ease-in-out;position:fixed;inset:0}.backdrop.open{opacity:1;pointer-events:auto}.hamburger-btn{cursor:pointer;color:#e2e8f0;background:#2a2d2e;border:1px solid #3c3c3c;border-radius:6px;justify-content:center;align-items:center;gap:6px;margin-left:6px;padding:6px 10px;display:none;box-shadow:0 1px 2px #0000004d}.hamburger-btn:focus-visible{outline:2px solid #007acc}.hamburger-btn:hover{background-color:#333536;border-color:#4a4d4f}.hamburger-btn:active{transform:translateY(1px)}.hamburger-line{background:#ccc;width:20px;height:2px;margin:3px 0;display:block}.hamburger-label{letter-spacing:.3px;color:#e2e8f0;font-size:12px;font-weight:600}@media (max-width:768px){.app-layout{flex-direction:column;height:auto;min-height:100vh}.main-content{height:auto;min-height:0}.tab-bar{gap:6px;height:32px}.tab{gap:4px;height:32px;padding:0 10px;font-size:12px}.tab-icon,.tab-name{font-size:12px}.hamburger-btn{padding:6px 12px;display:inline-flex}.hamburger-line{background:#e2e8f0;width:22px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}.sidebar{width:280px;background-color:#1e1e1e;color:#ccc;height:100vh;display:flex;flex-direction:column;border-right:1px solid #2d2d30;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.sidebar-header{padding:8px 16px;font-size:11px;font-weight:500;letter-spacing:.5px;text-transform:uppercase;color:#6c6c6c;background-color:#252526;border-bottom:1px solid #2d2d30;display:flex;align-items:center;gap:8px}.explorer-icon{width:16px;height:16px;color:#6c6c6c}.explorer-title{font-weight:600}.sidebar-nav ul{list-style:none;padding:0;margin:0}.sidebar-nav .nav-item{padding:4px 16px;cursor:pointer;font-family:Consolas,Monaco,Courier New,monospace;font-size:13px;transition:all .15s ease;display:flex;align-items:center;gap:8px;height:22px;position:relative}.file-icon{width:16px;height:16px;flex-shrink:0}.file-icon.tsx{color:#61dafb}.file-icon.home{color:#f9c23c}.file-icon.about{color:#7c3aed}.file-name{color:#ccc;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-nav .nav-item:hover{background-color:#2a2d2e}.sidebar-nav .nav-item.active{background-color:#37373d;color:#fff}.sidebar-nav .nav-item.active .file-name{color:#fff}.directory{margin-top:4px}.directory-header{display:flex;align-items:center;cursor:pointer;padding:4px 16px;font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#6c6c6c;height:22px;gap:6px;transition:all .15s ease}.directory-header:hover{background-color:#2a2d2e}.chevron-icon{width:16px;height:16px;color:#6c6c6c;transition:transform .15s ease}.folder-icon{width:16px;height:16px;color:#dcb67a}.folder-name{font-weight:600;color:#6c6c6c}.directory-content{list-style:none;padding-left:0;margin-left:16px}.directory-content .nav-item.nested{padding-left:24px;position:relative}.directory-content .nav-item.nested:before{content:"";position:absolute;left:8px;top:0;bottom:0;width:1px;background-color:#3c3c3c}@media (max-width: 768px){.sidebar{position:fixed;top:0;left:0;height:100vh;width:80vw;max-width:320px;border-right:1px solid #2d2d30;border-bottom:none;transform:translate(-100%);transition:transform .25s ease-in-out;z-index:40}.sidebar.open{transform:translate(0)}.sidebar.closed{transform:translate(-100%)}.sidebar-header{position:sticky;top:0;z-index:41}}.hero-wrapper{background-color:#1e1e1e;min-height:100%;padding:2rem 0}.hero-container{max-width:1400px;margin:0 auto;padding:0 2rem;animation:fadeIn 1s ease-in-out}.hero-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;min-height:calc(100vh - 8rem)}.hero-left{display:flex;flex-direction:column;gap:2.5rem}.hero-intro{margin-bottom:1rem}.hero-greeting{font-size:1.5rem;color:#6c6c6c;margin:0 0 .5rem;font-weight:400}.hero-name{font-size:3.5rem;font-weight:700;color:#fff;margin:0 0 1rem;line-height:1.1;background:linear-gradient(135deg,#007acc,#00d4ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-title{font-size:2rem;color:#007acc;margin:0 0 1rem;font-weight:600}.hero-subtitle{font-size:1.2rem;color:#a0a0a0;line-height:1.5;margin:0;max-width:500px}.hero-meta{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin-top:1rem}.meta-item{display:inline-flex;align-items:center;gap:.5rem;color:#a0a0a0;font-size:.95rem}.meta-item svg{font-size:1.1rem;color:#007acc}.meta-link{text-decoration:none}.meta-link:hover{color:#007acc}.tech-showcase{margin:1.5rem 0}.tech-title{font-size:1rem;color:#6c6c6c;text-transform:uppercase;letter-spacing:1px;margin-bottom:1rem;font-weight:600}.tech-stack{display:flex;flex-wrap:wrap;gap:.75rem}.tech-badge{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#252526;border:1px solid;border-radius:20px;font-size:.9rem;color:#ccc;transition:all .2s ease}.tech-badge:hover{background-color:#2a2d2e;transform:translateY(-1px)}.tech-badge span:first-child{font-size:1.1rem}.hero-actions{display:flex;gap:1rem;margin:1rem 0}.action-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:6px;text-decoration:none;font-weight:500;font-size:1rem;transition:all .2s ease;border:1px solid}.action-button.primary{background-color:#007acc;color:#fff;border-color:#007acc}.action-button.primary:hover{background-color:#005a9e;border-color:#005a9e;transform:translateY(-1px)}.action-button.secondary{background-color:transparent;color:#007acc;border-color:#007acc}.action-button.secondary:hover{background-color:#007acc;color:#fff;transform:translateY(-1px)}.social-links{display:flex;gap:1.5rem}.social-link{display:flex;align-items:center;gap:.5rem;color:#a0a0a0;text-decoration:none;font-size:1rem;transition:color .2s ease}.social-link:hover{color:#007acc}.social-link svg{font-size:1.2rem}.hero-right{display:flex;justify-content:center;align-items:center}.showcase-card{width:100%;max-width:500px;background-color:#252526;border:1px solid #2d2d30;border-radius:12px;overflow:hidden;box-shadow:0 8px 32px #0000004d}.showcase-header{background:linear-gradient(135deg,#007acc,#005a9e);padding:1.5rem;display:flex;align-items:center;gap:.75rem;color:#fff}.showcase-icon{font-size:1.5rem}.showcase-header h3{margin:0;font-size:1.3rem;font-weight:600}.showcase-content{padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.featured-projects{border-top:1px solid #2d2d30;padding-top:1.25rem}.featured-title{margin:0 0 .75rem;font-size:1rem;color:#fff;font-weight:600}.featured-list{display:flex;flex-direction:column;gap:.75rem}.featured-item{padding:.75rem;border:1px solid #2d2d30;border-radius:10px;background-color:#1e1e1e}.featured-item-title{font-size:.95rem;font-weight:600;color:#fff;margin-bottom:.25rem}.featured-item-desc{font-size:.85rem;color:#a0a0a0;line-height:1.35}.showcase-item{display:flex;gap:1rem;align-items:flex-start}.showcase-item-icon{width:40px;height:40px;background-color:#1e1e1e;border:1px solid #3c3c3c;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#007acc;font-size:1.2rem;flex-shrink:0}.showcase-item-content{flex:1}.showcase-item-content h4{margin:0 0 .5rem;font-size:1rem;color:#fff;font-weight:600}.showcase-item-content p{margin:0;font-size:.9rem;color:#a0a0a0;line-height:1.4}.showcase-footer{background-color:#1e1e1e;padding:1.5rem;border-top:1px solid #2d2d30}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.stat-item{text-align:center;display:flex;flex-direction:column;gap:.25rem}.stat-number{font-size:1.5rem;font-weight:700;color:#007acc}.stat-label{font-size:.8rem;color:#6c6c6c;text-transform:uppercase;letter-spacing:.5px}@media (max-width: 1024px){.hero-content{grid-template-columns:1fr;gap:3rem;text-align:center}.hero-name{font-size:3rem}.code-editor{max-width:600px}.hero-meta{justify-content:center}}@media (max-width: 768px){.hero-name{font-size:2.5rem}.hero-actions{flex-direction:column}.tech-stack,.social-links{justify-content:center}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes fadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.about-me-wrapper{background-color:#1e1e1e;min-height:100%;padding:2rem 0}.about-me-container{padding:0 2rem;color:#ccc;max-width:1200px;margin:0 auto;animation:fadeIn .5s ease-in-out}.about-me-title{font-size:3rem;font-weight:700;color:#e2e8f0;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #63b3ed;display:inline-block}.about-me-content p{font-size:1.1rem;line-height:1.8;color:#a0aec0;margin-bottom:1.5rem}.profile-section{display:flex;gap:2rem;margin-bottom:3rem;align-items:center}.profile-picture-container{flex-shrink:0}.profile-picture-placeholder{width:150px;height:150px;border-radius:50%;background:linear-gradient(135deg,#007acc,#005a9e);display:flex;align-items:center;justify-content:center;border:3px solid #2d2d30;box-shadow:0 4px 20px #007acc4d}.profile-picture{width:150px;height:150px;border-radius:50%;object-fit:cover;border:3px solid #2d2d30;box-shadow:0 4px 20px #007acc4d;display:block}.profile-initials{font-size:3rem;font-weight:700;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.profile-info{flex:1}.profile-name{font-size:2.5rem;font-weight:700;color:#fff;margin-bottom:.5rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.profile-title{font-size:1.5rem;color:#007acc;margin-bottom:1rem;font-weight:500}.profile-description{font-size:1.1rem;line-height:1.6;color:#a0a0a0;max-width:600px}.section{margin-bottom:3rem}.section-title{font-size:1.2rem;font-weight:600;color:#6c6c6c;text-transform:uppercase;letter-spacing:1px;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:1px solid #2d2d30}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.skill-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background-color:#252526;border:1px solid #2d2d30;border-radius:6px;transition:all .2s ease}.skill-item:hover{background-color:#2a2d2e;border-color:#3c3c3c;transform:translateY(-1px)}.skill-icon{font-size:1.5rem;display:flex;align-items:center}.skill-icon img{width:22px;height:22px;object-fit:contain;display:block}.skill-name{font-size:.9rem;color:#ccc;font-weight:500}.experience-item{background-color:#252526;border:1px solid #2d2d30;border-radius:8px;padding:1.5rem;margin-bottom:1rem}.experience-header{margin-bottom:1rem}.experience-company{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.experience-company-name{display:flex;align-items:center;gap:.75rem}.company-logo{width:40px;height:40px;border-radius:50%;object-fit:cover;border:1px solid #2d2d30;flex-shrink:0;background-color:#1e1e1e}.experience-company h4{font-size:1.3rem;color:#fff;margin:0;font-weight:600}.experience-duration{font-size:.9rem;color:#007acc;font-weight:500}.experience-role{display:flex;flex-direction:column;gap:.25rem}.role-title{font-size:1rem;color:#ccc;font-weight:500}.role-location{font-size:.9rem;color:#a0a0a0}.experience-achievements{list-style:none;padding:0;margin:0}.experience-achievements li{position:relative;padding-left:1.5rem;margin-bottom:.75rem;color:#a0a0a0;line-height:1.5}.experience-achievements li:before{content:"▸";position:absolute;left:0;color:#007acc;font-weight:700}.experience-technologies{margin-top:1.25rem}.experience-subtitle{font-size:.95rem;color:#ccc;margin:0 0 .75rem;font-weight:600}.education-item{background-color:#252526;border:1px solid #2d2d30;border-radius:8px;padding:1.5rem}.education-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.education-header h4{font-size:1.2rem;color:#fff;margin:0;font-weight:600}.education-duration{font-size:.9rem;color:#007acc;font-weight:500}.education-degree{margin-bottom:1rem}.degree-title{font-size:1rem;color:#ccc;font-weight:500}.education-description{color:#a0a0a0;line-height:1.5;margin:0}@media (max-width: 768px){.profile-section{flex-direction:column;text-align:center;gap:1.5rem}.profile-name{font-size:2rem}.skills-grid{grid-template-columns:1fr}.experience-company,.education-header{flex-direction:column;align-items:flex-start;gap:.5rem}}.project-container{color:#e2e8f0;max-width:1000px;margin:0 auto;animation:fadeIn .5s ease-in-out}.project-details{padding:2rem}.project-header{margin-bottom:1rem}.project-title{font-size:2.5rem;font-weight:700;color:#e2e8f0}.project-date{font-size:1rem;color:#a0aec0;font-style:italic}.project-role{margin-bottom:2rem;font-size:1.1rem}.project-description ul{list-style-position:outside;padding-left:20px}.project-description li{font-size:1.1rem;line-height:1.8;color:#a0aec0;margin-bottom:1rem}.carousel-container{position:relative;max-width:100%;margin-bottom:2rem;overflow:hidden;border-radius:8px}.carousel-wrapper{display:flex;transition:transform .5s ease-in-out;will-change:transform}.carousel-slide{min-width:100%;box-sizing:border-box}.image-frame{position:relative;width:100%;padding-top:56.25%;background-color:#0f172a;border:1px solid #4a5568;border-radius:8px;overflow:hidden;contain:layout paint}.carousel-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;background-color:transparent}.image-placeholder{background-color:#2d3748;width:100%;padding-top:56.25%;position:relative;display:flex;align-items:center;justify-content:center;color:#a0aec0;font-size:1.5rem;border:1px dashed #4a5568}.image-placeholder span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.carousel-button{position:absolute;top:50%;transform:translateY(-50%);background-color:#00000080;color:#fff;border:none;padding:10px;border-radius:50%;cursor:pointer;width:40px;height:40px;font-size:1.2rem;display:flex;align-items:center;justify-content:center;z-index:10;transition:background-color .2s ease}.carousel-button:hover{background-color:#000c}.carousel-button.prev{left:15px}.carousel-button.next{right:15px}.project-tech{margin-top:3rem}.project-tech h3{font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;border-bottom:1px solid #4a5568;padding-bottom:.5rem}.tech-icons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:1.5rem}.tech-icon-wrapper{display:flex;flex-direction:column;align-items:center;gap:.5rem}.tech-icon{display:flex;align-items:center;justify-content:center;padding:.75rem;border-radius:12px;background-color:#2d374880;border:1px solid #4a5568;transition:all .3s ease;cursor:pointer;width:60px;height:60px}.tech-icon:hover{transform:translateY(-3px);box-shadow:0 6px 20px #0006}.tech-icon svg{width:40px;height:40px}.tech-label{font-size:.75rem;color:#a0aec0;text-align:center;font-weight:500;line-height:1.2}.zustand-icon{font-size:2.5rem;display:block}.tech-icon.nextjs svg{color:#000}.tech-icon.nextjs{background-color:#ffffff1a;border-color:#fff}.tech-icon.nextjs:hover{background-color:#fff3}.tech-icon.react svg{color:#61dafb}.tech-icon.react{background-color:#61dafb1a;border-color:#61dafb}.tech-icon.react:hover{background-color:#61dafb33}.tech-icon.nodejs svg{color:#393}.tech-icon.nodejs{background-color:#3399331a;border-color:#393}.tech-icon.nodejs:hover{background-color:#3933}.tech-icon.tailwind svg{color:#06b6d4}.tech-icon.tailwind{background-color:#06b6d41a;border-color:#06b6d4}.tech-icon.tailwind:hover{background-color:#06b6d433}.tech-icon.prisma svg{color:#2d3748}.tech-icon.prisma{background-color:#2d37484d;border-color:#4a5568}.tech-icon.prisma:hover{background-color:#2d374880}.tech-icon.postgresql svg{color:#336791}.tech-icon.postgresql{background-color:#3367911a;border-color:#336791}.tech-icon.postgresql:hover{background-color:#33679133}.tech-icon.typescript svg{color:#3178c6}.tech-icon.typescript{background-color:#3178c61a;border-color:#3178c6}.tech-icon.typescript:hover{background-color:#3178c633}.tech-icon.go svg{color:#00add8}.tech-icon.go{background-color:#00add81a;border-color:#00add8}.tech-icon.go:hover{background-color:#00add833}.tech-icon.gin svg{color:#00add8}.tech-icon.gin{background-color:#00add81a;border-color:#00add8}.tech-icon.gin:hover{background-color:#00add833}.tech-icon.vercel svg{color:#000}.tech-icon.vercel{background-color:#ffffff1a;border-color:#fff}.tech-icon.vercel:hover{background-color:#fff3}.tech-icon.reactquery svg{color:#ff4154}.tech-icon.reactquery{background-color:#ff41541a;border-color:#ff4154}.tech-icon.reactquery:hover{background-color:#ff415433}.tech-icon.javascript svg{color:#f7df1e}.tech-icon.javascript{background-color:#f7df1e1a;border-color:#f7df1e}.tech-icon.javascript:hover{background-color:#f7df1e33}.tech-icon.express svg{color:#000}.tech-icon.express{background-color:#ffffff1a;border-color:#fff}.tech-icon.express:hover{background-color:#fff3}.tech-icon.kotlin svg{color:#7f52ff}.tech-icon.kotlin{background-color:#7f52ff1a;border-color:#7f52ff}.tech-icon.kotlin:hover{background-color:#7f52ff33}.tech-icon.sequelize svg{color:#52b0e7}.tech-icon.sequelize{background-color:#52b0e71a;border-color:#52b0e7}.tech-icon.sequelize:hover{background-color:#52b0e733}.tech-icon.android svg{color:#3ddc84}.tech-icon.android{background-color:#3ddc841a;border-color:#3ddc84}.tech-icon.android:hover{background-color:#3ddc8433}.tech-icon.zustand{background-color:#8b45131a;border-color:#8b4513}.tech-icon.zustand:hover{background-color:#8b451333}.tech-icon.reactnative svg{color:#61dafb}.tech-icon.reactnative{background-color:#61dafb1a;border-color:#61dafb}.tech-icon.reactnative:hover{background-color:#61dafb33}.tech-icon.expo svg{color:#000020}.tech-icon.expo{background-color:#ffffff1a;border-color:#fff}.tech-icon.expo:hover{background-color:#fff3}.tech-icon.expogo svg{color:#000020}.tech-icon.expogo{background-color:#ffffff1a;border-color:#fff}.tech-icon.expogo:hover{background-color:#fff3}.tech-icon.vscode{background-color:#0078d71a;border-color:#0078d7}.tech-icon.vscode:hover{background-color:#0078d733}.tech-icon.easbuild{background-color:#8b45131a;border-color:#8b4513}.tech-icon.easbuild:hover{background-color:#8b451333}.tech-icon.nestjs svg{color:#e0234e}.tech-icon.nestjs{background-color:#e0234e1a;border-color:#e0234e}.tech-icon.nestjs:hover{background-color:#e0234e33}.vscode-icon,.eas-icon{font-size:2.5rem;display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.project-container{max-width:100%;padding:0 1rem}.project-details{padding:1rem}.project-title{font-size:1.75rem}.project-date{font-size:.9rem}.project-role{font-size:1rem;margin-bottom:1.25rem}.project-description li{font-size:1rem;line-height:1.6}.carousel-button{width:36px;height:36px;font-size:1rem}.carousel-button.prev{left:8px}.carousel-button.next{right:8px}.tech-icons-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:1rem}.tech-icon{width:52px;height:52px;padding:.5rem}.tech-icon svg{width:32px;height:32px}.tech-label{font-size:.7rem}}
