.ThemeToggle-module__DR3P0G__toggle{background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;width:2.5rem;min-width:44px;height:2.5rem;min-height:44px;transition:all var(--transition-base);color:var(--color-text-primary);border-radius:.5rem;justify-content:center;align-items:center;padding:0;display:flex}@media (max-width:767px){.ThemeToggle-module__DR3P0G__toggle{box-shadow:var(--shadow-sm)}}.ThemeToggle-module__DR3P0G__toggle:hover{background:var(--color-background);border-color:var(--color-accent);transform:scale(1.05)}.ThemeToggle-module__DR3P0G__toggle:focus{outline:2px solid var(--color-accent);outline-offset:2px}.ThemeToggle-module__DR3P0G__toggle:active{transform:scale(.95)}.ThemeToggle-module__DR3P0G__iconWrapper{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.ThemeToggle-module__DR3P0G__icon{width:1.25rem;height:1.25rem;transition:transform var(--transition-base),opacity var(--transition-fast)}.ThemeToggle-module__DR3P0G__toggle:hover .ThemeToggle-module__DR3P0G__icon{transform:rotate(15deg)}@keyframes ThemeToggle-module__DR3P0G__fadeIn{0%{opacity:0;transform:rotate(-90deg)scale(.8)}to{opacity:1;transform:rotate(0)scale(1)}}.ThemeToggle-module__DR3P0G__icon{animation:ThemeToggle-module__DR3P0G__fadeIn var(--transition-base)}@media (prefers-reduced-motion:reduce){.ThemeToggle-module__DR3P0G__toggle,.ThemeToggle-module__DR3P0G__icon{transition:none;animation:none}.ThemeToggle-module__DR3P0G__toggle:hover .ThemeToggle-module__DR3P0G__icon,.ThemeToggle-module__DR3P0G__toggle:active{transform:none}}
.Header-module__gbg3bW__header{padding:var(--space-sm)0 var(--space-lg)0;justify-content:space-between;align-items:center;gap:var(--space-lg);border-bottom:1px solid var(--color-border);font-weight:600;display:flex}.Header-module__gbg3bW__leftSection{gap:var(--space-xs);flex-direction:column;display:flex}.Header-module__gbg3bW__name{color:var(--color-text-primary);margin:0;font-size:4rem;font-weight:800;line-height:1.2}.Header-module__gbg3bW__title{color:var(--color-fun-primary);flex-wrap:wrap;align-items:baseline;gap:.5rem;margin:0;font-size:1.5rem;line-height:1.4;display:flex}.Header-module__gbg3bW__titleText{flex-shrink:0}.Header-module__gbg3bW__techContainer{min-width:300px;line-height:1.4;display:inline-block;position:relative}.Header-module__gbg3bW__tech{color:var(--color-fun-secondary);white-space:nowrap;font-size:1.5rem;line-height:1.4;transition:opacity .5s ease-in-out}.Header-module__gbg3bW__techActive{opacity:1}.Header-module__gbg3bW__techInactive{opacity:0;pointer-events:none;line-height:1.4}.Header-module__gbg3bW__rightSection{align-items:center;gap:var(--space-xs);flex-shrink:0;display:flex}.Header-module__gbg3bW__themeToggle{display:flex;position:relative}.Header-module__gbg3bW__resumeLink{height:2.5rem;min-height:44px;padding:0 var(--space-sm);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-base);border-radius:.5rem;justify-content:center;align-items:center;font-family:inherit;font-size:1rem;font-weight:500;display:flex}.Header-module__gbg3bW__resumeLink:hover{background:var(--color-background);border-color:var(--color-accent);transform:scale(1.05)}.Header-module__gbg3bW__resumeLink:focus{outline:2px solid var(--color-accent);outline-offset:2px}.Header-module__gbg3bW__resumeLink:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:4px}.Header-module__gbg3bW__modalOverlay{z-index:1000;padding:var(--space-md);background-color:#000000d9;justify-content:center;align-items:center;animation:.2s ease-out Header-module__gbg3bW__fadeIn;display:flex;position:fixed;inset:0}@keyframes Header-module__gbg3bW__fadeIn{0%{opacity:0}to{opacity:1}}.Header-module__gbg3bW__modalContent{background-color:var(--color-background);border-radius:12px;flex-direction:column;width:100%;max-width:1200px;height:90vh;animation:.3s ease-out Header-module__gbg3bW__slideUp;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 60px #00000080}@keyframes Header-module__gbg3bW__slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.Header-module__gbg3bW__modalHeader{padding:var(--space-md);background-color:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.Header-module__gbg3bW__closeButton{cursor:pointer;width:44px;min-width:44px;height:44px;min-height:44px;color:var(--color-text-primary);transition:background-color var(--transition-fast),transform var(--transition-fast);background-color:#0000;border:none;border-radius:8px;justify-content:center;align-items:center;padding:0;display:flex}.Header-module__gbg3bW__closeButton:hover{background-color:var(--color-border);transform:scale(1.05)}.Header-module__gbg3bW__closeButton:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.Header-module__gbg3bW__closeButton:active{transform:scale(.95)}.Header-module__gbg3bW__downloadButton{background-color:var(--color-accent);color:#fff;cursor:pointer;width:44px;min-width:44px;height:44px;min-height:44px;box-shadow:var(--shadow-sm);transition:transform var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);border:none;border-radius:8px;justify-content:center;align-items:center;padding:0;text-decoration:none;display:flex}.Header-module__gbg3bW__downloadButton:hover{box-shadow:var(--shadow-md);filter:brightness(1.1);transform:scale(1.05)}.Header-module__gbg3bW__downloadButton:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.Header-module__gbg3bW__downloadButton:active{transform:scale(.95)}.Header-module__gbg3bW__pdfFrame{background-color:var(--color-surface);border:none;flex:1;width:100%;height:100%}@media (max-width:767px){.Header-module__gbg3bW__header{align-items:flex-start;gap:var(--space-md);flex-direction:column;position:relative}.Header-module__gbg3bW__rightSection{justify-content:flex-start;width:100%;margin:0}.Header-module__gbg3bW__resumeLink{margin:0;padding:0 .5rem;font-size:.9rem}.Header-module__gbg3bW__themeToggle{top:var(--space-xs);right:var(--space-xs);position:absolute}.Header-module__gbg3bW__name{font-size:2.1rem}.Header-module__gbg3bW__title{flex-direction:column;gap:0;font-size:1rem;display:flex}.Header-module__gbg3bW__tech{font-size:.8rem}.Header-module__gbg3bW__modalOverlay{padding:0}.Header-module__gbg3bW__modalContent{border-radius:0;max-width:100%;height:100vh}.Header-module__gbg3bW__modalHeader{padding:var(--space-sm)}.Header-module__gbg3bW__closeButton,.Header-module__gbg3bW__downloadButton{width:40px;min-width:40px;height:40px;min-height:40px}.Header-module__gbg3bW__closeButton svg,.Header-module__gbg3bW__downloadButton svg{width:20px;height:20px}}@media (min-width:768px) and (max-width:1023px){.Header-module__gbg3bW__name{font-size:3rem}.Header-module__gbg3bW__title{flex-direction:column;gap:0;font-size:1.5rem;display:flex}.Header-module__gbg3bW__tech{font-size:1.25rem}.Header-module__gbg3bW__modalContent{max-width:95%}}@media (prefers-reduced-motion:reduce){.Header-module__gbg3bW__modalOverlay,.Header-module__gbg3bW__modalContent{animation:none}.Header-module__gbg3bW__closeButton,.Header-module__gbg3bW__downloadButton{transition:none}.Header-module__gbg3bW__closeButton:hover,.Header-module__gbg3bW__downloadButton:hover,.Header-module__gbg3bW__closeButton:active,.Header-module__gbg3bW__downloadButton:active{transform:none}}
.AboutSection-module__M-du7a__aboutSection{margin:0}.AboutSection-module__M-du7a__header{width:100%;margin-top:var(--space-xs);cursor:pointer;color:var(--color-text-primary);transition:opacity var(--transition-fast);background:0 0;border:none;align-items:center;display:flex}.AboutSection-module__M-du7a__header:hover{opacity:.7}.AboutSection-module__M-du7a__header:focus{outline:2px solid var(--color-accent);outline-offset:4px;border-radius:4px}.AboutSection-module__M-du7a__title{font-size:2rem;font-weight:600;font-family:var(--font-sans);margin:0}.AboutSection-module__M-du7a__arrow{margin-left:var(--space-xs);transition:transform var(--transition-base);color:var(--color-text-secondary);flex-shrink:0}.AboutSection-module__M-du7a__arrow.AboutSection-module__M-du7a__expanded{transform:rotate(0)}.AboutSection-module__M-du7a__arrow.AboutSection-module__M-du7a__collapsed{transform:rotate(-180deg)}.AboutSection-module__M-du7a__content{transition:max-height var(--transition-slow),opacity var(--transition-base);overflow:hidden}.AboutSection-module__M-du7a__contentExpanded{opacity:1;max-height:2000px}.AboutSection-module__M-du7a__contentCollapsed{opacity:0;max-height:0}.AboutSection-module__M-du7a__contentInner{color:var(--color-text-secondary);font-size:1rem;line-height:1.6}.AboutSection-module__M-du7a__contentInner p{margin:var(--space-xs)}.AboutSection-module__M-du7a__contentInner p:last-child{margin-bottom:0}@media (max-width:767px){.AboutSection-module__M-du7a__title{font-size:1.5rem}.AboutSection-module__M-du7a__contentInner{font-size:.9rem}.AboutSection-module__M-du7a__header{min-height:44px}}@media (prefers-reduced-motion:reduce){.AboutSection-module__M-du7a__arrow,.AboutSection-module__M-du7a__content{transition:none}}
.ProjectCard-module__JMlgRa__card{background:var(--color-surface);border:1px solid var(--color-border);transition:transform var(--transition-base),box-shadow var(--transition-base),opacity var(--transition-base);cursor:grab;border-radius:8px;display:block;overflow:hidden}.ProjectCard-module__JMlgRa__card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.ProjectCard-module__JMlgRa__card:active{cursor:grabbing}.ProjectCard-module__JMlgRa__card.ProjectCard-module__JMlgRa__dragging{opacity:.5;cursor:grabbing}.ProjectCard-module__JMlgRa__imageContainer{aspect-ratio:16/9;background:var(--color-border);pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;position:relative;overflow:hidden}.ProjectCard-module__JMlgRa__image{object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none}.ProjectCard-module__JMlgRa__content{padding:var(--space-md)}.ProjectCard-module__JMlgRa__title{color:var(--color-text-primary);margin:0 0 var(--space-xs)0;font-size:1.25rem;font-weight:600}.ProjectCard-module__JMlgRa__links{gap:var(--space-sm);margin-top:var(--space-sm);display:flex}.ProjectCard-module__JMlgRa__link{color:var(--color-text-secondary);background:var(--color-background);border:1px solid var(--color-border);transition:color var(--transition-fast),border-color var(--transition-fast),background-color var(--transition-fast);border-radius:6px;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex}.ProjectCard-module__JMlgRa__link:hover{color:var(--color-accent);border-color:var(--color-accent);background-color:var(--color-surface)}.ProjectCard-module__JMlgRa__link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.ProjectCard-module__JMlgRa__link svg{flex-shrink:0}.ProjectCard-module__JMlgRa__description{color:var(--color-text-secondary);margin:0 0 var(--space-sm)0;font-size:.95rem;line-height:1.6}.ProjectCard-module__JMlgRa__techStack{color:var(--color-text-primary);margin-top:var(--space-xs);font-size:.8rem;font-weight:600}@media (max-width:767px){.ProjectCard-module__JMlgRa__content{padding:var(--space-sm)}.ProjectCard-module__JMlgRa__title{font-size:1.125rem}.ProjectCard-module__JMlgRa__description{font-size:.875rem}.ProjectCard-module__JMlgRa__link{padding:.3125rem .625rem;font-size:.8125rem}}@media (prefers-reduced-motion:reduce){.ProjectCard-module__JMlgRa__card{transition:none}.ProjectCard-module__JMlgRa__card:hover{transform:none}.ProjectCard-module__JMlgRa__link{transition:none}}
.ProjectsSection-module__dUvpqG__section{margin:0}.ProjectsSection-module__dUvpqG__header{cursor:pointer;width:100%;color:var(--color-text-primary);transition:opacity var(--transition-fast);background:0 0;border:none;align-items:center;display:flex}.ProjectsSection-module__dUvpqG__header:hover{opacity:.7}.ProjectsSection-module__dUvpqG__header:focus{outline:2px solid var(--color-accent);outline-offset:4px;border-radius:4px}.ProjectsSection-module__dUvpqG__heading{font-size:2rem;font-weight:600;font-family:var(--font-sans);margin:0}.ProjectsSection-module__dUvpqG__arrow{margin-left:var(--space-xs);transition:transform var(--transition-base);color:var(--color-text-secondary);flex-shrink:0}.ProjectsSection-module__dUvpqG__arrow.ProjectsSection-module__dUvpqG__expanded{transform:rotate(0)}.ProjectsSection-module__dUvpqG__arrow.ProjectsSection-module__dUvpqG__collapsed{transform:rotate(-180deg)}.ProjectsSection-module__dUvpqG__content{transition:max-height var(--transition-slow),opacity var(--transition-base)}.ProjectsSection-module__dUvpqG__contentExpanded{opacity:1;max-height:5000px}.ProjectsSection-module__dUvpqG__contentCollapsed{opacity:0;max-height:0}.ProjectsSection-module__dUvpqG__grid{gap:var(--space-lg);padding:var(--space-md)0;grid-template-columns:1fr;display:grid}@media (min-width:768px){.ProjectsSection-module__dUvpqG__grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.ProjectsSection-module__dUvpqG__grid{grid-template-columns:repeat(2,1fr)}.ProjectsSection-module__dUvpqG__heading{font-size:2rem}}@media (min-width:1200px){.ProjectsSection-module__dUvpqG__grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:767px){.ProjectsSection-module__dUvpqG__heading{font-size:1.5rem}.ProjectsSection-module__dUvpqG__header{min-height:44px}}@media (prefers-reduced-motion:reduce){.ProjectsSection-module__dUvpqG__arrow,.ProjectsSection-module__dUvpqG__content{transition:none}}
.Footer-module__8-teKW__footer{margin-top:var(--space-xl);padding:var(--space-xl)0 var(--space-lg)0;border-top:1px solid var(--color-border)}.Footer-module__8-teKW__content{align-items:center;gap:var(--space-md);flex-direction:column;display:flex}.Footer-module__8-teKW__links{gap:var(--space-lg);flex-wrap:wrap;justify-content:center;display:flex}.Footer-module__8-teKW__link{color:var(--color-text-secondary);transition:color var(--transition-fast),background-color var(--transition-fast);border-radius:6px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:1rem;font-weight:500;text-decoration:none;display:inline-flex}.Footer-module__8-teKW__link:hover{color:var(--color-accent);background-color:var(--color-surface)}.Footer-module__8-teKW__link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.Footer-module__8-teKW__link svg{flex-shrink:0}.Footer-module__8-teKW__copyright{color:var(--color-text-secondary);text-align:center;margin:0;font-size:.875rem}@media (max-width:767px){.Footer-module__8-teKW__footer{margin-top:var(--space-lg);padding:var(--space-lg)0}.Footer-module__8-teKW__links{gap:var(--space-sm)}.Footer-module__8-teKW__link{padding:.4rem .8rem;font-size:.9rem}.Footer-module__8-teKW__link svg{width:18px;height:18px}}@media (prefers-reduced-motion:reduce){.Footer-module__8-teKW__link{transition:none}}
.page-module___8aEwW__container{max-width:1200px;padding:var(--space-lg);margin:0 auto}.page-module___8aEwW__main{gap:var(--space-xl);flex-direction:column;display:flex}.page-module___8aEwW__header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.page-module___8aEwW__header h1{color:var(--color-text-primary);font-size:1.5rem;font-weight:600}@media (min-width:768px) and (max-width:1023px){.page-module___8aEwW__container{padding:var(--space-lg)}}@media (max-width:767px){.page-module___8aEwW__container{padding:var(--space-md)}.page-module___8aEwW__main{gap:var(--space-lg)}.page-module___8aEwW__header{flex-direction:column;align-items:flex-start}.page-module___8aEwW__header h1{font-size:1.25rem}}@media (min-width:1440px){.page-module___8aEwW__container{padding:var(--space-xl)}}
