.vtext{display:inline-block;white-space:nowrap}.vtext-char{display:inline-block;font-variation-settings:"wght" 400;transition:font-variation-settings .15s ease-out,color .25s ease;will-change:font-variation-settings}.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;pointer-events:none;z-index:9999;will-change:transform}.cursor-dot{width:5px;height:5px;margin:-2.5px 0 0 -2.5px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent)}.cursor-ring{width:32px;height:32px;margin:-16px 0 0 -16px;border-radius:50%;border:1px solid rgba(0,229,255,.6);transition:width .25s ease,height .25s ease,margin .25s ease,background .25s ease}.cursor-ring.hover{width:52px;height:52px;margin:-26px 0 0 -26px;background:#00e5ff14}.cursor-ring.down{width:24px;height:24px;margin:-12px 0 0 -12px}@media (max-width: 720px){.cursor-dot,.cursor-ring{display:none}}.marquee{position:relative;width:100%;overflow:hidden;padding:14px 0;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 8%,#000 92%,transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 8%,#000 92%,transparent 100%)}.marquee-track{display:flex;align-items:center;gap:clamp(56px,6vw,96px);width:max-content;will-change:transform}.marquee.reduced .marquee-track{flex-wrap:wrap;width:100%;justify-content:center;transform:none!important}.logo-slot{position:relative;display:flex;align-items:center;justify-content:center;height:72px;min-width:120px;flex-shrink:0;opacity:.42;filter:grayscale(1) brightness(1.4);transition:opacity .4s ease,filter .4s ease,transform .4s ease;cursor:pointer;-webkit-user-select:none;user-select:none}.logo-slot:hover,.logo-slot.active{opacity:1;filter:grayscale(0) brightness(1);transform:translateY(-1px)}.logo-slot.expanded{opacity:1;filter:grayscale(0) brightness(1)}.logo-slot.expanded:after{content:"";position:absolute;left:-8px;right:-8px;top:-6px;bottom:-6px;border:1px solid var(--accent);opacity:.5;pointer-events:none}.logo-img{height:60px;width:auto;max-width:260px;object-fit:contain;display:block;pointer-events:none}.logo-text{font-family:Inter,sans-serif;font-size:26px;font-weight:600;letter-spacing:-.02em;text-transform:none;color:var(--fg);white-space:nowrap;padding:10px 18px;border:1.5px solid rgba(255,255,255,.35);border-radius:4px;pointer-events:none;background:#ffffff08}.logo-tip{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%) translateY(4px);font-size:10px;color:var(--fg-dim);background:#000000b3;border:1px solid var(--line);padding:6px 10px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .3s ease,transform .3s ease;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:3}.logo-slot.active .logo-tip{opacity:1;transform:translate(-50%) translateY(0)}@media (max-width: 720px){.logo-slot{height:52px;min-width:90px}.logo-img{height:40px;max-width:180px}.logo-text{font-size:18px;padding:6px 12px}}.timeline{position:relative;width:100%;max-width:1100px;margin:8px auto 0;padding:12px 14px 6px;font-family:JetBrains Mono,ui-monospace,monospace}.tl-track{position:relative;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.tl-tick{position:absolute;top:0;bottom:0;width:1px;background:var(--line);opacity:.35;pointer-events:none}.tl-bar{position:absolute;height:14px;background:#00e5ff14;border:1px solid rgba(0,229,255,.35);border-radius:1px;cursor:pointer;padding:0 6px;display:flex;align-items:center;overflow:hidden;transition:background .3s ease,border-color .3s ease,transform .3s ease,height .3s ease;font:inherit;color:var(--fg-dim)}.tl-bar:hover,.tl-bar.active{background:#00e5ff38;border-color:var(--accent);transform:translateY(-1px);color:var(--fg);z-index:2}.tl-bar.expanded{background:#00e5ff52;border-color:var(--accent);box-shadow:0 0 14px #00e5ff66;color:var(--fg);z-index:3}.tl-bar-label{font-size:9px;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;opacity:0;transition:opacity .3s ease}.tl-bar:hover .tl-bar-label,.tl-bar.active .tl-bar-label,.tl-bar.expanded .tl-bar-label{opacity:1}.tl-years{display:flex;justify-content:space-between;margin-top:8px;font-size:10px;color:var(--fg-dim);letter-spacing:.12em}.tl-years-mid{opacity:.5}@media (max-width: 720px){.tl-bar{height:12px}.tl-bar-label{font-size:8px}}.experience{position:relative;z-index:2;display:flex;flex-direction:column;gap:18px}.exp-label{align-self:flex-start}.marquees{display:flex;flex-direction:column;gap:4px}.exp-panel{position:relative;margin:6px auto 0;width:min(640px,96%);padding:22px 26px 24px;background:#0000008c;border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;flex-direction:column;gap:14px;animation:exp-pop .35s cubic-bezier(.2,.8,.25,1)}.exp-panel:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--accent);box-shadow:0 0 12px #00e5ff80}@keyframes exp-pop{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.exp-close{position:absolute;top:10px;right:12px;background:transparent;border:1px solid var(--line);color:var(--fg-dim);padding:4px 10px;font-size:10px;letter-spacing:.14em;cursor:pointer;transition:color .3s,border-color .3s}.exp-close:hover{color:var(--fg);border-color:var(--accent)}.exp-head{display:flex;flex-direction:column;gap:6px;padding-right:80px}.exp-years{font-size:11px;color:var(--accent);letter-spacing:.16em}.exp-name{font-family:Inter,sans-serif;font-size:clamp(22px,2.6vw,32px);letter-spacing:-.02em;font-weight:500;color:var(--fg);line-height:1.05;margin:0}.exp-role{font-family:JetBrains Mono,monospace;font-size:13px;color:var(--fg);opacity:.85}.exp-loc{font-size:10px;color:var(--fg-dim);letter-spacing:.14em}.exp-stack{display:flex;flex-wrap:wrap;gap:6px}.exp-tag{font-size:10px;padding:4px 10px;border:1px solid var(--line);color:var(--fg);letter-spacing:.1em}.exp-details{font-family:Inter,sans-serif;font-size:14px;line-height:1.55;color:var(--fg-dim);font-weight:300;margin:0;max-width:56ch}.exp-link{align-self:flex-start;font-size:11px;letter-spacing:.16em;color:var(--accent);padding:6px 0;border-bottom:1px solid var(--line);transition:border-color .3s;text-decoration:none}.exp-link:hover{border-bottom-color:var(--accent)}@media (max-width: 720px){.exp-panel{padding:18px 18px 20px}.exp-head{padding-right:70px}}.shell{position:relative;min-height:100vh;padding:clamp(24px,3vw,40px) clamp(24px,4vw,56px);display:grid;grid-template-rows:auto 1fr auto auto;grid-template-columns:minmax(0,1fr);gap:clamp(28px,5vh,64px);overflow:visible}.experience,.top,.bot,.hero{min-width:0}.grain{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.035;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");z-index:1}.glow{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse 60% 40% at 20% 30%,rgba(0,229,255,.06),transparent 60%),radial-gradient(ellipse 50% 50% at 85% 80%,rgba(0,229,255,.035),transparent 70%);z-index:0}.top,.bot{position:relative;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}.mono{font-family:JetBrains Mono,ui-monospace,SF Mono,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-dim)}.mark{display:inline-flex;align-items:center;gap:10px;color:var(--fg)}.dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent),0 0 24px #00e5ff66;animation:pulse 2.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.meta{display:inline-flex;align-items:center;gap:10px}.sep{opacity:.4}.clock{color:var(--fg);font-variant-numeric:tabular-nums}.hero{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;gap:clamp(18px,2.4vh,32px);max-width:1400px}.label{display:inline-flex;align-items:center;gap:6px;color:var(--fg-dim)}.bracket{color:var(--accent);opacity:.6}.name{font-family:Inter,sans-serif;font-size:clamp(88px,18vw,280px);line-height:.82;letter-spacing:-.055em;font-weight:400;font-variation-settings:"wght" 400;color:var(--fg);margin-left:-.06em}.role{font-family:JetBrains Mono,monospace;font-size:clamp(14px,1.3vw,18px);letter-spacing:.02em;color:var(--fg);text-transform:none;padding-left:2px}.bio{font-family:Inter,sans-serif;font-size:clamp(16px,1.3vw,19px);line-height:1.55;max-width:52ch;color:var(--fg-dim);font-weight:300}.accent{color:var(--fg);position:relative;white-space:nowrap}.accent:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--accent);opacity:.5}.bot{align-items:flex-end}.links{display:flex;gap:32px;flex:1;justify-content:center}.link{display:inline-flex;align-items:baseline;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);transition:border-color .35s ease,transform .35s ease;position:relative}.link:hover{border-bottom-color:var(--accent)}.link-label{color:var(--fg-dim);font-size:10px}.link-value{font-family:JetBrains Mono,monospace;font-size:14px;letter-spacing:.02em;color:var(--fg)}.arrow{display:inline-block;color:var(--accent);font-size:14px;transition:transform .35s ease}.link:hover .arrow{transform:translate(3px,-3px)}.sig{text-align:right;min-width:120px}@media (max-width: 720px){.shell{padding:24px;gap:40px}.top,.bot{flex-direction:column;align-items:flex-start}.links{justify-content:flex-start}.sig{text-align:left}.name{font-size:clamp(64px,22vw,120px)}}:root{--bg: #0a0a0a;--bg-2: #0f0f10;--fg: #e8e8ea;--fg-dim: #6b6b70;--fg-dimmer: #3a3a3f;--accent: #00E5FF;--line: rgba(255, 255, 255, .06);font-family:Inter,system-ui,-apple-system,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:dark}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%}body{background:var(--bg);color:var(--fg);overflow-x:hidden;overflow-y:auto;cursor:none}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:var(--bg)}@media (max-width: 720px){body{cursor:auto;overflow:auto}}
