@import"https://fonts.googleapis.com/css2?family=Caveat:wght@600;700&family=Kalam:wght@400;700&family=Mansalva&family=Lora:ital,wght@0,400;0,500;0,600;1,400&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=Outfit:wght@400;500;600;700;800&display=swap";:root{--bg-primary: #0B1118;--bg-surface: #101923;--dark-surface: #151E27;--subtle-blue-grey: #1B2833;--accent-primary: #FF6B00;--accent-secondary: #F5A623;--text-primary: #F5F1EA;--text-muted: #94A3B8;--ink: #F5F1EA;--muted: #94A3B8;--panel: rgba(16, 25, 35, .85);--line: rgba(190, 200, 210, .16);--border-slate: rgba(190, 200, 210, .16);--accent-peach: #FF6B00;--font-serif: "Lora", Georgia, "Times New Roman", serif;--font-hand: "Mansalva", cursive;--font-sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--bg-dark: #0B1118}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overscroll-behavior:none}html,body,#root{width:100%;min-height:100%;background-color:var(--bg-dark);color:var(--ink);font-family:var(--font-sans)}body{overflow-x:hidden;overscroll-behavior:none;-webkit-font-smoothing:antialiased}.hero-chrome{--m: clamp(16px, 2.4vh, 28px);position:fixed;top:0;right:0;bottom:0;left:0;z-index:12;pointer-events:none;font-family:var(--font-sans)}.hero-frame{display:none}.hm-orange-dot{color:#ff6b00;font-weight:700;margin:0 4px;display:inline-block}.hero-mark{display:none}.hero-meta{position:absolute;font-size:clamp(9px,.9vw,11px);letter-spacing:.26em;text-transform:uppercase;line-height:1.6;color:#f5f1ead9;text-shadow:0 1px 8px rgba(0,0,0,.5)}.hero-meta .hm-name{display:block;text-transform:none;letter-spacing:.12em;color:var(--ink);font-weight:600;text-shadow:0 1px 8px rgba(0,0,0,.5)}.hm-tl{top:calc(var(--m) + 16px);left:calc(var(--m) + 20px);pointer-events:none}.hm-tr{top:calc(var(--m) + 16px);right:calc(var(--m) + 20px);text-align:right}.hm-bl{bottom:calc(var(--m) + 16px);left:calc(var(--m) + 20px);letter-spacing:.24em;color:#f5f1ead9}.hm-right{position:absolute;top:50%;right:calc(var(--m) + 14px);transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:none;z-index:2}.hm-right-top-line{display:block;width:1px;height:32px;background:#94a3b859;position:relative}.hm-right-top-line:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:8px;height:1px;background:#94a3b880}.hm-location-dot{width:8px;height:8px;border-radius:50%;background:#ff6b00;box-shadow:0 0 10px #ff6b00e6,0 0 20px #ff6b0080;display:block;flex-shrink:0}.hm-location-text{writing-mode:vertical-rl;letter-spacing:.28em;font-size:10px;font-weight:500;text-transform:uppercase;color:#e2e8f0b8;text-shadow:0 1px 6px rgba(0,0,0,.8);padding:4px 0}.hm-right-bottom-line{display:block;width:1px;height:32px;background:#94a3b859;position:relative}.hm-right-bottom-line:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:8px;height:1px;background:#94a3b880}@media(max-width:640px){.hm-right{display:none}}.chrome-actions{position:absolute;top:calc(var(--m) + 12px);right:calc(var(--m) + 18px);display:flex;align-items:center;gap:10px;pointer-events:auto}.chrome-text-link{background:none;border:none;color:var(--ink);font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:.18em;cursor:pointer;padding:6px 12px;transition:color .2s ease,opacity .2s ease;text-shadow:0 1px 8px rgba(0,0,0,.4)}.chrome-text-link:hover{color:#000}.github-link,.social-circle-link{display:grid;place-items:center;width:34px;height:34px;color:var(--muted);background:#0c1018c7;border:1px solid var(--line);border-radius:999px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:color .2s ease,background .2s ease,border-color .2s ease,transform .2s ease;text-decoration:none}.github-link:hover,.social-circle-link:hover{color:var(--ink);background:#141a26eb;border-color:#f4f1ea4d;transform:translateY(-2px)}.lang-toggle{display:inline-flex;align-items:center;padding:6px 16px;font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:var(--muted);background:#0c1018c7;border:1px solid var(--line);border-radius:999px;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:color .2s ease,background .2s ease,border-color .2s ease,transform .2s ease}.lang-toggle:hover{color:var(--ink);background:#141a26eb;border-color:#f4f1ea4d;transform:translateY(-1px)}.nav-dots{position:absolute;top:50%;right:calc(var(--m) + 26px);transform:translateY(-50%);display:flex;flex-direction:column;gap:16px;pointer-events:auto}.nav-dot-btn{position:relative;width:14px;height:14px;background:none;border:none;cursor:pointer;display:grid;place-items:center;padding:0}.nav-dot-core{width:4px;height:4px;border-radius:50%;background:#94a3b859;transition:all .2s ease}.nav-dot-btn:hover .nav-dot-core{background:#e5e7ebd9;transform:scale(1.3)}.nav-dot-btn.is-active .nav-dot-core{width:12px;height:12px;background:#ff6b00;border:2px solid #0F172A;box-shadow:0 0 12px #ff6b00bf}.nav-dot-ring{display:none}.content-scroller{position:relative;z-index:10}.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding-bottom:clamp(16px,2.8vh,28px)}.about{text-align:center;padding:0 20px;max-width:min(640px,92vw)}.about-intro{animation:fadeDown 1.8s ease both}.about-title-container{position:relative;display:inline-block;margin:0 auto}.about-title{font-family:var(--font-hand);font-weight:700;font-size:clamp(56px,6.2vw,82px);line-height:1;letter-spacing:.02em;color:#fff;margin-bottom:0;text-shadow:0 4px 24px rgba(0,0,0,.85);position:relative;display:inline-block}.title-word-about{display:inline-block;vertical-align:baseline}.title-word-karan{display:inline-block;position:relative;vertical-align:baseline}.about-sparks{position:absolute;top:-14px;right:-24px;width:32px;height:30px;pointer-events:none;filter:drop-shadow(0 0 8px rgba(255,107,0,.7))}.about-underline{position:absolute;left:-8px;right:-8px;bottom:-6px;width:calc(100% + 16px);height:18px;pointer-events:none;filter:drop-shadow(0 0 8px rgba(255,107,0,.65))}.about-body{margin:16px auto 0;font-family:var(--font-sans);font-weight:400;font-size:clamp(13px,1.02vw,14.8px);line-height:1.55;color:#cbd5e1;max-width:610px;text-align:center;letter-spacing:.012em;text-shadow:0 1px 8px rgba(0,0,0,.75)}.hero-br{display:inline}@media(max-width:640px){.hero-br{display:none}}.about-link{pointer-events:auto;color:inherit;text-decoration:none;border-bottom:1px solid rgba(244,241,234,.45);transition:color .2s ease,border-color .2s ease}.about-link:hover{color:var(--accent-peach);border-bottom-color:var(--accent-peach)}.scroll-cue{margin-top:clamp(14px,2.2vh,22px);display:flex;flex-direction:column;align-items:center;gap:5px;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:#e2e8f0;background:none;border:none;cursor:pointer;pointer-events:auto;text-shadow:0 2px 8px rgba(0,0,0,.75)}.scroll-cue-label{font-weight:600;letter-spacing:.28em;color:#e2e8f0;opacity:.9}.scroll-cue-chevron{animation:chevronBounce 1.8s ease-in-out infinite;filter:drop-shadow(0 0 6px rgba(255,107,0,.5))}@keyframes chevronBounce{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}@keyframes cueLabelPulse{0%,to{opacity:.6}50%{opacity:1}}@keyframes fadeDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}.resume{padding:18vh 24px 20vh}.resume-title{width:min(520px,90vw);margin:0 6vw 0 auto;text-align:left;font-family:var(--font-serif);font-weight:600;font-size:clamp(32px,5vw,62px);letter-spacing:.02em;color:var(--ink);text-shadow:0 2px 14px rgba(0,0,0,.45)}.timeline{position:relative;width:min(520px,90vw);margin:7vh 6vw 0 auto}.timeline:before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:1px;background:linear-gradient(#f4f1ea47,#f4f1ea0a)}.tl-entry{position:relative;padding-left:36px;padding-bottom:34vh}.tl-entry:last-child{padding-bottom:24vh}.tl-dot{position:absolute;left:0;top:6px;width:11px;height:11px;border-radius:50%;background:var(--accent-peach);box-shadow:0 0 0 4px #ffd9b31f}.tl-period{font-family:var(--font-sans);font-size:13px;letter-spacing:.18em;color:#f4f1eab8;margin-bottom:.6em;font-weight:500;text-shadow:0 1px 6px rgba(0,0,0,.3)}.tl-head{display:flex;align-items:center;gap:12px}.tl-place{font-size:clamp(19px,2.4vw,27px);font-weight:600;line-height:1.25;color:var(--ink);text-shadow:0 1px 8px rgba(0,0,0,.35)}.tl-role{margin-top:.35em;font-size:15px;color:#f4f1eacc;text-shadow:0 1px 6px rgba(0,0,0,.25)}.tl-points{margin-top:1.1em;list-style:none;display:flex;flex-direction:column;gap:.6em}.tl-points li{position:relative;padding-left:1.2em;font-size:14px;line-height:1.6;color:#f4f1eaf2;text-shadow:0 1px 4px rgba(0,0,0,.25)}.tl-points li:before{content:"—";position:absolute;left:0;color:var(--muted)}.tl-logos{display:flex;gap:12px;margin-top:1.4em}.tl-logo{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;color:#f4f1eaeb;background:#ffffff0d;border:1px solid rgba(244,241,234,.32);border-radius:50%;transition:color .2s ease,border-color .2s ease,background .2s ease,transform .2s ease;text-decoration:none}.tl-logo:hover{color:var(--ink);border-color:#f4f1ea66;background:#f4f1ea0f;transform:translateY(-2px)}.works{position:relative;z-index:10;--wk-card-w: min(880px, 78vw)}.wk-gallery{position:relative}.wk-gallery-sticky{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;align-items:center}.wk-gallery-title{position:absolute;top:clamp(16px,4vh,40px);left:clamp(24px,6vw,80px);z-index:2;font-family:var(--font-serif);font-weight:600;font-size:clamp(26px,3.5vw,42px);letter-spacing:.02em;color:var(--ink);pointer-events:none}.wk-track{display:flex;align-items:stretch;height:100%;padding-left:clamp(340px,46vw,660px);padding-right:80px;will-change:transform}.wk-card{flex:none;display:flex;flex-direction:column;justify-content:center;gap:clamp(24px,4vh,48px);width:var(--wk-card-w);height:100%;padding:clamp(60px,12vh,120px) clamp(36px,5vw,72px) clamp(40px,7vh,80px);border:none;border-left:1px solid var(--line);background:#0d1119a8;color:var(--ink);text-align:left}.wk-card:last-child{border-right:1px solid var(--line)}.wk-card-no{display:block;font-family:var(--font-sans);font-size:clamp(11px,1.2vw,13px);letter-spacing:.3em;color:#f4f1ea66;font-variant-numeric:tabular-nums;margin-bottom:1em}.wk-card-title{font-size:clamp(24px,3.4vw,44px);font-weight:600;line-height:1.06;letter-spacing:.01em;color:var(--ink)}.wk-card-tagline{display:block;margin-top:.7em;font-size:clamp(12px,1.2vw,14px);letter-spacing:.06em;color:var(--muted)}.wk-card-body{flex:none}.wk-list{list-style:none;margin:0}.wk-line{border-bottom:1px solid rgba(244,241,234,.09)}.wk-line:last-child{border-bottom:none}.wk-line-btn{display:flex;align-items:baseline;justify-content:space-between;gap:clamp(16px,4vw,64px);width:100%;padding:clamp(14px,2.2vh,24px) 0;border:none;background:none;color:inherit;text-align:left;font-family:inherit;cursor:pointer;transition:padding-left .3s cubic-bezier(.16,1,.3,1)}.wk-line-btn:hover,.wk-line-btn:focus-visible{padding-left:12px;outline:none}.wk-line-name{font-size:clamp(14px,1.4vw,17px);font-weight:500;line-height:1.35;letter-spacing:.01em;color:#f4f1eae6;transition:color .2s ease}.wk-line-btn:hover .wk-line-name,.wk-line-btn:focus-visible .wk-line-name{color:var(--accent-peach)}.wk-line-meta{flex:none;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:baseline;gap:0 .6em;text-align:right;max-width:50%}.wk-line-num{font-size:clamp(11px,1.15vw,13px);font-weight:500;letter-spacing:.04em;color:var(--accent-peach);white-space:nowrap}.wk-line-tag{font-size:clamp(10px,1vw,12px);letter-spacing:.03em;color:#f4f1ea80;white-space:nowrap}.wk-line-tag:before{content:"·";margin-right:.6em;color:#f4f1ea4d}.wk-progress{position:absolute;bottom:clamp(22px,5vh,50px);left:50%;transform:translate(-50%);width:min(280px,40vw);height:2px;border-radius:2px;background:#f4f1ea2e;overflow:hidden;z-index:2;pointer-events:none}.wk-progress-fill{width:100%;height:100%;border-radius:2px;background:var(--accent-peach);transform-origin:left center}.wk-hint{position:absolute;bottom:clamp(20px,5vh,48px);right:clamp(24px,6vw,80px);z-index:2;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);pointer-events:none}.wk-detail-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#04060a99;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.wk-detail{position:fixed;inset:clamp(16px,5vh,56px) clamp(16px,6vw,120px);z-index:1001;background:#1d2124fa;border:1px solid var(--line);border-radius:20px;overflow-y:auto;box-shadow:0 50px 140px #0009}.wk-detail-close{position:absolute;top:16px;right:16px;z-index:2;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#0a0d148c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--ink);cursor:pointer;display:grid;place-items:center;transition:background .2s ease,transform .2s ease}.wk-detail-close:hover{background:#141a26cc;transform:rotate(90deg)}.wk-detail-banner.is-ph{display:grid;place-items:center;padding:6vh 8vw;background:radial-gradient(120% 120% at 30% 20%,#30373c80,#1d2124fa)}.wk-detail-ph-text{font-family:var(--font-serif);font-size:clamp(28px,5vw,68px);font-weight:600;color:#f4f1ea29;letter-spacing:.02em}.wk-detail-article{max-width:760px;margin:0 auto;padding:clamp(28px,5vh,56px) clamp(24px,5vw,56px) clamp(40px,8vh,88px)}.wk-detail-head{padding-bottom:clamp(20px,3vh,30px);margin-bottom:clamp(24px,4vh,40px);border-bottom:1px solid var(--line)}.wk-detail-title{font-size:clamp(24px,3.4vw,42px);font-weight:600;color:var(--ink)}.wk-detail-sub{margin-top:.7em;font-size:clamp(12px,1.2vw,14px);letter-spacing:.08em;color:var(--muted)}.wk-detail-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:1.1em}.wk-badge{font-size:clamp(11px,1.1vw,12px);letter-spacing:.04em;line-height:1;padding:6px 12px;border-radius:999px;color:#f4f1eac7;background:#f4f1ea0d;border:1px solid var(--line)}.wk-detail-desc{font-size:clamp(14px,1.4vw,16px);line-height:1.8;color:#f4f1eacc}.wk-detail-link{display:inline-flex;align-items:center;gap:.6em;margin-top:16px;padding:10px 20px;border:1px solid rgba(255,217,179,.5);border-radius:999px;font-size:13px;letter-spacing:.06em;color:var(--accent-peach);text-decoration:none;transition:background .2s ease,gap .2s ease}.wk-detail-link:hover{background:#ffd9b31a;gap:.85em}.loading-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#0a0e16;opacity:1;transition:opacity .6s ease}.loading-ring{width:clamp(56px,8vw,80px);height:clamp(56px,8vw,80px);animation:lrSpin 2.4s linear infinite}.loading-ring svg{width:100%;height:100%;overflow:visible}.lr-track{fill:none;stroke:#f4f1ea1f;stroke-width:3}.lr-arc{fill:none;stroke:var(--accent-peach);stroke-width:3;stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset .35s ease;filter:drop-shadow(0 0 6px rgba(255,217,179,.55))}@keyframes lrSpin{to{transform:rotate(360deg)}}@keyframes hotspot-pulse{0%{transform:scale(.9);opacity:.9}50%{transform:scale(1.4);opacity:.2}to{transform:scale(.9);opacity:.9}}@media(max-width:768px){.hero-chrome{--m: 10px}.hero-chrome:before{content:"";position:fixed;top:0;left:0;right:0;height:54px;background:#0a0e16e0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08);pointer-events:none;z-index:-1}.glass-rail,.sticker-overlay,.hm-right,.nav-dots{display:none}.hm-tl{top:14px;left:14px;display:flex;align-items:center;opacity:1!important;pointer-events:auto!important}.hm-tl .hm-name{font-size:13px;letter-spacing:.08em;white-space:nowrap}.hm-tl span:not(.hm-name){display:none}.chrome-actions{top:10px;right:14px;gap:6px}.github-link,.social-circle-link{width:30px;height:30px}.lang-toggle{padding:5px 10px;font-size:10px;letter-spacing:.06em}.hm-bl{display:none}.hero{min-height:100vh;padding-top:70px;padding-bottom:70px}.about{max-width:94vw;padding:0 10px}.about-title{font-size:clamp(38px,11vw,56px)}.about-body{font-size:clamp(13px,3.8vw,15px);line-height:1.65;margin-top:16px}.scroll-cue{bottom:16px;transform:translate(-50%) scale(.9)}.resume{padding:10vh 16px 8vh}.resume-title{width:100%;margin:0 0 20px;font-size:clamp(28px,7vw,38px);text-shadow:0 2px 12px rgba(0,0,0,.95),0 0 24px rgba(10,14,22,.9)}.timeline{width:100%;margin:0}.timeline:before{left:10px;top:14px;bottom:14px}.tl-entry{margin-bottom:14px;background:#0d1119c2;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:16px 16px 18px 30px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.tl-entry:last-child{padding-bottom:18px}.tl-dot{left:10px;top:20px;width:9px;height:9px}.tl-period{font-size:11px;letter-spacing:.14em;margin-bottom:.4em}.tl-place{font-size:clamp(17px,4.5vw,22px)}.tl-role{font-size:13.5px}.tl-points{margin-top:.8em;gap:.4em}.tl-points li{font-size:13px;line-height:1.55}.wk-gallery{height:auto!important}.wk-gallery-sticky{position:static;height:auto;overflow:visible;display:block}.wk-track{flex-direction:column;height:auto;padding-left:0;padding-right:0;transform:none!important}.wk-card{width:100%;height:auto;border-left:none;border-top:1px solid var(--line);padding:28px 16px;background:#0d1119d9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);gap:20px}.wk-card:last-child{border-right:none}.wk-progress,.wk-hint{display:none}.wk-gallery-title{position:static;padding:24px 16px 16px;font-size:clamp(28px,7vw,38px)}.wk-card-title{font-size:clamp(22px,5.5vw,30px)}.wk-card-tagline{font-size:12px}.wk-line-btn{flex-direction:column;align-items:flex-start;gap:6px;padding:12px 0}.wk-line-name{font-size:16px}.wk-line-meta{max-width:100%;justify-content:flex-start;text-align:left;gap:6px}.wk-line-num,.wk-line-tag{font-size:11px}.tl-logos{flex-wrap:wrap;gap:10px}.tl-logo{width:40px;height:40px}.wk-detail{top:12px;right:12px;bottom:12px;left:12px;border-radius:16px;max-height:calc(100vh - 24px)}.wk-detail-close{top:10px;right:10px;width:36px;height:36px}.wk-detail-banner.is-ph{padding:28px 16px}.wk-detail-ph-text{font-size:clamp(22px,6vw,30px)}.wk-detail-article{padding:20px 14px 32px}.wk-detail-head{margin-bottom:20px;padding-bottom:16px}.wk-detail-title{font-size:clamp(20px,5.5vw,28px)}.wk-detail-sub{font-size:12px}.wk-detail-desc{font-size:13.5px;line-height:1.65}.wk-detail-actions{flex-direction:column;width:100%;gap:10px}.wk-detail-link{width:100%;justify-content:center}}@media(max-width:400px){.chrome-actions{gap:4px;right:10px}.github-link,.social-circle-link{width:28px;height:28px}.lang-toggle{padding:4px 8px;font-size:9.5px}.hm-tl{left:10px}.hm-tl .hm-name{font-size:12px}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
