.Button{white-space:nowrap;border-radius:.375rem;justify-content:center;align-items:center;gap:.5rem;font-weight:500;transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:inline-flex}.Button:where([data-mode=dark],[data-mode=dark] *){border-radius:0}.Button .spinner-container{justify-content:center;align-items:center;min-width:20px;display:flex;position:relative}.Button .spinner-container .spinner{border-width:2px;border-color:#0000;border-radius:50%;justify-content:center;align-items:center;width:15px;height:15px;animation:.8s linear infinite spin;display:flex;position:absolute}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.small{height:1.5rem;padding:.25rem .625rem;font-size:.75rem;line-height:1rem}.small svg{width:.825rem;height:.825rem}.medium{height:2rem;padding:.375rem .625rem;font-size:.875rem;line-height:1.25rem}.medium svg{width:1rem;height:1rem}.large{height:2.5rem;padding:.625rem .875rem}.large svg{width:1.25rem;height:1.25rem}.rounded{border-radius:9999px!important}.loading,.loading:disabled{cursor:wait}.primary{border-width:1px;border-color:var(--accent);background-color:var(--btn-bg);color:var(--accent)}.primary .spinner-container .spinner{border-top-color:var(--accent)}.primary .icon{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.primary:hover{background-color:var(--accent-light)}.primary:focus{outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000);--tw-ring-color:var(--accent-light);--tw-ring-offset-width:2px;outline:2px solid #0000}.primary:disabled{cursor:not-allowed;background-color:var(--dark-btn-200);--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.secondary{border-style:solid;border-width:1px;border-color:var(--border-color);background-color:var(--btn-bg);color:var(--text-secondary);--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.secondary .spinner-container .spinner{border-top-color:var(--text-primary)}.secondary .icon{color:var(--text-primary)}.secondary:hover{border-color:var(--text-primary);color:var(--text-primary)}.secondary:focus{outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000);--tw-ring-color:var(--dark-btn);--tw-ring-offset-width:2px;outline:2px solid #0000}.secondary:disabled{cursor:not-allowed;--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.tertiary{color:var(--text-secondary);background-color:#0000}.tertiary .spinner-container .spinner{border-top-color:var(--text-secondary)}.tertiary .icon{color:var(--text-secondary)}.tertiary:hover,.tertiary:hover:where([data-mode=dark],[data-mode=dark] *){background-color:var(--sec-bg)}.tertiary:focus{outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000);--tw-ring-color:var(--dark-btn);--tw-ring-offset-width:2px;outline:2px solid #0000}.tertiary:disabled{cursor:not-allowed;--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1));background-color:#0000}
.Header{border-bottom-width:1px;border-color:var(--border-color);width:100%;padding-bottom:2rem;position:relative}.Header__content{flex-direction:column;gap:.5rem;width:100%;padding-right:8rem;display:flex}@media not all and (min-width:768px){.Header__content{padding-top:3rem;padding-right:0}}.Header__content .header-name{color:var(--text-primary);font-size:1.875rem;line-height:2.25rem}.Header__content .header-title{color:var(--text-secondary);margin-bottom:1rem}.Header__content .header-title:where([data-mode=dark],[data-mode=dark] *){align-items:baseline;gap:.5rem;display:flex}.Header__content .header-title:where([data-mode=dark],[data-mode=dark] *):before{--tw-content:"~";content:var(--tw-content)}.Header__content .header-about{max-width:42rem;color:var(--text-secondary);margin-bottom:1.5rem;font-size:.875rem;line-height:1.625}.Header__content .header-cta{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.Header__content .header-cta__btn{font-size:.75rem;line-height:1rem}
.SectionTitle{text-transform:uppercase;letter-spacing:.025em;color:var(--text-secondary);align-items:center;gap:.75rem;font-size:.75rem;line-height:1rem;display:flex}.SectionTitle__label:where([data-mode=dark],[data-mode=dark] *){font-family:var(--font-geist-mono), JetBrains Mono, ui-monospace, monospace;align-items:baseline;gap:.5rem;display:flex}.SectionTitle__label:where([data-mode=dark],[data-mode=dark] *):before{--tw-content:"$ ";content:var(--tw-content)}.SectionTitle__line{background-color:var(--border-muted);width:100%;height:1px}
.Badge{background-color:var(--sec-bg);width:fit-content;height:fit-content;color:var(--text-secondary);border-width:1px;border-color:#0000;border-radius:.375rem;flex-direction:row;align-items:center;gap:.375rem;padding:.125rem .375rem;font-size:.75rem;font-weight:500;line-height:1rem;display:flex}.Badge:where([data-mode=dark],[data-mode=dark] *){border-width:1px;border-color:var(--border-color);border-radius:0}.Badge:hover{border-color:var(--dark-btn);--tw-brightness:brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.Badge.withBorder{border-width:1px;border-color:var(--border-color)}.Badge.rounded{border-radius:9999px;padding-left:.75rem;padding-right:.75rem}.Badge.rounded:where([data-mode=dark],[data-mode=dark] *){border-radius:0!important}
.ExperienceCard{-moz-column-gap:1.25rem;border-bottom-width:1px;border-color:var(--border-muted);gap:0 1.25rem;padding-top:1rem;padding-bottom:1rem;display:grid}@media not all and (min-width:768px){.ExperienceCard{flex-direction:column;gap:.5rem;display:flex}}.ExperienceCard{grid-template-columns:144px 1fr}.ExperienceCard:last-child{border-style:none}.ExperienceCard__header{flex-direction:column;gap:.25rem;padding-top:.125rem;display:flex}@media not all and (min-width:768px){.ExperienceCard__header{flex-direction:row;align-items:center;gap:.5rem}}.ExperienceCard__header .experience-date{font-family:var(--font-geist-mono), JetBrains Mono, ui-monospace, monospace;color:var(--text-secondary);font-size:11px}.ExperienceCard__header .experience-subtitle{color:var(--text-dim);font-size:.75rem;line-height:1rem}.ExperienceCard__content{flex-direction:column;gap:.375rem;display:flex}.ExperienceCard .experience-title{color:var(--text-primary);font-size:.875rem;font-weight:500;line-height:1.25rem}.ExperienceCard__description{color:var(--text-secondary);font-size:.75rem;line-height:1.625}.ExperienceCard__technologies{flex-wrap:wrap;gap:.5rem;display:flex}
.Experiences{flex-direction:column;gap:1rem;width:100%;display:flex}.Experiences__list{flex-direction:column;gap:2rem;display:flex}
.Skills{flex-direction:column;gap:1.5rem;width:100%;display:flex}.Skills__sections{gap:1.5rem;display:grid}@media not all and (min-width:768px){.Skills__sections{flex-direction:column;display:flex}}.Skills__sections{grid-template-columns:repeat(auto-fill,minmax(192px,1fr))}.Skills__section{flex-direction:column;gap:.75rem;display:flex}.Skills__section-title{text-transform:uppercase;letter-spacing:.025em;color:var(--text-secondary);font-size:.75rem;line-height:1rem}.Skills__section .skill-list{flex-wrap:wrap;gap:.5rem;display:flex}.Skills__section .skill-list .skill-badge{white-space:nowrap;color:var(--text-secondary);font-size:.75rem;line-height:1rem}
.ProjectCard{border-width:1px;border-color:var(--border-muted);border-radius:.375rem;flex-direction:column;gap:.75rem;padding:1rem;transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:flex}.ProjectCard:where([data-mode=dark],[data-mode=dark] *){border-radius:0}.ProjectCard:hover{border-color:var(--border-color);--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.ProjectCard__title{align-items:flex-start;gap:.5rem;display:flex}.ProjectCard__title .project-icon{width:1rem;height:1rem;color:var(--text-secondary)}.ProjectCard__title .project-name{font-family:var(--font-geist-mono), JetBrains Mono, ui-monospace, monospace;color:var(--accent);font-size:.75rem;line-height:1rem}.ProjectCard__title .project-name:hover{text-decoration-line:underline}.ProjectCard__title .project-name:where([data-mode=dark],[data-mode=dark] *){align-items:center;gap:.5rem;display:flex}.ProjectCard__title .project-name:where([data-mode=dark],[data-mode=dark] *):before{--tw-content:"> ";content:var(--tw-content)}.ProjectCard__description{color:var(--text-secondary);font-size:.75rem;line-height:1.625}.ProjectCard__technologies{flex-wrap:wrap;gap:.25rem;display:flex}.ProjectCard__technologies .tech-badge{padding-left:.5rem;padding-right:.5rem;font-size:.75rem;line-height:1rem}.ProjectCard__technologies .tech-badge:where([data-mode=dark],[data-mode=dark] *){border-color:var(--accent-light);background-color:var(--accent-light);color:var(--accent);border-radius:9999px!important}.ProjectCard__links{flex:1;align-items:flex-end;gap:1rem;height:100%;display:flex}.ProjectCard__link-btn{color:var(--text-secondary);padding-left:0;padding-right:0;font-size:.75rem;line-height:1rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ProjectCard__link-btn:hover{color:var(--text-primary);background-color:#0000;text-decoration-line:underline}.ProjectCard__link-btn:focus,.ProjectCard__link-btn:active{outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000);outline:2px solid #0000}
.Projects{flex-direction:column;gap:1rem;width:100%;display:flex}.Projects__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}@media not all and (min-width:768px){.Projects__list{grid-template-columns:repeat(1,minmax(0,1fr))}}
.EducationCard{gap:1.25rem;width:100%;padding-top:.75rem;padding-bottom:.75rem;display:grid}@media not all and (min-width:768px){.EducationCard{flex-direction:column;gap:.5rem;display:flex}}.EducationCard{grid-template-columns:8rem 1fr}.EducationCard .education-period{font-family:var(--font-geist-mono), JetBrains Mono, ui-monospace, monospace;color:var(--text-secondary);font-size:11px}.EducationCard__content{flex-direction:column;gap:.375rem;display:flex}.EducationCard__content .education-title{color:var(--text-primary);font-size:.875rem;font-weight:500;line-height:1.25rem}.EducationCard__content .education-institution{color:var(--text-secondary);font-size:.75rem;line-height:1rem}
.Educations{flex-direction:column;gap:1rem;width:100%;display:flex}.Educations__list{flex-direction:column;gap:1.5rem;display:flex}
.Footer{border-top-width:1px;border-color:var(--border-color);flex-direction:column;gap:1.5rem;width:100%;margin-top:2.5rem;padding-top:2rem;display:flex}@media not all and (min-width:768px){.Footer{gap:1rem}}.Footer__top{justify-content:space-between;align-items:center;gap:1rem;width:100%;display:flex}@media not all and (min-width:768px){.Footer__top{flex-direction:column;align-items:flex-start;gap:1.5rem}}.Footer__top__left{align-items:center;gap:1.5rem;display:flex}.Footer__top__right{align-items:center;gap:1rem;display:flex}.Footer__top .footer-btn:focus,.Footer__top .footer-btn:active{outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000);--tw-ring-offset-width:0px;outline:2px solid #0000}.Footer__top .footer-link{font-family:var(--font-geist-mono), JetBrains Mono, ui-monospace, monospace;color:var(--text-secondary);font-size:.75rem;line-height:1rem}.Footer__top .footer-link:hover{color:var(--dark-btn);text-decoration-line:underline}.Footer__top .footer-link:hover:where([data-mode=dark],[data-mode=dark] *){--tw-text-opacity:1;color:rgb(248 250 252/var(--tw-text-opacity,1))}
.ToTopButton{z-index:50;cursor:pointer;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));width:2.5rem;height:2.5rem;color:var(--text-primary);--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);--tw-border-opacity:1;border-width:1px;border-color:rgb(203 213 225/var(--tw-border-opacity,1));box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow);border-radius:9999px;justify-content:center;align-items:center;display:flex;position:fixed;right:1.5rem}.ToTopButton:where([data-mode=dark],[data-mode=dark] *){--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity,1));background-color:var(--dark-btn)}.ToTopButton .chevron-icon{width:1.25rem;height:1.25rem;color:var(--text-primary)}.ToTopButton .chevron-icon:where([data-mode=dark],[data-mode=dark] *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}
