@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/plus-jakarta-sans-vietnamese-wght-normal.qRpaaN48.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/plus-jakarta-sans-latin-ext-wght-normal.DmpS2jIq.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/plus-jakarta-sans-latin-wght-normal.eXO_dkmS.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#0d0e12;--surface:#17181e;--text:#f5f5f7;--muted:#a1a1aa;--line:#262830;--accent:#9396ff;--accent-soft:#1d1f3d;--shadow:0 10px 34px -12px #0009;--glow-a:#6366f138;--glow-b:#38bdf81a;--glow-c:#f472b614;--font:"Plus Jakarta Sans Variable", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.6}h1,h2,h3,p,ul,ol{margin:0;padding:0}ul,ol{list-style:none}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.glow{z-index:-1;pointer-events:none;background:radial-gradient(closest-side at 28% 45%, var(--glow-a), transparent), radial-gradient(closest-side at 62% 35%, var(--glow-b), transparent), radial-gradient(closest-side at 45% 70%, var(--glow-c), transparent);filter:blur(30px);width:90vw;height:80vh;animation:22s ease-in-out infinite alternate drift;position:fixed;top:-30vh;left:-15vw}@keyframes drift{to{transform:translate(9vw,5vh)rotate(8deg)scale(1.08)}}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.shell{grid-template-columns:minmax(0,21rem) minmax(0,1fr);column-gap:clamp(2.5rem,7vw,6rem);max-width:74rem;margin-inline:auto;padding-inline:clamp(1.25rem,4vw,3rem);display:grid}.side{flex-direction:column;justify-content:space-between;height:100vh;padding-block:clamp(2.2rem,9vh,5.5rem) clamp(1.2rem,4vh,3rem);display:flex;position:sticky;top:0}.avatar{object-fit:cover;border-radius:50%;width:4.5rem;height:4.5rem;margin-bottom:clamp(.9rem,2.5vh,1.6rem)}.avatar-empty{color:#fff;letter-spacing:-.02em;background:linear-gradient(135deg,#6366f1,#38bdf8);place-items:center;font-size:1.35rem;font-weight:650;display:grid}.side h1{letter-spacing:-.035em;font-size:clamp(2.2rem,3.6vw,2.9rem);font-weight:700;line-height:1.05}.side-role{letter-spacing:-.015em;margin-top:.7rem;font-size:1.2rem;font-weight:550}.side-blurb{color:var(--muted);max-width:19rem;margin-top:.9rem}.side-cta{margin-top:1.4rem;padding:.6rem 1.3rem;font-size:.95rem}.side-nav{flex-direction:column;align-items:flex-start;gap:.15rem;margin-top:clamp(1.1rem,3.5vh,2.6rem);display:flex}.side-nav a{color:var(--muted);align-items:center;gap:.9rem;padding:clamp(.2rem,.7vh,.45rem) 0;font-size:.9rem;font-weight:550;transition:color .2s;display:flex}.side-line{opacity:.55;background:currentColor;width:1.8rem;height:1.5px;transition:width .2s,opacity .2s}.side-nav a:hover,.side-nav a.on{color:var(--text)}.side-nav a:hover .side-line,.side-nav a.on .side-line{opacity:1;width:3.6rem}.side-nav a.on .side-line{background:var(--accent)}.side-foot{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.6rem;font-size:.9rem;font-weight:500;display:flex}.side-foot a:hover{color:var(--text)}.pill{font:inherit;color:inherit;border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:999px;padding:.25rem .8rem}.pill:hover{color:var(--text);border-color:var(--muted)}.main{padding-block:5.5rem 3rem}.block{scroll-margin-top:5.5rem}.block+.block{margin-top:6rem}.block-title{letter-spacing:-.03em;margin-bottom:1.3rem;font-size:1.6rem;font-weight:680;line-height:1.15}.about p{color:var(--muted);max-width:36rem;font-size:1.06rem}.about p+p{margin-top:1rem}.name .word{white-space:nowrap;display:inline-block}.name .word span{display:inline-block}.name .nick{color:var(--accent)}.name:hover .word span{animation:hop .5s ease calc(var(--i) * 28ms)}@keyframes hop{40%{transform:translateY(-.14em)}}.icon{border:1px solid var(--line);width:2.5rem;height:2.5rem;color:var(--muted);border-radius:50%;place-items:center;transition:color .2s,background-color .2s,border-color .2s,transform .25s cubic-bezier(.3,1.6,.5,1);display:grid}.icon svg{fill:currentColor;width:1.1rem;height:1.1rem}.icon:hover{color:#0d0e12;background:var(--accent);border-color:var(--accent);transform:translateY(-3px)}.icon:hover svg{animation:.5s jiggle}@keyframes jiggle{25%{transform:rotate(-14deg)scale(1.15)}60%{transform:rotate(10deg)scale(1.15)}}button{font:inherit;color:inherit}kbd{font:inherit;opacity:.8;font-size:.85em}.spot{isolation:isolate;position:relative}.spot:before{content:"";z-index:-1;border-radius:inherit;background:radial-gradient(14rem circle at var(--mx,50%) var(--my,50%), var(--accent-soft), transparent 70%);opacity:0;pointer-events:none;transition:opacity .25s;position:absolute;inset:0}@media (hover:hover){.spot:hover:before{opacity:1}}.tags{flex-wrap:wrap;gap:.4rem;margin-top:.9rem;display:flex}.tags li{color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:.18rem .7rem;font-size:.78rem;font-weight:550}.checks{gap:.45rem;margin-top:.9rem;display:grid}.checks li{padding-left:1.7rem;font-size:.97rem;position:relative}.checks li:before{content:"";border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);width:.75rem;height:.4rem;position:absolute;top:.42em;left:.15rem;transform:rotate(-45deg)}.button{background:var(--accent);color:#0d0e12;overflow-wrap:anywhere;border-radius:999px;margin-top:1.5rem;padding:.7rem 1.4rem;font-weight:600;transition:transform .15s,box-shadow .15s;display:inline-block}.button:hover{box-shadow:0 10px 24px -10px var(--accent);transform:translateY(-1px)}.btn-ghost{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:999px;padding:.6rem 1.2rem;font-size:.95rem;font-weight:580;transition:border-color .15s}.btn-ghost:hover{border-color:var(--muted)}.tabs{grid-template-columns:minmax(0,14rem) minmax(0,1fr);align-items:stretch;gap:1rem;display:grid}.tab-list{gap:.35rem;display:grid}.tab{text-align:left;letter-spacing:-.01em;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;padding:.6rem 1rem;font-size:.98rem;font-weight:580;line-height:1.3;transition:color .2s,background-color .2s,border-color .2s}.tab:hover{color:var(--text)}.tab[aria-selected=true]{color:var(--text);background:var(--bg);border-color:var(--line);box-shadow:var(--shadow)}.tab-panel{background:var(--surface);border-radius:20px;min-height:19.5rem;padding:1.6rem 1.7rem 1.7rem;animation:.3s fade}.tab-title{letter-spacing:-.022em;font-size:1.35rem;font-weight:650;line-height:1.25}.tab-text{color:var(--muted);margin-top:.4rem}.tab-panel .checks{margin-top:1.3rem}.tab-seen{border-top:1px solid var(--line);margin-top:1.4rem;padding-top:1.1rem;font-size:.92rem}.tab-seen p{color:var(--muted);margin-bottom:.45rem}.tab-seen ul{gap:.35rem;display:grid}.tab-seen li{color:var(--text);padding-left:1.1rem;position:relative}.tab-seen li:before{content:"";background:var(--accent);border-radius:50%;width:.35rem;height:.35rem;position:absolute;top:.62em;left:.1rem}.link{cursor:pointer;color:var(--accent);text-align:left;background:0 0;border:0;padding:0;font-weight:550}.link:hover{text-underline-offset:.2em;text-decoration:underline}@keyframes fade{0%{opacity:0;transform:translateY(6px)}}.filters{flex-wrap:wrap;gap:.45rem;margin-bottom:1rem;display:flex}.filters button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:.35rem .95rem;font-size:.9rem;font-weight:550;transition:color .15s,background-color .15s,border-color .15s}.filters button:hover{color:var(--text);border-color:var(--muted)}.filters button[aria-pressed=true]{background:var(--text);border-color:var(--text);color:var(--bg)}.empty{color:var(--muted);padding:1rem 0}.list{margin-inline:-1.1rem}.list>li:not([hidden]){animation:.3s fade}.card{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:18px;grid-template-columns:10.5rem minmax(0,1fr);gap:1.4rem;width:100%;padding:1.1rem;transition:border-color .2s,box-shadow .2s,opacity .2s,transform .2s;display:grid}@media (hover:hover){.list:hover .card{opacity:.55}.list:hover .card:hover{opacity:1;border-color:var(--line);box-shadow:var(--shadow);transform:translateY(-2px)}}.card-body,.card-body>span{display:block}.card-kicker{color:var(--accent);margin-bottom:.2rem;font-size:.82rem;font-weight:550}.card-title{letter-spacing:-.015em;font-size:1.08rem;font-weight:620;line-height:1.3}.card-text{color:var(--muted);margin-top:.4rem;font-size:.96rem}.card-more{color:var(--accent);margin-top:.7rem;font-size:.88rem;font-weight:580}.card-img{aspect-ratio:3/2;background:var(--surface);border:1px solid var(--line);border-radius:12px;align-self:start;display:block;overflow:hidden}.card-img img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.card:hover .card-img img{transform:scale(1.06)}.note-card{grid-template-columns:5rem minmax(0,1fr)}.steps{margin-inline:-1.1rem}.step-item+.step-item{margin-top:.2rem}.step-head{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:16px;grid-template-columns:4rem minmax(0,1fr) 1.2rem;align-items:center;gap:1rem;width:100%;padding:.9rem 1.1rem;transition:border-color .2s;display:grid}.step-head:hover,.step-item.open .step-head{border-color:var(--line)}.step-when{color:var(--muted);font-size:.82rem;font-weight:550}.step-main>span{display:block}.step-role{letter-spacing:-.015em;font-size:1.05rem;font-weight:620}.step-place{color:var(--muted);font-size:.95rem}.step-icon{width:.9rem;height:.9rem;color:var(--muted);position:relative}.step-icon:before,.step-icon:after{content:"";background:currentColor;height:1.5px;transition:transform .25s;position:absolute;top:50%;left:0;right:0}.step-icon:after{transform:rotate(90deg)}.step-item.open .step-icon:after{transform:rotate(0)}.step-panel{grid-template-rows:0fr;transition:grid-template-rows .3s;display:grid}.step-item.open .step-panel{grid-template-rows:1fr}.step-panel>div{overflow:hidden}.step-inner{color:var(--muted);padding:.4rem 1.1rem 1.3rem 6.1rem}.step-inner .checks{color:var(--text)}dialog{color:var(--text);background:var(--bg);border:0;border-radius:22px;width:min(44rem,100% - 2rem);max-height:min(90vh,56rem);padding:0;box-shadow:0 30px 80px -20px #0a0a1e73}dialog[open]{animation:.25s cubic-bezier(.2,.8,.2,1) pop}dialog::backdrop{backdrop-filter:blur(6px);background:#0c0c1873}@keyframes pop{0%{opacity:0;transform:translateY(14px)scale(.98)}}.case-top{background:#eeeef3}.case-img{object-fit:contain;width:100%;height:clamp(10rem,30vh,16rem);-webkit-mask-image:radial-gradient(closest-side,#000 55%,#0000);mask-image:radial-gradient(closest-side,#000 55%,#0000)}.case-close{z-index:2;border:1px solid var(--line);background:var(--bg);cursor:pointer;border-radius:50%;width:2.3rem;height:2.3rem;font-size:1.3rem;line-height:1;position:absolute;top:.9rem;right:.9rem}.case-body{padding:1.6rem clamp(1.3rem,4vw,2.2rem)}.case-body h2{letter-spacing:-.03em;text-wrap:balance;font-size:clamp(1.5rem,3.4vw,2rem);font-weight:680;line-height:1.15}.case-body h3{margin-top:1.5rem;font-size:.95rem;font-weight:620}.case-body h3+p{color:var(--muted);margin-top:.3rem}.case-body .tags{margin-top:1.5rem}.case-nav{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;margin-top:1.8rem;padding-top:1.2rem;font-size:.88rem;display:flex}.palette{width:min(34rem,100% - 2rem);margin-top:14vh;overflow:hidden}.palette input{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--text);font:inherit;background:0 0;outline:none;padding:1.1rem 1.3rem;font-size:1.05rem}.palette ul{max-height:21rem;padding:.5rem;overflow-y:auto}.palette li button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;grid-template-columns:5.5rem minmax(0,1fr);gap:.8rem;width:100%;padding:.6rem .8rem;font-size:.95rem;display:grid}.palette li button span{color:var(--muted);font-size:.85rem}.palette li button.active,.palette li button:hover{background:var(--surface)}.palette-empty{color:var(--muted);padding:1.2rem 1.3rem 1.4rem}.toast{background:var(--text);color:var(--bg);opacity:0;pointer-events:none;z-index:50;border-radius:999px;padding:.55rem 1.1rem;font-size:.9rem;font-weight:550;transition:opacity .2s,transform .2s;position:fixed;bottom:1.6rem;left:50%;transform:translate(-50%,1rem)}.toast.show{opacity:1;transform:translate(-50%)}.foot{color:var(--muted);margin-top:3rem;font-size:.85rem}.note{max-width:42rem;margin-inline:auto;padding:4.5rem clamp(1.25rem,4vw,3rem) 5rem}.note-back{color:var(--accent);font-size:.9rem;font-weight:550}.note-meta{color:var(--muted);margin-top:3rem;font-size:.9rem}.note h1{letter-spacing:-.035em;text-wrap:balance;margin-top:.5rem;font-size:clamp(2rem,5vw,3rem);font-weight:700;line-height:1.08}.note-body{margin:2.2rem 0 3rem;font-size:1.15rem;line-height:1.7}.note-body p+p{margin-top:1.2em}.avatar-btn{cursor:pointer;isolation:isolate;background:0 0;border:0;border-radius:50%;margin-bottom:clamp(.9rem,2.5vh,1.6rem);padding:0;transition:transform .25s cubic-bezier(.3,1.6,.5,1);display:inline-block;position:relative}.avatar-btn .avatar{border:3px solid var(--bg);margin-bottom:0}.avatar-btn:before{content:"";z-index:-1;background:conic-gradient(#6366f1,#38bdf8,#f472b6,#6366f1);border-radius:50%;animation:7s linear infinite spin;position:absolute;inset:-3px}.avatar-btn:hover{transform:scale(1.07)rotate(-4deg)}.avatar-btn:active{transform:scale(.95)}@keyframes spin{to{transform:rotate(1turn)}}.avatar-btn.cutout{border-radius:0;margin:0 0 -2rem -1.2rem;display:block}.avatar-btn.cutout:before{filter:blur(18px);background:radial-gradient(closest-side at 62% 45%,#6366f199,#0000),radial-gradient(closest-side at 34% 55%,#f472b652,#0000);border-radius:50%;animation:6s ease-in-out infinite alternate breathe;inset:2% -30% 8%}.avatar-btn.cutout .avatar{object-fit:contain;object-position:bottom;border:0;border-radius:0;width:auto;height:clamp(9rem,27vh,16.5rem);display:block;-webkit-mask-image:linear-gradient(#000 80%,#0000 99%);mask-image:linear-gradient(#000 80%,#0000 99%)}.avatar-btn.cutout:hover{transform:scale(1.04)}.avatar-btn.cutout~.name{z-index:1;position:relative}@keyframes breathe{to{opacity:.7;transform:scale(1.14)}}.avatar-btn.cutout .avatar.fade{opacity:0;pointer-events:none;position:absolute;bottom:0;left:0}.fx-dust .avatar-btn.cutout>.avatar.fade{animation:none}.avatar-btn.cutout .ghost{opacity:0;pointer-events:none;mix-blend-mode:screen;position:absolute;bottom:0;left:0}.ring{opacity:0;pointer-events:none;border:2px solid #a5b4fc;border-radius:50%;width:6rem;height:6rem;margin:-3rem 0 0 -3rem;position:absolute;top:42%;left:50%}.fx-flash,.fx-spot{pointer-events:none;opacity:0;z-index:90;position:fixed;inset:0}.fx-flash{background:#dfe3ff}.fx-spot{background:radial-gradient(circle at var(--sx,20%) var(--sy,25%), transparent 0, transparent 7rem, #000000e6 21rem)}.fx-canvas{z-index:-1;pointer-events:none;width:250%;height:200%;position:absolute;top:-55%;left:-75%;-webkit-mask-image:radial-gradient(closest-side,#000 62%,#0000);mask-image:radial-gradient(closest-side,#000 62%,#0000)}.fx-fire .avatar-btn.cutout>.avatar:not(.ghost){animation:1.7s scorch}.fx-fire .avatar-btn.cutout:before,.fx-matrix .avatar-btn.cutout:before{animation:1.8s hush}@keyframes scorch{12%,78%{filter:sepia(.75)saturate(2.6)hue-rotate(-22deg)brightness(1.2)contrast(1.1)}}@keyframes hush{12%,80%{opacity:0}}.fx-dust .avatar-btn.cutout>.avatar:not(.ghost){animation:2.8s step-end vanish}@keyframes vanish{0%{opacity:0}97%{opacity:1}}.fx-matrix .avatar-btn.cutout>.avatar:not(.ghost){animation:1.8s coded}@keyframes coded{10%,80%{filter:grayscale()sepia()saturate(4)hue-rotate(68deg)brightness(1.15)contrast(1.15)}}.fx-lightning .avatar-btn.cutout>.avatar:not(.ghost){animation:1.1s linear bolt}.fx-lightning .avatar-btn.cutout{animation:.5s linear jolt}.fx-lightning .fx-flash{animation:1.1s linear sky}@keyframes bolt{0%,to{filter:none}6%{filter:brightness(3.2)contrast(1.3)saturate(.4)}14%{filter:brightness(.5)}22%{filter:brightness(4)contrast(1.4)saturate(.2)}40%{filter:brightness(1.5)}}@keyframes sky{6%{opacity:.35}14%{opacity:0}22%{opacity:.55}45%{opacity:0}}@keyframes jolt{10%{transform:translate(-4px,2px)}25%{transform:translate(5px,-2px)}40%{transform:translate(-3px,-1px)}60%{transform:translate(2px,1px)}}.fx-glitch .avatar-btn.cutout>.avatar:not(.ghost){animation:1s step-end tear}.fx-glitch .ghost.g1{filter:sepia()saturate(9)hue-rotate(-45deg);animation:1s step-end split-a}.fx-glitch .ghost.g2{filter:sepia()saturate(9)hue-rotate(150deg);animation:1s step-end split-b}@keyframes tear{10%{clip-path:inset(12% 0 60%);transform:translate(-6px)}20%{clip-path:inset(55% 0 18%);transform:translate(8px)}30%{clip-path:none;transform:skew(-6deg)}45%{clip-path:inset(30% 0 40%);transform:translate(-10px)}55%{clip-path:none;transform:none}70%{clip-path:inset(70% 0 5%);transform:translate(6px)}80%{clip-path:none;transform:none}}@keyframes split-a{0%,to{opacity:0}10%{opacity:.9;transform:translate(-9px,2px)}30%{opacity:.9;transform:translate(7px,-2px)}50%{opacity:.8;transform:translate(-12px)}70%{opacity:.9;transform:translate(5px,3px)}85%{opacity:0}}@keyframes split-b{0%,to{opacity:0}10%{opacity:.9;transform:translate(9px,-2px)}30%{opacity:.9;transform:translate(-7px,2px)}50%{opacity:.8;transform:translate(12px)}70%{opacity:.9;transform:translate(-5px,-3px)}85%{opacity:0}}.fx-surge .avatar-btn.cutout:before{animation:1.2s cubic-bezier(.2,.8,.2,1) swell}.fx-surge .avatar-btn.cutout>.avatar:not(.ghost){animation:1.2s cubic-bezier(.2,.8,.2,1) rise}.fx-surge .ring{animation:1s cubic-bezier(.1,.7,.3,1) burst}@keyframes swell{30%{opacity:1;filter:blur(22px)saturate(1.8)hue-rotate(-25deg);transform:scale(2.3)}}@keyframes rise{30%{filter:brightness(1.4)saturate(1.2);transform:scale(1.1)translateY(-4px)}}@keyframes burst{0%{opacity:.9;border-width:6px;transform:scale(.4)}to{opacity:0;border-width:1px;transform:scale(6)}}.fx-noir .fx-spot{animation:2.3s spot}.fx-noir .avatar-btn.cutout>.avatar:not(.ghost){animation:2.3s noir}.fx-noir .avatar-btn.cutout:before{animation:2.3s pale}@keyframes spot{15%,75%{opacity:1}}@keyframes noir{15%,75%{filter:grayscale()contrast(1.5)brightness(1.25);transform:scale(1.05)}}@keyframes pale{15%,75%{filter:blur(18px)grayscale()brightness(1.6);opacity:.9}}.about{max-width:36rem}.mark{background:linear-gradient(135deg,#818cf8,#f472b6);color:#0000;user-select:none;-webkit-background-clip:text;background-clip:text;height:2.6rem;font-size:5.5rem;font-weight:700;line-height:1;display:block}.mark-open{margin:0 0 .9rem -.25rem}.sign-off{flex-direction:column;align-items:flex-end;margin-top:1.1rem;display:flex}.about [class^=w-]{color:var(--text)}.about .w-name{color:var(--accent);font-variant-ligatures:none;font-weight:600}.about .w-glow{color:#0000;background:linear-gradient(90deg,#818cf8,#f472b6,#38bdf8,#818cf8) 0 0/300% 100%;-webkit-background-clip:text;background-clip:text;font-weight:600;animation:7s linear infinite shimmer}@keyframes shimmer{to{background-position:-300% 0}}.about .w-break{animation:5s ease-in-out infinite twitch;display:inline-block;transform:rotate(-3deg)translateY(1px)}@keyframes twitch{0%,86%,to{transform:rotate(-3deg)translateY(1px)}89%{transform:rotate(-6deg)translate(-1px,2px)}92%{transform:rotate(0)translate(1px)}95%{transform:rotate(-5deg)translateY(2px)}}.about .w-better{color:var(--accent);margin-left:.28em;font-weight:600;transition:transform .6s cubic-bezier(.3,1.6,.5,1) 1.6s;display:inline-block;transform:translateY(-2px)}.reveal:not(.in) .w-better{transform:translateY(.45em)}.about .w-code{text-transform:lowercase;white-space:nowrap;color:#569cd6;background:#1e1e1e;border:1px solid #3c3c3c;border-radius:4px;padding:.16em .45em .2em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86em;box-shadow:inset 2px 0 #007acc}.about .w-code:before{content:"<";color:gray}.about .w-code:after{content:">";color:gray}.about .w-mark{-webkit-box-decoration-break:clone;box-decoration-break:clone;background:linear-gradient(#6366f166,#6366f166) 0 88%/100% 58% no-repeat;padding:0 .15em;transition:background-size .8s 1.8s}.reveal:not(.in) .w-mark{background-size:0 58%}.about .w-live{white-space:nowrap;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='10' viewBox='0 0 48 10'%3E%3Cpath d='M0 6h16l3-5 4 8 3-3h22' fill='none' stroke='%2334d399' stroke-width='1.4' stroke-linejoin='round' stroke-linecap='round'/%3E%3C/svg%3E") 0 100%/48px 10px repeat-x;padding-bottom:.42em;font-weight:600;animation:1.8s linear infinite pulse-line}@keyframes pulse-line{to{background-position:-48px 100%}}.about .w-wave{color:#0000;background:repeating-linear-gradient(115deg,#fff 0 3px,#b9bbff 3px 6px) 0 0/200% 100%;-webkit-background-clip:text;background-clip:text;font-weight:700;animation:9s linear infinite stripes}@keyframes stripes{to{background-position:-200% 0}}.about .w-run{white-space:nowrap;background:linear-gradient(90deg,#818cf8,#38bdf8) 0 100%/0 2px no-repeat;padding-bottom:.2em;font-weight:600;animation:2.8s cubic-bezier(.6,0,.3,1) infinite run}@keyframes run{0%{background-position:0 100%;background-size:0 2px}55%{background-position:0 100%;background-size:100% 2px}56%{background-position:100% 100%;background-size:100% 2px}to{background-position:100% 100%;background-size:0 2px}}.about .rotator{vertical-align:baseline;white-space:nowrap;color:var(--text);font-weight:650;transition:width .45s cubic-bezier(.2,.8,.2,1);display:inline-block}.rot-item{white-space:nowrap;display:inline-block;position:relative}.rot-item.measure,.rot-item.measure *,.rot-item.measure:before,.rot-item.measure:after{animation:none!important}.rot-item.r-type{color:#e5e7eb;background:#16171c;border:1px solid #33353f;border-radius:5px;padding:0 .5em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.84em;font-weight:600;line-height:1.45;animation:.3s cubic-bezier(.3,1.5,.5,1) both pop-in}.rot-item.r-type .prompt{color:#34d399;margin-right:.45em}.rot-item.r-type .typed:after{content:"";vertical-align:-.18em;background:#34d399;width:.55em;height:1.05em;margin-left:1px;animation:.9s step-end infinite caret;display:inline-block}@keyframes pop-in{0%{opacity:0;transform:scale(.85)}}@keyframes caret{50%{opacity:0}}.rot-item.r-scan{padding:0 .45em;line-height:1.3}.rot-item.r-scan .word{animation:.7s cubic-bezier(.2,.8,.2,1) both focus;display:inline-block}.rot-item.r-scan:before{content:"";border:1.5px solid var(--accent);border-radius:3px;animation:.6s cubic-bezier(.2,.8,.2,1) .25s both lock-on;position:absolute;inset:0}.rot-item.r-scan:after{content:"";background:#38bdf8;width:2px;animation:.8s ease-in-out both sweep;position:absolute;top:-.15em;bottom:-.15em;left:0;box-shadow:0 0 10px 2px #38bdf8b3}.rot-item.r-scan .tag{letter-spacing:.02em;color:#0d0e12;background:var(--accent);border-radius:3px 3px 0 0;padding:0 .45em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.5em;font-weight:700;line-height:1.5;animation:.3s .75s both tag-in;position:absolute;bottom:100%;left:-1.5px}@keyframes focus{0%{filter:blur(8px);opacity:.25}}@keyframes lock-on{0%{opacity:0;transform:scale(1.5,2.1)}}@keyframes sweep{0%{opacity:1;left:0}85%{opacity:1}to{opacity:0;left:100%}}@keyframes tag-in{0%{opacity:0;transform:translateY(60%)}}.rot-item.r-drift{animation:3s ease-in-out 1.1s infinite bob}.rot-item.r-drift span{animation:.6s cubic-bezier(.3,1.3,.5,1) both fall;animation-delay:calc(var(--i) * 32ms);display:inline-block}.rot-item.r-drift:before{content:"";z-index:-1;filter:blur(6px);background:radial-gradient(closest-side,#bac6ff80,#0000);border-radius:50%;animation:1.6s ease-out both puff;position:absolute;inset:-.5em -.9em}@keyframes fall{0%{opacity:0;filter:blur(4px);transform:translateY(-1.1em)}}@keyframes puff{0%{opacity:0;transform:scale(.3,.6)}35%{opacity:1}to{opacity:.22;transform:scale(1.1)}}@keyframes bob{50%{transform:translateY(-2px)}}.rot-item.r-chart{line-height:1.2}.rot-item.r-chart span{transform-origin:50% 100%;animation:.6s cubic-bezier(.3,1.4,.5,1) both bar-up;animation-delay:calc(var(--i) * 24ms);display:inline-block}.rot-item.r-chart:before{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath d='M0 9 L18 7 L34 8 L52 4.5 L70 5.5 L100 1' fill='none' stroke='%2334d399' stroke-width='1.6' vector-effect='non-scaling-stroke' stroke-linejoin='round' stroke-linecap='round'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;height:.34em;animation:.8s .5s both draw-line;position:absolute;bottom:-.2em;left:0;right:1.15em}.rot-item.r-chart:after{content:"";background:linear-gradient(var(--accent), var(--accent)) 0 100% / 22% 40% no-repeat, linear-gradient(var(--accent), var(--accent)) 50% 100% / 22% 70% no-repeat, linear-gradient(var(--accent), var(--accent)) 100% 100% / 22% 100% no-repeat;width:.8em;height:.72em;margin-left:.35em;animation:.6s .7s both grow-chart;display:inline-block}@keyframes bar-up{0%{opacity:0;transform:scaleY(0)}55%{opacity:1;transform:scaleY(1.45)}}@keyframes draw-line{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes grow-chart{0%{clip-path:inset(100% 0 0)}to{clip-path:inset(0)}}.rot-item.r-ai .spark{color:#0000;background:linear-gradient(135deg,#818cf8,#f472b6);-webkit-background-clip:text;background-clip:text;margin-right:.3em;animation:.7s cubic-bezier(.3,1.5,.5,1) both spark-in,2.4s ease-in-out .7s infinite twinkle;display:inline-block}.rot-item.r-ai .chunk{white-space:pre;animation:.4s both token;animation-delay:calc(var(--i) * .11s + .3s);display:inline-block}@keyframes spark-in{0%{opacity:0;transform:scale(0)rotate(-180deg)}}@keyframes twinkle{50%{opacity:.7;transform:scale(.75)rotate(20deg)}}@keyframes token{0%{opacity:0;filter:blur(3px);color:#f0abfc;transform:translateY(.18em)}}.rot-item.r-ops{background:linear-gradient(#34d39938,#34d39938) 0 0/100% 100% no-repeat;border-radius:999px;padding:0 .5em;line-height:1.4;animation:.9s cubic-bezier(.5,0,.2,1) both fill-bar}.rot-item.r-ops .check{vertical-align:-.14em;background:#34d399;border-radius:50%;width:.95em;height:.95em;margin-left:.4em;animation:.4s cubic-bezier(.3,1.7,.5,1) .85s both check-pop;display:inline-block;position:relative}.rot-item.r-ops .check:after{content:"";border-bottom:2px solid #0d0e12;border-right:2px solid #0d0e12;width:26%;height:50%;position:absolute;top:17%;left:34%;transform:rotate(45deg)}@keyframes fill-bar{0%{background-size:0 100%}}@keyframes check-pop{0%{opacity:0;transform:scale(0)}}.rot-item.r-team{line-height:1.2}.rot-item.r-team span{animation:.8s cubic-bezier(.2,.9,.2,1) both rally;animation-delay:calc(var(--i) * 16ms);display:inline-block}.rot-item.r-team:after{content:"";background:linear-gradient(90deg,#818cf8,#f472b6);border-radius:2px;height:2px;animation:.5s .75s both join-line;position:absolute;bottom:-.16em;left:0;right:0}@keyframes rally{0%{transform:translate(var(--x), var(--y)) rotate(var(--r)) scale(.6);opacity:0}}@keyframes join-line{0%{transform:scaleX(0)}}.rot-item.r-mentor{line-height:1.2}.rot-item.r-mentor span{animation:.55s both lit;animation-delay:calc(var(--i) * 60ms);display:inline-block}.rot-item.r-mentor:after{content:"";transform-origin:0;background:linear-gradient(90deg,#0000,#fde68a);width:100%;height:2px;animation:.9s both pass-on;position:absolute;bottom:-.16em;left:0}@keyframes lit{0%{color:#4b4e63}40%{color:#fde68a;text-shadow:0 0 10px #fde68acc}}@keyframes pass-on{0%{transform:scaleX(0)}}.signature{opacity:.92;width:11rem;height:auto;margin:.4rem .4rem 0 0;display:block;transform:rotate(-3deg)}.reveal .signature{clip-path:inset(0 100% 0 0)}.reveal.in .signature{clip-path:inset(0);transition:clip-path 1.6s cubic-bezier(.6,0,.2,1) .5s}.about strong{color:var(--text);font-weight:550}.reveal{opacity:0;transition:opacity .6s,transform .6s cubic-bezier(.2,.8,.2,1);transform:translateY(18px)}.reveal.in{opacity:1;transform:none}.card-img{transition:transform .2s ease-out}@media (hover:hover){.card:hover .card-img{transform:perspective(500px) rotateY(calc(var(--px,0) * 16deg)) rotateX(calc(var(--py,0) * -16deg))}}.tab-panel .checks li,.case[open] .checks li,.step-item.open .checks li,.tab-panel .tags li,.case[open] .tags li{animation:.4s cubic-bezier(.2,.8,.2,1) backwards arrive}.checks li:nth-child(2),.tags li:nth-child(2){animation-delay:60ms}.checks li:nth-child(3),.tags li:nth-child(3){animation-delay:.12s}.checks li:nth-child(4),.tags li:nth-child(4){animation-delay:.18s}.tags li:nth-child(n+5){animation-delay:.24s}@keyframes arrive{0%{opacity:0;transform:translate(-8px)}}.tags li{transition:transform .2s cubic-bezier(.3,1.6,.5,1)}.tags li:hover{transform:translateY(-2px)rotate(-2deg)}.button{position:relative;overflow:hidden}.button:after{content:"";background:linear-gradient(110deg,#0000 35%,#ffffff59 50%,#0000 65%);position:absolute;inset:0;transform:translate(-120%)}.button:hover:after{transition:transform .7s;transform:translate(120%)}.side-nav a:hover{transform:translate(3px)}.side-nav a{transition:color .2s,transform .2s}.confetti{pointer-events:none;z-index:100;width:100%;height:100%;position:fixed;inset:0}@media (height<=800px) and (width>=901px){.side-blurb{display:none}}@media (width<=900px){.shell{grid-template-columns:minmax(0,1fr)}.side{gap:1.8rem;height:auto;padding-block:3.5rem 0;position:static}.side-nav{display:none}.main{padding-top:3.5rem}.block+.block{margin-top:4rem}.glow{width:160vw;left:-40vw}}@media (width<=700px){.tabs{grid-template-columns:minmax(0,1fr)}.tab-list{padding-bottom:.3rem;display:flex;overflow-x:auto}.tab{flex:none;max-width:13rem}.tab-panel{min-height:0}}@media (width<=560px){.step-head{grid-template-columns:minmax(0,1fr) 1.2rem}.step-when:empty{display:none}.step-head .step-when{grid-column:1/-1}.step-inner{padding-left:1.1rem}.note-card{grid-template-columns:minmax(0,1fr)}.card{grid-template-columns:minmax(0,1fr);gap:.9rem}.step-when{padding-top:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
