@font-face{font-family:"Press Start 2P";font-style:normal;font-weight:400;font-display:swap;src:url(../media/cdf703449fd42bc8-s.103uf.8aa8pr3.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Press Start 2P";font-style:normal;font-weight:400;font-display:swap;src:url(../media/3f10656f33c57dec-s.0m4wt3xm5i890.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Press Start 2P";font-style:normal;font-weight:400;font-display:swap;src:url(../media/56eb15be423b6220-s.0zqusx.h7vgvl.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Press Start 2P";font-style:normal;font-weight:400;font-display:swap;src:url(../media/96074e70a40501da-s.0fw52gc_mc5b0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Press Start 2P";font-style:normal;font-weight:400;font-display:swap;src:url(../media/de161955856a921d-s.p.04z8pihzuh7s1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Press Start 2P Fallback";src:local(Arial);ascent-override:44.58%;descent-override:0.0%;line-gap-override:0.0%;size-adjust:224.32%}.press_start_2p_5990cc9b-module__62tSUW__className{font-family:"Press Start 2P","Press Start 2P Fallback";font-style:normal;font-weight:400}
@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.06d3mdzz5bre_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.11.cyxs5p-0z~.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.16t1db8_9y2o~.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.0q3udbd2bu5yp.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.0gw~uztddq1df.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.0.q-h669a_dqa.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
.hero{z-index:0;justify-content:center;align-items:center;height:100vh;display:flex;position:relative;overflow:hidden}.reveal{opacity:0;transition:all .6s;transform:translateY(30px)}.reveal.active{opacity:1;transform:translateY(0)}.background{background:radial-gradient(circle,#1e293b,#020617);position:absolute;inset:0}.background:after{content:"";opacity:.1;content:"";opacity:.1;inset:0;background-image:radial-gradient(#fff 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0}.character{z-index:2;width:220px;position:relative}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}.character{z-index:2;width:220px;animation:3s ease-in-out infinite float;position:relative}.info{color:#fff;z-index:3;position:absolute;right:10%}.info h1{font-size:1.5rem;line-height:1.4}.info p{opacity:.7;margin-top:10px;font-size:.7rem}.cta{color:#000;cursor:pointer;background:#22c55e;border:2px solid #000;margin-top:20px;padding:12px 16px;font-size:.6rem}.cta:hover{transform:scale(1.05)}@media (max-width:768px){.hero{text-align:center;flex-direction:column;justify-content:center}.character{width:160px;margin-bottom:20px}.info{position:static}.info h1{font-size:2rem}.info p{font-size:1rem}}.projects{z-index:1;color:#fff;text-align:center;background:#020617;padding:60px 20px;position:relative}.projects h2{margin-bottom:40px}.grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}@media (max-width:768px){.grid{grid-template-columns:1fr}}.card{cursor:pointer;text-align:left;background:#1e293b;border:2px solid #334155;flex-direction:column;gap:10px;padding:20px;transition:all .2s;animation:4s ease-in-out infinite floatCard;display:flex}.card:hover{border-color:#22c55e;transform:translateY(-5px);box-shadow:0 0 10px #22c55e33}.card h3{font-size:.8rem;line-height:1.4}.card p{opacity:.7;font-family:sans-serif;font-size:.7rem}.card:after{content:"";background:#22c55e;width:40px;height:2px;margin-top:10px}.modal{-webkit-backdrop-filter:blur(8px);z-index:9999;background:#0006;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#020617cc;border:2px solid #22c55e;flex-direction:column;gap:15px;width:90%;max-width:400px;padding:30px;animation:.2s ease-out scaleIn;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.modal-title{font-size:.9rem;line-height:1.4}.modal-desc{opacity:.8;font-family:sans-serif;font-size:.8rem}.modal-list{opacity:.8;padding-left:15px;font-family:sans-serif;font-size:.75rem}.modal-list li{margin-bottom:5px}@keyframes floatCard{0%{transform:translateY(0)}50%{transform:translateY(-6px)}to{transform:translateY(0)}}.about{color:#fff;background:#020617;padding:80px 20px}.about-container{grid-template-columns:1fr 1fr;align-items:center;gap:40px;max-width:1000px;margin:0 auto;display:grid;position:relative}.about-container:before{content:"";background:#1e293b;width:2px;height:100%;position:absolute;top:0;left:-20px}.left{flex-direction:column;gap:30px;display:flex}.about-text,.skills{background:#1e293b33;border:1px solid #1e293b;border-radius:8px;padding:20px}.about-text p{opacity:.8;margin-top:10px;font-family:sans-serif;font-size:.85rem;line-height:1.6}.skills{flex-direction:column;gap:20px;display:flex}.skills h2{margin-bottom:10px}.skill-group{flex-direction:column;gap:8px;display:flex}.skill-group h3{opacity:.9;font-size:.8rem}.tags{flex-wrap:wrap;gap:10px;display:flex}.tags span{opacity:.8;border:1px solid #334155;border-radius:6px;padding:4px 8px;font-family:sans-serif;font-size:.7rem;transition:all .2s}.tags span:hover{border-color:#22c55e}.right{justify-content:center;display:flex;position:relative}.right:after{content:"";filter:blur(10px);background:#0006;border-radius:50%;width:120px;height:10px;position:absolute;bottom:20px}.about-character{width:450px;max-width:none;animation:4s ease-in-out infinite float;transform:translate(40px)}@media (max-width:768px){.about-container{text-align:center;grid-template-columns:1fr}.right{order:-1}.about-character{width:220px;transform:none}.about-container:before{display:none}}.experience{color:#fff;background:#020617;padding:80px 20px}.experience-container{grid-template-columns:1fr 300px;align-items:center;gap:40px;max-width:1000px;margin:0 auto;display:grid}.experience-character{justify-content:center;display:flex}.experience-character img{opacity:.9;filter:drop-shadow(0 0 20px #22c55e26);width:320px;animation:4s ease-in-out infinite float}.experience h2{text-align:center;margin-bottom:50px}.timeline{max-width:700px;margin:0 auto;padding-left:20px;position:relative}.timeline:before{content:"";background:#1e293b;width:2px;height:100%;position:absolute;top:0;left:6px}.item{gap:20px;margin-bottom:50px;display:flex;position:relative}.dot{background:#22c55e;border-radius:50%;width:10px;height:10px;margin-top:6px}.content{background:#1e293b33;border:1px solid #1e293b;border-radius:8px;padding:15px;transition:all .2s}.content h3{font-size:.85rem}.content span{opacity:.5;margin-bottom:5px;font-size:.65rem;display:block}.content p{opacity:.75;font-family:sans-serif;font-size:.8rem}.item:hover .content{border-color:#22c55e;transform:translateY(-5px)}@media (max-width:768px){.timeline{flex-direction:column}.timeline:before{display:none}.item{text-align:left;align-items:flex-start}.experience-container{text-align:center;grid-template-columns:1fr}.experience-character{order:-1;margin-bottom:20px}}.contact{color:#fff;background:#020617;padding:100px 20px}.contact-container{text-align:center;background:#1e293b33;border:1px solid #1e293b;border-radius:8px;max-width:700px;margin:0 auto;padding:30px}.contact h2{margin-bottom:15px}.contact-text{opacity:.7;margin-bottom:25px;font-family:sans-serif;font-size:.85rem}.contact-links{flex-wrap:wrap;justify-content:center;gap:20px;display:flex}.contact-links a{color:#fff;border:1px solid #334155;border-radius:6px;padding:6px 10px;font-family:sans-serif;font-size:.75rem;text-decoration:none;transition:all .2s}.contact-links a:hover{color:#22c55e;border-color:#22c55e}.card{transition:all .2s;animation:4s ease-in-out infinite floatCard}.card:first-child{animation-delay:0s}.card:nth-child(2){animation-delay:.3s}.card:nth-child(3){animation-delay:.6s}.card:nth-child(4){animation-delay:.9s}
