:root{--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-header: "far_outregular", Arial, sans-serif;--font-nav: "far_outregular", Arial, sans-serif;--font-body: Arial, Helvetica, sans-serif;--radius-sm: 0;--radius-md: 0;--radius-lg: 0;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .15);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease}@font-face{font-family:disclaimerplain;src:url(/assets/disclaimer-plain-webfont-eerxkVtC.woff2) format("woff2"),url(/assets/disclaimer-plain-webfont-CjITbpYo.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:far_outregular;src:url(/assets/far-out-webfont-aauikxC6.woff2) format("woff2"),url(/assets/far-out-webfont-2oXnHPsa.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}:root{--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--text-primary: #212529;--text-secondary: #6c757d;--text-muted: #adb5bd;--link-color: #000000;--link-hover: #333333;--border-color: #dee2e6;--shadow-color: rgba(0, 0, 0, .1);--button-bg: #000000;--button-text: #ffffff;--button-hover-bg: #333333}[data-theme=dark]{--bg-primary: #161616;--bg-secondary: #343a40;--text-primary: #f8f9fa;--text-secondary: #adb5bd;--text-muted: #6c757d;--link-color: #ffffff;--link-hover: #cccccc;--border-color: #495057;--shadow-color: rgba(0, 0, 0, .5);--button-bg: #ffffff;--button-text: #000000;--button-hover-bg: #cccccc}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:var(--font-size-base);line-height:1.6;color:var(--text-primary);background-color:var(--bg-primary);transition:background-color var(--transition-base),color var(--transition-base)}h1,h2,h3,h4,h5,h6{font-family:var(--font-header);font-weight:400;line-height:1.2;margin-bottom:var(--space-4)}h1{font-size:var(--font-size-5xl)}h2{font-size:var(--font-size-4xl)}h3{font-size:var(--font-size-3xl)}h4{font-size:var(--font-size-2xl)}h5{font-size:var(--font-size-xl)}h6{font-size:var(--font-size-lg)}p{margin-bottom:var(--space-4)}a{color:var(--link-color);text-decoration:none;transition:color var(--transition-base),transform var(--transition-base);display:inline-block}a:hover{color:var(--link-hover);transform:scale(1.05)}a:focus-visible{outline:2px solid var(--link-color);outline-offset:2px;border-radius:var(--radius-sm)}img{max-width:100%;height:auto;display:block}ul,ol{list-style-position:inside;margin-bottom:var(--space-4)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:768px){html{font-size:14px}}#root{width:100%;min-height:100vh;display:flex;flex-direction:column}.nav-menu ul{list-style:none;display:flex;gap:var(--space-5);flex-wrap:wrap;justify-content:center;align-items:center;margin:0;padding:0}.nav-menu li{margin:0}.nav-menu a{font-family:var(--font-nav);font-size:var(--font-size-lg);color:var(--text-primary);text-decoration:none;transition:all var(--transition-base);padding:var(--space-2)}.nav-menu a:hover{color:var(--link-color);transform:scale(1.05)}.nav-menu a:focus-visible{outline:2px solid var(--link-color);outline-offset:2px;border-radius:var(--radius-sm)}@media(max-width:768px){.nav-menu ul{gap:var(--space-3)}.nav-menu a{font-size:var(--font-size-base)}}@media(prefers-reduced-motion:reduce){.nav-menu a:hover{transform:none}}.theme-toggle{background:transparent;border:2px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--font-size-xl);cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center}.theme-toggle:hover{background-color:var(--bg-secondary);transform:scale(1.05)}.theme-toggle:focus-visible{outline:2px solid var(--link-color);outline-offset:2px}@media(prefers-reduced-motion:reduce){.theme-toggle:hover{transform:none}}.site-header{padding:var(--space-5) var(--space-4);background-color:var(--bg-primary);transition:background-color var(--transition-base)}.header-container{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.header-theme-toggle{flex-shrink:0}@media(max-width:768px){.site-header{padding:var(--space-4) var(--space-3)}.header-container{flex-direction:column;gap:var(--space-3)}}.site-footer{padding:var(--space-6) var(--space-4);background-color:var(--bg-primary);margin-top:auto;transition:background-color var(--transition-base)}.footer-container{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-3)}.footer-container p{margin:0;color:var(--text-primary);font-size:var(--font-size-sm)}.footer-links{display:flex;align-items:center;gap:var(--space-4)}.footer-links a{color:var(--text-primary);font-size:var(--font-size-sm);transition:color var(--transition-base)}.footer-links a:hover{color:var(--text-primary)}.sound-toggle{background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);font-size:var(--font-size-lg);cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center}.sound-toggle:hover{background-color:var(--bg-primary);transform:scale(1.05)}.sound-toggle:focus-visible{outline:2px solid var(--link-color);outline-offset:2px}@media(max-width:768px){.footer-container{flex-direction:column;text-align:center}}@media(prefers-reduced-motion:reduce){.sound-toggle:hover{transform:none}}.app-layout{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;padding:var(--space-6) var(--space-4);max-width:1200px;width:100%;margin:0 auto}@media(max-width:768px){.main-content{padding:var(--space-4) var(--space-3)}}.home-page{width:100%}.page-wrapper{display:flex;justify-content:center;align-items:center;min-height:60vh}.page-content{text-align:center;max-width:800px;width:100%}.hero-section{margin-bottom:var(--space-8)}.logo{max-width:300px;margin:0 auto var(--space-5)}.hero-title{font-family:var(--font-header);font-size:var(--font-size-5xl);margin-bottom:var(--space-3);color:var(--text-primary)}.hero-subtitle{font-size:var(--font-size-2xl);color:var(--text-secondary);margin-bottom:var(--space-4)}.hero-intro{font-size:var(--font-size-lg);color:var(--text-secondary);line-height:1.8;max-width:600px;margin:0 auto}.featured-projects{margin-bottom:var(--space-8)}.featured-projects h2{font-size:var(--font-size-3xl);margin-bottom:var(--space-5)}.project-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-5);margin-bottom:var(--space-5)}.project-card{padding:var(--space-5);background-color:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color);transition:transform var(--transition-base),box-shadow var(--transition-base)}.project-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.project-card h3{font-size:var(--font-size-xl);margin-bottom:var(--space-3)}.project-card p{color:var(--text-secondary);margin-bottom:var(--space-4)}.project-links{display:flex;gap:var(--space-3);justify-content:center;flex-wrap:wrap}.project-links a{padding:var(--space-2) var(--space-4);background-color:var(--button-bg);color:var(--button-text);border-radius:var(--radius-md);font-size:var(--font-size-sm);transition:background-color var(--transition-base),transform var(--transition-base)}.project-links a:hover{background-color:var(--button-hover-bg);transform:scale(1.05)}.view-all-link{display:inline-block;font-size:var(--font-size-lg);margin-top:var(--space-4)}.cta-section{display:flex;gap:var(--space-4);justify-content:center;flex-wrap:wrap}.cta-button{padding:var(--space-3) var(--space-6);background-color:var(--button-bg);color:var(--button-text);border-radius:var(--radius-md);font-size:var(--font-size-lg);font-weight:500;transition:background-color var(--transition-base),transform var(--transition-base)}.cta-button:hover{background-color:var(--button-hover-bg);transform:scale(1.05);color:var(--button-text)}.cta-button.secondary{background-color:transparent;border:2px solid var(--button-bg);color:var(--button-bg)}.cta-button.secondary:hover{background-color:var(--button-bg);color:var(--button-text)}@media(max-width:768px){.logo{max-width:200px}.hero-title{font-size:var(--font-size-4xl)}.hero-subtitle{font-size:var(--font-size-xl)}.project-cards{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.project-card:hover,.cta-button:hover,.project-links a:hover{transform:none}}.about-page{display:flex;gap:var(--space-6);max-width:100%}.sidenav a{color:var(--text-secondary);font-size:var(--font-size-base);text-decoration:none;display:block;padding:var(--space-2);border-radius:var(--radius-sm);transition:all var(--transition-base)}.sidenav a:hover{color:var(--link-color);background-color:var(--bg-secondary);transform:scale(1.02)}.main-content-area h1{font-size:var(--font-size-4xl);margin-bottom:var(--space-6);font-family:var(--font-header)}.content-section{margin-bottom:var(--space-8);scroll-margin-top:var(--space-6)}.content-section h2{font-size:var(--font-size-3xl);margin-bottom:var(--space-4);color:var(--link-color);border-bottom:2px solid var(--border-color);padding-bottom:var(--space-2)}.content-section h3{font-size:var(--font-size-xl);margin-bottom:var(--space-2)}.bio-content{display:flex;gap:var(--space-6);align-items:flex-start}.portrait-image{width:250px;height:auto;border-radius:var(--radius-lg);flex-shrink:0;object-fit:cover;transition:transform var(--transition-base)}.portrait-image:hover{transform:scale(1.02)}.bio-text{flex:1;min-width:0}.skills-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-3);list-style:none;padding:0}.skills-list li{padding:var(--space-3);background-color:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-color);text-align:center;transition:transform var(--transition-base)}.skills-list li:hover{transform:translateY(-2px)}.experience-item,.education-item{margin-bottom:var(--space-5);padding:var(--space-4);background-color:var(--bg-secondary);border-radius:var(--radius-md);border-left:4px solid var(--link-color);transition:transform var(--transition-base)}.experience-item:hover,.education-item:hover{transform:translateY(-2px)}.experience-item h3,.education-item h3{margin-bottom:var(--space-2)}.company{color:var(--text-secondary);font-style:italic;margin-bottom:var(--space-3)}.download-button{display:inline-block;padding:var(--space-3) var(--space-6);background-color:var(--button-bg);color:var(--button-text);border-radius:var(--radius-md);font-size:var(--font-size-lg);font-weight:500;transition:background-color var(--transition-base),transform var(--transition-base);margin-top:var(--space-3)}.download-button:hover{background-color:var(--button-hover-bg);transform:scale(1.05);color:var(--button-text)}@media(max-width:768px){.about-page{flex-direction:column}.sidenav{width:100%;position:static;margin-bottom:var(--space-5)}.sidenav ul{display:flex;flex-wrap:wrap;gap:var(--space-2)}.sidenav li{margin-bottom:0}.bio-content{flex-direction:column;align-items:center}.portrait-image{width:200px;margin-bottom:var(--space-4)}.skills-list{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.sidenav a:hover,.skills-list li:hover,.download-button:hover{transform:none}}.portfolio-page{display:flex;gap:var(--space-6);max-width:100%}.sidenav{width:200px;flex-shrink:0;position:sticky;top:var(--space-5);height:fit-content}.sidenav h2{font-size:var(--font-size-xl);margin-bottom:var(--space-3);font-family:var(--font-header)}.sidenav ul{list-style:none;padding:0;margin:0}.sidenav li{margin-bottom:var(--space-2)}.sidenav button{width:100%;text-align:left;background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-size-base);cursor:pointer;transition:all var(--transition-base)}.sidenav button:hover{color:var(--link-color);background-color:var(--bg-secondary);transform:scale(1.02)}.sidenav button.active{background-color:var(--button-bg);color:var(--button-text);border-color:var(--button-bg)}.main-content-area{flex:1;min-width:0}.main-content-area h1{font-size:var(--font-size-4xl);margin-bottom:var(--space-4);font-family:var(--font-header)}.portfolio-intro{font-size:var(--font-size-lg);color:var(--text-secondary);margin-bottom:var(--space-6)}.projects-grid{display:grid;gap:var(--space-6)}.project-item{padding:var(--space-5);background-color:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color);transition:transform var(--transition-base),box-shadow var(--transition-base)}.project-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.project-image-container{margin-bottom:var(--space-4);display:flex;justify-content:center;align-items:center;padding:var(--space-3);background-color:var(--bg-primary);border-radius:var(--radius-md)}.project-image{max-width:200px;max-height:100px;width:auto;height:auto;object-fit:contain}.project-content h2{font-size:var(--font-size-2xl);margin-bottom:var(--space-2);font-family:var(--font-header)}.project-role{color:var(--link-color);font-weight:500;margin-bottom:var(--space-3)}.project-summary{font-size:var(--font-size-lg);margin-bottom:var(--space-3)}.project-description{color:var(--text-secondary);margin-bottom:var(--space-4);line-height:1.7}.project-stack{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.tech-badge{padding:var(--space-1) var(--space-3);background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--text-secondary)}.project-actions{display:flex;gap:var(--space-3);flex-wrap:wrap}.project-link{padding:var(--space-2) var(--space-4);background-color:var(--button-bg);color:var(--button-text);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:500;transition:background-color var(--transition-base),transform var(--transition-base)}.project-link:hover{background-color:var(--button-hover-bg);transform:scale(1.05);color:var(--button-text)}.no-projects{text-align:center;color:var(--text-secondary);font-size:var(--font-size-lg);padding:var(--space-8)}@media(max-width:768px){.portfolio-page{flex-direction:column}.sidenav{width:100%;position:static;margin-bottom:var(--space-5)}.sidenav ul{display:flex;flex-wrap:wrap;gap:var(--space-2)}.sidenav li{margin-bottom:0}.sidenav button{width:auto}}@media(prefers-reduced-motion:reduce){.sidenav button:hover,.project-item:hover,.project-link:hover{transform:none}}.contact-page{display:flex;justify-content:center;align-items:center;min-height:50vh}.contact-container{max-width:600px;width:100%;text-align:center}.contact-container h1{font-size:var(--font-size-4xl);margin-bottom:var(--space-4);font-family:var(--font-header)}.contact-intro{font-size:var(--font-size-lg);color:var(--text-secondary);margin-bottom:var(--space-6);line-height:1.7}.contact-card{padding:var(--space-6);background-color:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-md)}.contact-item{margin-bottom:var(--space-5)}.contact-item:last-child{margin-bottom:0}.contact-item h2{font-size:var(--font-size-xl);margin-bottom:var(--space-3);font-family:var(--font-header);color:var(--link-color)}.contact-item a{font-size:var(--font-size-lg);color:var(--text-primary);text-decoration:underline;transition:color var(--transition-base),transform var(--transition-base)}.contact-item a:hover{color:var(--link-color)}.social-links{display:flex;gap:var(--space-4);justify-content:center;flex-wrap:wrap}.social-link{padding:var(--space-3) var(--space-5);background-color:var(--button-bg);color:var(--button-text)!important;border-radius:var(--radius-md);font-weight:500;text-decoration:none!important;transition:background-color var(--transition-base),transform var(--transition-base)}.social-link:hover{background-color:var(--button-hover-bg);transform:scale(1.05)}@media(max-width:768px){.contact-card{padding:var(--space-4)}}@media(prefers-reduced-motion:reduce){.social-link:hover,.contact-item a:hover{transform:none}}.credits-page{max-width:800px;margin:0 auto}.credits-container h1{font-size:var(--font-size-4xl);margin-bottom:var(--space-4);font-family:var(--font-header)}.credits-intro{font-size:var(--font-size-lg);color:var(--text-secondary);margin-bottom:var(--space-6);line-height:1.7}.credits-section{margin-bottom:var(--space-6);padding:var(--space-5);background-color:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color)}.credits-section h2{font-size:var(--font-size-2xl);margin-bottom:var(--space-4);font-family:var(--font-header);color:var(--link-color);border-bottom:2px solid var(--border-color);padding-bottom:var(--space-2)}.credit-item{margin-bottom:var(--space-4)}.credit-item:last-child{margin-bottom:0}.credit-item h3{font-size:var(--font-size-xl);margin-bottom:var(--space-2)}.credit-item p{margin-bottom:var(--space-2);color:var(--text-secondary)}.credit-item a{color:var(--link-color);text-decoration:underline;word-break:break-all}.credit-item a:hover{color:var(--link-hover)}.not-found-page{display:flex;justify-content:center;align-items:center;min-height:60vh;text-align:center}.not-found-content h1{font-size:8rem;font-family:var(--font-header);color:var(--link-color);margin-bottom:var(--space-3);line-height:1}.not-found-content h2{font-size:var(--font-size-3xl);margin-bottom:var(--space-4);font-family:var(--font-header)}.not-found-content p{font-size:var(--font-size-lg);color:var(--text-secondary);margin-bottom:var(--space-6)}.home-link{display:inline-block;padding:var(--space-3) var(--space-6);background-color:var(--button-bg);color:var(--button-text);border-radius:var(--radius-md);font-size:var(--font-size-lg);font-weight:500;transition:background-color var(--transition-base),transform var(--transition-base)}.home-link:hover{background-color:var(--button-hover-bg);transform:scale(1.05);color:var(--button-text)}@media(max-width:768px){.not-found-content h1{font-size:6rem}}@media(prefers-reduced-motion:reduce){.home-link:hover{transform:none}}.page-transition-enter{opacity:0}.page-transition-enter-active{opacity:1;transition:opacity .2s ease-in}.page-transition-exit{opacity:1}.page-transition-exit-active{opacity:0;transition:opacity .15s ease-out}@media(prefers-reduced-motion:reduce){.page-transition-enter-active,.page-transition-exit-active{transition:none}}
