@import"https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap";@import"https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700&display=swap";:root{font-family:"'Press Start 2P', cursive";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:"'Press Start 2P', cursive";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}}.intro-panel{position:relative;width:100%;height:100vh;text-align:center;color:#fff;overflow:hidden;z-index:2}.tv-screen{position:absolute;top:0;left:0;width:100%;height:100%;background:#0009;z-index:1}.intro-title{position:relative;top:30px;font-size:2rem;color:#ff6ec7;text-align:center;margin:0;z-index:2;animation:glow 2s infinite alternate}.tv-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}.tv-content p{font-size:1rem;line-height:1.5;margin-bottom:2rem;color:#e0e0e0}.explore-button{padding:.75rem 1.5rem;font-family:"Press Start 2P",monospace;background:#0ff;color:#000;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;z-index:2}.explore-button:hover{background:#0aa;color:#fff}.floating-particles{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:3}.particle{position:absolute;width:8px;height:8px;background:#0ff;border-radius:50%;animation:float 3s infinite}.particle:nth-child(1){width:6px;height:6px;top:20%;left:10%;animation-delay:0s}.particle:nth-child(2){width:10px;height:10px;top:50%;left:95%;animation-delay:1s}.particle:nth-child(3){width:8px;height:8px;top:70%;left:40%;animation-delay:2s}.particle:nth-child(4){width:7px;height:7px;top:30%;left:60%;animation-delay:3s}@keyframes float{0%{transform:translateY(0) translate(0);opacity:.7}50%{transform:translateY(-20px) translate(10px);opacity:1}to{transform:translateY(0) translate(0);opacity:.7}}@keyframes glow{0%{text-shadow:0 0 5px #ff6ec7,0 0 10px #ff6ec7,0 0 20px #ff6ec7}to{text-shadow:0 0 15px #ff6ec7,0 0 30px #ff6ec7,0 0 45px #ff6ec7}}.top-bar-container{position:relative;overflow:visible;z-index:10}.top-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background-color:#000c;position:relative;z-index:10}.dropdown-menu{position:absolute;top:45px;left:10px;background-color:#000000f2;padding:10px;border-radius:6px;box-shadow:0 0 12px #0a0a0a;display:flex;flex-direction:column;z-index:9999}.top-bar-container{position:fixed;top:0;left:0;width:100%;z-index:9999;overflow:visible}body,.main-content{padding-top:70px}.top-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background-color:#000c;position:relative;z-index:100}.top-bar.hidden{opacity:0;pointer-events:none;transform:translateY(-40px);transition:all .3s ease}.left-section,.center-section,.right-section{display:flex;align-items:center}.center-section{flex:1;justify-content:center}.menu-btn,.nav-btn{background:none;border:2px solid #00ff90;color:#00ff90;font-size:.95rem;padding:6px 12px;margin:0 4px;border-radius:4px;cursor:pointer;text-shadow:0 0 6px #00ff90;transition:all .2s ease}.menu-btn:hover,.nav-btn:hover{background-color:#00ff90;color:#000;box-shadow:0 0 12px #00ff90;transform:scale(1.05)}.dropdown-menu{position:absolute;top:48px;left:0;background-color:#000000f2;padding:10px;border-radius:6px;box-shadow:0 0 12px #0a0a0a;display:flex;flex-direction:column;z-index:10000}.dropdown-menu a{color:#00ff90;text-decoration:none;padding:6px 0;font-weight:700;text-shadow:0 0 6px #00ff90;transition:color .2s}.dropdown-menu a:hover{color:#fff}.tech-btn{background:transparent;border:none;cursor:pointer;padding:4px}.tech-icon{width:26px;height:26px;filter:drop-shadow(0 0 6px #00f7ff);transition:.3s ease-in-out}.tech-btn:hover .tech-icon{transform:scale(1.15);filter:drop-shadow(0 0 14px #00f7ff)}.bottom-hover-zone{position:fixed;bottom:0;left:0;height:36px;width:100%;z-index:20}.bottom-bar{width:100%;height:88px;background:linear-gradient(180deg,#140028eb,#050014eb);border-top:2px solid rgba(255,80,190,.8);box-shadow:0 -10px 40px #ff50be40,inset 0 1px #ffffff14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;position:absolute;bottom:-88px;left:0;transition:bottom .35s cubic-bezier(.4,0,.2,1);font-family:"Press Start 2P",monospace;color:#ffdff7}.bottom-hover-zone:hover .bottom-bar{bottom:0}.play-btn,.retry-btn{font-size:11px;background:transparent;border:2px solid #ff4fbf;color:#ffdff7;padding:8px 18px;margin-left:12px;cursor:pointer;border-radius:10px;letter-spacing:.5px;box-shadow:0 0 12px #ff4fbf66,inset 0 0 6px #ffffff0d;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.play-btn:hover,.retry-btn:hover{background:#ff4fbf26;transform:translateY(-2px);box-shadow:0 0 22px #ff4fbfb3}.game-container{position:relative;width:520px;height:56px;background:linear-gradient(180deg,#0a0019f2,#000000f2);border:2px solid rgba(80,200,255,.7);box-shadow:0 0 25px #50c8ff40,inset 0 0 18px #000c;overflow:hidden;display:flex;align-items:flex-end;border-radius:10px}.game-container:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.04),rgba(255,255,255,.04) 1px,transparent 1px,transparent 3px);pointer-events:none}.dino{width:38px;height:38px;background:linear-gradient(135deg,#ff4fbf,#7df9ff);position:absolute;left:48px;bottom:0;border-radius:6px;box-shadow:0 0 18px #ff4fbfcc}.dino.jump{animation:jump .6s ease}@keyframes jump{0%{bottom:0}30%{bottom:64px}70%{bottom:64px}to{bottom:0}}.obstacle{width:18px;height:38px;background:linear-gradient(180deg,#ff073a,#ff9a9e);position:absolute;bottom:0;left:520px;border-radius:4px;box-shadow:0 0 14px #ff073ab3}.score{position:absolute;top:-26px;left:12px;font-size:10px;color:#7df9ff;text-shadow:0 0 10px rgb(0,255,153)}.game-message{margin-left:16px;font-size:12px;color:#ffb3ec;text-shadow:0 0 12px rgb(0,255,153);display:flex;align-items:center}.slider-container{position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0a0a0a,#111,#0a0a0a);overflow:hidden;z-index:100}.slider-container:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;background:radial-gradient(circle,rgba(0,255,153,.08) 0%,rgba(255,0,255,.05) 50%,transparent 70%);mix-blend-mode:screen;z-index:1}.slider-image-wrapper{position:relative;width:90vw;height:85vh;background:transparent;border:none;box-shadow:0 0 20px #0f9,0 0 40px #f0f,0 0 60px #0ff;border-radius:10px;overflow:hidden;z-index:200}.slider-image-wrapper img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 8px #00ff99) drop-shadow(0 0 8px #ff00ff)}.slider-caption{position:absolute;bottom:15px;width:100%;text-align:center;font-size:clamp(12px,1vw,14px);color:#fff;text-shadow:0 0 4px #00ff99,0 0 8px #ff00ff,0 0 12px #00ffff;font-family:Orbitron,sans-serif;z-index:300}.slider-button{position:absolute;top:50%;transform:translateY(-50%);background:linear-gradient(45deg,#0f9,#f0f,#0ff);border:none;font-size:3rem;padding:14px 24px;cursor:pointer;border-radius:12px;z-index:500;color:#000;box-shadow:0 0 12px #0f9,0 0 20px #f0f;transition:.2s ease}.slider-button:hover{transform:translateY(-50%) scale(1.08);box-shadow:0 0 18px #0f9,0 0 28px #f0f,0 0 40px #0ff}.slider-button.left{left:20px}.slider-button.right{right:20px}.return-button{position:fixed;bottom:20px;left:20px;background:linear-gradient(45deg,#0f9,#f0f);padding:12px 18px;border:none;border-radius:10px;font-size:1rem;font-weight:700;font-family:Orbitron,sans-serif;cursor:pointer;z-index:2000;box-shadow:0 0 12px #0f9,0 0 20px #f0f;color:#000;transition:.2s ease}.return-button:hover{transform:scale(1.1);box-shadow:0 0 18px #0f9,0 0 28px #f0f,0 0 36px #0ff}.carousel-fullscreen{width:100vw;height:100vh;background:#0a0a0a;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden}@keyframes glow{0%,to{text-shadow:0 0 8px #ff33ff,0 0 16px #00ffff}50%{text-shadow:0 0 16px #ff33ff,0 0 32px #00ffff}}.carousel-title{color:#f3f;font-family:"Press Start 2P",cursive;margin-bottom:2rem;background:#0009;padding:.5rem 1rem;border-radius:8px;animation:glow 2s infinite;text-align:center}.carousel-wrapper{width:80%;overflow:hidden}.carousel-container{display:flex;gap:2rem;justify-content:center;align-items:center;transition:scroll .3s ease;scroll-behavior:smooth;overflow-x:auto;scrollbar-width:none}.carousel-container::-webkit-scrollbar{display:none}.carousel-node{flex:0 0 auto;transition:transform .3s ease,box-shadow .3s ease}.carousel-node img{width:120px;height:120px;border-radius:50%;box-shadow:0 0 8px #f3f,0 0 16px #0ff;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease}.carousel-node.active img{transform:scale(1.5);box-shadow:0 0 32px #f3f,0 0 64px #0ff;z-index:50}.carousel-info{margin-top:2rem;text-align:center;background:#000000bf;border-radius:12px;padding:1rem 1.5rem;max-width:500px}.carousel-info h3{color:#f3f;margin-bottom:.5rem}.carousel-info p{color:#0ff;font-size:.95rem;line-height:1.4}.carousel-controls button{background:#f3f;color:#0a0a0a;border:none;padding:.5rem 1rem;margin:1rem;cursor:pointer;font-family:"Press Start 2P",cursive;text-shadow:0 0 6px #ff33ff;transition:.2s}.carousel-controls button:hover{background:#0ff;color:#0a0a0a}.projects-panel{width:100%;min-height:100vh;background-image:url(/projects-bg.webp);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;padding-top:0}.projects-grid{margin-top:-100px}.projects-grid{display:grid;grid-template-columns:repeat(2,180px);gap:26px;justify-content:center;align-items:center;padding:20px;margin-top:-40px}.project-card{width:180px;background:#00000040;border:1px solid rgba(0,255,230,.5);border-radius:14px;padding:10px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;flex-direction:column;align-items:center;text-decoration:none;cursor:pointer;transition:.3s ease}.project-card img{width:100%;height:110px;object-fit:cover;border-radius:10px;margin-bottom:10px;box-shadow:0 0 8px #00ffe666}.project-card p{color:#cfffff;text-shadow:0 0 4px #00ffe0;font-size:.85rem;text-align:center;margin:0}.project-card:hover{transform:translateY(-4px) scale(1.03);box-shadow:0 0 14px #00ffe0}@media (max-width: 520px){.projects-grid{grid-template-columns:repeat(1,180px)}}.retro-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#02000ae0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:9999}.crt-panel{width:min(92vw,1100px);height:min(86vh,820px);background:linear-gradient(180deg,#0b0210,#160214);border-radius:18px;padding:20px;box-shadow:0 0 50px #ff3cb424,inset 0 0 40px #ff1e8c0f;border:6px solid #ff47c0;display:flex;flex-direction:column;overflow:hidden;position:relative}.crt-panel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(to bottom,#ffffff05,#ffffff05 1px,#0000001f 3px);pointer-events:none;mix-blend-mode:overlay}.animate-crt-on{transform-origin:center;animation:crt-on .6s ease-out}@keyframes crt-on{0%{transform:scaleY(.02);opacity:0;filter:blur(6px)}40%{transform:scaleY(.08);opacity:1;filter:blur(2px)}to{transform:scaleY(1);opacity:1;filter:blur(0)}}.crt-header{font-family:"Press Start 2P",monospace;color:#ffd0ff;text-shadow:0 0 12px #ff4fd2;text-align:center;padding:6px 0;border-bottom:1px solid rgba(255,80,190,.08);font-size:14px}.crt-body{flex:1;padding:18px;overflow:auto;color:#ffdff7;font-family:"Press Start 2P",monospace;font-size:12px;display:flex;align-items:center;justify-content:center}.crt-footer{display:flex;justify-content:center;padding-top:10px}.crt-return{background:linear-gradient(180deg,#ff2ed0,#ff68e3);color:#100;border:none;padding:10px 22px;border-radius:10px;cursor:pointer;font-family:"Press Start 2P",monospace;box-shadow:0 0 20px #ff50be80}.crt-return:hover{transform:translateY(-2px)}@media (max-width: 480px){.crt-panel{width:96vw;height:92vh;padding:12px}.crt-body{padding:8px}}.about-game-wrap{display:flex;flex-direction:column;align-items:center;gap:8px}.about-canvas{width:640px;height:360px;max-width:100%;border:4px solid rgba(255,80,190,.5);background:#020006;box-shadow:0 0 30px #ff3ca014;position:relative}.game-instructions{color:#ffc9f4;font-family:"Press Start 2P",monospace;font-size:10px}.reveal-wrap{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at top,#120018,#050008);display:flex;align-items:center;justify-content:center;z-index:999;animation:fadeIn .6s ease-out forwards}.reveal-card{display:flex;gap:32px;background:#ff69d614;border:1px solid rgba(255,105,214,.35);padding:32px;border-radius:20px;max-width:820px;width:90%;box-shadow:0 0 40px #ff47c040;animation:popIn .6s ease-out forwards}.reveal-img{width:180px;height:180px;object-fit:cover;border-radius:16px;border:2px solid #ff69d6;box-shadow:0 0 25px #ff47c066}.reveal-content{color:#ffdff7;font-family:"Press Start 2P",monospace;font-size:12px;line-height:1.6}.reveal-content h2{font-size:16px;margin-bottom:12px;color:#ff9fe5}.reveal-content p{margin-bottom:14px;max-width:420px}.reveal-return{margin-top:12px;padding:10px 16px;background:#ff47c0;color:#050008;border:none;border-radius:12px;font-family:"Press Start 2P",monospace;font-size:11px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.reveal-return:hover{transform:translateY(-2px);box-shadow:0 0 16px #ff47c0b3}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@media (max-width: 768px){.reveal-card{flex-direction:column;align-items:center;text-align:center}.reveal-img{width:140px;height:140px}.reveal-content p{max-width:100%}}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.skip-btn{background:#ff4fbf;padding:-10px 16px;border-radius:8px;color:#fff;font-size:13px;border:none;cursor:pointer;transition:.2s ease}.skip-btn:hover{background:#ff76d4}.in-game{position:absolute;top:15px;right:15px;z-index:10}.retro-particle{position:fixed;background:#ff4fbf;border-radius:50%;animation:particleFall linear forwards;z-index:9999}@keyframes particleFall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(120px) rotate(360deg);opacity:0}}.skills-wrap{display:flex;flex-direction:column;align-items:center;position:relative}.skills-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;margin-bottom:16px;width:400px}.skill-card-inner{transition:transform .6s;transform-style:preserve-3d}.skill-card{perspective:800px;width:80px;height:80px}.skill-card-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .16s linear}.skill-card.open .skill-card-inner{transform:rotateY(180deg)}.card-front,.card-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;display:flex;align-items:center;justify-content:center;font-size:24px;border-radius:10px}.card-front{background-color:#ff47c0;color:#fff;transform:rotateY(180deg)}.card-back{background-color:#55006d;color:#ffdff7}.skip-button{margin-top:auto;margin-bottom:16px}.skip-button button{font-family:"Press Start 2P",monospace;font-size:12px;padding:5px 10px;background-color:#ff47c0;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s}.skip-button button:hover{background-color:#ff69d6}@media (max-width: 600px){.skills-grid{width:300px}.skill-card{width:70px;height:70px}}.contact-wrap{display:flex;flex-direction:column;align-items:center;gap:12px}.catch-area{position:relative;width:680px;height:260px;background:#050008;border:4px solid rgba(255,80,190,.08);border-radius:8px;overflow:hidden}.collector{position:absolute;bottom:12px;left:50%;transform:translate(-50%);font-size:36px}.drop-msg{position:absolute;top:10px;background:transparent;border:none;font-size:18px;animation:fall 6s linear forwards;cursor:pointer}@keyframes fall{to{transform:translateY(240px)}}.points-panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#0000008c;padding:12px 18px;border-radius:10px;border:2px solid #ff33ff;box-shadow:0 0 12px #f3f;font-family:"Press Start 2P",cursive;color:#fff;text-align:center;z-index:2000;width:fit-content}.score-text{margin-bottom:10px;font-size:12px}.reward-button{padding:8px 12px;border-radius:6px;font-family:"Press Start 2P",cursive;position:relative}.reward-button.locked{background:gray;opacity:.5;border:none;cursor:not-allowed;color:#000}.reward-button.unlocked{background:#0ff;color:#000;border:none;cursor:pointer}.tooltip{visibility:hidden;opacity:0;position:absolute;left:50%;transform:translate(-50%);bottom:-40px;background:#000000b3;padding:6px 10px;border-radius:6px;border:1px solid #ff33ff;font-size:8px;white-space:nowrap;transition:.2s ease;color:#fff}.reward-button:hover .tooltip{visibility:visible;opacity:1;bottom:-32px}body,html,#root{margin:0;padding:0;height:100%;background-color:#0a0a0a;font-family:"'Press Start 2P', cursive";color:#0f9;overflow:visible;display:flex;justify-content:center;align-items:center}.app-container{width:95vw;height:90vh;max-width:900px;max-height:600px;background:linear-gradient(135deg,#0a0a0a,#1a1a1a,#0a0a0a);position:relative;box-shadow:0 0 15px #0f9,0 0 30px #f0f,0 0 45px #0ff;border:3px solid #00ff99;display:flex;flex-direction:column;justify-content:space-between;overflow:visible;padding:1vh 0;box-sizing:border-box}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;background:radial-gradient(circle,rgba(0,255,153,.08) 0%,rgba(255,0,255,.05) 50%,transparent 70%);mix-blend-mode:screen;z-index:1}.main-content{flex:1;display:flex;justify-content:center;align-items:center;padding:2vh;text-align:center;font-size:clamp(10px,1.2vw,14px);color:#fff;background:linear-gradient(90deg,#0f9,#f0f,#0ff,#fff600);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 6px rgba(0,255,153,.4);position:relative;z-index:2}.central-quote{font-size:clamp(12px,1.5vw,16px);line-height:1.4;max-width:400px;margin:0 auto;text-align:center;opacity:.95}.floating-element{position:absolute;width:30px;height:30px;border-radius:50%;background:radial-gradient(circle,#0f9,#f0f);animation:float 6s ease-in-out infinite}@keyframes float{0%{transform:translateY(0) rotate(0)}50%{transform:translateY(-15px) rotate(5deg)}to{transform:translateY(0) rotate(0)}}.top-bar-container,.bottom-bar-container{width:100%;display:flex;justify-content:center;position:relative;z-index:10}.top-bar{width:95%;max-width:850px;display:flex;justify-content:space-between;align-items:center;gap:1vw}button{background:transparent;border:2px solid #00ff99;color:#0f9;font-family:Orbitron,sans-serif;font-size:clamp(7px,.9vw,10px);padding:.5vh 1vw;margin:0 .5vw;cursor:pointer;transition:all .3s ease;border-radius:4px}button:hover{background:linear-gradient(45deg,#0f9,#f0f,#0ff,#fff600);color:#0a0a0a;box-shadow:0 0 12px #0f9,0 0 24px #f0f}.contact-panel{text-align:center;color:#ffdff7;font-family:"Press Start 2P",monospace;display:flex;flex-direction:column;gap:14px}.contact-title{font-size:16px;margin-bottom:8px;letter-spacing:1px}.contact-item{display:flex;flex-direction:column;gap:4px;font-size:12px}.contact-label{opacity:.7;font-size:10px}.contact-value{font-size:12px}.contact-link{font-size:12px;color:#ffdff7;text-decoration:none;transition:color .12s linear,text-shadow .12s linear}.contact-link:hover,.contact-link:focus-visible{color:#00ff8c;text-shadow:0 0 6px rgba(0,255,140,.8)}
