@font-face{font-family:mononokiRegular;font-display:swap;src:url(/fonts/mononoki-1.6/dist/mononoki-Regular.woff2)}@font-face{font-family:mononokiBold;font-display:swap;src:url(/fonts/mononoki-1.6/dist/mononoki-Bold.woff2)}*,::after,::before{box-sizing:border-box}body,html{margin:0;padding:0;overflow-x:hidden;overflow-y:auto;font-family:mononokiRegular,monospace;font-weight:400;font-style:normal;background:#000;scrollbar-gutter:stable;scrollbar-width:none;scroll-behavior:smooth}canvas,img,svg,video{display:block;max-width:100%}h1,h2,h3,p{overflow-wrap:break-word;text-rendering:optimizeLegibility}h1,h2,h3{text-wrap:balance;font-family:mononokiBold,monospace;font-weight:700}p{text-wrap:pretty;line-height:1.2}.col-4{grid-column:span 4}.col-6{grid-column:span 6}.col-8{grid-column:span 8}.col-12{grid-column:span 12}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.git-card img,main.content-container{width:100%;height:auto;overflow:hidden}main.content-container{position:relative;z-index:1;background:0 0}.row{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}.row.wide{margin-left:-100px;margin-right:-100px}.heading{margin-bottom:40px}.heading .section-title{font-size:2.5rem;margin:0}.heading .section-subtitle{font-size:1.1rem;margin:10px 0}.heading hr{border:0;border-bottom:1px dashed #666;margin:20px 0}@media (max-width:1024px){canvas{display:none}}@media (max-width:768px){.row{gap:15px}.row.wide{margin-left:-20px;margin-right:-20px}.col-12,.col-4,.col-6,.col-8{grid-column:span 12}.col-6.keep-half{grid-column:span 6}.heading .section-title{font-size:2.25rem}.heading .section-subtitle{font-size:1rem}}@media (max-width:480px){.row{gap:10px}.row.wide{margin-left:0;margin-right:0}.col-6.keep-half{grid-column:span 12}.heading{margin-bottom:20px}.heading .section-title{font-size:2rem}.heading .section-subtitle{font-size:.9rem}}section.section-hero-outer{width:100%;height:auto;background:linear-gradient(to right,#000 0,transparent 50%,#000 100%)}div.section-hero-inner{max-width:1120px;margin:0 auto;padding:80px 160px;background-color:rgba(0,0,0,.98);border:5px solid #0f0;border-top:none;border-bottom:none;color:#0f0}div.section-hero-inner *{color:#0f0}div.section-hero-inner img.portrait{display:block;width:200px;height:200px;border-radius:100%;overflow:hidden;margin-bottom:20px}div.section-hero-inner .hero-title{font-size:46px;margin:0}div.section-hero-inner .hero-subtitle{font-size:18px;margin:20px 0;line-height:1.35}div.section-hero-inner ul{list-style-type:none;padding:0}div.section-hero-inner ul li{margin:0;line-height:1.5}.git-card a,div.section-hero-inner a{text-decoration:none}div.section-hero-inner a:hover{border-bottom:2px solid #0f0}canvas.particle-canvas{width:100vw;height:100vh;position:fixed;top:0;left:0;z-index:0}@media (max-width:1024px){div.section-hero-inner{width:100%;margin:0;padding:60px;border:0}}@media (max-width:768px){div.section-hero-inner{padding:40px}}@media (max-width:480px){div.section-hero-inner{padding:20px}div.section-hero-inner .text-right{text-align:left}div.section-hero-inner img.portrait{margin:20px auto}div.section-hero-inner ul{margin:8px 0}div.section-hero-inner .row{gap:0}div.section-hero-inner hr+.row{margin:20px 0}}section.section-experience-outer{width:100%;margin:auto;backdrop-filter:grayscale(100%) blur(10px);background:linear-gradient(to right,rgba(255,255,255,.9)0,#fff 15%,#fff 85%,rgba(255,255,255,.9) 100%)}div.section-experience-inner{max-width:1120px;margin:0 auto;padding:80px 160px;color:#666}div.work-exp-card .job-company{font-size:1.5rem}div.work-exp-card .job-title{font-size:1rem;margin:0}div.work-exp-card .job-dates{font-size:.85rem;margin:0 0 15px}div.work-exp-card .job-tech{font-size:.75rem;margin:0}@media (max-width:768px){div.section-experience-inner{width:100%;margin:0;padding:40px;border:0}}@media (max-width:480px){div.section-experience-inner{padding:20px}}section.section-projects-outer{width:100%;margin:auto;background:linear-gradient(to bottom right,rgba(255,160,0,.96)0,#a000ff 100%)}div.section-projects-inner{max-width:1120px;margin:0 auto;padding:80px 160px;color:#fff}.git-card{margin-bottom:40px}.git-card img{display:block;margin:0;padding:0;border:0;outline:0;border-radius:8px}.git-card .project-title{font-size:1.25rem}.git-card .project-description{font-size:1rem}.git-card a{display:block;color:#fff;cursor:pointer;transition:transform .1s ease}.git-card a:hover{transform:translateY(-4px)}.git-card a:hover .project-title{text-decoration:underline}@media (max-width:768px){div.section-projects-inner{width:100%;margin:0;padding:40px;border:0}}@media (max-width:480px){div.section-projects-inner{padding:20px}}:root{--slide-size:280px}section.section-photo-outer{width:100%;margin:auto;background:#fff}div.section-photo-inner{max-width:calc(1120px + var(--slide-size)*2);margin:0 auto;padding:80px 0;position:relative}.slider{overflow:hidden;padding-left:50%;padding-right:50%;cursor:grab}.slider:active{cursor:grabbing}.slides{margin-left:calc(var(--slide-size)/2*-1);margin-right:calc(var(--slide-size)/2*-1);white-space:nowrap;font-size:0}.slides .slide,button.video-popup-close,ul.social-links{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.slides .slide{display:inline-block;width:var(--slide-size);height:var(--slide-size);box-sizing:border-box;overflow:hidden}.slides .slide img,.video-thumb img{display:block;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;-o-object-fit:cover;object-fit:cover}.slider-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none}.slider-overlay .slider-fade-l{position:absolute;top:0;left:0;width:var(--slide-size);height:100%;background:linear-gradient(to right,#fff 0,rgba(255,255,255,0) 100%)}.slider-overlay .slider-fade-r{position:absolute;top:0;right:0;width:var(--slide-size);height:100%;background:linear-gradient(to right,rgba(255,255,255,0)0,#fff 100%)}@media (max-width:768px){div.section-photo-inner{width:100%;margin:0;padding:40px 0;border:0}.slider-overlay{display:none}}@media (max-width:480px){div.section-photo-inner{padding:20px 0}}section.section-video-outer{width:100%;margin:auto;backdrop-filter:grayscale(100%);background:linear-gradient(to bottom,rgba(0,0,0,.9)0,#000 100%)}div.section-video-inner{max-width:1120px;margin:0 auto;padding:80px 160px;color:#ccc}.video-card{margin-bottom:40px}.video-description,.video-title{color:#ccc}.video-thumb{position:relative;width:100%;height:auto}.video-thumb img{height:auto}.video-thumb button.video-trigger{background:0 0;border:0;cursor:pointer;opacity:0}.video-thumb button.video-trigger:hover{opacity:1;background:rgba(0,0,0,.8)}.video-thumb button.video-trigger svg{display:block;width:80px;height:80px;position:absolute;top:50%;left:50%;margin-top:-40px;margin-left:-40px}.video-popup,.video-popup-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.video-popup{display:none;z-index:9999}.video-popup.active{display:block}.video-popup-overlay{background:rgba(0,0,0,.95);z-index:0}.video-popup-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1}button.video-popup-close,ul.social-links{display:block;margin:0;padding:0}button.video-popup-close{position:absolute;background:0 0;color:transparent;border:0;font-size:0;cursor:pointer}button.video-popup-close svg{display:block;width:50px;height:50px;fill:#fff}button.video-popup-close:active svg,button.video-popup-close:hover svg{fill:red}.video-container{position:relative;background:#000;aspect-ratio:16/9;overflow:hidden}.video-container #player,.video-thumb button.video-trigger{position:absolute;top:0;left:0;width:100%;height:100%}@media (max-width:768px){div.section-video-inner{width:100%;margin:0;padding:40px;border:0}}@media (max-width:480px){div.section-video-inner{padding:20px}}@media (min-aspect-ratio:16/9){button.video-popup-close{position:absolute;top:6px;right:-60px}.video-popup-content{height:100%;max-height:675px;width:auto;max-width:100vw}.video-container{width:auto;height:100vh;max-height:min(100vh,675px)}}@media (max-aspect-ratio:16/9){button.video-popup-close{position:absolute;top:-60px;right:6px}.video-popup-content{width:100%;max-width:1200px;height:auto;max-height:100vh}.video-container{width:100vw;height:auto;max-width:min(100vw,1200px)}}footer.section-footer-outer{width:100%;height:auto;background:#fff}div.section-footer-inner{max-width:1120px;margin:0 auto;padding:80px 160px;background-color:#fff}div.section-footer-inner p{color:#555}div.section-footer-inner hr{border:0;border-bottom:1px dashed #555;margin:20px 0}ul.social-links{list-style-type:none}ul.social-links li{display:inline-block;margin:0;padding:0}ul.social-links li a{display:block;padding:5px;opacity:.5}ul.social-links li a:hover{transform:translateY(-2px);opacity:1}ul.social-links li svg{display:block;width:38px;height:38px}ul.social-links li.svg-red a:hover{filter:brightness(0) saturate(100%) invert(27%) sepia(98%) saturate(7471%) hue-rotate(356deg) brightness(91%) contrast(115%)}ul.social-links li.svg-purple a:hover{filter:brightness(0) saturate(100%) invert(16%) sepia(99%) saturate(7404%) hue-rotate(295deg) brightness(93%) contrast(118%)}ul.social-links li.svg-blue a:hover{filter:brightness(0) saturate(100%) invert(26%) sepia(89%) saturate(1583%) hue-rotate(197deg) brightness(99%) contrast(101%)}@media (max-width:768px){div.section-footer-inner{width:100%;margin:0;padding:40px;border:0}}@media (max-width:480px){div.section-footer-inner{padding:20px}}