@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Bebas+Neue&display=swap";*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow-x:hidden;background-color:#151515}.hero{width:100%;height:100vh;background-color:#151515;color:#e8e8e8;display:flex;flex-direction:column;justify-content:space-between;box-sizing:border-box;padding:20px;overflow:hidden}.hero-top{display:flex;justify-content:space-between;align-items:flex-start;width:100%;will-change:transform,opacity}.hero-top-left{display:flex;flex-direction:column;gap:2px}.hero-top-center{flex:1;display:flex;justify-content:flex-end;padding-right:60px}.hero-top-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.hero-meta{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.08em;color:#ccc;text-transform:uppercase;line-height:1.6;white-space:nowrap}.status{display:flex;align-items:center;gap:5px}.ping-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.ping-dot.online{background:#4cff72;box-shadow:0 0 6px #4cff7260;animation:pulse 2s infinite}.ping-dot.offline{background:#ff4c4c}.ping-value{font-family:IBM Plex Mono,monospace;font-size:10px;color:#4cff72}.ping-offline{font-family:IBM Plex Mono,monospace;font-size:10px;color:#ff4c4c}.get-in-touch{position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;padding-bottom:14px}.get-in-touch-label{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#ccc;display:flex;align-items:center;gap:5px;transition:color .2s;white-space:nowrap}.get-in-touch:hover .get-in-touch-label{color:#fff}.get-in-touch:hover .contact-dropdown{opacity:1;pointer-events:all;transform:translateY(0)}.get-in-touch:hover .arrow-icon{transform:rotate(180deg)}.arrow-icon{transition:transform .25s ease;flex-shrink:0}.contact-dropdown{position:absolute;top:calc(100% - 6px);left:0;background:#111;border:1px solid #2a2a2a;padding:6px 0;min-width:150px;opacity:0;pointer-events:none;transform:translateY(-6px);transition:opacity .2s,transform .2s;z-index:100}.contact-dropdown.visible{opacity:1;pointer-events:all;transform:translateY(0)}.contact-dropdown-item{display:flex;align-items:center;gap:8px;padding:7px 14px;font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#888;text-decoration:none;transition:color .15s,background .15s}.contact-dropdown-item:hover{color:#fff;background:#1c1c1c}.tech-label{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.08em;color:#ccc;text-transform:uppercase;margin-bottom:3px}.tech-item{font-family:IBM Plex Mono,monospace;font-size:11px;color:#aaa;text-align:right;line-height:1.7}.hero-bottom{display:flex;flex-direction:column;width:100%;gap:12px}.hero-subtext{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.04em;color:#bbb;max-width:360px;line-height:1.7;margin:0}.hero-name-wrap{display:flex;flex-direction:row;align-items:stretch;gap:20px;width:100%;height:clamp(80px,18vh,260px);will-change:transform,opacity}.hero-name-nischal{flex:7;min-width:0;height:100%;object-fit:fill;display:block}.hero-name-kafle{flex:5;min-width:0;height:100%;object-fit:fill;display:block}@media(max-width:1024px)and (min-width:769px){.hero-subtext{max-width:280px}.hero-name-wrap{height:clamp(70px,16vh,220px)}}@media(max-width:768px){.hero{padding:10px}.hero-subtext{font-size:10px;max-width:100%}.hero-name-wrap{flex-direction:column;height:auto;gap:4px}.hero-name-nischal,.hero-name-kafle{flex:none;width:100%;height:auto;display:block}.contact-dropdown{left:0;min-width:130px}}.projects{width:100%;background-color:#151515;padding:60px 20px 80px;box-sizing:border-box}.projects-label{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#ccc;margin-bottom:24px;opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}.projects-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:16px;align-items:stretch}.cards-small{display:flex;flex-direction:column;gap:16px}.project-card{position:relative;cursor:pointer;background:#1a1a1a;opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}.card-bg{width:100%;display:flex;align-items:center;justify-content:center}.card-big .card-bg{height:480px}.card-small .card-bg{height:232px}.card-bg--spotify{background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460)}.card-bg--wpm{background:#0d0d0d}.card-bg--nico{background:#0a0a0a}.sp-preview{width:160px;background:#121212;border-radius:8px;padding:14px;transform:rotate(-4deg)}.sp-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.sp-dot{width:24px;height:24px;border-radius:50%;background:#1db954;flex-shrink:0}.sp-info{display:flex;flex-direction:column}.sp-now{font-family:IBM Plex Mono,monospace;font-size:8px;color:#666}.sp-song{font-family:IBM Plex Mono,monospace;font-size:9px;color:#fff}.sp-bar{height:2px;background:#333;border-radius:2px;margin-bottom:4px}.sp-bar-fill{height:2px;background:#1db954;width:60%;border-radius:2px}.sp-controls{display:flex;justify-content:center;gap:10px;margin-top:6px}.sp-btn{width:6px;height:6px;border-radius:50%;background:#555}.sp-btn.active{background:#1db954;width:16px;border-radius:3px}.wpm-preview{display:flex;flex-direction:column;align-items:center;gap:6px}.wpm-num{font-family:Bebas Neue,sans-serif;font-size:56px;color:#e8e8e8;line-height:1}.wpm-unit{font-family:IBM Plex Mono,monospace;font-size:9px;letter-spacing:.2em;color:#555;text-transform:uppercase;margin-top:-6px}.wpm-text-line{font-family:IBM Plex Mono,monospace;font-size:10px;color:#333}.wpm-text-line .done{color:#e8e8e8}.wpm-text-line .cur{border-left:2px solid #4cff72}.wpm-acc{font-family:IBM Plex Mono,monospace;font-size:9px;color:#444;letter-spacing:.1em}.nico-preview{display:flex;flex-direction:column;align-items:center;gap:10px}.nico-name{font-family:Bebas Neue,sans-serif;font-size:32px;color:#e8e8e8;letter-spacing:.3em}.nico-bars{display:flex;align-items:center;gap:3px;height:32px}.nico-bar{width:3px;border-radius:2px;background:#4cff72;animation:barPulse .8s ease-in-out infinite alternate}@keyframes barPulse{0%{transform:scaleY(.4);opacity:.5}to{transform:scaleY(1);opacity:1}}.nico-status{font-family:IBM Plex Mono,monospace;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:#4cff72}.project-overlay{position:absolute;inset:0 0 40px;background:#0a0a0a8c;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.project-card:hover .project-overlay{opacity:1}.project-overlay-text{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#fff;border-bottom:1px solid rgba(255,255,255,.6);padding-bottom:3px}.project-meta{display:flex;justify-content:space-between;align-items:center;padding:10px 0 0}.project-meta-left{display:flex;flex-direction:column;gap:2px}.project-name{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#ccc;transition:color .2s}.project-card:hover .project-name{color:#fff}.project-type{font-family:IBM Plex Mono,monospace;font-size:9px;letter-spacing:.06em;color:#444;text-transform:uppercase}.project-year{font-family:IBM Plex Mono,monospace;font-size:11px;color:#555}@media(max-width:768px){.projects-grid{grid-template-columns:1fr}.card-big .card-bg{height:260px}.card-small .card-bg{height:180px}.project-overlay{bottom:36px}}.about{width:100%;background-color:#151515;padding:100px 20px 0;box-sizing:border-box;overflow:hidden;text-align:center}.about-eyebrow,.about-heading-wrap,.about-content,.about-marquee{opacity:0;transform:translateY(40px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}.about-eyebrow.visible{opacity:1;transform:translateY(0);transition-delay:0s}.about-heading-wrap.visible{opacity:1;transform:translateY(0);transition-delay:.08s}.about-content.visible{opacity:1;transform:translateY(0);transition-delay:.18s}.about-marquee.visible{opacity:1;transform:translateY(0);transition-delay:.28s}.about-eyebrow{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:24px}.about-index{font-family:Bebas Neue,sans-serif;font-size:13px;color:#333;letter-spacing:.1em}.about-index-label{font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#444}.about-heading-wrap{margin-bottom:60px;width:100%}.about-heading{font-family:Bebas Neue,sans-serif;font-size:clamp(60px,8vw,120px);line-height:.95;color:#e8e8e8;font-weight:400;margin:0;letter-spacing:.02em}.about-content{display:flex;flex-direction:column;align-items:center;gap:40px;margin:0 auto 80px;width:100%;max-width:640px;text-align:center}.about-body{display:flex;flex-direction:column;gap:20px;align-items:center}.about-body p{font-family:IBM Plex Mono,monospace;font-size:13px;line-height:1.9;color:#888;margin:0}.about-currently{display:flex;flex-direction:column;gap:14px;align-items:center;margin-top:8px}.currently-label{font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#444}.currently-items{display:flex;flex-direction:column;gap:10px;align-items:center}.currently-item{font-family:IBM Plex Mono,monospace;font-size:12px;color:#777;display:flex;align-items:center;justify-content:center;gap:10px;letter-spacing:.02em}.currently-dot{width:6px;height:6px;border-radius:50%;background:#4cff72;flex-shrink:0;box-shadow:0 0 8px #4cff7280;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.about-marquee{width:100vw;margin-left:-20px;overflow:hidden;border-top:1px solid #222;border-bottom:1px solid #222;padding:16px 0;background:#111}.marquee-track{display:flex;width:max-content;animation:marquee 20s linear infinite}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.marquee-item{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#333;padding:0 24px;white-space:nowrap;transition:color .2s}.marquee-item:hover{color:#e8e8e8}.marquee-sep{color:#4cff72;margin-left:24px}@media(max-width:768px){.about{padding:60px 10px 0}.about-heading{font-size:clamp(48px,12vw,80px)}.about-content{gap:32px;margin-bottom:60px}.about-marquee{margin-left:-10px}}.contact{width:100%;min-height:100vh;background-color:#151515;padding:120px 20px 80px;box-sizing:border-box;display:flex;align-items:center}.contact-inner{width:100%;max-width:1000px;margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center}.contact-label{font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#666;margin-bottom:40px;opacity:0;transform:translateY(20px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}.contact-label.visible{opacity:1;transform:translateY(0)}.contact-name{font-family:Bebas Neue,sans-serif;font-size:clamp(48px,9vw,120px);letter-spacing:.01em;color:#e8e8e8;margin:0 0 60px;line-height:.95;font-weight:400;opacity:0;transform:translateY(40px);transition:opacity 1s cubic-bezier(.16,1,.3,1) .1s,transform 1s cubic-bezier(.16,1,.3,1) .1s}.contact-name.visible{opacity:1;transform:translateY(0)}.contact-socials{display:flex;gap:40px;flex-wrap:wrap;justify-content:center;margin-bottom:100px;opacity:0;transform:translateY(30px);transition:opacity 1s cubic-bezier(.16,1,.3,1) .2s,transform 1s cubic-bezier(.16,1,.3,1) .2s}.contact-socials.visible{opacity:1;transform:translateY(0)}.social-link{display:flex;align-items:center;gap:12px;text-decoration:none;transition:transform .3s ease}.social-link:hover{transform:translate(4px)}.social-dot{width:10px;height:10px;border-radius:50%;background:#f44;flex-shrink:0;transition:all .4s cubic-bezier(.16,1,.3,1)}.social-link:hover .social-dot{background:#4cff72;transform:scale(1.2);box-shadow:0 0 12px #4cff7266}.social-icon{display:flex;align-items:center;color:#666;transition:color .3s ease}.social-link:hover .social-icon{color:#e8e8e8}.social-name{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#666;transition:color .3s ease}.social-link:hover .social-name{color:#e8e8e8}.contact-footer{display:flex;justify-content:space-between;align-items:center;width:100%;padding-top:40px;border-top:1px solid #222;font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.08em;color:#555}@media(max-width:768px){.contact{padding:80px 10px 60px}.contact-name{font-size:clamp(40px,12vw,80px);margin-bottom:40px}.contact-socials{flex-direction:column;gap:28px;align-items:center;margin-bottom:80px}.contact-footer{flex-direction:column;gap:12px;align-items:center;padding-top:32px}}.wpm-page{width:100%;min-height:100vh;background-color:#151515;color:#e8e8e8;display:flex;flex-direction:column;padding:20px;box-sizing:border-box}.wpm-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:80px}.wpm-back{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.08em;color:#aaa;text-decoration:none;text-transform:uppercase;transition:color .2s}.wpm-back:hover{color:#e8e8e8}.wpm-title{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#666}.wpm-container{width:100%;max-width:760px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:48px;text-align:center}.wpm-stats{display:flex;gap:64px;justify-content:center}.stat{display:flex;flex-direction:column;align-items:center;gap:6px}.stat-value{font-family:Bebas Neue,sans-serif;font-size:48px;color:#e8e8e8;line-height:1}.stat-label{font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#666}.wpm-text{font-family:IBM Plex Mono,monospace;font-size:22px;line-height:1.8;letter-spacing:.02em;cursor:text;-webkit-user-select:none;user-select:none;text-align:left;width:100%}.char{color:#444}.char.correct{color:#e8e8e8}.char.wrong{color:#f44}.char.cursor{border-left:2px solid #4cff72;animation:blink 1s infinite}@keyframes blink{0%,to{border-color:#4cff72}50%{border-color:transparent}}.wpm-input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}.wpm-hint{font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#555}.wpm-result{display:flex;flex-direction:column;align-items:center;gap:32px}.result-label{font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#666}.result-stats{display:flex;gap:64px;justify-content:center}.result-stat{display:flex;flex-direction:column;align-items:center;gap:6px}.result-value{font-family:Bebas Neue,sans-serif;font-size:80px;line-height:1;color:#e8e8e8}.result-label-sm{font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#666}.wpm-restart{background:transparent;border:1px solid #333;padding:12px 32px;font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#e8e8e8;cursor:pointer;transition:all .3s ease}.wpm-restart:hover{background:#e8e8e8;color:#151515;border-color:#e8e8e8}@media(max-width:768px){.wpm-container{gap:32px}.wpm-text{font-size:16px}.stat-value{font-size:36px}.result-value{font-size:60px}.wpm-stats,.result-stats{gap:32px}}.casestudy-page{width:100%;min-height:100vh;background-color:#151515;color:#e8e8e8;display:flex;flex-direction:column;box-sizing:border-box}.casestudy-header{display:flex;justify-content:space-between;align-items:center;padding:20px}.casestudy-back{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#aaa;text-decoration:none;transition:color .2s}.casestudy-back:hover{color:#e8e8e8}.casestudy-tag{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#444}.casestudy-hero{width:100%;overflow:hidden}.casestudy-hero-img{width:100%;height:auto;object-fit:contain;display:block}.casestudy-body{width:100%;max-width:760px;margin:0 auto;padding:60px 20px 100px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;gap:48px;text-align:center}.casestudy-top{display:flex;flex-direction:column;align-items:center;gap:32px;width:100%}.casestudy-heading{font-family:Bebas Neue,sans-serif;font-size:clamp(48px,7vw,100px);color:#e8e8e8;line-height:.95;font-weight:400;margin:0}.casestudy-meta{display:flex;flex-direction:row;gap:48px;justify-content:center}.meta-item{display:flex;flex-direction:column;align-items:center;gap:6px}.meta-label{font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#444}.meta-value{font-family:IBM Plex Mono,monospace;font-size:12px;color:#aaa}.casestudy-desc{font-family:IBM Plex Mono,monospace;font-size:13px;line-height:1.9;color:#777;margin:0;text-align:center}.casestudy-screens{width:100%;display:block;border-radius:2px}.casestudy-cta{display:inline-block;font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#e8e8e8;text-decoration:none;border:1px solid #333;padding:14px 36px;transition:all .3s ease}.casestudy-cta:hover{background:#e8e8e8;color:#151515;border-color:#e8e8e8}@media(max-width:768px){.casestudy-meta{gap:24px}.casestudy-desc{font-size:12px}}.va-page{width:100%;min-height:100vh;background-color:#151515;color:#e8e8e8;display:flex;flex-direction:column;padding:20px;box-sizing:border-box}.va-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px}.va-back{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.08em;color:#aaa;text-decoration:none;text-transform:uppercase;transition:color .2s}.va-back:hover{color:#e8e8e8}.va-title{font-family:Bebas Neue,sans-serif;font-size:24px;letter-spacing:.3em;color:#333}.va-visual{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:60px 0}.va-bars{display:flex;align-items:center;gap:6px;height:100px}.va-bar{width:4px;border-radius:2px;min-height:4px}.va-status{font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.3em;text-transform:uppercase}.va-wake-hint{font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.1em;color:#333;text-transform:uppercase}.va-messages{flex:1;width:100%;max-width:640px;margin:0 auto;display:flex;flex-direction:column;gap:16px;overflow-y:auto;padding:20px 0}.va-empty{font-family:IBM Plex Mono,monospace;font-size:11px;color:#333;text-align:center;letter-spacing:.08em}.va-message{display:flex;flex-direction:column;gap:4px;max-width:80%}.va-message--nico{align-self:flex-start}.va-message--user{align-self:flex-end;align-items:flex-end}.va-message-role{font-family:IBM Plex Mono,monospace;font-size:9px;letter-spacing:.15em;color:#444}.va-message-text{font-family:IBM Plex Mono,monospace;font-size:13px;line-height:1.7;color:#ccc;background:#1e1e1e;padding:12px 16px;border-radius:2px}.va-message--user .va-message-text{background:#222;color:#e8e8e8}.va-message-time{font-family:IBM Plex Mono,monospace;font-size:9px;color:#333}.va-bottom{width:100%;max-width:640px;margin:0 auto;display:flex;flex-direction:column;gap:12px;padding-top:20px;border-top:1px solid #222}.va-key-input{background:transparent;border:1px solid #2a2a2a;padding:10px 14px;font-family:IBM Plex Mono,monospace;font-size:12px;color:#e8e8e8;outline:none;width:100%;transition:border-color .2s}.va-key-input:focus{border-color:#555}.va-key-input::placeholder{color:#444}.va-input-row{display:flex;gap:8px;align-items:center}.va-key-btn{background:transparent;border:1px solid #2a2a2a;padding:10px 12px;cursor:pointer;font-size:14px;transition:border-color .2s;flex-shrink:0}.va-key-btn:hover{border-color:#555}.va-text-input{flex:1;background:transparent;border:1px solid #2a2a2a;padding:10px 14px;font-family:IBM Plex Mono,monospace;font-size:12px;color:#e8e8e8;outline:none;transition:border-color .2s}.va-text-input:focus{border-color:#555}.va-text-input::placeholder{color:#444}.va-send-btn{background:#e8e8e8;border:none;padding:10px 16px;font-family:IBM Plex Mono,monospace;font-size:14px;color:#151515;cursor:pointer;transition:background .2s;flex-shrink:0}.va-send-btn:hover{background:#fff}@media(max-width:768px){.va-visual{padding:40px 0}.va-bars{gap:4px}.va-bar{width:3px}.va-message{max-width:90%}}
