@import "https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap";.app-container{background-color:var(--bg-color);grid-template-columns:1fr 280px;width:100%;height:100vh;display:grid;overflow:hidden}@media screen and (max-width:1200px){.app-container{grid-template-columns:1fr 240px}}@media screen and (max-width:1024px){.app-container{flex-direction:column;height:auto;min-height:100vh;padding-top:60px;display:flex;overflow:hidden visible}}.main-scroll-area{scroll-behavior:smooth;flex-direction:column;gap:5rem;width:100%;height:100vh;padding:2rem 0;display:flex;overflow:hidden auto}@media screen and (max-width:1024px){.main-scroll-area{gap:2.5rem;height:auto;padding:0 0 2.5rem;overflow-y:visible}}@media screen and (max-width:480px){.main-scroll-area{gap:1.75rem;padding:0 0 1.75rem}}.content-row{grid-template-columns:240px 1fr;align-items:start;width:100%;padding-right:3rem;display:grid}@media screen and (max-width:1200px){.content-row{grid-template-columns:180px 1fr;padding-right:1.5rem}}@media screen and (max-width:1024px){.content-row{flex-direction:column;gap:1rem;padding:0 1.5rem;scroll-margin-top:80px;display:flex}}@media screen and (max-width:480px){.content-row{gap:.75rem;padding:0 .75rem}}.section-title-container{justify-content:flex-start;align-items:flex-start;padding:1.5rem;display:flex;position:sticky;top:1rem}@media screen and (max-width:1024px){.section-title-container{justify-content:center;width:100%;padding:.5rem 0;position:static}#home .section-title-container{display:none}}.section-card-container{justify-content:center;align-items:center;width:100%;height:100%;display:flex}#home{flex-shrink:0;justify-content:center;align-items:center;height:calc(100vh - 4rem);min-height:600px;padding-left:3rem;padding-right:3rem;display:flex}@media screen and (max-width:1200px){#home{padding-left:1.5rem;padding-right:1.5rem}}@media screen and (max-width:1024px){#home{flex-direction:column;height:calc(100dvh - 60px);min-height:520px;margin-top:0;padding:0 1.5rem}#home .section-card-container{flex-direction:column;justify-content:center;align-items:stretch;height:100%;display:flex}}@media screen and (max-width:480px){#home{padding:0 .75rem}}#home .section-title-container{display:none}.right-panel{border-left:1px solid var(--md-sys-color-outline);background-color:var(--bg-color);z-index:10;justify-content:center;align-items:center;padding:2rem;display:flex;position:relative}@media screen and (max-width:1024px){.right-panel{display:none}}.sidebar-nav{flex-direction:column;gap:.75rem;width:100%;display:flex}.nav-item{text-align:right;cursor:pointer;color:var(--md-sys-color-on-surface-variant);transition:all var(--transition-speed) var(--transition-spring);z-index:1;background:0 0;border:none;border-radius:2rem;padding:.8rem 1.5rem;font-size:1.05rem;font-weight:500;position:relative;overflow:hidden}.nav-item:after{content:"";background-color:var(--md-sys-color-primary-container);z-index:-1;transform-origin:100%;transition:transform var(--transition-speed) var(--transition-spring);border-radius:2rem;position:absolute;inset:0;transform:scaleX(0)}.nav-item.active:after{transform:scaleX(1)}.nav-item.active{color:var(--md-sys-color-on-primary-container);font-weight:600}@media screen and (min-width:1025px) and (hover:hover){.nav-item{will-change:transform}.nav-item:hover:after{background-color:var(--md-sys-color-surface-variant);opacity:.5;transform:scaleX(.85)}.nav-item.active:hover:after{background-color:var(--md-sys-color-primary-container);opacity:1;transform:scaleX(1)}.nav-item:hover{color:var(--md-sys-color-primary);transform:translate(-4px)}.nav-item.active:hover{color:var(--md-sys-color-on-primary-container);transform:none}}.theme-toggle-btn{z-index:100;border:1px solid var(--md-sys-color-outline);background-color:var(--glass-bg);-webkit-backdrop-filter:blur(10px);width:44px;height:44px;color:var(--md-sys-color-primary);cursor:pointer;box-shadow:var(--card-shadow);transition:transform var(--transition-speed) var(--transition-spring), background-color var(--transition-speed) ease, border-color var(--transition-speed) ease, box-shadow var(--transition-speed) ease;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;top:1.5rem;right:1.5rem}@media screen and (max-width:1024px){.theme-toggle-btn{display:none}}@media screen and (min-width:1025px) and (hover:hover){.theme-toggle-btn{will-change:transform}.theme-toggle-btn:hover{background-color:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);box-shadow:var(--card-hover-shadow);border-color:var(--md-sys-color-primary);transform:scale(1.1)rotate(360deg)}.theme-toggle-btn:hover .theme-icon{color:var(--md-sys-color-on-primary-container)}}.theme-toggle-btn:active{transform:scale(.95)}.theme-icon{color:var(--md-sys-color-primary);transition:color var(--transition-speed) ease}.mobile-header{display:none}@media screen and (max-width:1024px){.mobile-header{background-color:var(--bg-color);border-bottom:1px solid var(--md-sys-color-outline);z-index:100;justify-content:space-between;align-items:center;height:60px;padding:0 1.5rem;display:flex;position:fixed;top:0;left:0;right:0}}@media screen and (max-width:480px){.mobile-header{padding:0 1rem}}.mobile-logo{color:var(--md-sys-color-primary);cursor:pointer;letter-spacing:-.02em;font-size:1.4rem;font-weight:800}.mobile-header-actions{align-items:center;gap:1rem;display:flex}.mobile-theme-toggle{color:var(--md-sys-color-primary);cursor:pointer;border:none;border:1px solid var(--md-sys-color-outline);background:0 0;background-color:var(--md-sys-color-surface);border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.hamburger-btn{cursor:pointer;border:none;border:1px solid var(--md-sys-color-outline);background:0 0;background-color:var(--md-sys-color-surface);z-index:101;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;display:flex;position:relative}.hamburger-line{background-color:var(--md-sys-color-primary);width:18px;height:2px;transition:transform .3s var(--transition-spring), opacity .3s ease;border-radius:2px}.hamburger-btn.open .line-1{transform:translateY(7px)rotate(45deg)}.hamburger-btn.open .line-2{opacity:0}.hamburger-btn.open .line-3{transform:translateY(-7px)rotate(-45deg)}.mobile-menu-drawer{background-color:var(--bg-color);z-index:99;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease, transform .3s var(--transition-spring), visibility .3s;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:60px 0 0;transform:translateY(-10px)}.mobile-menu-drawer.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.mobile-nav-menu{flex-direction:column;align-items:center;gap:1.5rem;width:80%;max-height:80vh;display:flex;overflow-y:auto}.mobile-nav-item{color:var(--md-sys-color-on-surface-variant);cursor:pointer;text-align:center;background:0 0;border:none;border-radius:2rem;width:100%;padding:.5rem 1.5rem;font-size:1.6rem;font-weight:600;transition:all .3s}.mobile-nav-item.active{color:var(--md-sys-color-primary);background-color:var(--md-sys-color-primary-container);font-weight:700}.latest-project-toast{background-color:var(--md-sys-color-primary-container);border-radius:var(--border-radius-m3);z-index:1000;cursor:pointer;border:1px solid var(--md-sys-color-outline);max-width:280px;transition:transform var(--transition-speed), background-color var(--transition-speed);flex-direction:column;gap:1rem;padding:1rem;animation:.3s ease-out slideIn;display:flex;position:fixed;bottom:1rem;right:1rem;box-shadow:0 4px 12px #00000026}@media screen and (min-width:1025px) and (hover:hover){.latest-project-toast:hover{background-color:var(--md-sys-color-surface-variant);transform:translateY(-4px)}}.toast-image{object-fit:cover;border-radius:1rem;width:100%;height:120px}.toast-content{text-align:center;flex-direction:column;gap:.25rem;display:flex}.toast-title{color:var(--md-sys-color-on-primary-container);margin:0;font-size:1.1rem;font-weight:600}.toast-text{color:var(--md-sys-color-on-primary-container);opacity:.8;margin:0;font-size:.85rem}@keyframes slideIn{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@media screen and (max-width:480px){.latest-project-toast{max-width:none;bottom:1rem;left:1rem;right:1rem}}.title-container{color:var(--md-sys-color-primary);width:100%;margin-bottom:1.5rem}.title-text{color:var(--md-sys-color-primary);white-space:normal;text-align:left;width:100%;font-size:2.5rem;font-weight:600}@media screen and (max-width:1024px){.title-text{text-align:center}}@media screen and (max-width:768px){.title-text{text-align:center;font-size:1.5rem}}.page-wrapper{background-color:var(--md-sys-color-surface-variant);border-radius:var(--border-radius-m3);flex-direction:column;gap:2rem;width:100%;margin:0;padding:2rem;display:flex;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}@media screen and (max-width:1024px){.page-wrapper{border-radius:1rem;gap:1.5rem;padding:1.5rem}}@media screen and (max-width:480px){.page-wrapper{gap:1.25rem;padding:1rem}}.about-me-container{grid-template-columns:1.5fr 3fr;align-items:stretch;gap:2rem;display:grid}@media screen and (max-width:1024px){.about-me-container{grid-template-columns:1fr}}.about-me-image-container{border-radius:var(--border-radius-m3);border:1px solid var(--md-sys-color-outline);width:100%;box-shadow:var(--card-shadow);transition:transform var(--transition-speed) var(--transition-spring), box-shadow var(--transition-speed) ease;justify-content:center;align-items:center;display:flex;overflow:hidden}@media screen and (max-width:1024px){.about-me-image-container{max-width:320px;margin:0 auto}}@media screen and (min-width:1025px) and (hover:hover){.about-me-image-container{will-change:transform}.about-me-image-container:hover{box-shadow:var(--card-hover-shadow);transform:translateY(-6px)scale(1.01)}}.about-me-image-container img{aspect-ratio:1;object-fit:cover;width:100%;height:100%;display:block}.about-me-description{text-align:left;background-color:var(--md-sys-color-surface);border-radius:var(--border-radius-m3);border:1px solid var(--md-sys-color-outline);box-shadow:var(--card-shadow);transition:transform var(--transition-speed) ease, background-color var(--transition-speed) ease, box-shadow var(--transition-speed) ease;flex-direction:column;justify-content:center;gap:1.25rem;padding:2rem;display:flex}@media screen and (max-width:768px){.about-me-description{padding:1.25rem}}@media screen and (min-width:1025px) and (hover:hover){.about-me-description{will-change:transform}.about-me-description:hover{background-color:var(--md-sys-color-surface);box-shadow:var(--card-hover-shadow);transform:translateY(-4px)}}.about-me-description p{color:var(--md-sys-color-on-surface-variant);margin:0;font-size:1.05rem;line-height:1.7}.section-subtitle{color:var(--md-sys-color-primary);margin-top:3rem;margin-bottom:1.5rem;padding-bottom:.5rem;font-size:1.6rem;font-weight:700;position:relative}.section-subtitle:after{content:"";background-color:var(--md-sys-color-primary);border-radius:2px;width:40px;height:3px;position:absolute;bottom:0;left:0}.faq-container{flex-direction:column;gap:.75rem;margin-top:.5rem;display:flex}.faq-item{border-radius:var(--border-radius-m3);background-color:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline);box-shadow:var(--card-shadow);cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .2s ease, border-color .2s ease, background-color var(--transition-speed) ease, box-shadow var(--transition-speed) ease;flex-direction:column;padding:1.25rem 1.5rem;display:flex}@media screen and (min-width:1025px) and (hover:hover){.faq-item:hover{border-color:var(--md-sys-color-primary);background-color:var(--md-sys-color-surface-variant);box-shadow:var(--card-hover-shadow)}}.faq-item.active{border-color:var(--md-sys-color-primary);background-color:var(--md-sys-color-surface);box-shadow:var(--card-hover-shadow)}.faq-question-container{justify-content:space-between;align-items:center;gap:1rem;display:flex}.question{text-align:left;color:var(--md-sys-color-on-surface);margin:0;font-size:1.15rem;font-weight:600}.faq-chevron{color:var(--md-sys-color-primary);transition:transform var(--transition-speed) var(--transition-spring);flex-shrink:0}.faq-chevron.rotate{transform:rotate(180deg)}.faq-answer-container{opacity:0;max-height:0;transition:max-height var(--transition-speed) cubic-bezier(.4, 0, .2, 1), opacity var(--transition-speed) ease;overflow:hidden}.faq-answer-container.show{opacity:1;max-height:500px}.answer{text-align:left;color:var(--md-sys-color-on-surface-variant);border-top:1px dashed var(--md-sys-color-outline);margin-top:.75rem;padding-top:1rem;font-size:1rem;line-height:1.6}.hobbies-container{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem;margin-top:.5rem;display:grid}.hobby-item{border-radius:var(--border-radius-m3);background-color:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline);box-shadow:var(--card-shadow);transition:transform var(--transition-speed) var(--transition-spring), background-color var(--transition-speed) ease, box-shadow var(--transition-speed) ease;flex-direction:column;padding:.75rem;display:flex}@media screen and (min-width:1025px) and (hover:hover){.hobby-item{will-change:transform}.hobby-item:hover{background-color:var(--md-sys-color-surface-variant);box-shadow:var(--card-hover-shadow);transform:translateY(-8px)}}.hobby-image-container{aspect-ratio:1.1;border-radius:.75rem;width:100%;position:relative;overflow:hidden}.hobby-image-container img{object-fit:cover;width:100%;height:100%;transition:transform .5s}@media screen and (min-width:1025px) and (hover:hover){.hobby-image-container img{will-change:transform}.hobby-item:hover .hobby-image-container img{transform:scale(1.08)}}.image-author{color:#fff;opacity:0;background:linear-gradient(#0000,#000000b3);font-size:.7rem;font-weight:400;transition:opacity .3s,transform .3s;position:absolute;bottom:0;left:0;right:0;transform:translateY(10px)}@media screen and (min-width:1025px) and (hover:hover){.image-author{will-change:transform, opacity}.hobby-item:hover .image-author{opacity:1;transform:translateY(0)}}.hobby-name{text-align:center;color:var(--md-sys-color-on-surface);margin-top:.75rem;margin-bottom:.25rem;font-size:1.1rem;font-weight:600}.contacts-container{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;max-width:900px;margin:0 auto;padding:2rem 0;display:grid}.contact{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px)saturate(180%);border:1px solid var(--glass-border);border-radius:var(--border-radius-m3);box-shadow:var(--card-shadow);transition:transform var(--transition-speed) var(--transition-spring), background-color var(--transition-speed) ease, border-color var(--transition-speed) ease, box-shadow var(--transition-speed) ease;flex-direction:column;align-items:center;gap:1.5rem;padding:2.5rem 1.5rem;display:flex}.contact-image-container{background:var(--md-sys-color-surface-variant);border:2px solid var(--md-sys-color-outline);width:96px;height:96px;transition:transform var(--transition-speed) var(--transition-spring), background-color var(--transition-speed) ease, border-color var(--transition-speed) ease;border-radius:50%;justify-content:center;align-items:center;padding:1.25rem;display:flex;box-shadow:inset 0 2px 4px #0000000a}.contact-image-container img{object-fit:contain;filter:drop-shadow(0 4px 6px #00000014);width:100%;height:100%;transition:transform var(--transition-speed) var(--transition-spring)}.contact-name{color:var(--md-sys-color-on-surface);text-align:center;transition:color var(--transition-speed) ease;font-family:Outfit,sans-serif;font-size:1.35rem;font-weight:600}@media screen and (min-width:1025px) and (hover:hover){.contact,.contact-image-container,.contact-image-container img{will-change:transform}.contact:hover{background:var(--glass-bg);border-color:var(--md-sys-color-primary);box-shadow:var(--card-hover-shadow), 0 0 20px #0061a41a;transform:translateY(-8px)scale(1.02)}.contact:hover .contact-image-container{background:var(--md-sys-color-primary-container);border-color:var(--md-sys-color-primary);animation:1.5s infinite alternate contact-pulse;transform:scale(1.05)rotate(4deg)}.contact:hover .contact-image-container img{transform:scale(1.1)}.contact:hover .contact-name{color:var(--md-sys-color-primary)}html.dark .contact:hover{box-shadow:var(--card-hover-shadow), 0 0 30px #d1e4ff26}}@keyframes contact-pulse{0%{box-shadow:0 0 0 4px #0061a426}to{box-shadow:0 0 0 12px #0061a44d}}@media screen and (max-width:1024px){.contacts-container{grid-template-columns:1fr;gap:1.5rem;width:100%;padding:0}.contact{width:100%}}@media screen and (max-width:480px){.contact{gap:1rem;padding:1.75rem 1rem}.contact-image-container{width:80px;height:80px;padding:1rem}.contact-name{font-size:1.15rem}}.timeline-container{flex-direction:column;gap:2.5rem;width:100%;padding-left:2rem;display:flex;position:relative}.timeline-line{background:linear-gradient(to bottom, var(--md-sys-color-primary) 0%, var(--md-sys-color-outline) 100%);border-radius:2px;width:3px;position:absolute;top:1rem;bottom:1rem;left:6px}.timeline-item{width:100%;display:flex;position:relative}.timeline-dot-wrapper{justify-content:center;align-items:center;width:15px;height:15px;display:flex;position:absolute;top:1.5rem;left:-2rem;transform:translate(-50%)}.timeline-dot{background-color:var(--md-sys-color-surface);border:3.5px solid var(--md-sys-color-primary);width:14px;height:14px;transition:all var(--transition-speed) var(--transition-spring);z-index:2;border-radius:50%;box-shadow:0 0 0 4px #0061a426}@media screen and (min-width:1025px) and (hover:hover){.timeline-dot{will-change:transform}.timeline-item:hover .timeline-dot{background-color:var(--md-sys-color-primary);box-shadow:0 0 0 6px #0061a44d, 0 0 10px var(--md-sys-color-primary);transform:scale(1.3)}}.timeline-card{background-color:var(--md-sys-color-surface);border-radius:var(--border-radius-m3);border:1px solid var(--md-sys-color-outline);box-shadow:var(--card-shadow);width:100%;transition:transform var(--transition-speed) var(--transition-spring), border-color var(--transition-speed) ease, background-color var(--transition-speed) ease, box-shadow var(--transition-speed) ease;flex-direction:column;gap:1.25rem;padding:1.75rem;display:flex}@media screen and (min-width:1025px) and (hover:hover){.timeline-card{will-change:transform}.timeline-card:hover{border-color:var(--md-sys-color-primary);background-color:var(--md-sys-color-surface-variant);box-shadow:var(--card-hover-shadow);transform:translate(8px)}}.experience-header{border-bottom:1px solid var(--md-sys-color-outline);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:1.25rem;display:flex}.title-group{flex-direction:column;gap:.25rem;display:flex}.position{color:var(--md-sys-color-primary);text-align:left;font-size:1.4rem;font-weight:700}.company{color:var(--md-sys-color-on-surface);text-align:left;font-size:1.1rem;font-weight:600}.dates{color:var(--md-sys-color-on-primary-container);background-color:var(--md-sys-color-primary-container);border-radius:1rem;padding:.35rem .85rem;font-size:.9rem;font-weight:600}.description{color:var(--md-sys-color-on-surface-variant);text-align:left;font-size:1rem;line-height:1.6}.experience-skills{border-top:1px dashed var(--md-sys-color-outline);flex-wrap:wrap;gap:.75rem;margin-top:.5rem;padding-top:1.25rem;display:flex}.experience-skill{background-color:var(--md-sys-color-surface-variant);border:1px solid var(--md-sys-color-outline);transition:transform var(--transition-speed) ease, border-color var(--transition-speed) ease;border-radius:.75rem;align-items:center;gap:.5rem;padding:.4rem .8rem;display:flex}.experience-skill img{object-fit:contain;width:22px;height:22px}.experience-skill h2{color:var(--md-sys-color-on-surface-variant);margin:0;font-size:.8rem;font-weight:600}@media screen and (min-width:1025px) and (hover:hover){.experience-skill{will-change:transform}.experience-skill:hover{border-color:var(--md-sys-color-primary);transform:translateY(-2px)}.experience-skill:hover h2{color:var(--md-sys-color-primary)}}@media screen and (max-width:1024px){.timeline-container{gap:1.5rem;padding-left:1.5rem}.timeline-line{left:4px}.timeline-dot-wrapper{left:-1.5rem}.timeline-card{padding:1.25rem}.experience-header{flex-direction:column;align-items:flex-start;gap:.5rem}.dates{align-self:flex-start}}@media screen and (max-width:480px){.timeline-container{gap:1.25rem;padding-left:1.25rem}.timeline-dot-wrapper{left:-1.25rem}.timeline-card{gap:1rem;padding:1rem}.position{font-size:1.25rem}.company{font-size:1rem}.experience-skills{gap:.5rem;padding-top:1rem}.experience-skill{padding:.3rem .6rem}.experience-skill img{width:18px;height:18px}}.repositories-container{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:1.5rem;display:grid}.repository{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px)saturate(180%);border:1px solid var(--glass-border);border-radius:var(--border-radius-m3);box-shadow:var(--card-shadow);transition:transform var(--transition-speed) var(--transition-spring), background-color var(--transition-speed) ease, border-color var(--transition-speed) ease, box-shadow var(--transition-speed) ease;flex-direction:column;gap:1.25rem;padding:1.75rem;text-decoration:none;display:flex}@media screen and (min-width:1025px) and (hover:hover){.repository{will-change:transform}.repository:hover{background:var(--glass-bg);border-color:var(--md-sys-color-primary);box-shadow:var(--card-hover-shadow);transform:translateY(-10px)scale(1.01)}}.repo-header{align-items:center;gap:.75rem;width:100%;display:flex}.repo-icon{color:var(--md-sys-color-on-surface-variant);transition:color var(--transition-speed) ease;flex-shrink:0}@media screen and (min-width:1025px) and (hover:hover){.repository:hover .repo-icon{color:var(--md-sys-color-primary)}}.repo-header h2{color:var(--md-sys-color-on-surface);text-align:left;text-overflow:ellipsis;white-space:nowrap;transition:color var(--transition-speed) ease;flex-grow:1;margin:0;font-family:Outfit,sans-serif;font-size:1.2rem;font-weight:600;overflow:hidden}@media screen and (min-width:1025px) and (hover:hover){.repository:hover .repo-header h2{color:var(--md-sys-color-primary)}}.repo-arrow{width:16px;height:16px;color:var(--md-sys-color-on-surface-variant);opacity:0;transition:opacity var(--transition-speed) ease, transform var(--transition-speed) var(--transition-spring), color var(--transition-speed) ease;transform:translate(-4px,4px)}@media screen and (min-width:1025px) and (hover:hover){.repo-arrow{will-change:transform, opacity}.repository:hover .repo-arrow{opacity:1;color:var(--md-sys-color-primary);transform:translate(0)}}.repo-description{color:var(--md-sys-color-on-surface-variant);text-align:left;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;height:3em;margin:0;font-size:.95rem;line-height:1.5;display:-webkit-box;overflow:hidden}.repo-footer{color:var(--md-sys-color-on-surface-variant);border-top:1px solid var(--glass-border);justify-content:space-between;align-items:center;margin-top:auto;padding-top:1rem;font-size:.85rem;display:flex}.repo-language{align-items:center;gap:.5rem;font-weight:600;display:inline-flex}.repo-language-dot{border:1px solid #0000000d;border-radius:50%;width:10px;height:10px}.repo-date{opacity:.85;font-size:.8rem}@media screen and (max-width:600px){.repositories-container{grid-template-columns:1fr;gap:1.25rem}}@media screen and (max-width:480px){.repository{gap:1rem;padding:1.25rem}}.home-page-wrapper{box-sizing:border-box;width:100%;height:100%;margin:0 auto;padding:1rem 0}.home-page-container{background:linear-gradient(135deg, var(--md-sys-color-primary-container) 0%, #d1e4ff66 100%);border-radius:var(--border-radius-m3);width:100%;height:100%;box-shadow:var(--card-shadow);box-sizing:border-box;transition:background var(--transition-speed) ease;justify-content:center;align-items:center;padding:3rem;display:flex;position:relative;overflow:hidden}html.dark .home-page-container{border:1px solid var(--md-sys-color-outline);background:linear-gradient(135deg,#1e293b 0%,#0f172a 100%)}.glow-blob{filter:blur(80px);z-index:0;opacity:.15;pointer-events:none;border-radius:50%;position:absolute}.blob-1{background-color:var(--md-sys-color-primary);width:300px;height:300px;top:-50px;left:-50px}.blob-2{background-color:var(--md-sys-color-secondary);width:250px;height:250px;bottom:-50px;right:-50px}@media screen and (min-width:1025px) and (hover:hover){.blob-1{will-change:transform, opacity;animation:8s ease-in-out infinite pulse-slow}.blob-2{will-change:transform, opacity;animation:8s ease-in-out infinite alternate pulse-slow}}.hero-content{z-index:1;grid-template-columns:1fr 1fr;align-items:center;gap:3rem;width:100%;display:grid;position:relative}.hero-text-container{flex-direction:column;align-items:flex-start;gap:1rem;display:flex}.hero-greeting{color:var(--md-sys-color-primary);font-size:1.8rem;font-weight:500}.hero-name{color:var(--md-sys-color-on-surface);letter-spacing:-.03em;font-size:clamp(2.5rem,7.5vw,4.5rem);font-weight:800;line-height:1.1}.hero-subtitle{color:var(--md-sys-color-on-surface-variant);max-width:480px;font-size:1.25rem;line-height:1.6}.hero-cta-btn{border:1.5px solid var(--md-sys-color-primary);background-color:var(--glass-bg);color:var(--md-sys-color-primary);cursor:pointer;-webkit-backdrop-filter:blur(8px);box-shadow:var(--card-shadow);transition:all var(--transition-speed) var(--transition-spring);border-radius:2rem;align-items:center;gap:.75rem;margin-top:1.5rem;padding:.8rem 1.75rem;font-size:1.05rem;font-weight:600;display:flex}@media screen and (min-width:1025px) and (hover:hover){.hero-cta-btn{will-change:transform}.hero-cta-btn:hover{background-color:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);box-shadow:var(--card-shadow), 0 4px 15px #0061a41a;transform:translateY(-3px)}.hero-cta-btn:hover .arrow-icon{animation:none;transform:translateY(4px)}html.dark .hero-cta-btn:hover{box-shadow:var(--card-hover-shadow), 0 4px 20px #d1e4ff1a}}.arrow-icon{animation:2s infinite bounce}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-6px)}60%{transform:translateY(-3px)}}.hero-image-container{justify-content:center;align-items:center;width:100%;min-width:0;display:flex}.wordcloud-card{background-color:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(12px);border-radius:var(--border-radius-m3);width:100%;min-width:0;max-width:540px;box-shadow:var(--card-shadow);transition:transform var(--transition-speed) var(--transition-spring), box-shadow var(--transition-speed) ease;flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex}@media screen and (min-width:1025px) and (hover:hover){.wordcloud-card{will-change:transform}.wordcloud-card:hover{box-shadow:var(--card-hover-shadow);transform:scale(1.02)translateY(-4px)}}.card-label{text-transform:uppercase;letter-spacing:.1em;color:var(--md-sys-color-primary);text-align:center;margin-bottom:1rem;font-size:.9rem;font-weight:700}.wordcloud-card img{object-fit:contain;filter:drop-shadow(0 8px 16px #0000000f);width:100%;height:auto}@media screen and (max-width:1024px){.hero-content{text-align:center;grid-template-columns:1fr;gap:3rem}.hero-text-container{align-items:center}.home-page-container{padding:2.5rem}}@media screen and (max-width:768px){.home-page-wrapper{box-sizing:border-box;flex-direction:column;height:100%;padding:2vh 0;display:flex}.home-page-container{border-radius:1rem;flex-direction:column;justify-content:center;height:100%;padding:2rem;display:flex}.hero-content{gap:1.5rem}.wordcloud-card img{max-height:180px}}@media screen and (max-width:480px){.home-page-container{padding:1.25rem}.hero-name{font-size:2.5rem}.wordcloud-card{padding:1rem}.wordcloud-card img{max-height:140px}}.yt-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.yt-modal{background-color:var(--md-sys-color-surface);border-radius:var(--border-radius-m3);border:1px solid var(--md-sys-color-outline);flex-direction:column;gap:1rem;width:100%;max-width:800px;padding:1rem;display:flex;position:relative;box-shadow:0 8px 32px #0000004d}.yt-modal-title{color:var(--md-sys-color-primary);padding-right:3rem;font-size:1.5rem;font-weight:600}.yt-modal-player{aspect-ratio:16/9;border-radius:1rem;width:100%;overflow:hidden}.yt-modal-player iframe{border:none;width:100%;height:100%}.yt-modal-close{background-color:var(--md-sys-color-primary-container);cursor:pointer;width:2.5rem;height:2.5rem;color:var(--md-sys-color-on-primary-container);transition:opacity var(--transition-speed);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;display:flex;position:absolute;top:1rem;right:1rem}@media (hover:hover){.yt-modal-close:hover{opacity:.8}}.projects-filter-bar{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;width:100%;margin-bottom:1.5rem;display:flex}.filter-btn{border:1px solid var(--md-sys-color-outline);background-color:var(--glass-bg);color:var(--md-sys-color-on-surface-variant);cursor:pointer;box-shadow:var(--card-shadow);transition:all var(--transition-speed) var(--transition-spring);border-radius:2rem;padding:.6rem 1.25rem;font-size:.9rem;font-weight:600}@media screen and (min-width:1025px) and (hover:hover){.filter-btn{will-change:transform}.filter-btn:hover{background-color:var(--md-sys-color-surface-variant);border-color:var(--md-sys-color-primary);color:var(--md-sys-color-primary);transform:translateY(-2px)}}.filter-btn.active{background-color:var(--md-sys-color-primary-container);color:var(--md-sys-color-primary);border-color:var(--md-sys-color-primary);box-shadow:0 4px 12px #0061a414}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1.5rem;width:100%;display:grid}.project-card{border-radius:var(--border-radius-m3);background-color:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline);box-shadow:var(--card-shadow);transition:transform var(--transition-speed) var(--transition-spring), box-shadow var(--transition-speed) ease, border-color var(--transition-speed) ease;flex-direction:column;display:flex;overflow:hidden}@media screen and (min-width:1025px) and (hover:hover){.project-card{will-change:transform}.project-card:hover{box-shadow:var(--card-hover-shadow);border-color:var(--md-sys-color-primary);transform:translateY(-8px)scale(1.01)}}.project-card-image-wrapper{aspect-ratio:16/10;background-color:var(--md-sys-color-surface-variant);border-bottom:1px solid var(--md-sys-color-outline);width:100%;position:relative;overflow:hidden}.project-card-image-wrapper img{object-fit:cover;width:100%;height:100%;transition:transform .5s}@media screen and (min-width:1025px) and (hover:hover){.project-card-image-wrapper img{will-change:transform}.project-card:hover .project-card-image-wrapper img{transform:scale(1.05)}}.project-category-badge{letter-spacing:.05em;text-transform:uppercase;color:#fff;z-index:2;border-radius:1rem;padding:.3rem .75rem;font-size:.75rem;font-weight:700;position:absolute;top:1rem;left:1rem;box-shadow:0 4px 10px #00000026}.project-category-badge.web{background-color:#0284c7}.project-category-badge.game{background-color:#8b5cf6}.project-card-info{flex-direction:column;flex:1;gap:.75rem;padding:1.5rem;display:flex}.project-card-title{color:var(--md-sys-color-on-surface);font-size:1.35rem;font-weight:700;line-height:1.2}.project-card-date{color:var(--md-sys-color-secondary);font-size:.8rem;font-weight:600}.project-card-description{color:var(--md-sys-color-on-surface-variant);flex:1;font-size:.95rem;line-height:1.5}.project-card-tags{flex-wrap:wrap;gap:.4rem;margin:.5rem 0 1rem;display:flex}.tag-pill{background-color:var(--md-sys-color-surface-variant);color:var(--md-sys-color-on-surface-variant);border:1px solid var(--md-sys-color-outline);border-radius:.5rem;padding:.2rem .6rem;font-size:.75rem;font-weight:500}.project-card-links{border-top:1px dashed var(--md-sys-color-outline);flex-wrap:wrap;gap:.5rem;margin-top:auto;padding-top:1rem;display:flex}.project-card-link-btn{transition:all var(--transition-speed) var(--transition-spring);border:1px solid var(--md-sys-color-outline);border-radius:.75rem;flex:1;justify-content:center;align-items:center;gap:.4rem;min-width:100px;padding:.5rem 1rem;font-size:.8rem;font-weight:600;display:inline-flex}.project-card-link-btn.youtube{color:#b91c1c;background-color:#fee2e266;border-color:#fca5a5}html.dark .project-card-link-btn.youtube{color:#fca5a5;background-color:#450a0a4d;border-color:#7f1d1d}@media screen and (min-width:1025px) and (hover:hover){.project-card-link-btn{will-change:transform}.project-card-link-btn.youtube:hover{color:#b91c1c;background-color:#fee2e2;border-color:#ef4444;transform:translateY(-2px)}html.dark .project-card-link-btn.youtube:hover{color:#fca5a5;background-color:#450a0a;border-color:#ef4444;transform:translateY(-2px)}}.project-card-link-btn.external{background-color:var(--md-sys-color-surface-variant);border-color:var(--md-sys-color-outline);color:var(--md-sys-color-on-surface-variant)}@media screen and (min-width:1025px) and (hover:hover){.project-card-link-btn.external:hover{background-color:var(--md-sys-color-primary-container);border-color:var(--md-sys-color-primary);color:var(--md-sys-color-primary);transform:translateY(-2px)}}@media screen and (max-width:480px){.projects-grid{grid-template-columns:1fr;gap:1.25rem}.project-card-info{padding:1.25rem}}.skills-container{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem;display:grid}.skill{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px)saturate(180%);border:1px solid var(--glass-border);border-radius:var(--border-radius-m3);box-shadow:var(--card-shadow);transition:transform var(--transition-speed) var(--transition-spring), background-color var(--transition-speed) ease, border-color var(--transition-speed) ease, box-shadow var(--transition-speed) ease;flex-direction:column;align-items:center;gap:1.25rem;padding:1.75rem 1.25rem;display:flex}@media screen and (min-width:1025px) and (hover:hover){.skill,.skill-image-container img{will-change:transform}.skill:hover{background:var(--glass-bg);border-color:var(--md-sys-color-primary);box-shadow:var(--card-hover-shadow);transform:translateY(-8px)scale(1.03)}.skill:hover .skill-image-container img{transform:scale(1.12)rotate(2deg)}.skill:hover h2{color:var(--md-sys-color-primary)}}.skill-image-container{width:72px;height:72px;transition:transform var(--transition-speed) var(--transition-spring);justify-content:center;align-items:center;display:flex}.skill-image-container img{object-fit:contain;filter:drop-shadow(0 4px 6px #0000000d);width:100%;height:100%;transition:transform var(--transition-speed) var(--transition-spring)}.skill h2{color:var(--md-sys-color-on-surface);text-align:center;transition:color var(--transition-speed) ease;margin:0;font-family:Outfit,sans-serif;font-size:1.1rem;font-weight:600}@media screen and (max-width:600px){.skills-container{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem}.skill{gap:1rem;padding:1.25rem 1rem}.skill-image-container{width:56px;height:56px}.skill h2{font-size:.95rem}}@font-face{font-family:Outfit;src:url(/fonts/Outfit.woff2)format("woff2")}:root{--md-sys-color-primary:#0061a4;--md-sys-color-on-primary:#fff;--md-sys-color-primary-container:#d1e4ff;--md-sys-color-on-primary-container:#001d36;--md-sys-color-secondary:#535f70;--md-sys-color-on-secondary:#fff;--md-sys-color-secondary-container:#d7e3f7;--md-sys-color-on-secondary-container:#101c2b;--md-sys-color-surface:#fff;--md-sys-color-on-surface:#0f172a;--md-sys-color-surface-variant:#f1f5f9;--md-sys-color-on-surface-variant:#475569;--md-sys-color-outline:#cbd5e1;--bg-color:#f8fafc;--text-color:#0f172a;--transition-speed:.4s;--transition-spring:cubic-bezier(.34, 1.56, .64, 1);--border-radius-m3:1.25rem;--glass-bg:#ffffffb3;--glass-border:#fff6;--card-shadow:0 8px 30px #00000005, 0 1px 2px #0000000a;--card-hover-shadow:0 20px 40px #0000000f, 0 1px 3px #00000005}@media (prefers-color-scheme:dark){:root{--md-sys-color-primary:#d1e4ff;--md-sys-color-on-primary:#003258;--md-sys-color-primary-container:#1e293b;--md-sys-color-on-primary-container:#d1e4ff;--md-sys-color-secondary:#94a3b8;--md-sys-color-on-secondary:#0f172a;--md-sys-color-secondary-container:#1e293b;--md-sys-color-on-secondary-container:#e2e8f0;--md-sys-color-surface:#1e293b;--md-sys-color-on-surface:#f8fafc;--md-sys-color-surface-variant:#0f172a;--md-sys-color-on-surface-variant:#cbd5e1;--md-sys-color-outline:#334155;--bg-color:#0f172a;--text-color:#f8fafc;--glass-bg:#1e293bb3;--glass-border:#ffffff0d;--card-shadow:0 8px 30px #0003;--card-hover-shadow:0 20px 45px #00000059}}html.light{--md-sys-color-primary:#0061a4;--md-sys-color-on-primary:#fff;--md-sys-color-primary-container:#d1e4ff;--md-sys-color-on-primary-container:#001d36;--md-sys-color-secondary:#535f70;--md-sys-color-on-secondary:#fff;--md-sys-color-secondary-container:#d7e3f7;--md-sys-color-on-secondary-container:#101c2b;--md-sys-color-surface:#fff;--md-sys-color-on-surface:#0f172a;--md-sys-color-surface-variant:#f1f5f9;--md-sys-color-on-surface-variant:#475569;--md-sys-color-outline:#cbd5e1;--bg-color:#f8fafc;--text-color:#0f172a;--glass-bg:#ffffffb3;--glass-border:#fff6;--card-shadow:0 8px 30px #00000005, 0 1px 2px #0000000a;--card-hover-shadow:0 20px 40px #0000000f, 0 1px 3px #00000005}html.dark{--md-sys-color-primary:#d1e4ff;--md-sys-color-on-primary:#003258;--md-sys-color-primary-container:#1e293b;--md-sys-color-on-primary-container:#d1e4ff;--md-sys-color-secondary:#94a3b8;--md-sys-color-on-secondary:#0f172a;--md-sys-color-secondary-container:#1e293b;--md-sys-color-on-secondary-container:#e2e8f0;--md-sys-color-surface:#1e293b;--md-sys-color-on-surface:#f8fafc;--md-sys-color-surface-variant:#0f172a;--md-sys-color-on-surface-variant:#cbd5e1;--md-sys-color-outline:#334155;--bg-color:#0f172a;--text-color:#f8fafc;--glass-bg:#1e293bb3;--glass-border:#ffffff0d;--card-shadow:0 8px 30px #0003;--card-hover-shadow:0 20px 45px #00000059}html.mario{--md-sys-color-primary:#e52521;--md-sys-color-on-primary:#fff;--md-sys-color-primary-container:#fcdfb0;--md-sys-color-on-primary-container:#514431;--md-sys-color-secondary:#00a230;--md-sys-color-on-secondary:#fff;--md-sys-color-secondary-container:#d0f0c0;--md-sys-color-on-secondary-container:#002204;--md-sys-color-surface:#fdf6e2;--md-sys-color-on-surface:#201a15;--md-sys-color-surface-variant:#f9d8a5;--md-sys-color-on-surface-variant:#5a4018;--md-sys-color-outline:#201a15;--bg-color:#5c94fc;--text-color:#201a15;--glass-bg:#fdf6e2f2;--glass-border:#201a15;--card-shadow:4px 4px 0px #201a15;--card-hover-shadow:8px 8px 0px #201a15;--border-radius-m3:4px}html.mario,html.mario *{image-rendering:pixelated}html.mario h1,html.mario h2,html.mario h3,html.mario h4,html.mario h5,html.mario h6,html.mario .hero-cta-btn,html.mario .nav-item,html.mario .mobile-logo,html.mario .mobile-nav-item,html.mario .card-label,html.mario .section-title-container h2{text-transform:uppercase;letter-spacing:0!important;font-family:"Press Start 2P",monospace!important}html.mario h1{font-size:clamp(1.1rem,3.5vw,1.8rem)!important;line-height:1.5!important}html.mario h2{font-size:clamp(.85rem,2.5vw,1.2rem)!important;line-height:1.5!important}html.mario h3{font-size:clamp(.75rem,2vw,.95rem)!important;line-height:1.4!important}html.mario h4{font-size:clamp(.65rem,1.5vw,.8rem)!important}html.mario p,html.mario span,html.mario a,html.mario div{font-family:Outfit,sans-serif}html.mario .hero-cta-btn,html.mario .nav-item,html.mario .mobile-nav-item{border:3.5px solid #201a15!important;border-radius:4px!important;font-size:.65rem!important;box-shadow:3px 3px #201a15!important}html.mario .hero-cta-btn{background-color:var(--md-sys-color-primary)!important;color:var(--md-sys-color-on-primary)!important}html.mario .hero-cta-btn span,html.mario .hero-cta-btn svg{color:var(--md-sys-color-on-primary)!important}html.mario .hero-cta-btn:hover,html.mario .nav-item:hover{transform:translate(-2px,-2px)!important;box-shadow:5px 5px #201a15!important}html.mario .hero-cta-btn:active,html.mario .nav-item:active{transform:translate(1px,1px)!important;box-shadow:1px 1px #201a15!important}html.mario ::-webkit-scrollbar-thumb{background:var(--md-sys-color-primary);border:2px solid var(--md-sys-color-outline);border-radius:4px}html{scroll-behavior:smooth;height:100%}html,body,#root{background-color:var(--bg-color);height:100%;transition:background-color var(--transition-speed) ease;overflow:hidden}@media screen and (max-width:1024px){html,body,#root{height:auto;min-height:100%;overflow:hidden auto}}*{box-sizing:border-box;color:var(--text-color);transition:background-color var(--transition-speed) ease, border-color var(--transition-speed) ease;margin:0;padding:0;font-family:Outfit,sans-serif}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;font-family:Outfit,sans-serif}a{color:var(--md-sys-color-primary);transition:color var(--transition-speed) ease, opacity var(--transition-speed) ease;text-decoration:none}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--md-sys-color-outline);border:3px solid var(--bg-color);border-radius:1rem}@media screen and (min-width:1025px) and (hover:hover){::-webkit-scrollbar-thumb:hover{background:var(--md-sys-color-primary)}}@keyframes float{0%{transform:translateY(0)rotate(0)}50%{transform:translateY(-8px)rotate(1deg)}to{transform:translateY(0)rotate(0)}}@keyframes pulse-slow{0%,to{opacity:.15;transform:scale(1)}50%{opacity:.3;transform:scale(1.05)}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media screen and (min-width:1025px) and (hover:hover){.float-animation{will-change:transform;animation:6s ease-in-out infinite float}}.shine-effect{position:relative;overflow:hidden}.shine-effect:after{content:"";pointer-events:none;opacity:0;background:linear-gradient(90deg,#fff0 0%,#ffffff40 50%,#fff0 100%);width:40%;height:200%;position:absolute;top:-50%;left:-100%;transform:rotate(25deg)}@media screen and (min-width:1025px) and (hover:hover){.shine-effect:hover:after{opacity:1;transition:left .8s cubic-bezier(.4,0,.2,1);left:150%}}.fade-in{animation:.8s ease-out forwards fade-in}.slide-up{animation:slide-up .8s var(--transition-spring) forwards}html.mario .about-me-image-container,html.mario .about-me-description,html.mario .contact,html.mario .timeline-card,html.mario .repository,html.mario .project-card,html.mario .wordcloud-card,html.mario .home-page-container,html.mario .skill,html.mario .mobile-theme-toggle,html.mario .theme-toggle-btn,html.mario .hamburger-btn{background-color:var(--md-sys-color-surface)!important;border:4px solid #201a15!important;border-radius:4px!important;box-shadow:6px 6px #201a15!important}html.mario .about-me-image-container:hover,html.mario .about-me-description:hover,html.mario .contact:hover,html.mario .timeline-card:hover,html.mario .repository:hover,html.mario .project-card:hover,html.mario .wordcloud-card:hover,html.mario .home-page-container:hover,html.mario .skill:hover,html.mario .mobile-theme-toggle:hover,html.mario .theme-toggle-btn:hover,html.mario .hamburger-btn:hover{transform:translate(-2px,-2px)!important;box-shadow:10px 10px #201a15!important}html.mario .project-card-image-wrapper{border-bottom:4px solid #201a15!important;border-radius:0!important}@media screen and (max-width:768px){html.mario .about-me-container{gap:1.5rem!important}html.mario .contact,html.mario .skill,html.mario .timeline-card,html.mario .project-card,html.mario .repository{border-width:3.5px!important;padding:1.25rem 1rem!important;box-shadow:4px 4px #201a15!important}html.mario .contact:hover,html.mario .skill:hover,html.mario .timeline-card:hover,html.mario .project-card:hover,html.mario .repository:hover{transform:none!important;box-shadow:4px 4px #201a15!important}html.mario .hero-cta-btn,html.mario .mobile-nav-item{border-width:3px!important;padding:.6rem 1rem!important;font-size:.6rem!important;box-shadow:3px 3px #201a15!important}}html.mario .nav-item.active{background-color:var(--md-sys-color-primary)!important;color:var(--md-sys-color-on-primary)!important;border:3.5px solid #201a15!important;transform:translate(-2px,-2px)!important;box-shadow:5px 5px #201a15!important}html.mario .nav-item.active:after{display:none!important}html.mario .mobile-nav-item.active{background-color:var(--md-sys-color-primary)!important;color:var(--md-sys-color-on-primary)!important}
