@import"https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Press+Start+2P&display=swap";: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}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}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: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}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}body,html,#root{margin:0;padding:0;width:100%;font-family:"Press Start 2P",system-ui;background:#cacaca;transition:background .3s ease,color .3s ease}*{transition:background-color .3s ease,color .3s ease,border-color .3s ease}.section-content{max-width:1200px;margin:0 auto;color:#000;padding:0 .5em}.section-divider{border-top:3px dashed #000;margin:3rem auto 0;width:100%;opacity:.5}.section-title{text-align:center;font-family:"Press Start 2P",system-ui;font-size:1.2rem;text-shadow:2px 2px 0px rgba(0,0,0,.2);margin:2rem 0;position:relative;display:inline-block;left:50%;transform:translate(-50%);padding:.5rem 1rem;background:#f5f5f5;border:2px dashed black}p{text-align:center}.retro-list{background:#f5f5f5;padding:1rem;border:2px dashed black;margin:1rem 0;box-shadow:4px 4px #0003;width:100%}.retro-list-title{font-family:"Press Start 2P",system-ui;font-size:.8rem;text-align:center;margin-bottom:1.5rem;text-shadow:2px 2px 0px rgba(0,0,0,.1)}.retro-list ul{list-style:none;padding:0;margin:0;display:grid;gap:.8rem}.retro-item{font-family:"Press Start 2P",system-ui;font-size:.7rem;padding:.8rem;background:#fff;border:2px solid black;display:flex;align-items:center;gap:1rem;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.retro-item:before{content:"";position:absolute;left:0;top:0;width:5px;height:100%;background:#000;transform:translate(-5px);transition:transform .2s ease}.retro-icon{font-size:1.1rem;transition:all .2s ease}.retro-item:hover{background:#000;color:#f5f5f5;transform:translateY(-2px);box-shadow:3px 3px #0000004d;text-shadow:1px 1px 0px rgb(255,0,221),-1px -1px 0px rgb(0,247,255);border:2px dotted white}.retro-item:hover:before{transform:translate(0);background:#f0d}.retro-item:hover .retro-icon{transform:scale(1.2);text-shadow:0 0 8px rgba(255,255,255,.7)}@media (max-width: 768px){.retro-list{padding:1rem}.retro-item{font-size:.6rem;padding:.6rem}}#about{padding-top:0rem}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));column-gap:1rem;row-gap:3rem;margin:2rem 0;padding-bottom:2rem;position:relative}.project-card{display:block;box-sizing:border-box;width:100%;background:#f5f5f5;border:2px dashed black;padding:1.5rem;box-shadow:4px 4px #0003;height:100%;transition:all .2s ease;cursor:pointer;word-wrap:break-word;overflow-wrap:break-word}.project-card:hover{transform:translateY(-5px);background:#000;color:#f5f5f5;border:2px dotted white;box-shadow:3px 3px #0000004d;text-shadow:1px 1px 0px rgb(255,0,221),-1px -1px 0px rgb(0,247,255)}.project-card:hover:before{transform:translate(0);background:#f0d}.project-card:hover .tech-tag{background:#f5f5f5;color:#000;text-shadow:none}.project-title{font-size:1rem;margin-bottom:1rem;text-align:center}.project-description{font-size:.7rem;margin-bottom:1rem;line-height:1.5;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.project-tech{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.tech-tag{background:#000;color:#f5f5f5;padding:.3rem .6rem;font-size:.6rem;border-radius:20px;word-break:break-word;max-width:100%}@media (max-width: 1024px){.projects-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}@media (max-width: 768px){.projects-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.project-title{font-size:.9rem}.project-description{font-size:.65rem}}button:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0003}a:hover{text-decoration:none;text-shadow:0 0 8px rgba(255,0,221,.7)}input:focus,textarea:focus{outline:2px solid rgb(255,0,221);box-shadow:0 0 0 4px #ff00dd4d}.crt{position:relative;min-height:100vh;background-color:#cacaca;overflow:hidden}.crt>*:not(.crt-effect){position:relative}.crt:before{content:"";position:fixed;top:0;left:0;right:0;height:12px;background:#ffffff4d;z-index:10;animation:scanline 5s linear infinite;box-shadow:0 0 12px #ffffffe6,0 0 20px #fff6}.crt:after{content:"";position:fixed;inset:-50%;background:url('data:image/svg+xml;utf8,<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg"><filter id="noise"><feTurbulence type="fractalNoise" baseFrequency="1.5" numOctaves="2" stitchTiles="stitch"/></filter><rect width="100%" height="100%" filter="url(%23noise)" opacity="0.5"/></svg>');animation:grain .5s steps(6) infinite;pointer-events:none;z-index:9999;mix-blend-mode:overlay}@keyframes scanline{0%{transform:translateY(-100%);box-shadow:0 0 10px #ffffff4d}to{transform:translateY(100vh);box-shadow:0 0 10px #ffffff4d}}@keyframes grain{0%,to{transform:translate(0)}10%{transform:translate(-5%,-10%)}20%{transform:translate(-15%,5%)}30%{transform:translate(7%,-25%)}40%{transform:translate(-5%,25%)}50%{transform:translate(-15%,10%)}60%{transform:translate(15%)}70%{transform:translateY(15%)}80%{transform:translate(3%,-35%)}90%{transform:translate(-10%,10%)}}.crt-curvature{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10000;background:radial-gradient(ellipse at center,transparent 60%,rgba(0,0,0,.2) 100%);box-shadow:inset 0 0 60px #0003}.section-nav-arrows{position:fixed;left:20px;bottom:48px;display:flex;flex-direction:column;gap:10px;z-index:1000}.section-nav-arrow{width:40px;height:40px;background:#f5f5f5;border:2px dashed black;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;box-shadow:3px 3px #0003}.section-nav-arrow:hover{background:#000;color:#f5f5f5;transform:translateY(-2px);box-shadow:4px 4px #0000004d;border:2px dotted white}.section-nav-arrow:active{transform:translateY(0);box-shadow:2px 2px #0000004d}.section-nav-arrow.disabled{opacity:.5;cursor:not-allowed}.section-nav-arrow.disabled:hover{background:#f5f5f5;color:#000;transform:none;box-shadow:3px 3px #0003;border:2px dashed black}.dark-mode{background:#121212;color:#e0e0e0}.dark-mode .section-content{color:#e0e0e0}.dark-mode .section-title{background:#1e1e1e;color:#e0e0e0;border-color:#e0e0e0}.dark-mode .retro-list,.dark-mode .project-card{background:#1e1e1e!important;border-color:#e0e0e0!important;color:#e0e0e0!important}.dark-mode .retro-item{background:#2d2d2d!important;border-color:#e0e0e0!important;color:#e0e0e0!important}.dark-mode .retro-item:hover,.dark-mode .tech-tag{background:#e0e0e0!important;color:#121212!important}.dark-mode .project-card:hover{background:#e0e0e0!important;color:#121212!important;border-color:#121212!important}.dark-mode .project-card:hover .tech-tag{background:#121212!important;color:#e0e0e0!important}.dark-mode .section-divider{border-color:#e0e0e0!important}.dark-mode .menu-bar{background-color:#1e1e1e!important;border-bottom-color:#e0e0e0!important}.dark-mode .nav-links a{color:#e0e0e0!important}.dark-mode .nav-links a:hover{color:#121212!important;outline-color:#e0e0e0!important}.dark-mode .logo-char{color:#e0e0e0!important}.dark-mode .section-nav-arrow{background:#1e1e1e!important;border-color:#e0e0e0!important;color:#e0e0e0!important}.dark-mode .section-nav-arrow:hover{background:#e0e0e0!important;color:#121212!important;border-color:#121212!important}.dark-mode .crt{background-color:#121212!important}.dark-mode .crt:before{background:#e0e0e04d!important;box-shadow:0 0 12px #e0e0e0e6,0 0 20px #e0e0e066!important}::-webkit-scrollbar{width:8px;background:#000}::-webkit-scrollbar-thumb{background:#222;border:1px dotted white}.education-timeline{position:relative;padding:2rem 0;max-width:800px;margin:0 auto}.education-timeline:before{content:"";position:absolute;top:0;left:50px;height:100%;width:4px;background:repeating-linear-gradient(to bottom,#000,#000 10px 10px,#000 20px);z-index:1}.education-level{position:relative;padding:1.5rem;margin-bottom:2rem;margin-left:80px;background:#f5f5f5;border:2px dashed black;box-shadow:4px 4px #0003;z-index:2}.education-level:before{content:attr(data-level);position:absolute;top:50%;left:-70px;transform:translateY(-50%);width:40px;height:40px;background:#000;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;border:3px dashed #ffffff;box-shadow:0 0 0 2px #000}.education-level h3{margin-top:0;color:#000;text-shadow:2px 2px 0px rgba(0,0,0,.2);font-size:1rem}.education-level p{text-align:left;font-size:.7rem;margin:.5rem 0;line-height:1.5}.education-level .level-date{display:inline-block;background:#000;color:#fff;padding:.2rem .5rem;font-size:.6rem;margin-bottom:.5rem}.education-level .level-badge{display:inline-block;background:#ff7c7c;color:#000;padding:.2rem .5rem;font-size:.6rem;margin-left:.5rem}.dark-mode .education-level{background:#1e1e1e;border-color:#e0e0e0}.dark-mode .education-level:before{background:#e0e0e0;color:#121212;border-color:#000;box-shadow:0 0 0 2px #fff}.dark-mode .education-level h3{color:#fff}.dark-mode .education-level .level-date{background:#949494;color:#121212}.dark-mode .education-level .level-badge{background:#ff7c7c;color:#121212}.dark-mode .education-timeline:before{background:repeating-linear-gradient(to bottom,#fff,#fff 10px 10px,#fff 20px)}@media (max-width: 768px){.education-timeline:before{left:30px}.education-level{margin-left:60px}.education-level:before{left:-50px;width:30px;height:30px;font-size:.6rem}}.retro-contact-form{background:#f5f5f5;padding:2rem 1.5rem;border:2px dashed black;margin:2rem auto;box-shadow:4px 4px #0003;max-width:600px;box-sizing:border-box}.retro-contact-form .form-group{margin-bottom:1.5rem}.retro-contact-form label{display:block;font-size:.8rem;margin-bottom:.5rem;text-shadow:1px 1px 0px rgba(0,0,0,.1)}.retro-contact-form input,.retro-contact-form textarea{width:calc(100% - 1.6rem);padding:.8rem;font-family:"Press Start 2P",system-ui;font-size:.7rem;background:#fff;border:2px solid black;box-shadow:inset 2px 2px #0000001a;letter-spacing:-.5px}.retro-contact-form textarea{min-height:150px;resize:vertical}.retro-submit-btn{background:#000;color:#f5f5f5;border:2px dashed white;padding:.8rem 1.5rem;font-family:"Press Start 2P",system-ui;font-size:.8rem;cursor:pointer;transition:all .2s ease;box-shadow:3px 3px #0003;width:100%}.retro-submit-btn:hover{background:#f5f5f5;color:#000;border:2px dashed black;transform:translateY(-2px);box-shadow:4px 4px #0000004d}.retro-submit-btn:active{transform:translateY(0);box-shadow:2px 2px #0000004d}.dark-mode .retro-contact-form{background:#1e1e1e;border-color:#e0e0e0}.dark-mode .retro-contact-form input,.dark-mode .retro-contact-form textarea{background:#2d2d2d;border-color:#e0e0e0;color:#e0e0e0}.dark-mode .retro-submit-btn{background:#e0e0e0;color:#121212;border-color:#121212}.dark-mode .retro-submit-btn:hover{background:#121212;color:#e0e0e0;border-color:#e0e0e0}@media (max-width: 768px){.retro-contact-form{padding:1.5rem}.retro-contact-form input,.retro-contact-form textarea{font-size:.6rem;padding:.6rem}.retro-submit-btn{font-size:.7rem;padding:.6rem 1rem}}.form-message{font-size:.7rem;padding:.8rem;margin-bottom:1rem;text-align:center;border:2px dashed}.form-message.success{background:#00ff001a;border-color:green;color:green}.form-message.error{background:#ff00001a;border-color:red;color:red}.dark-mode .form-message.success{background:#00c80033;border-color:#0f0;color:#0f0}.dark-mode .form-message.error{background:#c8000033;border-color:red;color:red}.retro-submit-btn:disabled{opacity:.7;cursor:not-allowed}.retro-submit-btn:disabled:hover{transform:none!important;background:#000!important;color:#f5f5f5!important;box-shadow:3px 3px #0003!important;border:2px dashed white!important}.dark-mode .retro-submit-btn:disabled:hover{background:#e0e0e0!important;color:#121212!important;border-color:#121212!important}.glitch{position:relative;display:inline-block}.glitch:before,.glitch:after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;background:inherit}.glitch:before{left:2px;text-shadow:-2px 0 rgba(255,0,221,.7);clip:rect(44px,450px,56px,0);animation:glitch-anim-1 2s infinite linear alternate-reverse}.glitch:after{left:-2px;text-shadow:2px 0 rgba(0,247,255,.7);clip:rect(44px,450px,56px,0);animation:glitch-anim-2 2s infinite linear alternate-reverse}@keyframes glitch-anim-1{0%{clip:rect(32px,9999px,28px,0)}20%{clip:rect(54px,9999px,2px,0)}40%{clip:rect(12px,9999px,45px,0)}60%{clip:rect(66px,9999px,33px,0)}80%{clip:rect(91px,9999px,18px,0)}to{clip:rect(23px,9999px,89px,0)}}@keyframes glitch-anim-2{0%{clip:rect(95px,9999px,15px,0)}20%{clip:rect(3px,9999px,99px,0)}40%{clip:rect(67px,9999px,34px,0)}60%{clip:rect(22px,9999px,78px,0)}80%{clip:rect(40px,9999px,52px,0)}to{clip:rect(88px,9999px,11px,0)}}.dark-mode .glitch:before{text-shadow:-2px 0 rgba(255,0,221,.9)!important}.dark-mode .glitch:after{text-shadow:2px 0 rgba(0,247,255,.9)!important}body{margin:0;padding:0}.menu-bar{display:flex;position:fixed;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background-color:#f5f5f5;box-shadow:0 2px 4px #0000001a;width:100%;top:0;left:0;box-sizing:border-box;z-index:10000;border-bottom:3px solid black}.nav-links{display:flex;gap:2rem;padding-right:1.5rem;flex-shrink:0}.nav-links a{text-decoration:none;color:#000;font-family:"Press Start 2P",system-ui;font-weight:400;font-style:normal;white-space:nowrap;padding:.25rem .5rem;margin:-.25rem -.5rem;font-size:.9rem}.nav-links a:hover{color:#000;outline:2px solid rgb(0,0,0);outline-offset:0;text-shadow:1px 1px 0px rgb(255,0,221),-1px -1px 0px rgb(0,247,255)}.logo{text-decoration:none;font-family:"Press Start 2P",system-ui;font-weight:400;font-style:normal;display:flex;font-size:1.1rem;padding-left:1rem}.logo-char{--logo-default-color: black;--logo-blue-color: rgb(73, 178, 204);--logo-pink-color: rgb(204, 73, 182)}.dark-mode .logo-char{--logo-default-color: #e0e0e0;--logo-blue-color: rgb(100, 220, 255);--logo-pink-color: rgb(255, 100, 230)}@keyframes colorSnap{0%,9%{color:var(--logo-blue-color, rgb(73, 178, 204));transform:translateY(-2px)}10%,29%{color:var(--logo-pink-color, rgb(204, 73, 182))}30%,to{color:var(--logo-default-color);transform:translateY(0)}}@media (max-width: 1200px){.nav-links{gap:1rem}.nav-links a{font-size:.8rem}}.theme-toggle{background:none;border:none;cursor:pointer;font-size:1rem;padding:.2rem .4rem;margin:-.25rem -.5rem;transition:transform .2s ease}.theme-toggle:hover{border:2px dotted black;text-shadow:1px 1px 0px rgb(255,0,221),-1px -1px 0px rgb(0,247,255)}.dark-mode .theme-toggle{color:#e0e0e0}.dark-mode .theme-toggle:hover{border-color:#e0e0e0;text-shadow:1px 1px 0px rgb(255,0,221),-1px -1px 0px rgb(0,247,255)}
