@import"https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap";:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,Roboto,sans-serif;font-size:clamp(16px,.45vw + 14px,19px);line-height:1.6;font-weight:400;letter-spacing:-.32px;color-scheme:light dark;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-size-adjust:100%}:root{color-scheme:light;--color-bg: #fff;--color-surface-0: #f3f4f6;--color-surface-1: #fff;--color-surface-2: #e5e7eb;--color-surface-3: #d1d5db;--color-surface-4: #e5e7eb;--color-text: rgba(0, 0, 0, .87);--color-text-strong: #000;--color-heading: rgba(0, 0, 0, .95);--color-muted: #666;--color-accent: #646cff;--color-accent-hover: #535bf2;--color-accent-2: #5448d6ff;--color-border: rgba(0, 0, 0, .15);--shadow-accent: 0px 5px 20px rgb(82, 44, 255, .18);color:var(--color-text)}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--color-bg: #000;--color-surface-0: #1a1a1a;--color-surface-1: #19181f;--color-surface-2: #232033;--color-surface-3: #322d4d;--color-surface-4: #1e1b2f;--color-text: rgba(255, 255, 255, .87);--color-text-strong: #fff;--color-heading: rgba(255, 255, 255, .95);--color-muted: #888;--color-border: #ddd;--shadow-accent: 0px 5px 20px rgb(82, 44, 255, .36)}}@media(prefers-color-scheme:light){:root:has(#themeToggle:checked){color-scheme:dark;--color-bg: #000;--color-surface-0: #1a1a1a;--color-surface-1: #19181f;--color-surface-2: #232033;--color-surface-3: #322d4d;--color-surface-4: #1e1b2f;--color-text: rgba(255, 255, 255, .87);--color-text-strong: #fff;--color-heading: rgba(255, 255, 255, .95);--color-muted: #888;--color-border: #ddd;--shadow-accent: 0px 5px 20px rgb(82, 44, 255, .36)}}@media(prefers-color-scheme:dark){:root:has(#themeToggle:checked){color-scheme:light;--color-bg: #fff;--color-surface-0: #f3f4f6;--color-surface-1: #fff;--color-surface-2: #e5e7eb;--color-surface-3: #d1d5db;--color-surface-4: #e5e7eb;--color-text: rgba(0, 0, 0, .87);--color-text-strong: #000;--color-heading: rgba(0, 0, 0, .95);--color-muted: #666;--color-border: rgba(0, 0, 0, .15);--shadow-accent: 0px 5px 20px rgb(82, 44, 255, .18)}}*,*:before,*:after{box-sizing:border-box}a{font-weight:500;color:var(--color-accent);text-decoration:inherit}a:hover{color:var(--color-accent-hover)}body{margin:0;min-width:320px;min-height:100vh;min-height:100svh;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;overflow-x:hidden;background-color:var(--color-bg);color:var(--color-text)}html{overflow-x:hidden}img,svg,video,canvas{max-width:100%;height:auto}h1{font-size:3.6em;line-height:1.08}h2{font-size:2.4em;line-height:1.15}@media(max-width:1024px){h1{font-size:2.6em}h2{font-size:1.7em}}@media(max-width:600px){h1{font-size:2.1em}h2{font-size:1.3em}}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--color-surface-0);cursor:pointer;transition:border-color .25s}button:hover{border-color:var(--color-accent)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.themeToggle{position:fixed;width:1px;height:1px;opacity:0;pointer-events:none}.themeToggle__button{position:fixed;left:1rem;bottom:calc(env(safe-area-inset-bottom) + 4.5rem);z-index:1100;display:inline-flex;align-items:center;justify-content:center;min-width:4.5rem;padding:.55rem .9rem;border-radius:10px;background-color:var(--color-surface-0);color:var(--color-text-strong);border:1px solid var(--color-border);cursor:pointer;-webkit-user-select:none;user-select:none;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px)}.themeToggle__button:hover{border-color:var(--color-accent)}.themeToggle__button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.themeToggle__dark,.themeToggle__light{display:none}@media(prefers-color-scheme:light){.themeToggle:not(:checked)+.themeToggle__button .themeToggle__light{display:inline}.themeToggle:checked+.themeToggle__button .themeToggle__dark{display:inline}}@media(prefers-color-scheme:dark){.themeToggle:not(:checked)+.themeToggle__button .themeToggle__dark{display:inline}.themeToggle:checked+.themeToggle__button .themeToggle__light{display:inline}}#root{margin:0 auto;padding:0rem;text-align:center;color:var(--color-text-strong)}html,body{margin:0;scroll-behavior:smooth}.app{display:flex;flex-direction:column}.app_header{height:100vh;height:100svh;min-height:100vh;min-height:100svh;position:relative;background-image:url(/assets/bg123-2fCBYwoa.jpg);background-size:cover;background-position:center;background-repeat:no-repeat}@media(prefers-color-scheme:dark){:root:not(:has(#themeToggle:checked)) .app_header{background-image:url(/assets/bg123-invert-QgjcqQVt.jpg);background-size:cover;background-position:center;background-repeat:no-repeat}}@media(prefers-color-scheme:light){:root:has(#themeToggle:checked) .app_header{background-image:url(/assets/bg123-invert-QgjcqQVt.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;--color-heading: rgba(255, 255, 255, .95);--color-text: rgba(255, 255, 255, .87);--color-text-strong: #fff;--color-muted: rgba(255, 255, 255, .7)}}.app_header:before{content:"";position:absolute;inset:0;z-index:0;background-image:var(--header-bg-image);background-position:var(--header-bg-position);background-repeat:no-repeat;background-size:cover;filter:blur(4px);transform:scale(1.06)}.app_header>*{position:relative;z-index:1}@media(min-width:601px)and (max-width:1024px){.app_header{height:100vh;height:100svh;min-height:100vh;min-height:100svh;--header-bg-position: center 25%}}@media(max-width:600px){.app_header{height:100vh;height:100svh;min-height:100vh;min-height:100svh;--header-bg-position: center top}}.app_header,.app_main{width:100%;margin:0;padding:0}.app_main{padding-bottom:8rem}.contactGrid{width:100%;max-width:72rem;margin:0 auto;padding-inline:clamp(1rem,4vw,3rem);display:grid;grid-template-columns:1fr;margin-top:2rem}.contactGrid>*{min-width:0}@media(min-width:768px){.contactGrid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:2rem}}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}.card{padding:2em}.read-the-docs{color:var(--color-muted)}.arrowImage{position:relative}.arrowImage img{width:50px}.app_footer{height:7em;margin-top:auto}.visuals1{background-color:var(--color-bg);display:flex;flex-direction:row;align-items:center;justify-content:center;position:relative;padding:0;margin:0;z-index:10;overflow:visible}.visuals1 img{filter:none}@media(prefers-color-scheme:light){:root:not(:has(#themeToggle:checked)) .visuals1{background:#000;color:#fff;--color-text: rgba(255, 255, 255, .87);--color-text-strong: #fff;--color-heading: rgba(255, 255, 255, .95);--color-muted: rgba(255, 255, 255, .7)}:root:not(:has(#themeToggle:checked)) .visuals1 img{filter:invert(1)}:root:has(#themeToggle:checked) .visuals1 img{filter:none}}@media(prefers-color-scheme:dark){:root:not(:has(#themeToggle:checked)) .visuals1 img{filter:none}:root:has(#themeToggle:checked) .visuals1{background:#000;color:#fff;--color-text: rgba(255, 255, 255, .87);--color-text-strong: #fff;--color-heading: rgba(255, 255, 255, .95);--color-muted: rgba(255, 255, 255, .7)}:root:has(#themeToggle:checked) .visuals1 img{filter:invert(1)}}.location-section{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;position:fixed;right:clamp(1rem,4vw,2rem);bottom:calc(env(safe-area-inset-bottom) + 4.5rem);color:var(--color-heading);text-shadow:none;z-index:9999;pointer-events:none;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);background:#8a8a8a80;padding:.5rem;border-radius:8px;border:1px solid rgba(255,255,255,1);font-weight:500;font-size:clamp(.95rem,3.2vw,1.1rem);line-height:1.1;white-space:nowrap}.location-section .location-row,.location-section .time-row{display:flex;align-items:center;justify-content:flex-end;gap:.5rem}.location-section .location-icon{max-width:1.35rem;height:auto;margin:0}.location-section .clock-icon{max-width:1.15rem;height:auto;margin:0}.location-section .location-time{opacity:.9}@media(min-width:900px)and (pointer:fine){.location-section{font-size:clamp(1rem,1.15vw,1.25rem)}.location-section .location-icon{max-width:1.55rem}.location-section .clock-icon{max-width:1.35rem}}.navBar{position:fixed;bottom:0;left:0;width:100%;height:50px;padding-bottom:env(safe-area-inset-bottom);background-color:var(--color-surface-0);border-top:1px solid var(--color-border);box-shadow:0 -14px 40px #00000040;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);z-index:1000;transform:translateZ(0)}.navBar ul{display:flex;justify-content:center;align-items:center;gap:3.5rem;list-style:none;margin:0;padding:0;height:100%}.navBar li{display:flex;align-items:center;height:100%}.navBar__iconLink{position:relative;width:44px;height:50px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:transparent;transition:background .18s cubic-bezier(.4,.2,.2,1),box-shadow .18s cubic-bezier(.4,.2,.2,1)}.navBar__iconLink{color:#000}.app[data-theme=dark] .navBar__iconLink{color:#fff}.navBar__iconLink:hover,.navBar__iconLink:focus-visible{background:#a855f71a;box-shadow:0 2px 12px #a855f71a}.navBar__iconLink:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.navBar__icon{width:30px;height:30px;background-color:currentColor;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain;mask-repeat:no-repeat;mask-position:center;mask-size:contain;transition:transform .18s cubic-bezier(.4,.2,.2,1);opacity:1!important;filter:none!important;mix-blend-mode:normal!important}.navBar__text{display:none;font-size:1rem;font-weight:500;color:inherit;transition:color .18s cubic-bezier(.4,.2,.2,1)}@media(min-width:1024px){.navBar__text{display:block}.navBar__icon{display:none!important}}.navBar__icon--home{-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='28'%20height='28'%20fill='none'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M3%2011.5L12%204l9%207.5'%20stroke='white'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M5%2010.5V20a1%201%200%200%200%201%201h3.5a1%201%200%200%200%201-1v-4h2v4a1%201%200%200%200%201%201H18a1%201%200%200%200%201-1v-9.5'%20stroke='white'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='28'%20height='28'%20fill='none'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M3%2011.5L12%204l9%207.5'%20stroke='white'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M5%2010.5V20a1%201%200%200%200%201%201h3.5a1%201%200%200%200%201-1v-4h2v4a1%201%200%200%200%201%201H18a1%201%200%200%200%201-1v-9.5'%20stroke='white'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e")}.navBar__icon--home-black{-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='28'%20height='28'%20fill='none'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M3%2011.5L12%204l9%207.5'%20stroke='%23222'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M5%2010.5V20a1%201%200%200%200%201%201h3.5a1%201%200%200%200%201-1v-4h2v4a1%201%200%200%200%201%201H18a1%201%200%200%200%201-1v-9.5'%20stroke='%23222'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='28'%20height='28'%20fill='none'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M3%2011.5L12%204l9%207.5'%20stroke='%23222'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M5%2010.5V20a1%201%200%200%200%201%201h3.5a1%201%200%200%200%201-1v-4h2v4a1%201%200%200%200%201%201H18a1%201%200%200%200%201-1v-9.5'%20stroke='%23222'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e")}.navBar__icon--about{-webkit-mask-image:url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'%20standalone='no'?%3e%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='36'%20height='36'%20fill='none'%20viewBox='0%200%2024%2024'%3e%3crect%20x='3'%20y='5'%20width='7'%20height='14'%20rx='2'%20stroke='white'%20stroke-width='2'%20fill='none'/%3e%3crect%20x='14'%20y='5'%20width='7'%20height='14'%20rx='2'%20stroke='white'%20stroke-width='2'%20fill='none'/%3e%3cpath%20d='M3%208h7M14%208h7'%20stroke='white'%20stroke-width='2'%20stroke-linecap='round'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'%20standalone='no'?%3e%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='36'%20height='36'%20fill='none'%20viewBox='0%200%2024%2024'%3e%3crect%20x='3'%20y='5'%20width='7'%20height='14'%20rx='2'%20stroke='white'%20stroke-width='2'%20fill='none'/%3e%3crect%20x='14'%20y='5'%20width='7'%20height='14'%20rx='2'%20stroke='white'%20stroke-width='2'%20fill='none'/%3e%3cpath%20d='M3%208h7M14%208h7'%20stroke='white'%20stroke-width='2'%20stroke-linecap='round'/%3e%3c/svg%3e")}.navBar__icon--about-black{-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='36'%20height='36'%20fill='none'%20viewBox='0%200%2024%2024'%3e%3crect%20x='3'%20y='5'%20width='7'%20height='14'%20rx='2'%20stroke='%23222'%20stroke-width='2'%20fill='none'/%3e%3crect%20x='14'%20y='5'%20width='7'%20height='14'%20rx='2'%20stroke='%23222'%20stroke-width='2'%20fill='none'/%3e%3cpath%20d='M3%208h7M14%208h7'%20stroke='%23222'%20stroke-width='2'%20stroke-linecap='round'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='36'%20height='36'%20fill='none'%20viewBox='0%200%2024%2024'%3e%3crect%20x='3'%20y='5'%20width='7'%20height='14'%20rx='2'%20stroke='%23222'%20stroke-width='2'%20fill='none'/%3e%3crect%20x='14'%20y='5'%20width='7'%20height='14'%20rx='2'%20stroke='%23222'%20stroke-width='2'%20fill='none'/%3e%3cpath%20d='M3%208h7M14%208h7'%20stroke='%23222'%20stroke-width='2'%20stroke-linecap='round'/%3e%3c/svg%3e")}.navBar__icon--contact{-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='36'%20height='36'%20fill='none'%20viewBox='0%200%2024%2024'%3e%3crect%20x='4'%20y='4'%20width='16'%20height='18'%20rx='2'%20stroke='white'%20stroke-width='2'%20fill='none'/%3e%3cpath%20d='M8%208h8M8%2012h8M8%2016h4'%20stroke='white'%20stroke-width='2'%20stroke-linecap='round'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='36'%20height='36'%20fill='none'%20viewBox='0%200%2024%2024'%3e%3crect%20x='4'%20y='4'%20width='16'%20height='18'%20rx='2'%20stroke='white'%20stroke-width='2'%20fill='none'/%3e%3cpath%20d='M8%208h8M8%2012h8M8%2016h4'%20stroke='white'%20stroke-width='2'%20stroke-linecap='round'/%3e%3c/svg%3e")}.navBar__icon--contact-black{-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='36'%20height='36'%20fill='none'%20viewBox='0%200%2024%2024'%3e%3crect%20x='4'%20y='4'%20width='16'%20height='18'%20rx='2'%20stroke='%23222'%20stroke-width='2'%20fill='none'/%3e%3cpath%20d='M8%208h8M8%2012h8M8%2016h4'%20stroke='%23222'%20stroke-width='2'%20stroke-linecap='round'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='36'%20height='36'%20fill='none'%20viewBox='0%200%2024%2024'%3e%3crect%20x='4'%20y='4'%20width='16'%20height='18'%20rx='2'%20stroke='%23222'%20stroke-width='2'%20fill='none'/%3e%3cpath%20d='M8%208h8M8%2012h8M8%2016h4'%20stroke='%23222'%20stroke-width='2'%20stroke-linecap='round'/%3e%3c/svg%3e")}.app[data-theme=dark] .navBar__icon--home-black,.app[data-theme=dark] .navBar__icon--about-black,.app[data-theme=dark] .navBar__icon--contact-black,.app[data-theme=light] .navBar__icon--home,.app[data-theme=light] .navBar__icon--about,.app[data-theme=light] .navBar__icon--contact{display:none}.navBar__iconLink:hover .navBar__icon,.navBar__iconLink:focus-visible .navBar__icon{transform:scale(1.12) rotate(-8deg)}.navBar__about{position:relative}.navBar__aboutMenu{position:absolute;left:50%;bottom:100%;transform:translate(-50%) translateY(10px);opacity:0;pointer-events:none;display:flex;flex-direction:column;gap:.25rem;background-color:var(--color-surface-0);padding:.25rem;transition:transform .18s ease,opacity .18s ease}.navBar__aboutMenu--open,.navBar__about:not(.navBar__about--suppressHover):hover .navBar__aboutMenu,.navBar__about:not(.navBar__about--suppressHover):focus-within .navBar__aboutMenu{transform:translate(-50%) translateY(0);opacity:1;pointer-events:auto}.navBar__aboutMenu a{padding:.65em .85em;font-size:.95rem;font-weight:500;color:var(--color-text-strong);text-decoration:none}.navBar__aboutMenu a:hover{color:var(--color-accent)}.hero{height:100%;width:100%;display:grid;place-items:center;position:relative;z-index:2;padding-top:clamp(1.25rem,4.25vh,3.75rem);padding-bottom:calc(env(safe-area-inset-bottom) + 10.5rem)}.hero .hero-row{width:100%;display:flex;justify-content:center;align-items:flex-start}.hero .text-section{position:relative;width:fit-content;margin:0 auto;padding:.25rem .5rem;z-index:0;isolation:isolate;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;transform:translateY(-.55rem)}.hero .text-section:before{content:none}.hero img{max-width:80%;height:auto;display:block;margin:0 auto}.hero h1,.hero h2{color:var(--color-heading);text-shadow:none;margin:0}.hero h1{font-weight:800;font-size:clamp(3.25rem,5vw,7rem);line-height:1.05}.hero h2{font-weight:650;font-size:clamp(2rem,3.25vw,5rem);line-height:1.15;display:inline-block;width:fit-content;padding:.2rem .7rem;border-radius:999px;background:#ffffff9e;border:2px solid rgba(168,85,247,.38);box-shadow:0 10px 24px #0f172a1f,inset 0 1px #fff9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);letter-spacing:-.01em}@media(max-width:600px){.hero{place-items:center start;padding-left:clamp(1rem,5vw,1.75rem);padding-right:clamp(1rem,5vw,1.75rem)}.hero .hero-row{justify-content:flex-start}.hero .text-section{margin:0;text-align:left;transform:translateY(-1.25rem)}.hero h1{font-size:clamp(4.05rem,12.6vw,8rem);line-height:1.03}.hero h2{font-size:clamp(2.55rem,8.6vw,6rem);line-height:1.1;padding:.3rem .95rem}.hero .location-section{bottom:calc(env(safe-area-inset-bottom) + 5rem);font-size:clamp(1.05rem,3.8vw,1.2rem)}}@media(min-width:601px)and (max-width:1024px){.hero{place-items:center start;padding-left:clamp(1.5rem,5vw,3rem);padding-right:clamp(1.5rem,5vw,3rem)}.hero .hero-row{justify-content:flex-start}.hero .text-section{margin:0;text-align:left;transform:translateY(-.75rem)}.hero h1{font-size:clamp(3.75rem,6vw,5.1rem)}.hero h2{font-size:clamp(2.4rem,3.8vw,3.6rem);padding:.25rem .9rem}}@media(min-width:900px){.hero h1{font-size:clamp(3.25rem,4.5vw,4.75rem);line-height:1.05}.hero h2{font-size:clamp(2rem,2.6vw,3rem);line-height:1.15}}@media(min-width:900px)and (pointer:fine){.hero{place-items:center start;padding-left:clamp(1.5rem,6vw,6rem);padding-right:clamp(1.5rem,6vw,6rem)}.hero .hero-row{justify-content:flex-start}.hero .text-section{margin:0;text-align:left}}.hero .icon-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(40px,1fr));justify-items:center;gap:10px}@media(prefers-color-scheme:dark){.about__panel--skills h2 span svg{filter:invert(1) brightness(1.2)}}.about__panel--skills h2 span{position:relative;top:-3px}.about__panel--skills h2 span svg{filter:none}.app[data-theme=dark] .about__panel--skills h2 span svg{filter:invert(1) brightness(1.2)}.about__panel--bio h2 span,.about__panel--skills h2 span{display:inline-flex;align-items:center;vertical-align:middle;margin-left:.5em}.about{width:100%;background:radial-gradient(900px 520px at 18% 0%,#6366f11f,#0000 60%),radial-gradient(800px 520px at 82% 18%,#38bdf81a,#0000 58%),linear-gradient(to bottom,var(--color-surface-1) 0%,var(--color-surface-2) 100%);padding-block:clamp(1.5rem,4vw,3rem);border-bottom:1px solid var(--color-border)}@media(prefers-color-scheme:dark){:root:not(:has(#themeToggle:checked)) .about{background:radial-gradient(900px 520px at 18% 0%,#6366f124,#0000 60%),radial-gradient(800px 520px at 82% 18%,#38bdf81f,#0000 58%),linear-gradient(to bottom,#05070c,#0b1220)}}@media(prefers-color-scheme:light){:root:has(#themeToggle:checked) .about{background:radial-gradient(900px 520px at 18% 0%,#6366f124,#0000 60%),radial-gradient(800px 520px at 82% 18%,#38bdf81f,#0000 58%),linear-gradient(to bottom,#05070c,#0b1220)}}.about__inner{width:100%;max-width:72rem;margin:0 auto;padding-inline:clamp(1rem,4vw,3rem)}.about__grid{display:grid;grid-template-columns:1fr;gap:1rem;align-items:stretch}@media(min-width:768px){.about__grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"bio skills" "stack skills";gap:1.25rem}}.about__panel{background:transparent;border:none;border-radius:0;padding:0;text-align:left;height:100%;display:flex;flex-direction:column;gap:.75rem}@media(min-width:768px){.about__grid{column-gap:2.5rem;row-gap:2rem}.about__panel--col2{padding-left:2.5rem;border-left:1px solid var(--color-border)}}.about__panel h2{margin:0;font-size:clamp(1.55rem,2.2vw,2.55rem);color:var(--color-heading);letter-spacing:-.02em}.about__panel p{margin:0;color:var(--color-text);font-size:1.1rem;line-height:1.55}.about__panel ul{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:.35rem}.about__panel ul li{color:var(--color-text);font-size:1.1rem;line-height:1.45}.about__panel--wide{margin-top:1rem;padding-top:1.25rem;border-top:1px solid var(--color-border)}.about__stack{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .65rem}.about__stack img{width:32px;height:32px;object-fit:contain;display:block}@media(min-width:768px){.about__panel--bio{grid-area:bio}.about__panel--skills{grid-area:skills}.about__panel--stack{grid-area:stack}}.about__links{position:fixed;top:calc(env(safe-area-inset-top) + .75rem);right:1rem;opacity:.85;z-index:1200;--linksPillBg: rgba(10, 14, 22, .78);--linksPillBorder: rgba(255, 255, 255, .08);--linksPillShadow: 0 10px 30px rgba(0, 0, 0, .22);--linksPillText: rgba(255, 255, 255, .92);--linksMonoFilter: brightness(0) invert(1);margin:0;display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:.5rem;border-radius:12px;background-color:var(--linksPillBg);border:1px solid var(--linksPillBorder);box-shadow:var(--linksPillShadow);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px)}@media(max-width:1024px){.about__links{top:auto;bottom:80px;right:20px}.about__linksRow{flex-direction:column}}@media(prefers-color-scheme:dark){:root:not(:has(#themeToggle:checked)) .about__links{--linksPillBg: rgba(255, 255, 255, .9);--linksPillBorder: rgba(15, 23, 42, .08);--linksPillShadow: 0 10px 28px rgba(0, 0, 0, .35);--linksPillText: rgba(15, 23, 42, .92);--linksMonoFilter: brightness(0)}}@media(prefers-color-scheme:light){:root:has(#themeToggle:checked) .about__links{--linksPillBg: rgba(255, 255, 255, .9);--linksPillBorder: rgba(15, 23, 42, .08);--linksPillShadow: 0 10px 28px rgba(0, 0, 0, .35);--linksPillText: rgba(15, 23, 42, .92);--linksMonoFilter: brightness(0)}}.about__linksLabel{color:var(--linksPillText);font-size:.95rem;line-height:1;white-space:nowrap}.about__linksRow{display:flex;flex-direction:column;gap:.5rem}@media(min-width:1025px){.about__linksRow{flex-direction:row}}display: inline-flex; align-items: center; justify-content: center; padding: .45rem; border-radius: 999px; line-height: 0; } .about__linksRow a:focus-visible{outline:2px solid rgba(99,102,241,.9);outline-offset:2px}.about__linksRow a img{width:64px;height:64px;object-fit:contain;display:block;transition:transform .18s cubic-bezier(.4,.2,.2,1),filter .18s cubic-bezier(.4,.2,.2,1),opacity .18s cubic-bezier(.4,.2,.2,1)}.about__linksRow a:hover img,.about__linksRow a:focus-visible img{transform:scale(1.18) rotate(-6deg);filter:drop-shadow(0 4px 16px rgba(168,85,247,.18));opacity:1}@media(max-width:480px){.about__links{right:.75rem;gap:.6rem;padding:.4rem}.about__linksLabel{font-size:.9rem}.about__linksRow{gap:.1rem}.about__linksRow a{padding:.4rem}.about__linksRow a img{width:40px;height:40px}}.element3{width:100%;height:75%;padding:clamp(.25rem,1.2vw,.75rem);margin-top:5rem;display:flex;flex-direction:column;justify-content:center;background:transparent;border:0;box-shadow:none;color:var(--color-text)}.element3 h3{margin:0;font-size:clamp(1.2rem,3vw,1.8rem);letter-spacing:-.02em;color:var(--color-heading)}.element3 p{margin-top:.85rem;text-align:center;color:var(--color-text)}.element3 a{color:inherit;text-decoration:underline;text-underline-offset:3px}.element3 .visuals1 img{transition:filter .2s ease}@media(prefers-color-scheme:light){.element3 .visuals1 img{filter:invert(1)}}.app[data-theme=light] .element3 .visuals1 img{-webkit-filter:invert(1);filter:invert(1)}.projects{padding-bottom:3em;display:flex;flex-direction:column;position:relative;overflow:hidden;background-size:cover;background-position:center 20%;background-repeat:no-repeat;color:var(--color-text)}.app[data-theme=light] .projects{background:linear-gradient(to bottom,#fff 0% 10%,#38bdf80f 30% 70%,#fff 90% 100%),radial-gradient(ellipse at top left,rgba(56,189,248,.08) 0%,transparent 50%),#fff;--color-text: rgba(0, 0, 0, .87);--color-text-strong: #000;--color-heading: rgba(0, 0, 0, .95);--color-muted: #666}.app[data-theme=light] .project-frame__card{background:#fff;color:var(--color-text-strong);box-shadow:none;border:none!important}.app[data-theme=dark] .projects{background:radial-gradient(900px 520px at 18% 0%,rgba(56,189,248,.18),transparent 60%),radial-gradient(800px 520px at 82% 22%,rgba(99,102,241,.12),transparent 58%),linear-gradient(to bottom,#181e2a,#232b3a 60%,#000);--color-text: rgba(255, 255, 255, .87);--color-text-strong: #fff;--color-heading: rgba(255, 255, 255, .95);--color-muted: rgba(255, 255, 255, .7)}.app[data-theme=dark] .project-frame__card{background:#181e2aeb;color:#fff;box-shadow:none;border:none!important}.projects iframe,.projects .project-frame__media{box-shadow:var(--shadow-accent)}.projects>a{margin:0 auto;width:fit-content;font-size:1.1em;color:var(--color-text-strong);text-decoration-line:underline}.projects .title{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;margin-top:2rem;margin-bottom:2rem}.projects .title h2{margin:0;font-size:clamp(1.55rem,2.2vw,2.55rem)}.projects .title img{width:44px;height:44px;object-fit:contain}.ProjectsList{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;padding:0 1rem}.ProjectsList .project-frame{margin:0}@media(min-width:900px){.ProjectsList{flex-direction:row;flex-wrap:wrap;align-items:flex-start}}.project-frame{width:fit-content;margin:0 auto;display:flex;flex-direction:column;align-items:center}@media(min-width:900px){.project-frame{flex-direction:row;align-items:flex-start;gap:2rem}}.project-frame__card{position:relative;width:fit-content;transition:transform .18s ease;transform-origin:center;will-change:transform;border-radius:14px}.project-frame__card:hover{transform:scale(1.03)}.project-frame__link{position:absolute;inset:0;z-index:2;cursor:pointer}.project-frame__card iframe{display:block}.project-frame__desc{margin:.75rem 0 0;width:375px;max-width:100%;color:var(--color-text);font-size:1.05rem;line-height:1.5;text-align:left;text-shadow:0 1px 2px rgba(0,0,0,.07)}@media(min-width:900px){.project-frame__desc{margin:0;width:300px}}.project-frame__descLead{margin:0;color:var(--color-text-strong);font-weight:600;font-size:1.12rem;text-shadow:0 1px 2px rgba(0,0,0,.1)}.project-frame__descBody{margin:.35rem 0 0}.project-frame__descList{margin:.5rem 0 0;padding-left:1.05rem}.project-frame__descList li{margin:.15rem 0}.project-frame__github{display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.5rem 1rem;background:var(--color-accent-2);color:#fff;text-decoration:none;border-radius:6px;font-size:.9rem;font-weight:500;transition:all .18s ease;box-shadow:0 2px 8px #0003}.project-frame__github:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d;background:var(--color-accent-3)}.project-frame__github svg{display:block}.project-frame__media{display:block;width:375px;height:450px;max-width:none;object-fit:cover}.ContactFormSection{width:100%;background:radial-gradient(900px 520px at 18% 0%,#6366f12e,#0000 60%),radial-gradient(800px 520px at 82% 22%,#38bdf824,#0000 58%),linear-gradient(to bottom,#0b1220,#0a0f1a);padding:clamp(1rem,3vw,1.75rem);padding-bottom:clamp(1rem,3vw,1.75rem);margin-top:5rem;background-size:cover;background-position:center;background-repeat:no-repeat;border-radius:18px;border:1px solid rgba(148,163,184,.16);box-shadow:0 18px 50px #00000038;height:100%}@media(prefers-color-scheme:light){:root:not(:has(#themeToggle:checked)) .ContactFormSection{background:radial-gradient(900px 520px at 18% 0%,#6366f129,#0000 60%),radial-gradient(800px 520px at 82% 22%,#38bdf824,#0000 58%),linear-gradient(to bottom,#fff,#f1f5f9);border:1px solid rgba(15,23,42,.12);box-shadow:0 18px 45px #0206171f}}@media(prefers-color-scheme:light){:root:has(#themeToggle:checked) .ContactFormSection{background:radial-gradient(900px 520px at 18% 0%,#6366f12e,#0000 60%),radial-gradient(800px 520px at 82% 22%,#38bdf824,#0000 58%),linear-gradient(to bottom,#0b1220,#0a0f1a);border:1px solid rgba(148,163,184,.16);box-shadow:0 18px 50px #00000038}}@media(prefers-color-scheme:dark){:root:has(#themeToggle:checked) .ContactFormSection{background:radial-gradient(900px 520px at 18% 0%,#6366f129,#0000 60%),radial-gradient(800px 520px at 82% 22%,#38bdf824,#0000 58%),linear-gradient(to bottom,#fff,#f1f5f9);border:1px solid rgba(15,23,42,.12);box-shadow:0 18px 45px #0206171f}}@media(prefers-color-scheme:dark){:root:not(:has(#themeToggle:checked)) .ContactFormSection{background:radial-gradient(900px 520px at 18% 0%,#6366f12e,#0000 60%),radial-gradient(800px 520px at 82% 22%,#38bdf824,#0000 58%),linear-gradient(to bottom,#0b1220,#0a0f1a);border:1px solid rgba(148,163,184,.16);box-shadow:0 18px 50px #00000038}}.ContactFormSection .contact{height:100%;display:flex;align-items:flex-start;justify-content:center}.ContactForm{max-width:560px;width:100%;background:#ffffff0f;border:1px solid rgba(148,163,184,.22);border-radius:14px;padding:1.25rem 1.25rem 1.35rem;box-shadow:0 10px 26px #0000002e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--color-text-strong);margin:0}@media(prefers-color-scheme:light){:root:not(:has(#themeToggle:checked)) .ContactForm{background:#ffffffeb;border:1px solid rgba(15,23,42,.14);box-shadow:0 16px 36px #0206171f;color:#020617eb}:root:not(:has(#themeToggle:checked)) .ContactForm__title{color:#020617f2}:root:not(:has(#themeToggle:checked)) .ContactForm label{color:#0f172acc}:root:not(:has(#themeToggle:checked)) .ContactForm .field{background:#fffffffa;border:1px solid rgba(15,23,42,.18);color:#020617eb}}@media(prefers-color-scheme:dark){:root:not(:has(#themeToggle:checked)) .ContactForm{background:#02061740}}.ContactForm__title{margin:0 0 1rem;font-size:clamp(1.3rem,3vw,1.8rem);font-weight:650;letter-spacing:-.5px}.ContactForm .input-box{margin-top:.9rem}.ContactForm label{display:block;margin-bottom:.4rem;text-align:left;font-size:.95rem;color:var(--color-text)}.ContactForm .field{width:100%;height:50px;background:#ffffff14;border:1px solid rgba(148,163,184,.28);outline:none;border-radius:6px;padding:.75rem .85rem;font-size:16px;color:var(--color-text-strong);box-sizing:border-box;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.ContactForm .field:focus{border-color:#6366f1bf;box-shadow:0 0 0 3px #6366f138}.ContactForm .field.mess{height:180px;min-height:120px;max-height:320px;resize:vertical;padding:1.1rem 1rem;border-radius:10px;background:#ffffff21;box-shadow:0 2px 12px #6366f112;font-size:1.08rem;line-height:1.6;color:var(--color-text-strong);transition:border-color .16s,box-shadow .16s,background-color .16s}.ContactForm .field.mess:focus{border-color:#6366f1d9;box-shadow:0 0 0 3px #6366f12e;background:#ffffff2e}.ContactForm .field.mess::placeholder{color:#a0aec0;opacity:1;font-style:italic}.ContactForm button{width:100%;max-width:260px;height:55px;background:var(--color-accent-2);color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:6px;box-shadow:0 10px 22px #0000002e;cursor:pointer;display:block;margin:25px auto 0;font-weight:650;letter-spacing:-.01em;transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease}.ContactForm button:hover{transform:translateY(-1px);box-shadow:0 14px 28px #00000038;background:var(--color-accent-3)}.ContactForm button:disabled{opacity:.75;cursor:not-allowed;transform:none}.ContactForm__success{max-width:560px;width:100%;margin:0;padding:1.25rem;border-radius:14px;background:#ffffff0f;border:1px solid rgba(148,163,184,.22)}
