@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Pacifico&display=swap";.navbar{position:fixed;top:1.25rem;left:1rem;right:1rem;z-index:100;display:flex;justify-content:center;transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .35s ease}.navbar--visible{transform:translateY(0);opacity:1}.navbar--hidden{transform:translateY(-100px);opacity:0}.navbar__container{display:flex;align-items:center;justify-content:center;gap:.5rem;max-width:fit-content;padding:.5rem .75rem;background:hsl(var(--background) / .8);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid hsl(var(--border) / .2);border-radius:9999px}.navbar__links{display:flex;gap:0;margin-right:.5rem}.navbar__link{position:relative;display:flex;align-items:center;height:2rem;padding:0 1rem;font-size:.875rem;color:hsl(var(--muted-foreground));border-radius:9999px;transition:color .2s ease}.navbar__link:hover{color:hsl(var(--foreground))}.navbar__link-slash{color:hsl(var(--muted-foreground) / .5);margin-right:1px}.navbar__link--active{color:hsl(var(--foreground));background:hsl(var(--muted))}[data-theme=dark] .navbar__link--active{background:hsl(var(--secondary))}.navbar__theme-toggle{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;background:transparent;border:1px solid hsl(var(--border));border-radius:9999px;color:hsl(var(--foreground));cursor:pointer;transition:all .2s ease;flex-shrink:0}.navbar__theme-toggle:hover{background:hsl(var(--muted))}.navbar__mobile-toggle{display:none;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;background:transparent;border:none;color:hsl(var(--foreground));cursor:pointer}.navbar__mobile-menu{display:none;position:absolute;top:calc(100% + .5rem);left:0;right:0;background:hsl(var(--background) / .95);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid hsl(var(--border) / .2);border-radius:var(--radius);padding:.5rem;flex-direction:column}.navbar__mobile-link{display:flex;align-items:center;padding:.75rem 1rem;font-size:.875rem;color:hsl(var(--muted-foreground));border-radius:calc(var(--radius) - 4px);transition:all .2s ease}.navbar__mobile-link:hover,.navbar__mobile-link--active{color:hsl(var(--foreground));background:hsl(var(--muted))}@media(max-width:768px){.navbar{top:1rem;left:.75rem;right:.75rem}.navbar__container{padding:.375rem .5rem .375rem .75rem}.navbar__links{display:none}.navbar__mobile-toggle,.navbar__mobile-menu{display:flex}}.footer{max-width:42rem;margin:0 auto;padding:0 1.5rem;width:100%}.footer__container{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;border-top:1px solid hsl(var(--border))}.footer__copyright{font-size:.875rem;font-weight:300;color:hsl(var(--muted-foreground))}.footer__github{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:hsl(var(--muted-foreground));transition:opacity .2s ease}.footer__github:hover{opacity:.75}[data-theme=dark] .footer__github{color:hsl(var(--foreground))}.command-palette__overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:flex-start;justify-content:center;padding-top:20vh;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.command-palette{position:relative;width:100%;max-width:640px;margin:0 1rem;background:hsl(var(--background) / .95);border:1px solid hsl(var(--border) / .3);border-radius:var(--radius);overflow:hidden;animation:slideUp .2s cubic-bezier(.16,1,.3,1);box-shadow:0 20px 60px #0003}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.command-palette__close{position:absolute;top:1rem;right:1rem;z-index:10;display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:50%;color:hsl(var(--muted-foreground));cursor:pointer;transition:all .2s ease}.command-palette__close:hover{background:hsl(var(--muted));color:hsl(var(--foreground))}.command-palette__search{padding:1rem}.command-palette__input{width:100%;padding:.5rem 0;background:transparent;border:none;outline:none;font-size:.875rem;color:hsl(var(--foreground))}.command-palette__input::placeholder{color:hsl(var(--muted-foreground))}.command-palette__content{padding:0 .5rem 1rem;max-height:50vh;overflow-y:auto}.command-palette__group{margin-top:1rem}.command-palette__group:first-child{margin-top:0}.command-palette__group-title{padding:.5rem;font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}.command-palette__item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.75rem;background:transparent;border:none;border-radius:calc(var(--radius) - 4px);cursor:pointer;transition:background .15s ease;text-align:left}.command-palette__item:hover{background:hsl(var(--muted))}.command-palette__item-left{display:flex;align-items:center;gap:.75rem}.command-palette__item-icon{font-size:1rem;color:hsl(var(--muted-foreground))}.command-palette__item-label{font-size:.875rem;color:hsl(var(--foreground))}.command-palette__item-shortcut{display:flex;gap:.25rem}.command-palette__item-shortcut kbd{padding:.25rem .5rem;font-size:.7rem;font-family:inherit;background:hsl(var(--muted));border:1px solid hsl(var(--border));border-radius:4px;color:hsl(var(--muted-foreground))}.command-palette__empty{padding:2rem;text-align:center;color:hsl(var(--muted-foreground));font-size:.875rem}.home{padding-top:6rem;padding-bottom:2rem}.home__hero,.home__intro{margin-bottom:2rem}.home__title{display:flex;flex-direction:column;gap:.25rem}.home__greeting{font-size:1rem;font-weight:400;color:hsl(var(--muted-foreground))}.home__name{font-size:2.5rem;font-weight:400;font-style:italic;font-family:Georgia,Times New Roman,serif;color:hsl(var(--foreground));line-height:1.2}@media(min-width:640px){.home__name{font-size:3rem}}.home__description{display:flex;flex-direction:column;gap:0}.home__description p{font-size:1rem;font-weight:400;line-height:1.75;color:hsl(var(--muted-foreground))}.home__description strong{color:hsl(var(--foreground));font-weight:700}.home__link{color:hsl(var(--foreground));font-weight:700;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;text-decoration-color:hsl(var(--muted-foreground) / .4);transition:text-decoration-color .2s ease}.home__link:hover{text-decoration-color:hsl(var(--foreground))}.home__cta-wrapper{margin-top:1.5rem;display:flex;justify-content:center}.home__cta{display:inline-flex;align-items:center;gap:.375rem;padding:0;background:transparent;border:none;color:hsl(var(--muted-foreground));font-size:.875rem;cursor:pointer;transition:color .2s ease}.home__cta:hover{color:hsl(var(--foreground))}.home__cta kbd{padding:.25rem .5rem;font-size:.75rem;font-family:inherit;background:hsl(var(--muted));border:1px solid hsl(var(--border));border-radius:4px}.home__cta-highlight{text-decoration:underline;color:hsl(var(--foreground));font-family:var(--font-pacifico);font-size:.9rem}.home__cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.card{position:relative;overflow:hidden;border-radius:var(--radius);background:hsl(var(--card));border:1px solid hsl(var(--border) / .5);transition:transform .2s ease,border-color .2s ease}.card:hover{transform:scale(1.02)}.card--profile{grid-column:span 2;grid-row:span 2;min-height:200px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,hsl(var(--muted)),hsl(var(--muted) / .5))}.card__profile-image{width:100%;height:100%;object-fit:cover;border-radius:calc(var(--radius) - 1px)}.card--resume{grid-column:span 2;grid-row:span 2;padding:1rem;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.card--resume:hover{border-color:hsl(var(--accent))}.card--resume:hover .resume-preview__doc{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 24px hsl(var(--foreground) / .1)}.card--resume:hover .card__resume-cta{color:hsl(var(--foreground))}.card__header{display:flex;align-items:center;gap:.5rem;position:relative;z-index:1}.card__icon{opacity:.8}.card__label{font-size:.875rem;font-weight:300;color:hsl(var(--muted-foreground))}.card__resume-preview{flex:1;display:flex;align-items:center;justify-content:center;padding:.5rem 0;overflow:hidden}.resume-preview__image{max-width:90%;max-height:140px;object-fit:contain;border-radius:4px;border:1px solid hsl(var(--border));box-shadow:0 2px 8px hsl(var(--foreground) / .08);transition:all .3s ease}.card--resume:hover .resume-preview__image{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 24px hsl(var(--foreground) / .12)}.card__resume-footer{display:flex;justify-content:center}.card__resume-cta{font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground));transition:color .2s ease}.card--techstack{grid-column:span 2;grid-row:span 2;padding:1rem;display:flex;flex-direction:column}.card--techstack .card__header{margin-bottom:1.25rem}.card__techstack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;flex:1;align-content:center}.tech-icon{display:flex;flex-direction:column;align-items:center;gap:.375rem;padding:.375rem;border-radius:calc(var(--radius) - 4px);transition:background .2s ease}.tech-icon:hover{background:hsl(var(--muted) / .5)}.tech-icon__logo{width:24px;height:24px;display:flex;align-items:center;justify-content:center}.tech-icon__logo svg{width:100%;height:100%}.tech-icon__name{font-size:.6rem;font-weight:500;color:hsl(var(--muted-foreground));text-align:center}.card--location{grid-column:span 2;padding:1rem;display:flex;align-items:center;gap:.5rem}.card__location-icon{color:hsl(var(--muted-foreground))}.card__location-text{font-size:.875rem;color:hsl(var(--muted-foreground))}.card--linkedin{grid-column:span 1;display:flex;align-items:center;justify-content:center;color:#0a66c2;min-height:80px}.card--linkedin:hover{background:#0a66c2;color:#fff}.card--time{grid-column:span 1;display:flex;align-items:center;justify-content:center;min-height:80px}.time-display{display:flex;flex-direction:column;align-items:center;gap:.125rem}.time-display__time{font-size:1.25rem;font-weight:600;font-family:monospace;color:hsl(var(--foreground))}.time-display__label{font-size:.65rem;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}@media(max-width:640px){.home__cards{grid-template-columns:repeat(2,1fr)}.card--profile{grid-column:span 1;grid-row:span 2;min-height:180px}.card--resume{grid-column:span 1;grid-row:span 2}.card--techstack{grid-column:span 2;grid-row:span 1;min-height:120px}.card__techstack-grid{grid-template-columns:repeat(6,1fr);gap:.25rem}.tech-icon__logo{width:20px;height:20px}.tech-icon__name{font-size:.55rem}.card--location{grid-column:span 2}.card--linkedin,.card--time{grid-column:span 1;min-height:70px}}.work{padding-top:6rem;padding-bottom:2rem}.work__header{margin-bottom:2rem}.work__title{font-size:1.75rem;font-weight:600;color:hsl(var(--foreground));margin-bottom:.5rem}.work__subtitle{font-size:1rem;color:hsl(var(--muted-foreground))}.work__timeline{display:flex;flex-direction:column;gap:1rem}.work__item{padding:1.25rem;background:hsl(var(--card));border:1px solid hsl(var(--border) / .5);border-radius:var(--radius);transition:border-color .2s ease,transform .2s ease}.work__item:hover{border-color:hsl(var(--border));transform:scale(1.01)}.work__item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;gap:1rem}.work__company{font-size:1rem;font-weight:600;color:hsl(var(--foreground));margin:0;margin-bottom:.25rem}.work__role{font-size:.875rem;color:hsl(var(--foreground));font-weight:500;margin:0}.work__program{font-weight:400;color:hsl(var(--muted-foreground))}.work__location{font-size:.8rem;color:hsl(var(--muted-foreground));margin-top:.125rem}.work__period{font-size:.75rem;font-family:monospace;color:hsl(var(--muted-foreground));white-space:nowrap;background:hsl(var(--muted));padding:.25rem .5rem;border-radius:4px}.work__highlights{font-size:.875rem;color:hsl(var(--muted-foreground));line-height:1.7;margin-bottom:1rem;padding-left:1.25rem;display:flex;flex-direction:column;gap:.5rem}.work__highlights li{position:relative}.work__highlights li::marker{color:hsl(var(--accent))}.work__technologies{display:flex;flex-wrap:wrap;gap:.375rem}.work__tech{padding:.25rem .625rem;font-size:.7rem;font-family:monospace;background:hsl(var(--muted));border:1px solid hsl(var(--border));border-radius:9999px;color:hsl(var(--muted-foreground))}@media(max-width:640px){.work__item-header{flex-direction:column;gap:.25rem}}.projects{padding-top:6rem;padding-bottom:2rem}.projects__header{margin-bottom:2rem}.projects__title{font-size:1.75rem;font-weight:600;color:hsl(var(--foreground));margin-bottom:.5rem}.projects__subtitle{font-size:1rem;color:hsl(var(--muted-foreground))}.projects__filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.projects__filter-button{border:1px solid hsl(var(--border) / .7);background:hsl(var(--card));color:hsl(var(--muted-foreground));border-radius:999px;padding:.4rem .8rem;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease}.projects__filter-button:hover{color:hsl(var(--foreground));border-color:hsl(var(--border))}.projects__filter-button--active{color:hsl(var(--foreground));background:hsl(var(--muted));border-color:hsl(var(--border))}.projects__grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:640px){.projects__grid{grid-template-columns:repeat(2,1fr)}}.project-card{padding:1.25rem;background:hsl(var(--card));border:1px solid hsl(var(--border) / .5);border-radius:var(--radius);display:flex;flex-direction:column;transition:border-color .2s ease,transform .2s ease}.project-card:hover{border-color:hsl(var(--border));transform:scale(1.02)}.project-card--featured{grid-column:1 / -1}.project-card__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.project-card__icon{font-size:1.25rem}.project-card__links{display:flex;gap:.5rem}.project-card__links a{display:flex;align-items:center;justify-content:center;width:28px;height:28px;color:hsl(var(--muted-foreground));border-radius:calc(var(--radius) - 4px);transition:all .2s ease}.project-card__links a:hover{color:hsl(var(--foreground));background:hsl(var(--muted))}.project-card__title{font-size:1.125rem;font-weight:600;color:hsl(var(--foreground));margin-bottom:.5rem}.project-card__description{font-size:.875rem;color:hsl(var(--muted-foreground));line-height:1.6;margin-bottom:1rem;flex:1}.project-card__technologies{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto}.project-card__technologies span{font-size:.75rem;font-family:monospace;color:hsl(var(--muted-foreground))}.project-card__technologies span:not(:last-child):after{content:"•";margin-left:.5rem;opacity:.5}.projects__empty-state{color:hsl(var(--muted-foreground))}.skills{padding-top:6rem;padding-bottom:2rem}.skills__header{margin-bottom:2rem}.skills__title{font-size:1.75rem;font-weight:600;color:hsl(var(--foreground));margin-bottom:.5rem}.skills__subtitle{font-size:1rem;color:hsl(var(--muted-foreground))}.skills__categories{display:flex;flex-direction:column;gap:1.5rem}.skills__category{padding:1.25rem;background:hsl(var(--card));border:1px solid hsl(var(--border) / .5);border-radius:var(--radius)}.skills__category-title{font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem}.skills__list{display:flex;flex-wrap:wrap;gap:.5rem}.skills__item{padding:.5rem .875rem;font-size:.875rem;background:hsl(var(--muted));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 4px);color:hsl(var(--foreground));transition:all .2s ease}.skills__item:hover{border-color:hsl(var(--muted-foreground) / .5);transform:translateY(-1px)}.blogs{padding-top:6rem;padding-bottom:2rem}.blogs__header{margin-bottom:2rem}.blogs__title{font-size:1.75rem;font-weight:600;color:hsl(var(--foreground));margin-bottom:.5rem}.blogs__subtitle{font-size:1rem;color:hsl(var(--muted-foreground))}.blogs__list{display:flex;flex-direction:column;gap:1rem}.blog-card{padding:1.25rem;background:hsl(var(--card));border:1px solid hsl(var(--border) / .5);border-radius:var(--radius);cursor:pointer;transition:border-color .2s ease,transform .2s ease}.blog-card:hover{border-color:hsl(var(--border));transform:scale(1.01)}.blog-card__meta{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.75rem;font-family:monospace;color:hsl(var(--muted-foreground))}.blog-card__separator{opacity:.5}.blog-card__title{font-size:1.125rem;font-weight:600;color:hsl(var(--foreground));margin-bottom:.5rem;transition:color .2s ease}.blog-card:hover .blog-card__title{color:hsl(var(--muted-foreground))}.blog-card__description{font-size:.875rem;color:hsl(var(--muted-foreground));line-height:1.6;margin-bottom:1rem}.blog-card__tags{display:flex;gap:.375rem}.blog-card__tag{padding:.25rem .5rem;font-size:.7rem;background:hsl(var(--muted));border:1px solid hsl(var(--border));border-radius:9999px;color:hsl(var(--muted-foreground))}:root{--background: 0 0% 100%;--foreground: 0 0% 3.9%;--card: 0 0% 100%;--card-foreground: 0 0% 3.9%;--popover: 0 0% 100%;--popover-foreground: 0 0% 3.9%;--primary: 0 0% 9%;--primary-foreground: 0 0% 98%;--secondary: 0 0% 96.1%;--secondary-foreground: 0 0% 9%;--muted: 0 0% 96.1%;--muted-foreground: 0 0% 45.1%;--accent: 0 0% 96.1%;--accent-foreground: 0 0% 9%;--border: 0 0% 89.8%;--input: 0 0% 89.8%;--ring: 0 0% 3.9%;--radius: .75rem;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-pacifico: "Pacifico", cursive}[data-theme=dark]{--background: 212 18% 14%;--foreground: 210 14% 83%;--card: 212 15% 17%;--card-foreground: 210 14% 83%;--popover: 212 15% 17%;--popover-foreground: 210 14% 83%;--primary: 210 14% 83%;--primary-foreground: 212 18% 14%;--secondary: 212 12% 21%;--secondary-foreground: 210 14% 83%;--muted: 212 12% 21%;--muted-foreground: 210 9% 57%;--accent: 212 100% 67%;--accent-foreground: 212 18% 14%;--border: 212 10% 25%;--input: 212 12% 21%;--ring: 212 100% 67%}*{margin:0;padding:0;box-sizing:border-box;border-color:hsl(var(--border))}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background-color:hsl(var(--background));color:hsl(var(--foreground));line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s ease,color .3s ease}.app{min-height:100vh;display:flex;flex-direction:column}.main{flex:1;max-width:42rem;margin:0 auto;padding:0 1.5rem;width:100%}a{color:inherit;text-decoration:none}ul{list-style:none}button{font-family:inherit}img{max-width:100%;display:block}::selection{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:hsl(var(--background))}::-webkit-scrollbar-thumb{background:hsl(var(--border));border-radius:4px}::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground))}.card-border{position:relative}.card-border:before{content:"";pointer-events:none;position:absolute;inset:0;border-radius:var(--radius);padding:1px;background:linear-gradient(to bottom,hsl(var(--border)),transparent);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude}.text-muted{color:hsl(var(--muted-foreground))}.font-pacifico{font-family:var(--font-pacifico)}
