@import"https://fonts.googleapis.com/css2?family=Anta&family=Audiowide&family=Nova+Square&family=Pixelify+Sans:wght@400..700&family=Share+Tech+Mono&display=swap";.anta-regular{font-family:Anta,serif;font-weight:400;font-style:normal}.pixelify-sans-400{font-family:Pixelify Sans,serif;font-optical-sizing:auto;font-weight:700;font-style:normal}.share-tech-mono-regular{font-family:Share Tech Mono,serif;font-weight:400;font-style:normal}.audiowide-regular{font-family:Audiowide,serif;font-weight:400;font-style:normal}.nova-square-regular{font-family:Nova Square,serif;font-weight:400;font-style:normal}:root{--water-gradient: linear-gradient(to bottom, #4b6cb7, #182848);--primary-color: rgb(59, 56, 53);--primary-gradient: linear-gradient(to bottom,rgb(50, 48, 44), rgb(59, 56, 53));--background-color: #000000;--background-gradient: linear-gradient(to right, black, rgb(22, 22, 22), black);--dark-primary: #000000;--darker-primary: #0a4c00;--light-primary: #917f63;--light-primary-gradient: linear-gradient(to bottom,#947f5e, #917f63, #917f63, #947f5e);--link-color: #15ff00;--text-color: #ffffff;--text-dark-color: #000000;--text-secondary-dark-color: #082300;--text-date-color: #005e11;--text-date-color-light: #009e1d;--highlight-color: #00ff00;--highlight-color2: #008400;--button-color: #444;--button-hover-color: #555;--button-pressed-color: #2e2e2e;--image-hover-scale: 1.05;--shadow-color: rgba(0, 0, 0, .1);--grid-background-color: #000000;--toggle-button-text-color: #fff;--toggle-hover-color: #003002;--toggle-button-color: #015604;--game-color-one: #a0a0a0;--game-color-two: #787878;--light-grey: #b7b7b7;--light-grey2: #9f9f9f}.home-gradient{position:relative;display:flex;justify-content:center;align-items:center;min-height:100vh;width:100%;overflow:hidden;background:var(--background-gradient)}header *{font-family:Anta,sans-serif}html,body{margin:0;padding:0;width:100%;min-height:100vh;display:flex;flex-direction:column;background:var(--background-color);overflow-x:hidden}main{flex:1;width:100%}#Page-Title{font-family:Audiowide,sans-serif;text-align:center;padding:15;color:var(--text-color)}.portfolio-container{height:100%}body{font-family:Share Tech Mono,serif;margin:0;padding:0;background-color:var(--background-color);color:var(--text-color)}header{text-align:center;background-color:var(--background-color);z-index:20}nav a{border-radius:5px;padding:10px 20px;background-color:var(--dark-primary);color:var(--text-color);text-decoration:none}nav a.active{background-color:var(--darker-primary);color:var(--highlight-color)}#pixel-art-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;padding:20px}#pixel-art-gallery img{width:100%}#social-links{text-align:center;margin-top:40px}#social-links ul{list-style:none;padding:0}#social-links ul li{display:inline;margin:0 10px}#social-links ul li a{color:var(--link-color);text-decoration:none}#social-links ul li a:hover{text-decoration:underline}#projects{font-family:Nova Square,serif;max-width:90%;margin:20px auto}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,450px));gap:30px;justify-content:center;align-items:stretch}.project-card{background:var(--light-primary-gradient);padding:16px;border-radius:12px;color:var(--text-dark-color);box-shadow:0 4px 12px #0000001a;transition:transform .2s ease,box-shadow .3s ease}.project-card:hover{transform:translateY(-6px);box-shadow:0 8px 24px #0003}.project-card a{color:var(--link-color);text-decoration:none}.project-card a:hover{text-decoration:underline}.project-date{font-size:1em;color:var(--text-date-color-light)}.project-card h3{margin-top:0;font-size:1.5em;margin-bottom:.4em}.project-card p{margin:.4em 0;line-height:1.5;font-size:.95em}.project-tech{font-size:.85em;font-weight:600;color:var(--text-secondary-color);margin-top:.4em}.project-card img.project-image{width:100%;height:auto;max-height:220px;object-fit:cover;border-radius:8px;margin-bottom:15px;box-shadow:0 2px 8px #0000000d;background:var(--light-primary-gradient)}#games{font-family:Nova Square,serif;max-width:90%;margin:20px auto}.game-card{background:linear-gradient(to bottom right,var(--game-color-one),var(--game-color-two));color:#333}.game-card a{color:var(--link-color);text-decoration:none}.game-card a:hover{text-decoration:underline}#resume{max-width:80%;margin:20px auto;padding:20px;border-radius:8px}.profile-pic{width:100%;border-radius:8px}.skills{margin-top:20px}.skills h3{margin-bottom:10px}.skills ul{list-style:none;padding:0;color:var(--text-dark-color)}.skills ul li{background:var(--light-grey);padding:10px;margin-bottom:5px;border-radius:4px}nav{padding:25px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;background:var(--background-color)}#work-experience,#education{font-family:Nova Square,serif;margin-top:20px;color:var(--text-color)}.experience-item,.education-item{background-color:var(--light-grey2);padding:20px 24px 20px 20px;margin-bottom:2rem;clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%);box-sizing:border-box;border-radius:0;color:#222;font-family:Nova Square,serif;flex-direction:column;gap:12px;box-shadow:0 0 8px #00000026}.experience-item h3,.education-item h3{margin-top:0;color:var(--text-dark-color);font-size:1.5rem}.company,.institution{font-style:italic;color:var(--text-secondary-dark-color);font-size:1rem}.date{color:var(--text-date-color)}.experience-item ul,.education-item ul{margin:10px 0 0 20px;padding:0}.experience-item ul li,.education-item ul li{margin-bottom:10px}.threejs-container{width:100%;height:100%;border:2px solid var(--primary-color);overflow:hidden}.threejs-window{width:100%;height:100%;border:none}#aj-model{width:50%;height:80%;border:none}.gallery-container{font-family:Pixelify Sans,sans-serif;font-size:1.3rem;display:flex;flex-direction:row;width:100%;align-items:flex-start;gap:1rem;box-sizing:border-box;padding:1rem}.sidebar{width:200px;flex-shrink:0;flex-grow:0;box-sizing:border-box;padding:1rem;text-align:center;background-color:var(--background-color);border-radius:10px;box-shadow:2px 0 5px #0000004d;position:sticky;top:1rem;height:fit-content;outline:var(--highlight-color);outline-width:2px;outline-style:solid}.gallery{flex-grow:1;padding:1rem;border-radius:20px;box-sizing:border-box;min-width:0;outline:var(--highlight-color);outline-width:2px;outline-style:solid}.collection{border-radius:8px;margin:.5rem 0;padding:.5rem;cursor:pointer;text-align:center;transition:background-color .3s ease;outline:var(--highlight-color);outline-width:2px;outline-style:solid}.collection:hover{background-color:var(--highlight-color2)}#gallery-title{text-align:center;font-size:1.5rem;margin-bottom:1rem}#gallery-info{text-align:center;font-size:1rem;margin-bottom:1rem}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.grid img{width:100%;height:100%;aspect-ratio:1 / 1;object-fit:cover;background-color:var(--grid-background-color);border-radius:8px;transition:transform .3s ease,box-shadow .3s ease}.grid img:hover{transform:scale(1.05);box-shadow:0 4px 12px #0003}.centered-image{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000;width:auto;max-width:90%;max-height:90%;border:2px solid var(--highlight-color);box-shadow:0 0 15px #00000080}.overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;z-index:999;display:none}.overlay.active{display:block}#model-viewer-container{position:relative;height:100%;width:100%}#model-viewer{width:100%;height:100%}#model-viewer canvas{width:100%;height:100%}footer{text-align:center;padding:20px;background-color:var(--background-gradient);color:var(--text-color)}.portfolio-container{display:flex;gap:20px;height:calc(100vh - 100px);padding-left:20px;padding-right:20px;font-family:Share Tech Mono,serif;color:var(--text-dark-color);background-color:var(--background-color);position:relative;justify-content:space-between;align-items:flex-start;z-index:2}.model-list,.shader-selection{flex:0 0 25%;height:fit-content;text-align:center}.model-list,.shader-selection{width:300px;z-index:3;background:#fff;box-shadow:0 4px 6px #0000001a}.viewer-container{flex:1 1 auto;height:100%;display:flex;justify-content:center;align-items:center}.viewer-container{position:absolute;left:0;width:100%;height:calc(100vh - 100px);z-index:0}.model-list{font-family:Share Tech Mono,serif;text-align:center;background:var(--light-grey2);width:25%;padding:20px;display:flex;height:fit-content;flex-direction:column;border-radius:0;box-sizing:border-box;clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%);color:var(--text-dark-color, #222);box-shadow:0 4px 6px #0000001a}.model-item{background-color:#000;color:#fff;font-size:.9rem;padding:12px 16px;margin-bottom:12px;cursor:pointer;border-radius:0;box-sizing:border-box;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%);transition:background-color .3s ease;display:flex;justify-content:center;align-items:center}.model-item:hover{background-color:var(--darker-primary)}.model-item.active{background-color:var(--highlight-color2)}.model-item h3{margin:0;font-weight:600}.model-item img{width:100%;border-radius:0;pointer-events:none}#3d-viewer{width:100%;height:100%}#3d-viewer canvas{width:100%!important;height:100%!important;display:block}.shader-selection{background:var(--light-grey2);width:25%;padding:20px;display:flex;height:fit-content;flex-direction:column;border-radius:0;box-sizing:border-box;clip-path:polygon(20px 0,100% 0,100% 100%,20px 100%,0 calc(100% - 20px),0 20px);color:var(--text-dark-color, #222);box-shadow:0 4px 6px #0000001a}.shader-item{background-color:#000;color:#fff;font-size:.9rem;padding:12px 16px;margin-bottom:12px;cursor:pointer;border-radius:0;box-sizing:border-box;clip-path:polygon(10px 0,100% 0,100% 100%,10px 100%,0 calc(100% - 10px),0 10px);transition:background-color .3s ease;display:flex;justify-content:center;align-items:center}.shader-item:hover{background-color:var(--darker-primary)}.shader-item h3{margin:0;font-weight:600}.shader-item.active{background-color:var(--highlight-color2)}.toggle-btn{background-color:var(--toggle-button-color);color:var(--toggle-button-text-color);border:none;padding:10px 20px;text-align:center;text-decoration:none;display:inline-block;font-size:16px;margin:10px 0;cursor:pointer;border-radius:5px;font-family:Share Tech Mono,serif}.toggle-btn:hover{background-color:var(--toggle-hover-color)}#home-canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none}#hero{position:relative;z-index:10;color:#fff;text-align:center;padding:2rem;border-radius:10px;max-width:90vw;box-sizing:border-box;text-shadow:0px 0px 20px #ffffff}.nav-container{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:var(--background-color);border-bottom:2px solid var(--highlight-color);position:relative}#menu-toggle{display:none;position:relative;z-index:1000;background:none;border:none;font-size:2rem;color:var(--text-color);cursor:pointer}nav#navbar{flex-wrap:wrap;justify-content:center;gap:1rem;width:100%}.mobile-only{display:none}@media screen and (max-width: 768px){#menu-toggle{display:block}.mobile-only{display:inline-block;margin-left:1rem}.site-title{display:block;font-size:1.5rem;margin-left:1rem}nav#navbar{display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:var(--background-color);position:absolute;top:100%;left:50%;transform:translate(-50%);width:max-content;z-index:99;padding:1rem;border-radius:8px;border:var(--highlight-color)}nav#navbar.show{display:flex;outline:var(--highlight-color);outline-width:2px;outline-style:solid}nav#navbar a{margin:8px 0;padding:8px 16px;width:60%;text-align:center}}@media screen and (min-width: 769px){#menu-toggle{display:none}}.site-title{font-family:Audiowide,sans-serif;font-size:1.5rem;color:var(--text-color);margin-left:1rem}#about{max-width:80%;margin:20px auto;padding:20px;border-radius:8px}.about-content{display:flex;align-items:flex-start;gap:20px}.about-text{flex:1 1 auto}.threejs-container#aj-model{flex:0 0 auto;width:400px;height:400px;display:flex;justify-content:center;align-items:center;margin:0 auto}@media screen and (max-width: 768px){.about-content{flex-direction:column;align-items:center}.about-text{width:100%;flex:none;height:auto;max-width:400px}.threejs-container#aj-model{width:100%;max-width:400px;height:400px;margin:0 auto}}html{font-size:16px}@media screen and (max-width: 768px){html{font-size:14px}}@media screen and (max-width: 480px){html{font-size:12px}#projects{padding:20px}}@media screen and (max-width: 360px){html{font-size:11px}}.desktop-only{display:flex}.mobile-warning{display:none;text-align:center;padding:2rem;background-color:var(--primary-color);color:var(--text-color);border-radius:8px;margin:2rem;font-size:1.1rem}@media screen and (max-width: 768px){.desktop-only{display:none}.mobile-warning{display:block}}@media screen and (max-width: 768px){.gallery-container{flex-direction:column;align-items:stretch;padding:1rem}.sidebar{width:100%;box-shadow:none;position:static;height:auto;margin-bottom:1rem}.gallery{width:100%;padding:.5rem;border-radius:10px}.grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem}.grid img{aspect-ratio:1 / 1}}footer{background-color:var(--background-color);text-align:center;border-top:1px solid var(--highlight-color)}.footer-links{list-style:none;padding:0;margin:0;display:flex;justify-content:center;flex-wrap:wrap;gap:1.5rem}.footer-links a{text-decoration:none;color:var(--highlight-color);font-weight:500}.footer-links a:hover{text-decoration:underline}.outer-cut-corner{position:relative;width:100%;padding:12px;background:var(--highlight-color2);clip-path:polygon(0 0,100% 0,100% 100%,20px 100%,0 calc(100% - 20px));box-sizing:border-box;border-radius:0;color:#000;box-shadow:0 0 10px var(--highlight-color2);transition:transform .2s ease,box-shadow .3s ease}.outer-cut-corner:hover{transform:translateY(-6px);box-shadow:0 0 20px var(--highlight-color2)}.inner-cut-corner{background:var(--background-color);clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,20px 100%,0 calc(100% - 20px));padding:16px;box-sizing:border-box;border-radius:0;color:var(--text-color);font-family:Nova Square,serif;display:flex;flex-direction:column;gap:8px}.inner-cut-corner h3{margin-top:0;font-size:1.3em;margin-bottom:.4em;color:var(--text-color)}.inner-cut-corner p{margin:.4em 0;line-height:1.5;font-size:.95em;color:var(--text-color)}.inner-cut-corner .project-date{color:var(--text-date-color-light)}.inner-cut-corner .project-tech{font-size:.85em;font-weight:600;color:var(--text-secondary-color);margin-top:.4em}.inner-cut-corner a{color:var(--link-color);text-decoration:none}.inner-cut-corner a:hover{text-decoration:underline}.outlined-image{border:3px solid var(--highlight-color);border-radius:4px;box-shadow:0 0 8px var(--highlight-color);width:100%;object-fit:cover;margin-bottom:15px}.project-card,.outer-cut-corner{height:100%;display:flex;flex-direction:column}.inner-cut-corner{flex-grow:1;display:flex;flex-direction:column}#about{max-width:90%;margin:2rem auto;justify-content:center}.about-content{display:flex;gap:2rem;align-items:stretch;flex-wrap:wrap;justify-content:center}.about-card{background-color:#d3d3d3;padding:2rem;flex:1 1 350px;box-sizing:border-box;clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%);border-radius:0;box-shadow:0 0 8px #00000026;color:#333;font-family:Nova Square,serif}.about-3js-outer{flex:1 1 350px;padding:12px;background:var(--highlight-color2);clip-path:polygon(0 0,100% 0,100% 100%,20px 100%,0 calc(100% - 20px));box-sizing:border-box;box-shadow:0 0 10px var(--highlight-color2);border-radius:0;display:flex;flex-direction:column}.about-3js-inner{background:var(--background-color);clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,20px 100%,0 calc(100% - 20px));padding:16px;box-sizing:border-box;border-radius:0;color:var(--text-color);font-family:Nova Square,serif;display:flex;flex-direction:column;gap:8px;height:100%}.about-text-card{background-color:var(--light-grey);padding:20px 24px 20px 20px;clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%);box-sizing:border-box;border-radius:0;color:#222;font-family:Nova Square,serif;display:flex;flex-direction:column;gap:12px;max-width:1000px;flex:1 1 350px;font-size:1.3rem}.about-3js-outer-new{flex:0 0 auto;padding:16px;background:var(--highlight-color2);clip-path:polygon(0 0,100% 0,100% 100%,20px 100%,0 calc(100% - 20px));box-sizing:border-box;box-shadow:0 0 12px var(--highlight-color2);border-radius:0;display:flex;flex-direction:column;max-height:400px}.about-3js-inner-new{background:#000;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,20px 100%,0 calc(100% - 20px));box-sizing:border-box;border-radius:0;color:#eee;font-family:Nova Square,serif;display:flex;flex-direction:column;gap:10px;height:100%;max-height:100%}#social-links ul{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;padding:0;list-style:none;margin-top:1rem}#social-links li a{display:inline-block;padding:.75rem 1.5rem;background:#000;color:var(--highlight-color);font-family:Nova Square,serif;font-weight:600;text-decoration:none;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px));transition:background-color .3s,transform .2s;box-shadow:0 0 8px var(--highlight-color)}#social-links li a:hover{background-color:var(--highlight-color2);transform:translateY(-4px);color:#fff}.project-links{display:flex;gap:1rem;margin-top:.5rem}.project-links a{flex:1;text-align:center;padding:.4rem .8rem;text-decoration:none;border-radius:4px}.project-links a:hover{background-color:var(--darker-primary)}
