#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}@media (max-width: 768px){#root{padding:1rem}}@media (max-width: 480px){#root{padding:.5rem}}.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)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.about-container{max-width:700px;margin:0 auto;padding:20px;line-height:1.6;text-align:center}.about-container h2{text-align:center;margin-bottom:1.5rem}.about-container p{text-align:justify;margin-bottom:1.5rem;hyphens:auto;-webkit-hyphens:auto;-moz-hyphens:auto;word-wrap:normal;hyphenate-limit-chars:6 3 3;-webkit-hyphenate-limit-before:3;-webkit-hyphenate-limit-after:3}@media (max-width: 768px){.about-container{padding:16px;max-width:100%}.about-container p{text-align:justify;text-justify:inter-word;line-height:1.7;margin-bottom:1.25rem;hyphens:auto;-webkit-hyphens:auto;-moz-hyphens:auto;hyphenate-limit-chars:6 3 3}.about-container h2{font-size:1.5rem;margin-bottom:1rem}}@media (max-width: 480px){.about-container{padding:12px}.about-container p{line-height:1.8;font-size:.95rem}}.topnav{width:100%;display:flex;justify-content:center;margin-bottom:1rem}.topnav-container{max-width:700px;width:100%;display:flex;gap:2rem;padding:0 20px;justify-content:center}.topnav a{font-weight:500;color:#646cff;text-decoration:none;padding:.5rem 0;font-size:1rem}.topnav a:hover{color:#535bf2;text-decoration:underline}.topnav a.active{color:#213547;font-weight:600}@media (max-width: 768px){.topnav-container{padding:0 16px;gap:1.5rem}}@media (max-width: 480px){.topnav-container{padding:0 12px;gap:1rem}.topnav a{font-size:.95rem}}.work-experience-container{max-width:700px;margin:2rem auto;padding:0 20px}.work-experience-container h2{text-align:left;margin-bottom:1.5rem;font-size:1.4rem;font-weight:400;color:#213547;margin-left:0}.work-experience-content{padding:1rem 0}.coming-soon{color:#666;font-style:italic;font-size:.95rem;margin:0}@media (max-width: 768px){.work-experience-container{padding:0 16px;margin:1.5rem auto}}@media (max-width: 480px){.work-experience-container{padding:0 12px}.work-experience-container h2{font-size:1.2rem}}.projects-container{max-width:700px;margin:2rem auto;padding:0 20px}.projects-container h2{text-align:left;margin-bottom:1.5rem;font-size:1.4rem;font-weight:400;color:#213547;margin-left:0}.projects-table{display:flex;flex-direction:column;gap:1rem}.project-row{display:grid;grid-template-columns:auto 1fr;gap:2rem;align-items:baseline;padding:.75rem 0;border-bottom:1px solid #e5e5e5}.project-row:last-child{border-bottom:none}.project-name a{font-weight:500;font-size:1rem;color:#646cff;text-decoration:none;display:block}.project-name a:hover{color:#535bf2;text-decoration:underline}.project-description{color:#666;font-size:.95rem;line-height:1.4;text-align:right}@media (max-width: 768px){.projects-container{padding:0 16px;margin:1.5rem auto}.project-row{grid-template-columns:auto 1fr;gap:1rem;padding:1rem 0;border-bottom:none}.project-name a{font-size:1rem;white-space:nowrap}.project-description{word-wrap:break-word;overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto;-moz-hyphens:auto}}@media (max-width: 480px){.projects-container{padding:0 12px}.projects-container h2{font-size:1.2rem}.project-row{gap:.75rem}.project-name a{font-size:.95rem}.project-description{font-size:.85rem;line-height:1.3}}.animated-name{font-family:inherit;font-size:2em;font-weight:700;margin:.67em 0;padding:0;display:block;letter-spacing:.05em;line-height:1.2}.animated-letter{display:inline-block;transition-property:opacity;transition-timing-function:ease-in-out;will-change:opacity}.animated-letter:empty:before{content:" "}.animated-name{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}@media (max-width: 768px){.animated-name{letter-spacing:.03em}}@media (max-width: 480px){.animated-name{letter-spacing:.02em}}
