a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}table{border-collapse:collapse;border-spacing:0}@font-face{font-family:VT323;font-style:normal;font-weight:400;font-display:swap;src:url(fonts/vt323-v18-latin-regular.woff2) format('woff2'),url(fonts/vt323-v18-latin-regular.ttf) format('truetype')}:root{--text-scale:1.0}*{box-sizing:border-box}body{background:#383838;color:#14fdce;font-family:VT323,ui-monospace,'Cascadia Mono','Segoe UI Mono','Roboto Mono',monospace;font-size:clamp(calc(20px * var(--text-scale)), calc(2vw * var(--text-scale)), calc(28px * var(--text-scale)));-webkit-font-smoothing:none;line-height:1.2;margin:0;padding:0;overflow-x:hidden}h1{font-size:clamp(2rem, 4vw, 3rem);margin-bottom:1.5rem;text-transform:uppercase}h2{font-size:clamp(calc(1.7rem * var(--text-scale)), calc(3.5vw * var(--text-scale)), calc(2.5rem * var(--text-scale)));margin-bottom:1rem;text-transform:uppercase}h3{font-size:clamp(calc(1.3rem * var(--text-scale)), calc(2.5vw * var(--text-scale)), calc(2rem * var(--text-scale)));margin-bottom:.5rem}p{margin-bottom:1.5rem}a,a:visited{border-bottom:.2rem solid #14fdce;color:#14fdce;text-decoration:none}a:active,a:focus,a:hover{background-color:#14fdce;color:#031e11}.piece{display:block;height:100%;left:0;top:0;width:100%;position:fixed}.noclick{pointer-events:none}.frame{background-color:transparent;border-radius:2rem;border:clamp(.3rem,1vw,1rem) solid;border-bottom-color:#121212;border-left-color:#080808;border-right-color:#080808;border-top-color:#020202;box-shadow:inset 0 0 18rem #000,inset 0 0 3rem #000,0 0 10rem #000;height:96%;position:fixed;top:2%;left:2%;width:96%;overflow:hidden;pointer-events:none;z-index:9999;will-change:transform;transform:translateZ(0)}.content-wrapper{position:fixed;width:100%;height:100vh;overflow:hidden}.output{animation:crt-output 80ms steps(2,end) infinite;background-color:#031e11;overflow-y:auto;overflow-x:hidden;position:absolute;top:0;left:0;right:0;bottom:0;padding:clamp(.8rem,2vw,2rem);pointer-events:auto;text-shadow:0 .2rem 1rem #0c7b46;-ms-overflow-style:none;scrollbar-width:none;will-change:opacity}@keyframes crt-output{0%{opacity:.9}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.output{animation:none;opacity:1}.glow{animation:none;opacity:.14}.page{animation:none}.typing-cursor{animation:none;opacity:1}}.scanlines{background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,0) 50%,rgba(0,0,0,.2) 70%,rgba(0,0,0,.6));background-size:100% .3rem;border-radius:2rem;position:fixed;z-index:5;will-change:transform;transform:translateZ(0)}.glow{animation:crt-glow 15s ease-in-out infinite;background:radial-gradient(circle at center,#1bd459 0,rgba(27,212,89,.88) 58%,rgba(21,235,92,.57) 80%,rgba(18,139,34,.805) 93%,rgba(19,149,36,.768) 100%);opacity:.15;pointer-events:none;position:fixed;z-index:5;will-change:opacity;transform:translateZ(0)}@keyframes crt-glow{0%{opacity:.12}20%{opacity:.14}40%{opacity:.16}60%{opacity:.22}80%{opacity:.16}100%{opacity:.14}}::selection{background-color:#12d7af;color:#031e11}.navbar{position:sticky;top:0;padding:clamp(.5rem,1vw,1rem);background:0 0;display:flex;align-items:center;gap:clamp(.3rem,1vw,1.5rem);justify-content:center;flex-wrap:wrap;margin-bottom:clamp(.5rem,1vw,1rem)}.navbar a{color:#14fdce;border:none;font-size:clamp(calc(1rem * var(--text-scale)), calc(1.5vw * var(--text-scale)), calc(1.4rem * var(--text-scale)));cursor:pointer;padding:clamp(.3rem,.5vw,.5rem) clamp(.5rem,.8vw,1rem);transition:all .2s;text-transform:uppercase;white-space:nowrap}.nav-arrow{display:inline-flex;align-items:center;line-height:1;transform:translateY(-.05em);font-family:inherit;font-size:inherit;color:inherit;text-transform:inherit;background:0 0;border:none;padding:0;cursor:pointer}.nav-link:hover{background-color:rgba(20,253,206,.2);border-radius:4px;color:#14fdce}.nav-link.focused{background-color:rgba(20,253,206,.2);border-radius:4px}.nav-link.focused:not(.active)::after{content:" ↵"}.detail-content a.detail-link.kb-focus{outline:2px solid #14fdce;outline-offset:2px;border-radius:2px}.navbar a.active{background-color:#14fdce;color:#031e11;border-radius:4px}.page{display:none;animation:fadeIn .3s ease-in}.page.active{display:block;content-visibility:auto;contain-intrinsic-size:100vh}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.home-content{max-width:min(1200px,90vw);margin:auto}.ascii-wrapper{gap:0}.ascii-tooltip-wrapper{position:relative;width:fit-content;margin:0 auto}.tooltip-ascii{position:fixed;left:0;top:0;transform:translate3d(var(--tooltip-tx,-10000px),var(--tooltip-ty,-10000px),0);opacity:0;visibility:hidden;transition:opacity 50ms;background:#000;color:#e4e4e4;padding:6px 10px;font-size:clamp(calc(.95rem * var(--text-scale)), calc(1.45vw * var(--text-scale)), calc(1.2rem * var(--text-scale)));white-space:normal;text-align:center;width:max-content;max-width:min(90vw,34rem);z-index:12;pointer-events:none}.ascii-tooltip-wrapper.is-ready.is-hovering .tooltip-ascii{opacity:1;visibility:visible}.ascii-art{font-family:'Courier New','Lucida Console',monospace;font-size:clamp(.1vh, 1.3vh, .8vh);letter-spacing:-1.1px;line-height:.8;color:#14fdce;padding:0;white-space:pre;overflow:hidden;text-shadow:0 0 5px rgba(20,253,206,.3);flex-shrink:0;display:block;text-align:center;user-select:none}.nameTyping{display:flex;text-align:center;align-items:center;justify-content:center;font-size:clamp(30px, 6vw, 75px);margin-top:clamp(1rem,2vh,2rem)}.about-section{flex:1;min-width:0}.aboutMeText{margin:0;padding:0;line-height:1.6}.typing-cursor{display:inline-block;width:15px;height:1.2em;background-color:currentColor;animation:blink-cursor .75s step-end infinite;vertical-align:text-bottom;margin-left:2px}@keyframes blink-cursor{0%,50%{opacity:1}100%,51%{opacity:0}}.folder-manager{display:flex;gap:0;height:clamp(50vh,75vh,78vh);margin-top:clamp(.5rem,1vw,1rem);max-width:min(1200px,88vw);margin-left:auto;margin-right:auto}.folder-list{flex:0 0 clamp(25%,28%,32%);background-color:rgba(3,30,17,.6);border:2px solid #14fdce;padding:clamp(.6rem,1vw,1rem);height:100%;overflow-y:auto}.folder-detail{flex:1;background-color:rgba(3,30,17,.9);border:2px solid #14fdce;padding:0;overflow:hidden;height:100%;position:relative;display:flex;flex-direction:column}.folder-item{padding:clamp(.5rem,.8vw,.8rem) clamp(.8rem,1vw,1rem);cursor:pointer;margin-bottom:.5rem;border-radius:4px;transition:all .2s;user-select:none;font-size:clamp(calc(1.2rem * var(--text-scale)), calc(1.4vw * var(--text-scale)), calc(1.4rem * var(--text-scale)))}.folder-item:hover{background-color:rgba(20,253,206,.1)}.folder-item.selected{background-color:#14fdce;color:#031e11;font-weight:650}.folder-icon{margin-right:.5rem}.detail-content-wrapper{flex:1;overflow-y:auto;overflow-x:hidden;padding:clamp(1rem,2vw,2rem);padding-bottom:0}.detail-content h3{margin-top:0;color:#14fdce}.detail-content{padding-bottom:1rem}.detail-content p{margin-bottom:1.5rem;font-size:clamp(calc(1.35rem * var(--text-scale)), calc(1.4vw * var(--text-scale)), calc(1.5rem * var(--text-scale)))}.detail-content a{display:inline-block;margin-right:1rem}.date{font-style:italic;font-size:clamp(calc(1.2rem * var(--text-scale)), calc(1vw * var(--text-scale)), calc(1rem * var(--text-scale)));margin-top:-4px;margin-bottom:12px;color:#ccc}.tech-stack{margin-top:1rem;font-size:clamp(calc(.85rem * var(--text-scale)), calc(1vw * var(--text-scale)), calc(1rem * var(--text-scale)));color:#29caaa}.contact-container{max-width:min(600px,90vw);margin:clamp(4rem,4vw,4rem) auto;text-align:center}.contact-container h2{margin-bottom:clamp(3rem,3vw,3rem)}.contact-links{display:flex;flex-direction:column;gap:clamp(2.5rem,2vw,2rem);align-items:center}.contact-link{font-size:clamp(calc(1.1rem * var(--text-scale)), calc(1.5vw * var(--text-scale)), calc(1.5rem * var(--text-scale)));display:block;padding:clamp(.8rem,1vw,1rem) clamp(1.5rem,2vw,2rem);border:2px solid #14fdce;border-radius:4px;min-width:min(300px,80vw);max-width:min(400px,90vw);transition:all .2s}.contact-link.selected{background-color:#14fdce;color:#031e11;font-weight:650}footer{margin-top:clamp(2rem,3vw,3rem);margin-bottom:1rem;font-size:clamp(calc(1.3rem * var(--text-scale)), calc(.9vw * var(--text-scale)), calc(.85rem * var(--text-scale)));color:#ccc;text-align:center}.skills-ribbon{flex-shrink:0;background-color:#12d7af;color:#031e11;padding:.1rem 1rem;font-size:clamp(calc(1.1rem * var(--text-scale)), calc(.9vw * var(--text-scale)), calc(.8rem * var(--text-scale)));border-top:1px solid #14fdce;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:650;font-style:italic}svg{vertical-align:middle;width:clamp(1rem,1.4vw,1.4rem);height:clamp(1rem,1.4vw,1.4rem)}@media (max-width:768px){.content-wrapper{height:100dvh}.output{padding:.75rem}.ascii-wrapper{max-width:100%;overflow:hidden}.ascii-art{font-size:clamp(2.5px, 1vw, 12px);line-height:1}.nameTyping{font-size:clamp(28px, 8vw, 48px);margin-top:1rem}.home-content{min-height:calc(100dvh - 4vh - 8rem);display:flex;flex-direction:column;justify-content:flex-start;align-items:center;padding-top:.75rem}.home-content>h1{margin-bottom:0}.navbar{gap:.35rem .6rem;padding:.75rem .5rem;margin-bottom:.75rem}.navbar a{font-size:1.05rem;padding:.45rem .7rem}.navbar .nav-arrow{display:none}.tooltip-ascii{display:none}.folder-manager{flex-direction:column;height:calc(100dvh - 4vh - 8rem);max-width:88vw;gap:.5rem;margin-top:.5rem}.folder-list{flex:0 0 auto;width:100%;max-height:32%;overflow-x:hidden}.folder-detail{flex:1 1 0;min-height:0;height:auto;max-width:100%}.folder-item{font-size:1rem;padding:.55rem .75rem;white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.3}.detail-content p{font-size:1rem}.detail-content-wrapper{padding:.9rem}.skills-ribbon{white-space:normal;font-size:.85rem}.footer,footer{max-width:88vw;margin-left:auto;margin-right:auto;padding:0 .5rem;overflow-wrap:break-word;word-wrap:break-word}}@media (max-width:600px){.ascii-tooltip-wrapper:hover .tooltip-ascii{visibility:hidden}.contact-container{margin-top:2rem}}@media (min-width:1800px){.folder-manager{max-width:1400px}.home-content{max-width:1200px}.contact-container{max-width:600px}}.detail-content-wrapper,.folder-list,.output,body,html{scrollbar-width:none;-ms-overflow-style:none}.detail-content-wrapper::-webkit-scrollbar,.folder-list::-webkit-scrollbar,.output::-webkit-scrollbar,body::-webkit-scrollbar,html::-webkit-scrollbar{display:none;width:0;height:0}