: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:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-height:100vh;overflow-x:hidden}.container{min-height:100vh}.intro-section{height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;text-align:center}#animated-text{font-size:3.5em;line-height:1.1;margin:0;min-height:1.2em;position:relative}#animated-text:after{content:"|";animation:blink 1s infinite;color:#646cff}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);text-align:center;opacity:0;transition:opacity .5s ease;color:#888}.scroll-indicator span{display:block;font-size:.9em;margin-bottom:.5rem}.arrow{font-size:1.5em;animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-5px)}60%{transform:translateY(-3px)}}.content-section{min-height:100vh;padding:2rem 2rem .5rem;max-width:700px;margin:0 auto;opacity:0;transform:translateY(30px);transition:all .8s ease}.content-section.visible{opacity:1;transform:translateY(0)}.bio-section,.tech-section,.links-section,.projects-section{margin-bottom:5rem;text-align:center}.bio-section{margin-bottom:6rem}.bio-section p{font-size:1.6em;line-height:1.7;font-weight:300;max-width:600px;margin:0 auto 2rem;color:#ffffffe6;letter-spacing:.02em;transition:color .3s ease}.bio-section p:hover{color:#fffffff2}.bio-section .subtitle{font-size:1em;line-height:1.6;font-weight:300;color:#fff9;margin:0 auto;max-width:500px;letter-spacing:.01em;transition:color .3s ease}.bio-section .subtitle:hover{color:#ffffffbf}.tech-section h2{font-size:1.1em;margin-bottom:2rem;color:#ffffff80;font-weight:400;text-transform:lowercase;letter-spacing:.1em;transition:color .3s ease}.tech-section h2:hover{color:#ffffffb3}.tech-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;max-width:550px;margin:0 auto 1rem}.tech-item{background:transparent;border:1px solid rgba(255,255,255,.12);padding:.7rem 1.3rem;border-radius:2px;transition:all .3s ease;font-weight:300;font-size:.85em;color:#ffffffb3;letter-spacing:.05em;position:relative;overflow:hidden}.tech-item:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.03),transparent);transition:left .5s ease}.tech-item:hover:before{left:100%}.tech-item:hover{border-color:#ffffff40;color:#ffffffe6;transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.tech-note{font-size:.8em;color:#fff6;margin-top:1.5rem;font-style:italic;letter-spacing:.02em;transition:color .3s ease}.tech-note:hover{color:#fff9}.links-section h2{font-size:1.1em;margin-bottom:2rem;color:#ffffff80;font-weight:400;text-transform:lowercase;letter-spacing:.1em;transition:color .3s ease}.links-section h2:hover{color:#ffffffb3}.links-grid{display:flex;justify-content:center;gap:2.5rem;flex-wrap:wrap;margin-bottom:1rem}.link-button{display:inline-block;padding:.8rem 0;background:transparent;color:#ffffffb3;text-decoration:none;font-weight:300;transition:all .3s ease;border:none;border-bottom:1px solid transparent;font-size:.9em;letter-spacing:.05em;position:relative}.link-button:after{content:"";position:absolute;bottom:-1px;left:50%;width:0;height:1px;background:#fff6;transition:all .3s ease;transform:translate(-50%)}.link-button:hover{color:#fffffff2;transform:translateY(-1px)}.link-button:hover:after{width:100%}.links-note{font-size:.8em;color:#fff6;margin-top:1.5rem;font-style:italic;letter-spacing:.02em;transition:color .3s ease}.links-note:hover{color:#fff9}.projects-section{margin-bottom:5rem;text-align:center}.projects-section h2{font-size:1.1em;margin-bottom:2rem;color:#ffffff80;font-weight:400;text-transform:lowercase;letter-spacing:.1em;transition:color .3s ease}.projects-section h2:hover{color:#ffffffb3}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;max-width:600px;margin:0 auto}.project-item{display:block;background:transparent;border:1px solid rgba(255,255,255,.08);border-radius:4px;overflow:hidden;transition:all .3s ease;position:relative;text-decoration:none;color:inherit}.project-item:hover{border-color:#fff3;transform:translateY(-2px);box-shadow:0 8px 16px #00000026}.project-preview{width:100%;height:180px;overflow:hidden;background:#ffffff05;position:relative}.project-preview img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .3s ease;opacity:.8}.project-item:hover .project-preview img{transform:scale(1.05);opacity:1}.project-info{padding:1.5rem;text-align:left}.project-title{font-size:1.1em;font-weight:300;color:#ffffffe6;letter-spacing:.02em;margin:0 0 .8rem;transition:color .3s ease}.project-item:hover .project-title{color:#fff}.project-description{font-size:.9em;color:#fff9;margin:0;line-height:1.5;letter-spacing:.01em;transition:color .3s ease}.project-item:hover .project-description{color:#fffc}@media (max-width: 768px){#animated-text{font-size:2.5em}.content-section{padding:1.5rem 1.7rem .5rem}.bio-section p{font-size:1.4em;line-height:1.6}.bio-section .subtitle{font-size:.9em}.tech-grid{gap:.8rem;max-width:400px}.tech-item{padding:.6rem 1rem;font-size:.8em}.links-grid{gap:2rem}.bio-section{margin-bottom:4rem}.bio-section,.tech-section,.links-section,.projects-section{margin-bottom:3.5rem}.projects-grid{grid-template-columns:1fr;gap:1.5rem;max-width:320px}.project-preview{height:160px}.project-info{padding:1.2rem}.project-title{font-size:1em}.project-description{font-size:.85em;line-height:1.4}.tech-note,.links-note{font-size:.75em}}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.vanilla:hover{filter:drop-shadow(0 0 2em #3178c6aa)}.card{padding:2em}.read-the-docs{color:#888}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;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}#app{width:100%;margin:0;padding:0}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}
