@import"https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap";@import"https://fonts.googleapis.com/css2?family=Iceland&display=swap";body{font-family:"Press Start 2P",sans-serif;background:linear-gradient(to bottom,#10203a,#046,#000,#1a0000);background-size:cover;color:#fff;margin:0;padding:0;overflow:hidden;position:relative}body:before{content:"";position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:9998;background:repeating-linear-gradient(to bottom,rgba(0,0,0,.15),rgba(0,0,0,.15) 1px,transparent 1px,transparent 3px);mix-blend-mode:multiply}body:after{content:"";position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:9997;background-image:radial-gradient(circle,rgba(255,255,255,.05) 1px,transparent 1px),radial-gradient(circle,rgba(255,255,255,.03) 1px,transparent 1px);background-size:3px 3px,5px 5px;animation:dustDrift 30s linear infinite;mix-blend-mode:screen}@keyframes dustDrift{0%{transform:translate(0)}50%{transform:translate(-10px,-10px)}to{transform:translate(0)}}h1,h2,h3{color:#fff;text-transform:uppercase}body,p,span,li{color:#ccc}#root{width:100vw;height:100vh;display:flex;justify-content:center;align-items:center}.loading-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#111;color:#fff;font-family:"Press Start 2P",sans-serif;font-size:1.2rem;display:flex;align-items:center;justify-content:center;z-index:9999}.ui-layer{position:absolute;top:0;left:0;width:100vw;height:100vh;z-index:10;pointer-events:none;padding:2vh 2vw;box-sizing:border-box}.ui-layer>*{pointer-events:auto}.safe-area{margin:3vh 3vw;max-height:94vh;max-width:94vw;box-sizing:border-box}.canvas-container{width:100vw;height:100vh;position:fixed;top:0;left:0;overflow:hidden;z-index:0}.popup-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(90vw,900px);height:auto;max-height:90vh;background:#1a1a1a;border:8px solid #555;padding:clamp(10px,2vw,30px);box-shadow:inset 0 0 10px #0009;font-family:"Press Start 2P",sans-serif;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;z-index:1000;overflow-y:auto;overflow-x:hidden;box-sizing:border-box;font-size:clamp(.75rem,1vw,1rem)}.popup-panel-content{display:flex;flex-direction:column;width:100%;padding:20px;align-items:center;text-align:center;word-wrap:break-word;overflow-wrap:break-word}.popup-panel-header{width:100%;background:#333;padding:8px;font-size:14px;color:#ddd;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center;border-bottom:4px solid #777;position:relative}.popup-panel p{word-wrap:break-word;overflow-wrap:break-word;max-width:100%}.code-input{width:100%;background:#222;color:#fff;border:3px solid #777;padding:10px;margin:10px 0;font-size:14px;font-family:"Press Start 2P",sans-serif;text-align:center}.submit-button{background:#ff9800;color:#fff;border:3px solid #b66a00;padding:10px;font-size:16px;font-family:"Press Start 2P",sans-serif;cursor:pointer;margin-top:10px;transition:background .2s,border-color .2s}.submit-button:hover{background:#e68900;border-color:#950}.welcome-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000a6;z-index:999;display:flex;align-items:center;justify-content:center}@media (max-width: 700px),(max-height: 700px){.popup-panel,{transform:scale(.9) translate(-55%,-55%)}}.trapbar{position:fixed;top:0;right:0;height:100%;width:clamp(140px,18vw,280px);background:linear-gradient(to bottom,#0f0f0f,#1a1a1a);border-left:4px solid white;box-shadow:-6px 0 20px #ffffff0d;font-family:Iceland,serif;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;z-index:100;padding:1.5rem .8rem;gap:1.2rem;overflow-y:auto;overflow-x:hidden;box-sizing:border-box}.trapbar span{font-size:clamp(1rem,1.6vw,1.4rem);text-align:center;color:#fffe;text-transform:uppercase;letter-spacing:2px;font-weight:700;text-shadow:1px 1px 4px black}.trapbar ul{display:flex;flex-direction:column;width:100%;gap:.8rem;padding:0 .2rem;margin:0;list-style:none;align-items:center}.trapbar li{width:100%;display:flex;justify-content:center}.trap-button{width:100%;background-color:#1a1a1a;border-left:6px solid white;border-radius:8px;padding:1rem .9rem;color:#fff;text-align:left;font-size:.85rem;font-family:Iceland,serif;cursor:pointer;display:flex;flex-direction:column;justify-content:center;gap:.3rem;text-transform:uppercase;box-shadow:0 2px 6px #0006,inset 0 0 8px #ffffff0d,0 0 0 2px #ffffff14;transition:transform .2s ease,box-shadow .2s ease}.trap-button:hover:not(:disabled){transform:scale(1.04);box-shadow:0 0 12px #ffffff26,0 0 6px #ffffff1a,inset 0 0 10px #ffffff1f}.trap-button.selected{border-left-color:#fff;box-shadow:0 0 16px #fff,inset 0 0 12px #fff}.trap-label{font-size:1rem;font-weight:700;color:#fff;letter-spacing:1px;text-shadow:1px 1px black}.trap-info{font-size:.7rem;color:#ccc;display:flex;justify-content:space-between;gap:.5rem}.trap-info span{display:flex;align-items:center;gap:.3rem}.trap-info span:before{content:"★";color:#f44;font-size:.8rem}.trap-unity{background-color:#224b55}.trap-unreal{background-color:#3f2a47}.trap-react{background-color:#1e3a5f}.trap-blender{background-color:#5a2c16}.trap-vr{background-color:#3d1f1f}.arm-trap-button{font-size:1.1rem;padding:1.3rem 1rem;font-weight:700;background-color:#111;color:#fff;border:2px solid white;border-radius:10px;width:95%;margin-top:.5rem;margin-bottom:2rem;text-transform:uppercase;letter-spacing:1px;box-shadow:0 2px 6px #0006;transition:transform .2s ease,box-shadow .2s ease}.arm-trap-button:hover:not(:disabled){transform:scale(1.05);box-shadow:0 0 10px #fff;color:#0f8;border-color:#0f8}.trap-controls{display:flex;flex-direction:column;align-items:center;width:100%;gap:.7rem;margin-top:auto;padding-bottom:50px}.reset-trap-button,.quit-trap-button{width:90%;padding:.7rem;font-family:Iceland,serif;font-size:.85rem;background-color:#111;color:#fff;border:2px solid white;border-radius:6px;text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:all .2s ease}.reset-trap-button:hover:not(:disabled){color:#fa0;border-color:#fa0;box-shadow:0 0 8px #fa0}.quit-trap-button:hover:not(:disabled){color:#f44;border-color:#f44;box-shadow:0 0 8px #f44}.trap-button:disabled,.arm-trap-button:disabled,.reset-trap-button:disabled,.quit-trap-button:disabled{opacity:.3;cursor:not-allowed}.navbar{position:fixed;top:0;left:0;height:100%;width:clamp(60px,10vw,180px);background:linear-gradient(to bottom,#1a1a1a,#2b2b2b);color:#fff;font-size:clamp(.5rem,1.5vw,2rem);font-weight:400;font-style:normal;padding:0;box-shadow:4px 0 6px #0000004d;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;z-index:50;font-family:Iceland,serif;border-right:2px solid #444}.navbar span{font-size:clamp(.8rem,1.2vw,1.4rem);width:100%;text-align:center;box-sizing:border-box;margin-bottom:2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:.5rem}.navbar ul{display:flex;flex-direction:column;gap:2rem;text-transform:uppercase;margin:0;padding:0;list-style:none;width:100%;align-items:center}.navbar-buttons{flex:1;display:flex;align-items:center;justify-content:center;width:100%}.navbar a{color:#fff;text-decoration:none;transition:background-color .2s ease-in-out,color .2s ease-in-out;cursor:pointer;padding:clamp(.5rem,1.2vw,1.5rem);width:100%;text-align:center;box-sizing:border-box;display:block;font-size:clamp(.75rem,1.3vw,1.5rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.navbar a:hover{color:#000;background-color:#fff}@media (max-width: 768px){.navbar{width:70px}.navbar span{font-size:.75rem;white-space:normal}.navbar ul{gap:1.5rem}.navbar a{font-size:.8rem;padding:.5rem}}.inventory-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(90vw,900px);height:auto;max-height:90vh;background:#1a1a1a;border:8px solid #555;padding:clamp(10px,2vw,30px);box-shadow:inset 0 0 10px #0009;font-family:"Press Start 2P",sans-serif;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;z-index:1000;overflow-y:auto;overflow-x:hidden;box-sizing:border-box;font-size:clamp(.75rem,1vw,1rem)}.inventory-ribbon{width:100%;background:#333;padding:8px;font-size:14px;color:#ddd;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center;border-bottom:4px solid #777;position:relative}.inventory-main{display:flex;justify-content:space-between;align-items:flex-start;width:100%;padding:15px;gap:30px}.left-column{display:flex;flex-direction:column;width:40%;gap:10px}.avatar-frame{width:180px;height:220px;border:4px solid #777;background:#222;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;overflow:hidden;transition:transform .2s ease,background .2s ease;padding:10px;cursor:pointer}.avatar-frame:hover{transform:scale(1.05);background:#333}.avatar-img{width:100%;height:auto;object-fit:contain;margin-bottom:10px}.frame-title{font-size:16px;color:#ddd;text-align:center;margin-top:10px}.active-skills-container{width:100%;background:#222;border:4px solid #777;padding:10px}.right-column{display:flex;flex-direction:column;width:55%}.tools-frame{width:90%;height:397px;border:4px solid #777;padding:20px;background:#222}.tools-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;justify-content:center}.tool-item{width:90px;height:90px;background:#222;display:flex;justify-content:center;align-items:center;border:3px solid #777;transition:transform .2s ease,background .2s ease;cursor:pointer}.tool-item:hover{transform:scale(1.1);background:#333}.tool-icon{width:80%;height:80%;object-fit:contain}.description-frame{width:100%;background:#222;border:4px solid #777;min-height:130px;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden;box-sizing:border-box}.description-content{padding:20px;font-size:14px;word-wrap:break-word;overflow-wrap:break-word;white-space:normal;text-align:justify;max-width:100%;overflow-x:hidden;overflow-y:auto;box-sizing:border-box}@media (max-width: 700px),(max-height: 700px){.inventory-container,{transform:scale(.9) translate(-55%,-55%)}}.contact-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(90vw,900px);height:auto;max-height:90vh;background:#1a1a1a;border:8px solid #555;padding:clamp(10px,2vw,30px);box-shadow:inset 0 0 10px #0009;font-family:"Press Start 2P",sans-serif;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;z-index:1000;overflow-y:auto;overflow-x:hidden;box-sizing:border-box;font-size:clamp(.75rem,1vw,1rem)}.contact-header{width:100%;background:#333;padding:8px;font-size:14px;color:#ddd;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center;border-bottom:4px solid #777;position:relative}.contact-form{display:flex;flex-direction:column;width:90%;padding:20px;align-items:center}.contact-form input,.contact-form textarea{width:100%;background:#222;color:#fff;border:3px solid #777;padding:10px;margin:10px 0;font-size:14px;font-family:"Press Start 2P",sans-serif}.contact-form button{background:#ff9800;color:#fff;border:3px solid #b66a00;padding:10px;font-size:16px;font-family:"Press Start 2P",sans-serif;cursor:pointer;margin-top:10px;transition:background .2s,border-color .2s;align-self:center}.contact-form button:hover{background:#e68900;border-color:#950}.contact-divider{width:90%;height:4px;background:#777;margin:20px 0}.contact-bottom-section{display:flex;justify-content:space-between;width:90%;margin-top:10px}.contact-resume{width:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;gap:10px}.contact-resume span{font-size:14px;font-family:"Press Start 2P",sans-serif;color:#fff;text-align:center}.resume-container{width:80px;height:80px;background:#222;border:3px solid #777;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease,background .2s ease}.resume-container:hover{transform:scale(1.1);background:#333}.resume-icon{width:50px;height:50px;background-size:contain;background-repeat:no-repeat}.contact-social{width:65%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.contact-social span{font-size:14px;font-family:"Press Start 2P",sans-serif;color:#fff;text-align:center}.social-icons-container{display:flex;gap:15px}.social-box{width:80px;height:80px;background:#222;border:3px solid #777;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease,background .2s ease}.social-box:hover{transform:scale(1.1);background:#333}.social-icon{width:50px;height:50px;background-size:contain;background-repeat:no-repeat}@media (max-width: 700px),(max-height: 700px){.contact-container{transform:scale(.9) translate(-55%,-55%)}}.projects-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(90vw,900px);height:auto;max-height:90vh;background:#1a1a1a;border:8px solid #555;padding:clamp(10px,2vw,30px);box-shadow:inset 0 0 10px #0009;font-family:"Press Start 2P",sans-serif;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;z-index:1000;overflow-y:auto;overflow-x:hidden;box-sizing:border-box;font-size:clamp(.75rem,1vw,1rem)}.projects-header{width:100%;background:#333;padding:8px;font-size:14px;color:#ddd;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center;border-bottom:4px solid #777;position:relative}.close-button{background:#a00;color:#fff;border:2px solid #600;padding:5px 10px;font-size:12px;cursor:pointer;transition:background .2s,border-color .2s}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px;width:100%;max-width:800px;padding:30px;justify-content:center;align-items:stretch}.project-frame{width:100%;height:100%;max-width:340px;background:#222;border:4px solid #777;padding:20px;text-align:center;font-size:14px;font-family:"Press Start 2P",sans-serif;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:space-between;transition:transform .2s ease,background .2s ease;cursor:pointer;gap:12px}.project-frame:hover{transform:scale(1.06);background:#333}.project-image{width:100%;max-width:240px;height:190px;object-fit:contain;border-radius:6px;border:3px solid #555}.project-title{font-size:14px;text-transform:uppercase;margin-top:12px}.project-description{font-size:12px;color:#bbb;text-align:center;margin-top:5px;line-height:1.5}@media (max-width: 700px),(max-height: 700px){.projects-container,{transform:scale(.9) translate(-55%,-55%)}}.overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:999;overflow:hidden}.project-details-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(90vw,1280px);height:auto;max-height:90vh;background:#1a1a1a;border:8px solid #555;padding:clamp(10px,2vw,30px);box-shadow:inset 0 0 10px #0009;font-family:"Press Start 2P",sans-serif;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;z-index:1000;overflow-y:auto;overflow-x:hidden;box-sizing:border-box;font-size:clamp(.75rem,1vw,1rem)}.project-details-header{width:100%;background:#333;padding:8px;font-size:14px;color:#ddd;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center;border-bottom:4px solid #777}.header-buttons{display:flex;gap:10px}.back-button,.close-button,.back-to-contributions{background:#444;color:#fff;border:2px solid #777;padding:6px 15px;font-size:14px;cursor:pointer;transition:background .2s ease,border-color .2s ease}.back-button:hover,.back-to-contributions:hover{background:#666;border-color:#999}.close-button{background:#a00;border:2px solid #600}.close-button:hover{background:red;border-color:#c00}.project-details-content{display:flex;width:100%;height:100%;flex-grow:1;padding:0}.categories-menu{width:280px;background:#222;border-right:4px solid #777;padding:15px;display:flex;flex-direction:column;gap:10px;flex-shrink:0}.category-item{background:#333;padding:10px;border:2px solid #777;cursor:pointer;text-align:center;transition:background .2s ease,border-color .2s ease}.category-item:hover{background:#555;border-color:#999}.category-item.active{background:#ff9800;border-color:#b66a00;color:#000}.content-display{flex-grow:1;padding:20px;text-align:left;font-size:14px;background:#222;border-left:4px solid #777;min-height:600px;display:flex;align-items:flex-start;justify-content:flex-start;overflow:hidden}.scrollable-content{width:100%;max-height:600px;overflow-y:auto;padding-right:10px}.scrollable-content::-webkit-scrollbar{width:8px}.scrollable-content::-webkit-scrollbar-thumb{background:#777;border-radius:4px}.scrollable-content::-webkit-scrollbar-track{background:#333}.overview-container{display:flex;flex-direction:column;align-items:center;text-align:center;padding-bottom:20px}.overview-media{display:flex;flex-direction:column;align-items:center;width:100%;padding-bottom:10px}.overview-media iframe,.overview-media video,.overview-media img{width:90%;max-width:600px;border-radius:5px;border:3px solid #555;display:block;margin:0 auto}.video-disclaimer{font-size:11px;color:#aaa;text-align:center;line-height:1.5;max-width:600px;margin-top:5px}.overview-text,.contribution-section p{line-height:1.2;font-size:14px;text-align:justify;margin-bottom:15px}.contributions-list{list-style:none;padding:0}.contribution-item{background:#333;padding:12px;margin-bottom:12px;border:2px solid #777;cursor:pointer;transition:background .2s ease,border-color .2s ease}.contribution-item:hover{background:#555;border-color:#999}.contribution-details{padding:20px;background:#333;border-radius:8px;border:3px solid #777}.contribution-section{margin-bottom:25px;padding:10px}.contribution-title{font-size:14px;font-weight:700;text-transform:uppercase;color:#fff;margin-bottom:10px;border-bottom:2px solid #777;padding-bottom:5px}.contribution-section img,.contribution-section video{width:100%;max-width:500px;border-radius:5px;border:3px solid #555;margin-top:10px;display:block;margin-left:auto;margin-right:auto}@media (max-width: 768px){.overview-container{flex-direction:column;text-align:center}.overview-media{max-width:100%}.overview-text{font-size:14px}.contribution-media{flex-direction:column;align-items:center}.project-details-container{width:90%;height:auto;max-height:90vh}.categories-menu{width:100%;border-right:none;border-bottom:4px solid #777;flex-direction:row;justify-content:center;overflow-x:auto;padding:10px 0}.category-item{padding:8px 15px;white-space:nowrap}}h4{font-size:1.25em;margin-top:1em;margin-bottom:.5em}strong{font-weight:700}@media (max-width: 700px),(max-height: 700px){.project-details-container,{transform:scale(.9) translate(-55%,-55%)}}
