.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-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}.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}html.intro-active,html.intro-active body{overflow:hidden!important}.intro-overlay{z-index:9998;background-color:var(--bg-color);clip-path:circle(150%);flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.intro-stage{flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.intro-overlay.is-exiting{pointer-events:none;animation:.7s cubic-bezier(.65,0,.35,1) forwards intro-iris}.intro-overlay.is-exiting .intro-stage{animation:.45s cubic-bezier(.4,0,.2,1) forwards intro-lift}.intro-overlay.is-exiting .intro-skip{opacity:0;transition:opacity .2s}@keyframes intro-iris{to{clip-path:circle(0%)}}@keyframes intro-lift{to{opacity:0;transform:scale(1.12)}}.intro-skip{letter-spacing:.02em;color:var(--md-sys-color-on-surface-variant);border:1px solid var(--md-sys-color-outline);cursor:pointer;opacity:0;transition:color var(--transition-speed) ease, border-color var(--transition-speed) ease;background-color:#0000;border-radius:2rem;padding:.5rem 1.25rem;font-size:.85rem;font-weight:500;animation:.5s ease-out .9s forwards intro-fade-in;position:absolute;bottom:1.75rem;right:1.75rem}@media screen and (min-width:1025px) and (hover:hover){.intro-skip:hover{color:var(--md-sys-color-primary);border-color:var(--md-sys-color-primary)}}@media screen and (max-width:480px){.intro-skip{bottom:1.25rem;right:1.25rem}}.intro-glow{filter:blur(90px);opacity:0;pointer-events:none;border-radius:50%;animation:1.6s ease-out forwards intro-glow-in;position:absolute}.intro-glow--a{background-color:var(--md-sys-color-primary);width:320px;height:320px;top:18%;left:22%}.intro-glow--b{background-color:var(--md-sys-color-secondary);width:260px;height:260px;animation-delay:.3s;bottom:16%;right:20%}@keyframes intro-glow-in{0%{opacity:0;transform:scale(.7)}to{opacity:.18;transform:scale(1)}}.intro-monogram{width:130px;height:130px;color:var(--md-sys-color-primary);justify-content:center;align-items:center;display:flex;position:relative}.intro-monogram-frame{stroke-dasharray:100;stroke-dashoffset:100px;width:100%;height:100%;animation:.9s cubic-bezier(.65,0,.35,1) .15s forwards intro-draw;position:absolute;inset:0;transform:rotate(-90deg)}@keyframes intro-draw{to{stroke-dashoffset:0}}.intro-monogram-letters{letter-spacing:-.04em;color:var(--md-sys-color-primary);align-items:baseline;font-size:3.5rem;font-weight:800;display:flex}.intro-monogram-mask{line-height:1.15;display:block;overflow:hidden}.intro-monogram-letter{color:inherit;animation:intro-letter-up .6s var(--transition-spring) .56s forwards;display:block;transform:translateY(115%)}@keyframes intro-letter-up{to{transform:translateY(0)}}.intro-name{letter-spacing:-.02em;color:var(--text-color);margin-top:1.75rem;font-size:clamp(1.6rem,5.5vw,2.75rem);font-weight:700;display:flex}.intro-name-char{white-space:pre;opacity:0;animation:intro-char-in .55s var(--transition-spring) forwards;display:inline-block;transform:translateY(14px)}@keyframes intro-char-in{to{opacity:1;transform:translateY(0)}}.intro-role{letter-spacing:.32em;text-transform:uppercase;color:var(--md-sys-color-on-surface-variant);opacity:0;margin-top:.6rem;font-size:clamp(.85rem,2.5vw,1.05rem);font-weight:500;animation:.6s ease-out 1.52s forwards intro-fade-in}@keyframes intro-fade-in{to{opacity:1}}.intro-overlay--mario{background-color:#5c94fc}.intro-overlay--mario *{image-rendering:pixelated}.intro-mario-scene{justify-content:center;align-items:flex-end;width:100%;height:190px;display:flex;position:relative}.intro-block{opacity:0;width:72px;height:72px;animation:.2s step-end .15s forwards intro-fade-in,.34s ease-out .75s intro-block-bump}@keyframes intro-block-bump{0%{transform:translateY(0)}40%{transform:translateY(-18px)}to{transform:translateY(0)}}.intro-coin{opacity:0;width:40px;height:40px;animation:.85s ease-out .78s forwards intro-coin-pop;position:absolute;bottom:60px}@keyframes intro-coin-pop{0%{opacity:1;transform:translateY(0)scaleX(1)}35%{transform:translateY(-110px)scaleX(.2)}60%{opacity:1;transform:translateY(-140px)scaleX(1)}to{opacity:0;transform:translateY(-70px)scaleX(.6)}}.intro-cloud{opacity:0;background-color:#fff;border-radius:12px;width:66px;height:24px;animation:.6s ease-out .3s forwards intro-fade-in;position:absolute;top:10px;box-shadow:18px -10px #fff,-18px -6px #fff}.intro-cloud--a{left:12%}.intro-cloud--b{animation-delay:.5s;top:50px;right:14%;transform:scale(.75)}.intro-mario-title{text-align:center;color:#fff;text-shadow:3px 3px #201a15,-1px -1px #201a15,1px -1px #201a15,-1px 1px #201a15;opacity:0;animation:intro-mario-pop .45s var(--transition-spring) 1.25s forwards;margin-top:1.5rem;font-family:"Press Start 2P",monospace;transform:scale(.6);font-size:clamp(.9rem,4vw,1.75rem)!important;line-height:1.6!important}@keyframes intro-mario-pop{to{opacity:1;transform:scale(1)}}.intro-mario-start{color:#201a15;opacity:0;margin-top:1.25rem;font-family:"Press Start 2P",monospace;font-size:clamp(.55rem,2.2vw,.75rem);animation:.9s step-end 1.7s infinite intro-blink}@keyframes intro-blink{0%,49%{opacity:1}50%,to{opacity:0}}.intro-ground{background-color:#c76b28;background-image:linear-gradient(90deg,#201a15 2px,#0000 2px),linear-gradient(#201a15 2px,#0000 2px);background-size:32px 32px;border-top:6px solid #201a15;height:64px;animation:.5s cubic-bezier(.65,0,.35,1) forwards intro-ground-up;position:absolute;bottom:0;left:0;right:0;transform:translateY(100%)}@keyframes intro-ground-up{to{transform:translateY(0)}}.intro-overlay--mario.is-exiting{clip-path:none;animation:.7s cubic-bezier(.65,0,.35,1) forwards intro-curtain}@keyframes intro-curtain{to{transform:translateY(-100%)}}.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}}.theme-toggle{--toggle-width:64px;--toggle-height:32px;--toggle-padding:3px;--knob-size:calc(var(--toggle-height) - var(--toggle-padding) * 2);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;line-height:0;display:flex}.theme-toggle-track{box-sizing:border-box;width:var(--toggle-width);height:var(--toggle-height);padding:var(--toggle-padding);border:1px solid var(--md-sys-color-outline);background-color:var(--glass-bg);-webkit-backdrop-filter:blur(10px);box-shadow:var(--card-shadow);transition:background-color var(--transition-speed) ease, border-color var(--transition-speed) ease, box-shadow var(--transition-speed) ease;border-radius:999px;justify-content:space-between;align-items:center;display:flex;position:relative}.theme-toggle-side{width:var(--knob-size);height:var(--knob-size);color:var(--md-sys-color-primary);opacity:.45;transition:opacity var(--transition-speed) ease;z-index:1;justify-content:center;align-items:center;display:flex}.theme-toggle.dark .light-side,.theme-toggle:not(.dark) .dark-side{opacity:.45}.theme-toggle:not(.dark) .light-side,.theme-toggle.dark .dark-side{opacity:0}.theme-toggle-knob{top:var(--toggle-padding);left:var(--toggle-padding);width:var(--knob-size);height:var(--knob-size);background-color:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);z-index:2;transition:transform var(--transition-speed) var(--transition-spring), background-color var(--transition-speed) ease;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute}.theme-toggle.dark .theme-toggle-knob{transform:translateX(calc(var(--toggle-width) - var(--knob-size) - var(--toggle-padding) * 2))}.theme-toggle-knob .theme-icon{color:var(--md-sys-color-on-primary-container)}.theme-toggle.mario{--toggle-padding:2px;--knob-size:20px}.theme-toggle.mario .theme-toggle-knob{background-color:#0000}.theme-toggle:active .theme-toggle-track{transform:scale(.97)}@media (hover:hover){.theme-toggle:hover .theme-toggle-track{border-color:var(--md-sys-color-primary);box-shadow:var(--card-hover-shadow)}.theme-toggle:hover .theme-toggle-side{opacity:.75}.theme-toggle.dark:hover .dark-side,.theme-toggle:not(.dark):hover .light-side{opacity:0}}.theme-toggle.floating{z-index:100;position:fixed;top:1.5rem;right:1.5rem}@media screen and (max-width:1024px){.theme-toggle.floating{display:none}}.theme-toggle.in-header{display:none}@media screen and (max-width:1024px){.theme-toggle.in-header{display:flex}}.theme-toggle.in-header .theme-toggle-track{background-color:var(--md-sys-color-surface);-webkit-backdrop-filter:none;box-shadow:none}@media (prefers-reduced-motion:reduce){.theme-toggle-knob,.theme-toggle-track,.theme-toggle-side{transition:none}}.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 (max-width:600px){.about-me-image-container{max-width:240px}}@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{gap:.85rem;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}@media screen and (max-width:600px){.section-subtitle{margin-top:1.5rem;margin-bottom:1rem;font-size:1.35rem}}.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}@media screen and (max-width:600px){.hobbies-container{grid-template-columns:repeat(2,1fr);gap:.75rem}}.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:1rem;padding-left:1.25rem}.timeline-dot-wrapper{left:-1.25rem}.timeline-card{gap:.85rem;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:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}}@media screen and (max-width:480px){.repository{gap:.85rem;padding:1.25rem 1rem}.repo-header h2{font-size:1.05rem}.repo-description{font-size:.9rem}.repo-footer{flex-direction:column;align-items:flex-start;gap:.35rem;padding-top:.75rem}}.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:600px){.projects-grid{grid-template-columns:1fr;gap:1.25rem}.project-card-image-wrapper{aspect-ratio:16/9}.project-card-info{gap:.5rem;padding:1.25rem}.project-card-title{font-size:1.2rem}.project-card-description{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.project-card-tags{margin:.25rem 0 .5rem}.project-card-links{padding-top:.75rem}}@media screen and (max-width:480px){.projects-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.project-card-info{gap:.4rem;padding:.85rem}.project-card-title{font-size:1rem;line-height:1.15}.project-card-date{font-size:.75rem}.project-card-description{-webkit-line-clamp:2;line-clamp:2;font-size:.85rem}.project-category-badge{padding:.25rem .5rem;font-size:.6rem;top:.6rem;left:.6rem}.tag-pill{padding:.15rem .45rem;font-size:.68rem}.project-card-links{flex-direction:column;gap:.4rem}.project-card-link-btn{min-width:0;padding:.45rem .5rem;font-size:.75rem}}.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");font-display:swap}: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 .theme-toggle-track,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 .theme-toggle:hover .theme-toggle-track,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}
