body{background:#000;overflow-x:hidden}#root{width:100%}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:auto}body{color:#fff;background:#000;font-family:Courier New,Lucida Console,monospace;overflow-x:hidden}.scroll-container{position:relative}.sticky-canvas{background:#000;width:100vw;height:100vh;position:sticky;top:0;overflow:hidden}.frame-canvas{width:100%;height:100%;display:block}.scroll-space{pointer-events:none;height:calc(1170px + 100vh)}.hex-label{z-index:1;opacity:0;pointer-events:none;flex-direction:column;gap:3px;transition:opacity .15s;display:flex;position:absolute}.hex-label--left{top:38%;left:6%}.hex-label--right{text-align:right;top:38%;right:6%}.hex-label--center{text-align:center;align-items:center;top:50%;left:50%;transform:translate(-50%,-50%)}.hex-label__tag{letter-spacing:.2em;color:#0f8;font-size:10px;font-weight:700}.hex-label__title{letter-spacing:.15em;color:#fff;text-shadow:0 0 18px #00ff88b3;white-space:nowrap;font-size:clamp(13px,2vw,26px);font-weight:900}.hex-label__sub{letter-spacing:.1em;color:#00ff88b3;white-space:nowrap;font-size:clamp(9px,.9vw,12px)}.loader{z-index:100;background:#000;flex-direction:column;justify-content:center;align-items:center;gap:20px;padding:20px;display:flex;position:fixed;inset:0}.loader-track{background:#00ff8826;border-radius:99px;width:min(360px,80vw);height:2px;overflow:hidden}.loader-bar{background:#0f8;border-radius:99px;height:100%;transition:width .1s linear;box-shadow:0 0 12px #0f8}.loader-text{letter-spacing:.2em;color:#0f89;font-size:11px}.resume{z-index:10;background:#000;border-top:1px solid #0f83;min-height:100vh;margin-top:-45vh;padding:clamp(60px,8vw,100px) clamp(16px,6vw,100px) clamp(60px,6vw,80px);position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#0000 0%,#000 8%);mask-image:linear-gradient(#0000 0%,#000 8%)}.resume__scan-line{background:linear-gradient(90deg,#0000,#0f8,#0000);width:100%;height:2px;animation:3s ease-in-out infinite scan;position:absolute;top:0;left:0}@keyframes scan{0%{opacity:0;transform:translate(-100%)}20%{opacity:1}80%{opacity:1}to{opacity:0;transform:translate(100%)}}.resume__header{text-align:center;max-width:820px;margin:0 auto clamp(40px,5vw,60px)}.resume__title-block{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(6px,1.5vw,16px);margin-bottom:clamp(12px,2vw,20px);display:flex}.resume__bracket{color:#0f8;text-shadow:0 0 20px #0f8c;flex-shrink:0;font-size:clamp(20px,3.5vw,46px);font-weight:900}.resume__name{letter-spacing:clamp(.06em,1vw,.15em);color:#fff;text-shadow:0 0 40px #00ff8840;word-break:break-word;font-size:clamp(18px,4vw,38px);font-weight:900}.resume__role{letter-spacing:.3em;color:#0f8;text-transform:uppercase;margin-bottom:clamp(14px,2vw,22px);font-size:clamp(10px,1vw,13px)}.resume__bio{color:#ffffff8c;letter-spacing:.02em;overflow-wrap:break-word;max-width:680px;margin-bottom:clamp(20px,2.5vw,32px);margin-left:auto;margin-right:auto;font-size:clamp(13px,1.2vw,15px);line-height:2}.resume__traits{flex-wrap:wrap;justify-content:center;gap:8px 20px;margin-bottom:clamp(20px,2.5vw,28px);display:flex}.resume__trait{letter-spacing:.15em;color:#00ff888c;font-size:clamp(10px,.95vw,12px)}.resume__highlight{color:#0f8;text-shadow:0 0 10px #00ff8880;font-weight:700}.resume__status{letter-spacing:.18em;color:#00ff88bf;text-align:center;border:1px solid #00ff8840;border-radius:2px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 10px;max-width:100%;padding:8px clamp(10px,2vw,20px);font-size:clamp(9px,.85vw,11px);display:inline-flex}.resume__dot{background:#0f8;border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:1.8s ease-in-out infinite pulse;box-shadow:0 0 8px #0f8}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.resume__divider{background:linear-gradient(90deg,#0000,#00ff884d,#0000);width:100%;height:1px;margin-bottom:clamp(32px,5vw,60px)}.resume__skills{grid-template-columns:1fr auto 1fr;align-items:start;gap:0 clamp(16px,3vw,48px);max-width:1000px;margin:0 auto;display:grid}.resume__skills--centered{grid-template-columns:1fr;max-width:560px}.resume__stack-divider{background:linear-gradient(#0000,#00ff884d,#0000);align-self:stretch;width:1px;min-height:200px}.resume__stack-title{letter-spacing:.25em;color:#ffffff61;align-items:center;gap:10px;margin-bottom:clamp(16px,2.5vw,32px);font-size:clamp(11px,1.2vw,14px);display:flex}.resume__stack-num{color:#0f8;letter-spacing:.2em;flex-shrink:0;font-size:10px}.resume__tech-grid{grid-template-columns:repeat(auto-fill,minmax(clamp(90px,18vw,130px),1fr));gap:clamp(8px,1.5vw,16px);display:grid}.tech-card{cursor:default;background:#ffffff05;border:1px solid #ffffff12;border-radius:4px;flex-direction:column;align-items:center;gap:8px;padding:clamp(14px,2vw,24px) clamp(8px,1.5vw,16px);transition:border-color .25s,background .25s,transform .25s;display:flex;position:relative;overflow:hidden}@media (hover:hover){.tech-card:hover{border-color:var(--accent,#0f8);background:#00ff880a;transform:translateY(-4px)}.tech-card:hover .tech-card__glow{opacity:1}}.tech-card__icon{color:var(--accent,#fff);filter:drop-shadow(0 0 8px var(--accent,#fff));justify-content:center;align-items:center;font-size:clamp(24px,3.5vw,38px);line-height:1;display:flex}.tech-card__custom{letter-spacing:.08em;color:var(--accent,#0f8);font-size:clamp(13px,1.8vw,20px);font-weight:900}.tech-card__name{letter-spacing:.15em;color:#ffffff73;text-transform:uppercase;text-align:center;font-size:clamp(8px,.9vw,11px)}.tech-card__glow{background:radial-gradient(circle at 50% 40%, var(--accent,#0f8) 0%, transparent 70%);opacity:0;pointer-events:none;mix-blend-mode:screen;transition:opacity .3s;position:absolute;inset:0;transform:scale(.6)}.resume__footer{text-align:center;margin-top:clamp(32px,5vw,60px);padding:0 16px}.resume__footer-line{letter-spacing:.08em;color:#00ff884d;overflow-wrap:break-word;word-break:break-all;font-size:clamp(9px,1vw,13px)}@media (width<=720px){.sticky-canvas{height:56.25vw;top:calc(50vh - 28.125vw)}.scroll-space--connect{height:calc(1392px + 100vh - 56.25vw)}.resume__skills{grid-template-columns:1fr;gap:40px 0}.resume__stack-divider{display:none}.resume__tech-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.hex-label--left{top:32%;left:3%}.hex-label--right{top:32%;right:3%}}@media (width<=480px){.hex-label--left{top:28%;left:3%}.hex-label--right{top:28%;right:3%}.hex-label--center{top:50%}.hex-label__tag{font-size:8px}.hex-label__title{letter-spacing:.1em;font-size:12px}.hex-label__sub{font-size:8px}.resume__name{letter-spacing:.05em;font-size:clamp(16px,6vw,26px)}.resume__status{letter-spacing:.1em;padding:8px 12px;font-size:9px}.resume__tech-grid{grid-template-columns:repeat(3,1fr)}.resume__footer-line{letter-spacing:.04em;font-size:9px}}@media (width<=360px){.resume__tech-grid{grid-template-columns:repeat(2,1fr)}.resume__traits{gap:6px 12px}}.scroll-space--connect{pointer-events:none;height:calc(1392px + 100vh)}.connect-intro{z-index:10;text-align:center;background:#000;border-top:1px solid #0f83;padding:clamp(70px,10vw,120px) clamp(16px,6vw,100px) clamp(50px,7vw,90px);position:relative;overflow:hidden}.connect-intro__scan-line{background:linear-gradient(90deg,#0000,#0f8,#0000);width:100%;height:2px;animation:3s ease-in-out infinite scan;position:absolute;top:0;left:0}.connect-intro__tag{letter-spacing:.25em;color:#00ff8880;margin-bottom:clamp(10px,1.5vw,18px);font-size:10px;display:block}.connect-intro__title{letter-spacing:clamp(.06em,1.2vw,.18em);color:#fff;text-shadow:0 0 40px #00ff8840;word-break:break-word;margin-bottom:clamp(12px,1.8vw,20px);font-size:clamp(22px,5vw,54px);font-weight:900}.connect-intro__bracket{color:#0f8;text-shadow:0 0 20px #0f8c}.connect-intro__sub{letter-spacing:.15em;color:#00ff888c;margin-bottom:clamp(32px,5vw,60px);font-size:clamp(11px,1.1vw,14px)}.connect-intro__divider{background:linear-gradient(90deg,#0000,#00ff884d,#0000);width:100%;height:1px}.social{z-index:10;text-align:center;background:#000;border-top:1px solid #0f83;margin-top:-45vh;padding:clamp(60px,8vw,100px) clamp(16px,6vw,100px) clamp(60px,6vw,80px);position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#0000 0%,#000 8%);mask-image:linear-gradient(#0000 0%,#000 8%)}.social__scan-line{background:linear-gradient(90deg,#0000,#0f8,#0000);width:100%;height:2px;animation:3s ease-in-out infinite scan;position:absolute;top:0;left:0}.social__grid{flex-wrap:wrap;justify-content:center;gap:clamp(16px,3vw,32px);max-width:900px;margin:0 auto clamp(32px,5vw,60px);display:flex}.social-card{background:#ffffff05;border:1px solid #ffffff12;border-radius:4px;flex-direction:column;align-items:center;gap:10px;min-width:clamp(160px,22vw,220px);padding:clamp(24px,3vw,40px) clamp(40px,6vw,72px);text-decoration:none;transition:border-color .25s,background .25s,transform .25s;display:flex;position:relative;overflow:hidden}@media (hover:hover){.social-card:hover{border-color:var(--accent,#0f8);background:#00ff880a;transform:translateY(-4px)}.social-card:hover .social-card__glow{opacity:1}}.social-card__icon{color:var(--accent,#fff);filter:drop-shadow(0 0 8px var(--accent,#fff));justify-content:center;align-items:center;font-size:clamp(28px,4vw,42px);line-height:1;display:flex}.social-card__custom{letter-spacing:.05em;color:var(--accent,#0f8);font-size:clamp(20px,2.5vw,32px);font-weight:900}.social-card__label{letter-spacing:.25em;color:#ffffff61;text-transform:uppercase;font-size:clamp(10px,1.1vw,13px)}.social-card__handle{letter-spacing:.1em;color:#00ff88a6;word-break:break-all;font-size:clamp(9px,.9vw,12px)}.social-card__glow{background:radial-gradient(circle at 50% 40%, var(--accent,#0f8) 0%, transparent 70%);opacity:0;pointer-events:none;mix-blend-mode:screen;transition:opacity .3s;position:absolute;inset:0;transform:scale(.6)}.social__footer{padding:0 16px}.social__footer-line{letter-spacing:.08em;color:#00ff884d;font-size:clamp(9px,1vw,13px)}@media (width<=720px){.social{margin-top:-20vw}.social__grid{gap:16px}.social-card{min-width:clamp(140px,40vw,200px)}}@media (width<=480px){.social{margin-top:-15vw;padding:48px 16px 40px}.social__grid{gap:12px}.social-card{flex:calc(50% - 6px);gap:7px;min-width:calc(50% - 6px);max-width:calc(50% - 6px);padding:18px 12px}.social-card__icon{font-size:26px}.social-card__handle{letter-spacing:.05em;font-size:9px}.connect-intro__title{letter-spacing:.06em;font-size:clamp(18px,7vw,30px)}.connect-intro__sub{letter-spacing:.08em;font-size:11px}}@media (width<=360px){.social-card{flex:100%;min-width:100%;max-width:100%}}
