*{box-sizing:border-box}body{margin:0;padding:0;overflow:hidden;background-color:#000;font-family:Montserrat,sans-serif}canvas{position:fixed;top:0;left:0;outline:none;width:100vw;height:100vh;z-index:-1;cursor:pointer}#footer{position:fixed;bottom:20px;left:20px;color:#ffffffb3;font-size:.8rem;z-index:5;pointer-events:none;-webkit-user-select:none;user-select:none;text-shadow:1px 1px 2px #000}#loading-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:501;display:flex;justify-content:center;align-items:center;color:#fff;transition:opacity 1s ease-in-out;opacity:1;background:radial-gradient(circle at center,#0b0e14,#000)}#loading-overlay .loading-content{display:flex;flex-direction:column;align-items:center;gap:30px;margin-bottom:30px}#loading-overlay .loader-ring{width:80px;height:80px;border-radius:50%;border:4px solid rgba(255,255,255,.1);border-top-color:#fff;border-right-color:#ffffff80;animation:spinRing 1s linear infinite;box-shadow:0 0 20px #fff3}#loading-overlay .loading-msg{font-size:1rem;font-weight:400;color:#fffc;letter-spacing:2px;text-transform:uppercase;min-width:300px;text-align:center;animation:pulseText 1.6s ease-in-out infinite alternate}@keyframes spinRing{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.1)}to{transform:rotate(360deg) scale(1)}}@keyframes pulseText{0%{opacity:.5;transform:scale(.98)}to{opacity:1;transform:scale(1.02)}}#mobile-controls{display:flex;position:fixed;bottom:60px;right:30px;flex-direction:column;align-items:center;gap:10px;z-index:10;-webkit-user-select:none;user-select:none}#top-controls{position:fixed;bottom:60px;left:30px;z-index:10;display:flex;gap:15px}#top-controls .dpad-btn{font-size:2rem}#top-controls #sound-toggle-btn{margin-left:10px}.dpad-row{display:flex;gap:10px}.dpad-btn{width:65px;height:65px;border:none;background:#fff;padding:0;box-shadow:0 0 0 2px #000,0 6px 0 2px #000,6px 0 0 2px #000,-6px 0 0 2px #000,0 -6px 0 2px #000;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#000;font-size:28px;font-weight:900;display:flex;justify-content:center;align-items:center;cursor:pointer;transition:all .2s cubic-bezier(.175,.885,.32,1.275);touch-action:manipulation}.dpad-btn:active,.dpad-btn.active{transform:scale(.9)}#top-menu-btn{position:fixed;top:40px;right:40px;width:60px;height:60px;font-size:1.5rem;z-index:500;box-shadow:0 0 0 2px #000,0 6px 0 2px #fff,6px 0 0 2px #fff,-6px 0 0 2px #fff,0 -6px 0 2px #fff}#nav-dropdown{position:fixed;top:110px;right:40px;background:#fff;border:4px solid #000;box-shadow:4px 4px #fff;z-index:500;display:flex;flex-direction:column;padding:10px;gap:10px;min-width:200px;opacity:1;transform:translateY(0);transition:opacity .2s,transform .2s}#nav-dropdown.hidden{opacity:0;transform:translateY(-20px);pointer-events:none}#nav-dropdown .nav-link{color:#000;background:#f0f0f0;border:2px solid #000;padding:10px 15px;font-size:1.1rem;font-weight:700;font-family:Montserrat,sans-serif;text-transform:uppercase;cursor:pointer;text-align:left;transition:background .1s,transform .1s}#nav-dropdown .nav-link:hover{background:#e0e0e0;transform:translate(-4px);box-shadow:4px 4px #0000004d}#nav-dropdown .nav-link:active{transform:translate(0);box-shadow:none}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}#section-modal{position:fixed;top:10%;left:10%;width:80vw;height:80vh;background-color:#fff;z-index:1000;display:flex;flex-direction:column;padding:20px;box-shadow:0 0 0 4px #000,0 8px 0 4px #000,8px 0 0 4px #000,-8px 0 0 4px #000,0 -8px 0 4px #000;opacity:1;transform:translateY(0);transition:transform .4s cubic-bezier(.175,.885,.32,1.275),opacity .4s ease}#section-modal.hidden{opacity:0;transform:translateY(150vh);pointer-events:none;display:flex}#section-modal #modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:4px solid #000;padding-bottom:15px;margin-bottom:15px}#section-modal #modal-header #modal-title{font-size:2rem;font-weight:900;color:#000;text-transform:uppercase}#section-modal #modal-header #close-btn{background:#f33;color:#fff;border:4px solid #000;font-weight:900;font-size:1.5rem;cursor:pointer;padding:5px 15px;transition:transform .1s}#section-modal #modal-header #close-btn:active{transform:scale(.9)}#section-modal #modal-body{flex-grow:1;overflow-y:auto;font-size:1.2rem;line-height:1.5;color:#333;padding-right:10px}#section-modal #modal-body>*{animation:fadeInUp .5s ease-out forwards;opacity:0}#section-modal #modal-body>*:nth-child(1){animation-delay:.1s}#section-modal #modal-body>*:nth-child(2){animation-delay:.2s}#section-modal #modal-body>*:nth-child(3){animation-delay:.3s}#section-modal #modal-body>*:nth-child(4){animation-delay:.4s}#section-modal #modal-body>*:nth-child(5){animation-delay:.5s}.modal-aboutme{display:flex;flex-direction:column;gap:30px}@media (min-width: 768px){.modal-aboutme{flex-direction:row}}.modal-aboutme .aboutme-image img{width:300px;height:300px;object-fit:cover;border:4px solid #000;box-shadow:4px 4px #000}.modal-aboutme .aboutme-info h2{font-size:3rem;margin:0 0 10px;text-transform:uppercase}.modal-aboutme .aboutme-info h3{font-size:1.5rem;margin:0 0 20px;color:#666}.modal-aboutme .aboutme-info .bio{margin-top:20px}.modal-aboutme .social-links{margin-top:30px;display:flex;gap:15px}.modal-aboutme .social-links a{background:#000;color:#fff;padding:10px 20px;text-decoration:none;font-weight:700;text-transform:uppercase;transition:transform .1s}.modal-aboutme .social-links a:hover{transform:translateY(-4px);box-shadow:0 4px #0000004d}.modal-skills{display:grid;grid-template-columns:1fr;gap:20px}@media (min-width: 768px){.modal-skills{grid-template-columns:1fr 1fr}}.modal-skills .skill-category{border:4px solid #000;padding:20px;background:#f9f9f9}.modal-skills .skill-category h3{margin-top:0;border-bottom:2px solid #000;padding-bottom:10px;text-transform:uppercase}.modal-skills .skill-category .skill-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.modal-skills .skill-category .skill-tags .skill-tag{background:#000;color:#fff;padding:5px 15px;font-size:.9rem;font-weight:700}.modal-projects{display:flex;flex-direction:column;gap:40px}.modal-projects .project-card{display:flex;flex-direction:column;gap:20px;border:4px solid #000;padding:20px}@media (min-width: 768px){.modal-projects .project-card{flex-direction:row}}.modal-projects .project-card .project-img{flex:0 0 40%}.modal-projects .project-card .project-img img{width:100%;height:auto;border:4px solid #898989;display:block}.modal-projects .project-card .project-img a{display:block;transition:transform .2s}.modal-projects .project-card .project-img a:hover{transform:scale(1.02)}.modal-projects .project-card .project-info{flex:1}.modal-projects .project-card .project-info h3{margin:0 0 10px;font-size:2rem;text-transform:uppercase}.modal-projects .project-card .project-info .project-tech{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.modal-projects .project-card .project-info .project-tech .tech-tag{background:#e0e0e0;color:#000;border:2px solid #000;padding:4px 10px;font-size:.85rem;font-weight:700}.modal-projects .project-card .project-info .project-link-btn{display:inline-block;margin-top:20px;background:#000;color:#fff;padding:10px 20px;text-decoration:none;font-weight:700;text-transform:uppercase;transition:transform .1s}.modal-projects .project-card .project-info .project-link-btn:hover{transform:translateY(-4px);box-shadow:0 4px #0000004d}.modal-certificates{display:flex;flex-direction:column;gap:20px}.modal-certificates .cert-card{border-left:8px solid #000;padding:20px;background:#f0f0f0}.modal-certificates .cert-card .cert-header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #ccc;padding-bottom:10px;margin-bottom:10px}.modal-certificates .cert-card .cert-header h3{margin:0;font-size:1.5rem;color:#000}.modal-certificates .cert-card .cert-header .cert-duration{font-weight:700;background:#000;color:#fff;padding:2px 10px}.modal-certificates .cert-card h4{margin:0 0 10px;color:#555}.modal-certificates .cert-card p{margin:0}@media (max-width: 500px){#mobile-controls{bottom:60px}.dpad-btn{width:40px;height:40px;box-shadow:0 0 0 2px #000,0 4px 0 2px #000,4px 0 0 2px #000,-4px 0 0 2px #000,0 -4px 0 2px #000}#top-menu-btn{top:40px;right:30px;width:40px;height:40px}#nav-dropdown{top:88px;right:30px}#section-modal{top:40px;left:5%;width:90vw;height:75vh}.modal-aboutme .aboutme-info h2{font-size:1.8rem}.modal-aboutme .aboutme-info h3{font-size:1.1rem}.modal-aboutme .aboutme-info p,.modal-aboutme .aboutme-info .bio{font-size:1rem}.modal-aboutme .aboutme-image img{width:100%;height:100%}#modal-body{font-size:1rem}.modal-projects .project-info h3{font-size:1.3rem}.modal-skills .skill-category h3{font-size:1.1rem}.modal-projects .project-card .project-info h3{font-size:1.3rem}.modal-projects .project-card .project-info p{font-size:1rem}.modal-certificates .cert-card .cert-header h3{font-size:1.1rem;padding-right:10px}.modal-certificates .cert-card .cert-header .cert-duration{font-size:.9rem}.modal-certificates .cert-card p{font-size:1rem}#top-controls #sound-toggle-btn{margin-left:5px}}
