:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#d3caca;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh;display:block}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:Arial;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.nav-selected{border-bottom:2px solid #0e86a7;padding-bottom:2px;color:#0e86a7!important;font-weight:600;transition:border-color .2s}.darkmode-dropdown-menu{opacity:0;transform:translateY(-10px);pointer-events:none;transition:opacity .25s ease,transform .25s ease}.darkmode-dropdown-menu.open{opacity:1;transform:translateY(0);pointer-events:auto}.dark-mode{background:#181818;color:#eee}.dark-mode .topbar{background:linear-gradient(90deg,#222,#333);color:#eee}.dark-mode .topbar-nav a{color:#eee}.dark-mode .topbar-nav a:hover{color:#61dafb}.darkmode-toggle{background:none;border:none;font-size:1.2rem;cursor:pointer;margin-left:1.5rem;color:inherit;transition:color .2s}.topbar{font:arial,sans-serif;position:fixed;top:0;left:0;width:100%;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:1.25rem 2rem;background:linear-gradient(90deg,#d3caca,#fff);color:#000;box-shadow:0 2px 8px #0000000d;box-sizing:border-box}.topbar-logo{display:flex;align-items:center}.topbar-logo img{height:48px;margin-right:.75rem}.topbar-title{font-size:1.3rem;font-weight:600;letter-spacing:1px}.topbar-nav{display:flex;gap:1.5rem}.topbar-nav a{color:#000;text-decoration:none;font-weight:500;transition:color .2s}.topbar-nav a:hover{color:#222}@media (max-width: 768px){.topbar{padding:.5rem 1rem;flex-direction:column;gap:.5rem;height:auto}.topbar-logo{width:100%;justify-content:center}.topbar-nav{width:100%;justify-content:center;gap:1rem}.darkmode-toggle{margin:.5rem 0}.page-container{padding:1rem}:root{--topbar-h: 140px}}#root{max-width:none;margin:0;padding:0;text-align:initial}.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:#888}:root{--topbar-h: 145px}.app-content{padding-top:var(--topbar-h)}.page-container{max-width:1280px;margin:0 auto;padding:2rem}#tsparticles{position:fixed!important;inset:0;z-index:0!important;pointer-events:none}.app-content{position:relative;z-index:1}.topbar{z-index:100}.projects-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}@media (max-width: 768px){.projects-grid{grid-template-columns:1fr;gap:1rem}.projects-container{padding:1rem}.project-card{padding:1.25rem;min-height:140px}.project-title{font-size:1.1rem}.project-desc{font-size:.95rem}}.project-card{background:#f7f7f7;border-radius:12px;box-shadow:0 2px 12px #00000012;padding:1.5rem;display:flex;flex-direction:column;justify-content:space-between;min-height:160px;transition:box-shadow .2s,transform .2s}body.dark .project-card{background:#23272f;box-shadow:0 2px 12px #00000040}body.dark .project-title{color:#a3bffa}body.dark .project-desc{color:#e0e0e0}body.dark .project-link{color:#90cdf4}body.dark .projects-container{background:transparent}.project-card:hover{box-shadow:0 4px 20px #00000021;transform:translateY(-4px) scale(1.03)}.project-title{margin:0 0 .5rem;font-size:1.15rem;color:#222}.project-desc{margin:0 0 1rem;color:#444;font-size:1rem;flex:1}.project-link{color:#0e86a7;font-weight:600;text-decoration:none;margin-top:auto}.projects-container{font-family:Arial,Helvetica,sans-serif;padding:2rem}.projects-header{margin-bottom:1.5rem;color:#222}.projects-header.dark{color:#0e86a7}*,*:before,*:after{box-sizing:border-box}.email-inputs{display:flex;flex-direction:column;gap:1rem;padding:0;margin-top:.5rem}.email-input{width:100%;padding:.8em 1em;border-radius:8px;border:1px solid #d0d0d0;font-size:1rem;background:#f7f7f7;color:#222;transition:border-color .2s,background .2s;outline:none}.email-input:focus{border-color:#61dafb;background:#fff}.contact-email-card.dark .email-input{background:#23272f;color:#eee;border:1px solid #444}.contact-email-card.dark .email-input:focus{background:#23272f;border-color:#61dafb}.email-textarea{width:100%;padding:.8em 1em;border-radius:8px;border:1px solid #d0d0d0;font-size:1rem;background:#f7f7f7;color:#222;resize:vertical;min-height:100px;transition:border-color .2s,background .2s;outline:none}.email-textarea:focus{border-color:#61dafb;background:#fff}.contact-email-card.dark .email-textarea{background:#23272f;color:#eee;border:1px solid #444}.contact-email-card.dark .email-textarea:focus{background:#23272f;border-color:#61dafb}.email-button{background:linear-gradient(90deg,#646cff,#61dafb);color:#fff;border:none;border-radius:8px;padding:.8em 2em;font-size:1.08rem;font-weight:600;cursor:pointer;margin-top:.5em;box-shadow:0 2px 8px #0000001a;transition:background .2s,box-shadow .2s,transform .2s}.email-button:hover{background:linear-gradient(90deg,#61dafb,#646cff);box-shadow:0 8px 24px #0000002e;transform:translateY(-2px)}.contact-email-card.dark .email-button{background:linear-gradient(90deg,#61dafb,#646cff);color:#fff}.contact-email-card{background:#fff;color:#222;border-radius:12px;box-shadow:0 2px 12px #0000001a;padding:2rem;font-family:Arial,Helvetica,sans-serif;transition:background .3s,color .3s,transform .2s,box-shadow .2s;will-change:transform;max-width:650px;min-height:500px}.contact-email-card.dark{background:#23272f;color:#eee;box-shadow:0 2px 12px #0000002e}.contact-email-card:hover{transform:translateY(-8px);box-shadow:0 8px 24px #0000002e}.contact-info-list{display:flex;flex-direction:column;gap:1.5rem;margin-top:2rem;font-family:Arial,Helvetica,sans-serif}.contact-info-title{font-size:1.5rem;color:#222}.contact-info-title.dark{color:#eee}.contact-info-item{display:flex;align-items:center;gap:1rem;font-size:1.15rem;background:#f7f7f7;padding:1rem 1.5rem;border-radius:10px;box-shadow:0 2px 8px #00000012;transition:background .3s,color .3s}.contact-info-item.dark{background:#23272f;color:#eee;box-shadow:0 2px 8px #0000002e}.contact-info-logo{width:32px;height:32px;object-fit:contain}.contact-info-link{color:#222;text-decoration:none;font-weight:500;transition:color .2s}.contact-info-item.dark .contact-info-link{color:#61dafb}.contact-info-link:hover{color:#646cff}.contact-page{padding:1rem}.contact-container{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem;max-width:1200px;margin:0 auto;padding:0 2rem}.contact-left{grid-column:1 / span 3;justify-self:start}.contact-right{grid-column:6 / span 6}@media (max-width: 768px){.contact-container{grid-template-columns:1fr;padding:0 1rem;gap:1.5rem}.contact-left,.contact-right{grid-column:1 / -1;width:100%}.contact-email-card{padding:1.5rem;min-height:auto}.contact-info-item{padding:.75rem 1rem;font-size:.9rem}.contact-info-logo{width:24px;height:24px}.contact-info-title{font-size:1.25rem;text-align:center}.email-button{width:100%;padding:.7em 1em}}.toast{position:fixed;right:16px;bottom:16px;padding:10px 14px;border-radius:8px;font-family:Arial,Helvetica,sans-serif;box-shadow:0 6px 20px #00000026;animation:toast-in .2s ease-out;z-index:9999}.toast-success{background:#1f8f3a;color:#fff}.toast-error{background:#c0392b;color:#fff}@keyframes toast-in{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.site-footer{margin-top:3rem;padding:2rem 0;text-align:center;background:#f7f7f7;color:#222;font-family:Arial,Helvetica,sans-serif;border-radius:0;box-shadow:0 2px 12px #00000012;width:100%;max-width:none;margin-left:0;margin-right:0}.site-footer.dark{background:linear-gradient(90deg,#23272f,#1a1d23);color:#eee}.footer-container{max-width:1200px;margin:0 auto;text-align:center;font-family:Arial,Helvetica,sans-serif}.footer-title{font-weight:700;font-size:1.8rem;letter-spacing:1px;margin-bottom:1.5rem}.footer-subtitle{font-size:1.1rem;margin-bottom:1rem;opacity:.9}.footer-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem 2rem;list-style:none;padding:0;margin:0 auto;max-width:800px;text-align:left}.footer-list li:before{content:"▹";color:#222;margin-right:.5rem}.site-footer.dark .footer-list li:before{color:#61dafb}.about-me{width:100%;margin:0;background:#fff;border-radius:16px;box-shadow:0 4px 24px #00000014;padding:2rem;font-family:Arial,Helvetica,sans-serif;display:flex;align-items:flex-start;gap:2rem;transition:background .3s,color .3s}@media (max-width: 768px){.about-me{flex-direction:column;align-items:center;padding:1.5rem;text-align:center}.about-me-photo{width:150px;height:175px}.about-me-content h2{font-size:1.5rem}.about-me-content p{font-size:1rem}.about-me-sections{flex-direction:column;gap:1.5rem;width:100%}.about-me-interests,.about-me-education{width:100%!important;min-width:unset!important}}.about-me.dark{background:#23272f;color:#eee;box-shadow:0 4px 24px #00000040}.about-me-photo{width:190px;height:220px;object-fit:cover;border-radius:50%;box-shadow:0 2px 12px #00000021;border:3px solid #0e86a7;background:#fff;transition:border-color .3s}.about-me.dark .about-me-photo{border-color:#888;background:#23272f}.about-me-content h2{margin-top:0;font-size:2rem;color:#222;margin-bottom:.5rem;letter-spacing:1px}.about-me.dark .about-me-content h2{color:#0e86a7}.about-me-content p{font-size:1.15rem;line-height:1.7;color:#444}.about-me.dark .about-me-content p{color:#ccc}.about-me-left{display:flex;flex-direction:column;align-items:center;gap:.75rem}.about-me-info{text-align:center}.about-me-name{margin:0;font-size:1.2rem;font-weight:600;color:#222}.about-me-title{margin:0;font-size:1rem;color:#666}.about-me-email{padding-top:.1rem;margin:0;font-size:1rem;color:#2450c1}.about-me.dark .about-me-name{color:#eee}.about-me.dark .about-me-title{color:#aaa}.about-me-interests{margin:0;font-size:1.5rem;color:#222}.about-me-sections{display:flex;gap:2rem;justify-content:center;align-items:flex-start;margin-top:2rem}.about-me.dark .about-me-interests{color:#eee}.about-me.dark .about-me-email{color:#61dafb}.about-me-interests{min-width:500px;margin-top:2rem;padding:1.5rem;border-radius:12px;background:#d3caca;color:#222;font-family:Arial,Helvetica,sans-serif;transition:background .3s,color .3s}.about-me-interests.dark{background:#181818;color:#eee}.about-me-interests h3{margin-top:0;color:#222}.about-me-interests.dark h3{color:#61dafb}.about-me-interests ul{padding-left:.7em;margin:0;font-size:1.08rem;line-height:1.7;list-style:none}.about-me-education{margin-top:2rem;min-width:500px;background:#d3caca;color:#222;border-radius:12px;font-family:Arial,Helvetica,sans-serif;padding:1.5rem;transition:background .3s,color .3s}.about-me-education.dark{background:#181818;color:#eee}.about-me-education h3{font-size:1.5rem;margin-top:0;color:#222}.about-me-education.dark h3{font-size:1.5rem;color:#61dafb}.about-me-education ul{margin:0;padding-left:0;list-style:none;font-size:1.08rem;line-height:1.7}
