*,*:before,*:after{box-sizing:border-box}html{width:100%;height:100%}: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;width:100%}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}}.header{background-color:var(--color-surface);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:var(--z-sticky);transition:box-shadow var(--transition-base)}.header__content{display:flex;align-items:center;justify-content:space-between;height:4rem}.header__logo{flex-shrink:0}.logo-link{display:inline-flex;align-items:center;text-decoration:none;color:var(--color-text-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);transition:color var(--transition-fast)}.logo-link:hover{color:var(--color-primary)}.logo-text{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header__nav{flex:1;display:flex;justify-content:center}.nav-list{display:flex;list-style:none;gap:var(--space-8);margin:0;padding:0}.nav-link{display:inline-block;padding:var(--space-2) var(--space-4);color:var(--color-text-secondary);text-decoration:none;font-weight:var(--font-weight-medium);border-radius:var(--radius-md);transition:all var(--transition-fast);position:relative}.nav-link:hover,.nav-link--active{color:var(--color-primary);background-color:#2563eb1a}.nav-link--active:after{content:"";position:absolute;bottom:-2px;left:50%;transform:translate(-50%);width:80%;height:2px;background-color:var(--color-primary);border-radius:var(--radius-full)}.mobile-menu-button{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:none;border:none;cursor:pointer;border-radius:var(--radius-md);transition:background-color var(--transition-fast)}.mobile-menu-button:hover{background-color:#2563eb1a}.hamburger{display:flex;flex-direction:column;justify-content:space-between;width:1.5rem;height:1.125rem;transition:transform var(--transition-base)}.hamburger--active{transform:rotate(45deg)}.hamburger__line{width:100%;height:2px;background-color:var(--color-text-primary);border-radius:var(--radius-full);transition:all var(--transition-base);transform-origin:center}.hamburger--active .hamburger__line:nth-child(1){transform:rotate(90deg) translate(.375rem)}.hamburger--active .hamburger__line:nth-child(2){opacity:0}.hamburger--active .hamburger__line:nth-child(3){transform:rotate(90deg) translate(-.375rem)}.mobile-nav{display:block;overflow:hidden;max-height:0;transition:max-height var(--transition-base) ease-out;background-color:var(--color-surface);border-top:1px solid var(--color-border)}.mobile-nav--open{max-height:20rem}.mobile-nav__list{list-style:none;margin:0;padding:var(--space-4) 0}.mobile-nav__link{display:block;padding:var(--space-3) var(--space-4);color:var(--color-text-secondary);text-decoration:none;font-weight:var(--font-weight-medium);border-radius:var(--radius-md);margin:0 var(--space-4);transition:all var(--transition-fast)}.mobile-nav__link:hover,.mobile-nav__link--active{color:var(--color-primary);background-color:#2563eb1a}@media (min-width: 768px){.mobile-nav{display:none}}.footer{background-color:var(--color-text-primary);color:var(--color-background);margin-top:auto}.footer__content{display:grid;grid-template-columns:1fr;gap:var(--space-8);padding:var(--space-12) 0}@media (min-width: 768px){.footer__content{grid-template-columns:1fr 1fr;gap:var(--space-16)}}@media (min-width: 1024px){.footer__content{grid-template-columns:2fr 1fr}}.footer__info{display:flex;flex-direction:column;gap:var(--space-4)}.footer__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-background);background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.footer__description{color:var(--color-text-muted);line-height:var(--line-height-relaxed);max-width:400px}.footer__links{display:grid;grid-template-columns:1fr;gap:var(--space-6)}@media (min-width: 640px){.footer__links{grid-template-columns:1fr 1fr}}.footer__section{display:flex;flex-direction:column;gap:var(--space-3)}.footer__section-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-background);margin-bottom:var(--space-2)}.footer__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.footer__link{color:var(--color-text-muted);text-decoration:none;font-size:var(--font-size-sm);transition:color var(--transition-fast);display:inline-block}.footer__link:hover{color:var(--color-primary)}.footer__bottom{border-top:1px solid rgba(255,255,255,.1);padding:var(--space-6) 0;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center}@media (min-width: 768px){.footer__bottom{flex-direction:row;justify-content:space-between;text-align:left}}.footer__copyright{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.footer__tech{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0;font-family:var(--font-family-mono)}.layout{min-height:100vh;display:flex;flex-direction:column}.main{flex:1;display:flex;flex-direction:column}.hero{background:linear-gradient(135deg,var(--color-background) 0%,#e0e7ff 100%);padding:var(--space-16) 0;min-height:80vh;display:flex;align-items:center}.hero .container{display:grid;grid-template-columns:1fr;gap:var(--space-8);align-items:center}@media (min-width: 1024px){.hero .container{grid-template-columns:2fr 1fr;gap:var(--space-16)}}.hero__content{text-align:center}@media (min-width: 1024px){.hero__content{text-align:left}}.hero__title{font-size:var(--font-size-3xl);margin-bottom:var(--space-6);line-height:var(--line-height-tight)}@media (min-width: 768px){.hero__title{font-size:var(--font-size-5xl)}}.hero__name{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero__typing{height:3rem;margin-bottom:var(--space-8);display:flex;align-items:center;justify-content:center}@media (min-width: 1024px){.hero__typing{justify-content:flex-start}}.typing-text{font-size:var(--font-size-lg);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.cursor{animation:blink 1s infinite;color:var(--color-primary)}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.hero__actions{display:flex;gap:var(--space-4);justify-content:center;flex-wrap:wrap}@media (min-width: 1024px){.hero__actions{justify-content:flex-start}}.hero__image{display:flex;justify-content:center;align-items:center}.photo-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:15px;width:350px;height:350px;padding:20px;background:#ffffff1a;border-radius:20px;box-shadow:0 15px 35px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.photo-item{position:relative;overflow:hidden;border-radius:15px;transition:transform .3s ease}.photo-item:hover{transform:scale(1.05);z-index:2}.grid-image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.photo-item:hover .grid-image{transform:scale(1.1)}.photo-item:nth-child(1){animation:fadeInUp .6s ease .1s both}.photo-item:nth-child(2){animation:fadeInUp .6s ease .2s both}.photo-item:nth-child(3){animation:fadeInUp .6s ease .3s both}.photo-item:nth-child(4){animation:fadeInUp .6s ease .4s both}.profile-image{width:300px;height:300px;border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);transition:transform var(--transition-base)}.profile-image:hover{transform:scale(1.05)}@media (min-width: 768px){.profile-image{width:400px;height:400px}.photo-grid{width:400px;height:400px;gap:20px}}@media (max-width: 480px){.photo-grid{width:280px;height:280px;gap:10px;padding:15px}}.cta{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:#fff}.cta__content{max-width:600px;margin:0 auto}.cta__title{font-size:var(--font-size-3xl);margin-bottom:var(--space-4);color:#fff}.cta__description{font-size:var(--font-size-lg);margin-bottom:var(--space-8);color:#ffffffe6;line-height:var(--line-height-relaxed)}.cta .btn-primary{background-color:#fff;color:var(--color-primary)}.cta .btn-primary:hover{background-color:var(--color-background);color:var(--color-secondary)}.about{width:100%;padding:var(--space-12) 0;min-height:100vh}.about__header{text-align:center;margin-bottom:var(--space-12)}.tab-navigation{display:flex;justify-content:center;margin-bottom:var(--space-8);border-bottom:1px solid var(--color-border)}.tab-button{padding:var(--space-4) var(--space-6);background:none;border:none;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);border-bottom:2px solid transparent;white-space:nowrap}.tab-button:hover{color:var(--color-primary)}.tab-button--active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tab-content{min-height:500px}.profile-content{max-width:1000px;margin:0 auto}.profile-grid{display:grid;grid-template-columns:1fr;gap:var(--space-12);align-items:start}@media (min-width: 1024px){.profile-grid{grid-template-columns:2fr 1fr}}.profile-text h2{font-size:var(--font-size-2xl);margin-bottom:var(--space-4);color:var(--color-text-primary)}.profile-text h3{font-size:var(--font-size-xl);margin:var(--space-8) 0 var(--space-4) 0;color:var(--color-text-primary)}.profile-text p{margin-bottom:var(--space-6);line-height:var(--line-height-relaxed)}.interest-list{list-style:none;padding:0;margin:0 0 var(--space-6) 0}.interest-list li{padding:var(--space-2) 0;padding-left:var(--space-6);position:relative;color:var(--color-text-secondary)}.interest-list li:before{content:"▶";position:absolute;left:0;color:var(--color-primary)}.profile-image{display:flex;flex-direction:column;gap:var(--space-6)}.profile-image img{width:100%;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.profile-info{background-color:var(--color-surface);padding:var(--space-6);border-radius:var(--radius-lg);box-shadow:var(--shadow-base)}.profile-info h4{margin-bottom:var(--space-4);color:var(--color-text-primary)}.info-list{margin:0}.info-list dt{font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-1)}.info-list dd{color:var(--color-text-secondary);margin-bottom:var(--space-3);margin-left:0}.skills-content{max-width:800px;margin:0 auto}.skills-content h2{font-size:var(--font-size-2xl);margin-bottom:var(--space-4);color:var(--color-text-primary);text-align:center}.skills-description{text-align:center;margin-bottom:var(--space-8);color:var(--color-text-secondary)}.skills-grid{margin-bottom:var(--space-12)}.skill-item{margin-bottom:var(--space-6)}.skill-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.skill-name{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.skill-percentage{font-size:var(--font-size-sm);color:var(--color-text-muted);font-family:var(--font-family-mono)}.skill-bar{height:8px;background-color:var(--color-border);border-radius:var(--radius-full);overflow:hidden}.skill-progress{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));border-radius:var(--radius-full);transition:width 1s ease-out}.skill-categories{display:grid;grid-template-columns:1fr;gap:var(--space-8)}@media (min-width: 768px){.skill-categories{grid-template-columns:1fr 1fr}}.skill-category h3{font-size:var(--font-size-lg);margin-bottom:var(--space-4);color:var(--color-text-primary)}.skill-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.skill-tag{padding:var(--space-2) var(--space-3);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--font-size-sm);color:var(--color-text-secondary);transition:all var(--transition-fast)}.skill-tag:hover{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.experience-content{max-width:800px;margin:0 auto}.experience-content h2{font-size:var(--font-size-2xl);margin-bottom:var(--space-4);color:var(--color-text-primary);text-align:center}.experience-description{text-align:center;margin-bottom:var(--space-8);color:var(--color-text-secondary)}.timeline{position:relative;margin-bottom:var(--space-12)}.timeline:before{content:"";position:absolute;left:1rem;top:0;bottom:0;width:2px;background-color:var(--color-border)}.timeline-item{position:relative;margin-bottom:var(--space-8);padding-left:var(--space-12)}.timeline-marker{position:absolute;left:.5rem;top:.5rem;width:1rem;height:1rem;background-color:var(--color-primary);border-radius:var(--radius-full);border:3px solid var(--color-background);box-shadow:0 0 0 3px var(--color-border)}.timeline-content{background-color:var(--color-surface);padding:var(--space-6);border-radius:var(--radius-lg);box-shadow:var(--shadow-base)}.timeline-year{display:inline-block;padding:var(--space-1) var(--space-3);background-color:var(--color-primary);color:#fff;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-3)}.timeline-title{font-size:var(--font-size-lg);margin-bottom:var(--space-3);color:var(--color-text-primary)}.timeline-description{color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.learning-goals h3{font-size:var(--font-size-xl);margin-bottom:var(--space-6);color:var(--color-text-primary);text-align:center}.goals-grid{display:grid;grid-template-columns:1fr;gap:var(--space-6)}@media (min-width: 768px){.goals-grid{grid-template-columns:repeat(3,1fr)}}.goal-item{background-color:var(--color-surface);padding:var(--space-6);border-radius:var(--radius-lg);box-shadow:var(--shadow-base);text-align:center;transition:transform var(--transition-base)}.goal-item:hover{transform:translateY(-2px)}.goal-item h4{font-size:var(--font-size-lg);margin-bottom:var(--space-3);color:var(--color-primary)}.goal-item p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.news{width:100%;padding:var(--space-12) 0;min-height:100vh;opacity:0;animation:fadeInUp .5s ease-out forwards}.contact__image{position:fixed;bottom:20px;right:20px;width:50px;height:50px;z-index:1000;opacity:0;animation:fadeInUp .6s ease-out .8s both}.news__header{text-align:center;margin-bottom:var(--space-12);opacity:0;animation:fadeInUp .5s ease-out .1s forwards}.page-title{font-size:var(--font-size-4xl);margin-bottom:var(--space-4);color:var(--color-text-primary)}.page-subtitle{font-size:var(--font-size-lg);color:var(--color-text-secondary);max-width:600px;margin:0 auto}.news__filters{display:flex;justify-content:center;gap:var(--space-4);margin-bottom:var(--space-8);flex-wrap:wrap;opacity:0;animation:fadeInUp .5s ease-out .2s forwards}.filter-button{padding:var(--space-3) var(--space-6);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.filter-button:hover,.filter-button--active{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.news__grid{display:grid;gap:var(--space-6);max-width:800px;margin:0 auto;opacity:0;animation:fadeInUp .5s ease-out .3s forwards}.news-item{background:var(--color-surface);padding:var(--space-6);border-radius:var(--radius-lg);box-shadow:var(--shadow-base);transition:transform var(--transition-base);opacity:0;animation:fadeInScale .4s ease-out forwards}.news-item:nth-child(1){animation-delay:.4s}.news-item:nth-child(2){animation-delay:.5s}.news-item:nth-child(3){animation-delay:.6s}.news-item:nth-child(4){animation-delay:.7s}.news-item:nth-child(5){animation-delay:.8s}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.news-item:hover{transform:translateY(-2px)}.news-date{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-bottom:var(--space-2)}.news-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-3)}.news-content{color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--space-4)}.category-badge{display:inline-block;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.05em}.category-badge.announcement{background:var(--color-blue-100);color:var(--color-blue-700)}.category-badge.update{background:var(--color-green-100);color:var(--color-green-700)}.category-badge.achievement{background:var(--color-purple-100);color:var(--color-purple-700)}.no-news{text-align:center;padding:var(--space-12);color:var(--color-text-tertiary);opacity:0;animation:fadeInUp .5s ease-out .4s forwards}@media (min-width: 768px){.portfolio__grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.portfolio__grid{grid-template-columns:repeat(3,1fr)}}.project-card{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-base);overflow:hidden;cursor:pointer;transition:all var(--transition-base)}.project-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.project-image{position:relative;overflow:hidden;height:200px}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-base)}.project-card:hover .project-image img{transform:scale(1.05)}.project-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#2563ebe6;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-base)}.project-card:hover .project-overlay{opacity:1}.view-details{color:#fff;font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg)}.project-content{padding:var(--space-6)}.project-title{font-size:var(--font-size-lg);margin-bottom:var(--space-3);color:var(--color-text-primary)}.project-description{color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--space-4);font-size:var(--font-size-sm)}.project-technologies{display:flex;flex-wrap:wrap;gap:var(--space-2)}.tech-tag{padding:var(--space-1) var(--space-3);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.no-projects{text-align:center;padding:var(--space-16) 0;color:var(--color-text-muted)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000bf;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-4)}.modal-content{background-color:var(--color-surface);border-radius:var(--radius-lg);max-width:900px;width:100%;max-height:90vh;overflow-y:auto;position:relative;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-close{position:absolute;top:var(--space-4);right:var(--space-4);width:2.5rem;height:2.5rem;background-color:#0000001a;border:none;border-radius:var(--radius-full);color:var(--color-text-primary);font-size:var(--font-size-xl);cursor:pointer;transition:background-color var(--transition-fast);z-index:1}.modal-close:hover{background-color:#0003}.modal-body{display:grid;grid-template-columns:1fr;gap:0}@media (min-width: 768px){.modal-body{grid-template-columns:1fr 1fr}}.modal-image{width:100%;height:300px;object-fit:cover}@media (min-width: 768px){.modal-image{height:100%;min-height:400px}}.modal-info{padding:var(--space-8);display:flex;flex-direction:column;gap:var(--space-4)}.modal-title{font-size:var(--font-size-2xl);color:var(--color-text-primary);margin:0}.modal-description{color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin:0}.modal-technologies h4{font-size:var(--font-size-base);color:var(--color-text-primary);margin-bottom:var(--space-2)}.tech-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.modal-technologies .tech-tag{background-color:var(--color-primary);color:#fff;border:none}.modal-links{display:flex;gap:var(--space-4);flex-wrap:wrap;margin-top:auto}@media (max-width: 767px){.modal-content{margin:var(--space-4);max-height:calc(100vh - 2rem)}.modal-info{padding:var(--space-6)}.modal-links{flex-direction:column}.modal-links .btn{width:100%;justify-content:center}}.interests{padding:var(--space-12) 0;min-height:100vh}.interests__header{text-align:center;margin-bottom:var(--space-12)}.tab-navigation{display:flex;justify-content:center;margin-bottom:var(--space-8);border-bottom:1px solid var(--color-border);gap:var(--space-2);flex-wrap:wrap}.tab-button{padding:var(--space-4) var(--space-6);background:none;border:none;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);border-bottom:2px solid transparent;white-space:nowrap;border-radius:var(--radius-md) var(--radius-md) 0 0}.tab-button:hover{color:var(--color-primary);background-color:#2563eb0d}.tab-button--active{color:var(--color-primary);border-bottom-color:var(--color-primary);background-color:#2563eb1a}.tab-content{min-height:600px}.tab-content h2{font-size:var(--font-size-2xl);margin-bottom:var(--space-4);color:var(--color-text-primary);text-align:center}.section-description{text-align:center;color:var(--color-text-secondary);margin-bottom:var(--space-8);max-width:600px;margin-left:auto;margin-right:auto;line-height:var(--line-height-relaxed)}.items-grid{display:grid;grid-template-columns:1fr;gap:var(--space-8);max-width:1000px;margin:0 auto}@media (min-width: 768px){.items-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.items-grid{grid-template-columns:repeat(3,1fr)}}.item-card{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-base);overflow:hidden;transition:all var(--transition-base)}.item-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.item-image{height:250px;overflow:hidden;cursor:pointer}.item-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-base)}.item-image:hover img{transform:scale(1.05)}.item-content{padding:var(--space-6)}.item-title{font-size:var(--font-size-lg);margin-bottom:var(--space-2);color:var(--color-text-primary)}.item-subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-3);font-weight:var(--font-weight-medium)}.item-description{color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--space-4);font-size:var(--font-size-sm)}.rating{display:flex;gap:var(--space-1)}.star{color:var(--color-border);font-size:var(--font-size-base);transition:color var(--transition-fast)}.star--filled{color:var(--color-accent)}.items-grid,.hobbies-grid{display:grid;grid-template-columns:1fr;gap:var(--space-8);max-width:1000px;margin:0 auto}@media (min-width: 768px){.items-grid,.hobbies-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.items-grid,.hobbies-grid{grid-template-columns:repeat(3,1fr)}}.item-card,.hobby-card{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-base);overflow:hidden;transition:all var(--transition-base)}.item-card:hover,.hobby-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.item-image,.hobby-image{overflow:hidden;cursor:pointer}.item-image{height:250px}.hobby-image{height:200px}.item-image img,.hobby-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-base)}.item-image:hover img,.hobby-image:hover img{transform:scale(1.05)}.item-content,.hobby-content{padding:var(--space-6)}.item-title,.hobby-title{font-size:var(--font-size-lg);color:var(--color-text-primary)}.item-title{margin-bottom:var(--space-2)}.hobby-title{margin-bottom:var(--space-3)}.item-description,.hobby-description{color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--space-4);font-size:var(--font-size-sm)}.hobby-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.hobby-tag{padding:var(--space-1) var(--space-3);background-color:var(--color-primary);color:#fff;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000e6;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-4);cursor:pointer}.lightbox-content{position:relative;max-width:90vw;max-height:90vh;animation:lightboxFadeIn .3s ease-out}@keyframes lightboxFadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.lightbox-content img{width:100%;height:100%;object-fit:contain;border-radius:var(--radius-lg)}.lightbox-close{position:absolute;top:-3rem;right:0;width:2.5rem;height:2.5rem;background-color:#fff3;border:none;border-radius:var(--radius-full);color:#fff;font-size:var(--font-size-xl);cursor:pointer;transition:background-color var(--transition-fast);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.lightbox-close:hover{background-color:#ffffff4d}.music-link{position:relative;display:block;text-decoration:none}.play-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;border-radius:var(--radius-lg)}.music-link:hover .play-overlay{opacity:1}.play-icon{font-size:3rem;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.5)}.youtube-link{display:inline-block;margin-top:10px;padding:8px 16px;background-color:red;color:#fff;text-decoration:none;border-radius:var(--radius-md);font-size:14px;font-weight:500;transition:background-color .3s ease}.youtube-link:hover{background-color:#c00;color:#fff}@media (max-width: 767px){.tab-navigation{flex-direction:column;align-items:center}.tab-button{width:100%;max-width:200px;text-align:center;border-radius:var(--radius-md);border-bottom:none;margin-bottom:var(--space-1)}.tab-button--active{border-bottom:none;background-color:var(--color-primary);color:#fff}.lightbox-close{top:var(--space-4);right:var(--space-4);background-color:#00000080}}.contact{width:100%;padding:var(--space-12) 0;min-height:100vh;background:linear-gradient(135deg,var(--color-background) 0%,#e0e7ff 100%)}.contact .container{max-width:800px;margin:0 auto;padding:0 var(--space-4)}.contact__image{position:fixed;bottom:20px;right:20px;width:50px;height:50px;z-index:1000;animation:fadeInUp .6s ease-out .8s both}.contact__image-img{width:100%;height:100%;object-fit:cover;border-radius:50%;box-shadow:0 4px 20px #00000026;transition:transform .3s ease;display:block}.contact__image-img:hover{transform:scale(1.1)}@media (max-width: 768px){.contact__image{width:40px;height:40px;bottom:15px;right:15px}}.contact__header{text-align:center;margin-bottom:var(--space-12);animation:fadeInUp .8s ease-out}.contact__title{font-size:var(--font-size-4xl);margin-bottom:var(--space-4);color:var(--color-text-primary);font-weight:var(--font-weight-bold)}.contact__subtitle{font-size:var(--font-size-lg);color:var(--color-text-secondary);max-width:600px;margin:0 auto;line-height:var(--line-height-relaxed)}.contact__form-container{background:var(--color-surface);border-radius:16px;padding:var(--space-8);box-shadow:0 10px 25px #0000000d;animation:fadeInUp .8s ease-out .2s both}.contact__form{margin-bottom:var(--space-6)}.form-group{margin-bottom:var(--space-6);animation:fadeInUp .6s ease-out var(--delay, 0s) both}.form-group:nth-child(1){--delay: .3s}.form-group:nth-child(2){--delay: .4s}.form-group:nth-child(3){--delay: .5s}.form-label{display:block;margin-bottom:var(--space-2);font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.5px}.form-input,.form-textarea{width:100%;padding:var(--space-4);border:2px solid var(--color-border);border-radius:8px;font-size:var(--font-size-base);font-family:var(--font-family-base);background:var(--color-background);color:var(--color-text-primary);transition:all var(--transition-fast);box-sizing:border-box}.form-input:focus,.form-textarea:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #2563eb1a;background:var(--color-surface);transform:translateY(-1px)}.form-textarea{resize:vertical;min-height:120px;line-height:var(--line-height-relaxed)}.form-button{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:#fff;padding:var(--space-4) var(--space-8);border:none;border-radius:8px;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);position:relative;overflow:hidden;animation:fadeInUp .6s ease-out .6s both}.form-button:hover{transform:translateY(-2px);box-shadow:0 10px 25px #2563eb4d}.form-button:active{transform:translateY(0)}.contact__success{text-align:center;padding:var(--space-12);animation:fadeInScale .8s ease-out}.success-icon{width:80px;height:80px;background:linear-gradient(135deg,var(--color-success),#22c55e);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-6);animation:bounceIn 1s ease-out .3s both}.success-icon:after{content:"✓";color:#fff;font-size:2rem;font-weight:700}.success-title{font-size:var(--font-size-3xl);margin-bottom:var(--space-4);color:var(--color-text-primary);font-weight:var(--font-weight-bold)}.success-message{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin-bottom:var(--space-8);line-height:var(--line-height-relaxed)}.back-button{background:var(--color-surface);color:var(--color-primary);border:2px solid var(--color-primary);padding:var(--space-3) var(--space-6);border-radius:8px;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.back-button:hover{background:var(--color-primary);color:#fff;transform:translateY(-1px)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@media (max-width: 768px){.contact{padding:var(--space-8) 0}.contact__form-container{padding:var(--space-6);margin:0 var(--space-4)}.contact__title{font-size:var(--font-size-3xl)}}@keyframes blue-glow{0%{box-shadow:0 0 5px #3b82f680;border-color:#3b82f6b3}50%{box-shadow:0 0 20px #3b82f6cc,0 0 30px #3b82f666;border-color:#3b82f6}to{box-shadow:0 0 5px #3b82f64d;border-color:#3b82f680}}.form-input--glowing,.form-textarea--glowing{animation:blue-glow .3s ease-out;transition:all .3s ease}.form-input,.form-textarea{color:#000;transition:color .1s ease}.form-input:focus,.form-textarea:focus{outline:none;border-color:#3b82f699;box-shadow:0 0 0 3px #3b82f61a}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{line-height:1.15;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600}p{margin:0}a{background-color:transparent;text-decoration:none;color:inherit}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:JetBrains Mono,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none;max-width:100%;height:auto}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;-moz-appearance:button;appearance:button;cursor:pointer}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none;-moz-appearance:none;appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--color-primary: #2563eb;--color-secondary: #7c3aed;--color-accent: #f59e0b;--color-background: #f8fafc;--color-surface: #ffffff;--color-text-primary: #1e293b;--color-text-secondary: #64748b;--color-text-muted: #94a3b8;--color-border: #e2e8f0;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--font-family-base: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Open Sans", "Helvetica Neue", sans-serif;--font-family-heading: "Inter", var(--font-family-base);--font-family-mono: "JetBrains Mono", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--radius-sm: .125rem;--radius-base: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-base: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--transition-fast: .15s ease-in-out;--transition-base: .25s ease-in-out;--transition-slow: .35s ease-in-out;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}body{background-color:var(--color-background);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-normal)}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);color:var(--color-text-primary);line-height:var(--line-height-tight)}h1{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold)}h2{font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold)}h3{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold)}h4{font-size:var(--font-size-xl);font-weight:var(--font-weight-medium)}h5{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium)}h6{font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}p{color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}a{color:var(--color-primary);transition:color var(--transition-fast)}a:hover{color:var(--color-secondary)}a:focus{outline:2px solid var(--color-primary);outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:1;text-decoration:none;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn:focus{outline:2px solid var(--color-primary);outline-offset:2px}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-secondary);color:#fff}.btn-secondary{background-color:transparent;color:var(--color-primary);border:1px solid var(--color-primary)}.btn-secondary:hover{background-color:var(--color-primary);color:#fff}.card{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-base);padding:var(--space-6);transition:box-shadow var(--transition-base)}.card:hover{box-shadow:var(--shadow-lg)}.container{width:100%;max-width:1400px;margin:0 auto;padding:0 var(--space-4)}@media (min-width: 768px){.container{padding:0 var(--space-6)}}@media (min-width: 1024px){.container{padding:0 var(--space-8)}}.grid{display:grid;gap:var(--space-6)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width: 767px){.grid-cols-2,.grid-cols-3{grid-template-columns:repeat(1,minmax(0,1fr))}}@media (min-width: 768px) and (max-width: 1023px){.grid-cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.mt-4{margin-top:var(--space-4)}.mt-8{margin-top:var(--space-8)}.mt-12{margin-top:var(--space-12)}.mb-4{margin-bottom:var(--space-4)}.mb-8{margin-bottom:var(--space-8)}.mb-12{margin-bottom:var(--space-12)}.py-8{padding:var(--space-8) 0}.py-12{padding:var(--space-12) 0}.py-16{padding:var(--space-16) 0}.text-center{text-align:center}.text-muted{color:var(--color-text-muted)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .6s ease-out}.hidden{display:none}@media (min-width: 768px){.md\:block{display:block}.md\:hidden{display:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
