:root{color-scheme:light}.dark{color-scheme:dark}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.cv-auto{content-visibility:auto;contain-intrinsic-size:auto 900px}@keyframes float-slow{0%,to{transform:translate(0) scale(1)}33%{transform:translate(24px,-32px) scale(1.06)}66%{transform:translate(-20px,18px) scale(.96)}}@keyframes float-slower{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-28px,24px) scale(1.08)}}.blob-a{animation:float-slow 18s ease-in-out infinite}.blob-b{animation:float-slower 22s ease-in-out infinite}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.animate-marquee{animation:marquee 32s linear infinite}.marquee-pause:hover .animate-marquee{animation-play-state:paused}@keyframes pulse-dot{0%,to{box-shadow:0 0 #12b76a8c}70%{box-shadow:0 0 0 8px #12b76a00}}.live-dot{animation:pulse-dot 2s ease-in-out infinite}@keyframes waveform{0%,to{transform:scaleY(.25)}50%{transform:scaleY(1)}}.wave-bar{animation:waveform 1.1s ease-in-out infinite;transform-origin:bottom}.wave-idle .wave-bar{animation-play-state:paused;transform:scaleY(.2)}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}[data-reveal]{opacity:0}[data-reveal].is-visible{animation:rise-in .7s cubic-bezier(.16,1,.3,1) forwards}.grid-fade{background-image:linear-gradient(to right,rgba(148,163,184,.12) 1px,transparent 1px),linear-gradient(to bottom,rgba(148,163,184,.12) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(ellipse 60% 50% at 50% 0%,black 40%,transparent 90%);mask-image:radial-gradient(ellipse 60% 50% at 50% 0%,black 40%,transparent 90%)}.glow-cursor{background:radial-gradient(600px circle at var(--x, 50%) var(--y, 0%),rgba(109,40,217,.16),transparent 60%)}.dark .glow-cursor{background:radial-gradient(600px circle at var(--x, 50%) var(--y, 0%),rgba(156,99,234,.22),transparent 60%)}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.text-shimmer{background-size:200% auto;animation:gradient-shift 6s ease-in-out infinite}@keyframes float-badge{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.float-badge{animation:float-badge 4.5s ease-in-out infinite}:where(.btn-shine){position:relative;overflow:hidden}.btn-shine:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 20%,rgba(255,255,255,.35) 40%,transparent 60%);transform:translate(-120%);transition:transform .7s ease}.btn-shine:hover:after{transform:translate(120%)}:where(.nav-link){position:relative}.nav-link:after{content:"";position:absolute;left:0;bottom:-3px;width:100%;height:2px;border-radius:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .3s ease}.nav-link:hover:after,.nav-link[aria-current=page]:after{transform:scaleX(1);transform-origin:left}.tilt-card{transform-style:preserve-3d;transition:transform .2s ease-out;will-change:transform}#scroll-progress{transform:scaleX(0);transform-origin:left;transition:transform .1s linear}@keyframes kenburns{0%{transform:scale(1) translate(0)}to{transform:scale(1.09) translate(-1.5%,-1.5%)}}.photo-card{overflow:hidden}.photo-card img{animation:kenburns 14s ease-in-out infinite alternate;transition:filter .4s ease}.photo-card:hover img{filter:brightness(1.04) saturate(1.08)}.photo-card.spotlight:before{background:radial-gradient(240px circle at var(--mx, 50%) var(--my, 50%),rgba(255,255,255,.18),transparent 70%);z-index:1}.spotlight:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(240px circle at var(--mx, 50%) var(--my, 50%),rgba(109,40,217,.08),transparent 72%);opacity:0;transition:opacity .35s ease;pointer-events:none}.spotlight:hover:before{opacity:1}.dark .spotlight:before{background:radial-gradient(240px circle at var(--mx, 50%) var(--my, 50%),rgba(156,99,234,.14),transparent 72%)}[data-reveal-line]{transform:scaleX(0);transform-origin:left}[data-reveal-line].is-visible{animation:grow-line 1.4s cubic-bezier(.16,1,.3,1) forwards}@keyframes grow-line{to{transform:scaleX(1)}}@keyframes stage-pop{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}.stage-pop{opacity:0;animation:stage-pop .5s cubic-bezier(.16,1,.3,1) forwards}@keyframes caret-blink{50%{opacity:0}}.caret{animation:caret-blink 1s step-end infinite}@keyframes chip-pick{to{background-color:#6d28d9;border-color:#6d28d9;color:#fff;box-shadow:0 0 0 4px #6d28d94d}}.chip-pick{animation:chip-pick .35s ease-out forwards}@keyframes knob-slide{to{transform:translate(100%)}}.knob-slide{animation:knob-slide .35s cubic-bezier(.16,1,.3,1) forwards}@keyframes track-live{to{background-color:#12b76a}}.track-live{animation:track-live .35s ease-out forwards}.article-body{color:#344054;font-size:1.0625rem;line-height:1.75}.article-body>*+*{margin-top:1.1em}.article-body h2{margin-top:2.2em;font-size:1.5rem;line-height:1.3;font-weight:700;color:#101828;scroll-margin-top:6rem}.article-body h3{margin-top:1.8em;font-size:1.2rem;line-height:1.4;font-weight:600;color:#101828;scroll-margin-top:6rem}.article-body a{color:#5b21b6;text-decoration:underline;text-underline-offset:2px}.article-body strong{color:#101828;font-weight:600}.article-body ul,.article-body ol{padding-left:1.4em}.article-body ul{list-style:disc}.article-body ol{list-style:decimal}.article-body li+li{margin-top:.4em}.article-body li::marker{color:#9e77ed}.article-body blockquote{border-left:3px solid #9e77ed;padding:.2em 0 .2em 1em;color:#475467;font-style:italic}.article-body code{font-size:.9em;background:#f2f4f7;padding:.1em .35em;border-radius:.3em}.article-body table{width:100%;border-collapse:collapse;font-size:.95rem;display:block;overflow-x:auto}.article-body th,.article-body td{border:1px solid #e4e7ec;padding:.55em .8em;text-align:left;vertical-align:top}.article-body th{background:#f9fafb;font-weight:600;color:#101828}.article-body hr{border:0;border-top:1px solid #e4e7ec;margin:2.2em 0}.dark .article-body{color:#d0d5dd}.dark .article-body h2,.dark .article-body h3,.dark .article-body strong,.dark .article-body th{color:#fff}.dark .article-body a{color:#b692f6}.dark .article-body blockquote{color:#98a2b3}.dark .article-body code,.dark .article-body th{background:#ffffff0d}.dark .article-body th,.dark .article-body td,.dark .article-body hr{border-color:#ffffff1a}
