body{margin:0;background:#0a0b0f}a{color:#b8f25c;text-decoration:none}a:hover{color:#d6ff8f}@property --ang{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes pulse{0%{box-shadow:0 0 #b8f25c8c}70%{box-shadow:0 0 0 10px #b8f25c00}to{box-shadow:0 0 #b8f25c00}}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes letter{0%{opacity:0;transform:translateY(70%) rotate(10deg)}to{opacity:1;transform:none}}@keyframes wave{0%,to{transform:none;color:#f2f4f8}8%{transform:translateY(-16%) rotate(-4deg);color:#b8f25c}16%{transform:none;color:#f2f4f8}}@keyframes dotb{0%,to{transform:translateY(0) scale(1)}40%{transform:translateY(-35%) scale(1.15)}60%{transform:translateY(0) scale(.9,1.1)}}@keyframes glitch{0%{text-shadow:3px 0 #7CC4FF,-3px 0 #B8F25C}25%{text-shadow:-3px 1px #7CC4FF,3px -1px #B8F25C}50%{text-shadow:2px -1px #7CC4FF,-2px 1px #B8F25C}75%{text-shadow:-2px 0 #7CC4FF,2px 0 #B8F25C}to{text-shadow:none}}@keyframes blurin{0%{opacity:0;filter:blur(8px);transform:translateY(10px)}to{opacity:1;filter:none;transform:none}}@keyframes mark{to{background-size:100% 42%}}@keyframes type{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}@keyframes float{0%,to{transform:translate(0)}50%{transform:translate(14px,-20px)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes gridpan{to{background-position:64px 64px,64px 64px}}@keyframes wheel{0%{opacity:0;transform:translateY(-4px)}30%{opacity:1}to{opacity:0;transform:translateY(12px)}}@keyframes curtain{0%{transform:scaleX(0);transform-origin:left}48%{transform:scaleX(1);transform-origin:left}52%{transform:scaleX(1);transform-origin:right}to{transform:scaleX(0);transform-origin:right}}@keyframes shine{to{transform:translate(120%)}}@keyframes spinb{to{--ang:360deg}}@keyframes bobt{0%,to{translate:0 0}50%{translate:0 -6px}}@keyframes numglow{0%,to{text-shadow:none}50%{text-shadow:0 0 20px rgba(184,242,92,.45)}}@keyframes tick{to{transform:rotate(360deg)}}@keyframes popsq{0%,to{opacity:.35}25%{opacity:1}}@keyframes bagb{0%,to{transform:translateY(0)}30%{transform:translateY(-3px)}60%{transform:translateY(1px)}}@keyframes twinkle{0%,to{transform:rotate(0) scale(1)}50%{transform:rotate(72deg) scale(1.15)}}@keyframes diag{0%,to{transform:none}50%{transform:translate(4px,-4px)}}@keyframes wiggle{0%,to{transform:none}25%{transform:rotate(-4deg) scale(1.06)}50%{transform:rotate(3deg) scale(1.06)}75%{transform:rotate(-2deg)}}@keyframes handwave{0%,55%,to{transform:none}8%{transform:rotate(-10deg)}16%{transform:rotate(9deg)}24%{transform:rotate(-7deg)}32%{transform:rotate(5deg)}40%{transform:rotate(-2deg)}}@keyframes qfloat{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-6px) rotate(-6deg)}}.gridbg{position:relative;isolation:isolate;animation:gridpan 10s linear infinite}.net-bg{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:-1;pointer-events:none;display:block}.progress{position:fixed;top:0;left:0;right:0;height:3px;background:#b8f25c;transform-origin:0 50%;transform:scaleX(var(--sp,0));z-index:30;pointer-events:none}.navlink{position:relative;color:#9aa0ad}.navlink:hover{color:#f2f4f8}.navlink:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:#b8f25c;transform:scaleX(0);transform-origin:left;transition:transform .3s}.navlink:hover:after{transform:scaleX(1)}.cursor{animation:blink 1s steps(1) infinite}.rise{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}.d1{animation-delay:.1s}.d2{animation-delay:.25s}.d3{animation-delay:.4s}.d4{animation-delay:.55s}.live{animation:pulse 2s infinite}.orbit{animation:orbit 22s linear infinite}.orbit-rev{animation:orbit 30s linear infinite reverse}.ltr{display:inline-block;animation:letter .9s cubic-bezier(.2,.8,.2,1) both}.wv{animation:letter .9s cubic-bezier(.2,.8,.2,1) both,wave 4s ease-in-out infinite}.dotb{animation:letter .9s cubic-bezier(.2,.8,.2,1) both,dotb 1.6s ease-in-out infinite}.hname{cursor:default}.hname:hover{animation:glitch .45s steps(4) 2}.wd{display:inline-block;animation:blurin .7s cubic-bezier(.2,.7,.2,1) both}.mk{color:#f2f4f8;background:linear-gradient(#b8f25c47,#b8f25c47) left 88%/0% 42% no-repeat;animation:blurin .7s cubic-bezier(.2,.7,.2,1) both,mark .8s cubic-bezier(.2,.7,.2,1) forwards;transition:color .25s}.mk:hover{color:#b8f25c}.tl{animation:type .7s steps(28) both}.float{animation:float 7s ease-in-out infinite}.float-slow{animation:bob 6s ease-in-out infinite}.cta{transition:box-shadow .3s,transform .2s}.cta:hover{box-shadow:0 0 0 6px #b8f25c26;transform:translateY(-2px)}.cta svg{transition:transform .3s}.cta:hover svg{transform:translate(5px)}.h-stat{display:flex;flex-direction:column;gap:4px;transition:transform .3s}.h-stat:hover{transform:translateY(-3px)}.px-hero-text{translate:0 calc(var(--hy,0) * -.25px);opacity:max(.15,calc(1 - var(--hy,0) / 700))}.px-hero-term{translate:0 calc(var(--hy,0) * .18px)}.scroll-cue{position:absolute;left:50%;bottom:32px;translate:-50% 0;display:flex;flex-direction:column;align-items:center;gap:10px;min-width:44px;min-height:44px;opacity:max(0,calc(1 - var(--hy,0) / 220));animation:rise .9s 2.4s both}.scroll-cue .mouse{width:24px;height:38px;border:2px solid #4A505E;border-radius:14px;display:flex;justify-content:center;padding-top:7px;box-sizing:border-box;transition:border-color .25s}.scroll-cue:hover .mouse{border-color:#b8f25c}.scroll-cue .wheel{width:4px;height:8px;border-radius:2px;background:#b8f25c;animation:wheel 1.6s ease-in-out infinite}.sec{position:relative;isolation:isolate;box-sizing:border-box;max-width:1200px;margin:0 auto;padding:120px 24px;display:flex;flex-direction:column;gap:48px}.wm{position:absolute;top:40px;right:16px;z-index:-1;font-family:Space Grotesk,sans-serif;font-weight:700;font-size:clamp(140px,22vw,300px);line-height:1;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1px #262A35;pointer-events:none;-webkit-user-select:none;user-select:none;translate:0 calc(var(--p,0) * 180px)}.s-kicker{margin:0 0 14px;font-family:JetBrains Mono,monospace;font-size:14px;color:#b8f25c}.s-label{display:inline-block;opacity:0;letter-spacing:.6em;transition:opacity .8s,letter-spacing 1s cubic-bezier(.2,.7,.2,1)}.sec.in .s-label{opacity:1;letter-spacing:0}.s-h2{position:relative;display:inline-block;margin:0;font-size:clamp(36px,4.6vw,56px);line-height:1.05;letter-spacing:-.03em;font-weight:600;translate:calc(var(--p,0) * -28px) 0}.s-h2:after{content:"";position:absolute;left:-6px;right:-6px;top:0;bottom:0;background:#b8f25c;transform:scaleX(0);transform-origin:left;pointer-events:none}.sec.in .s-h2:after{animation:curtain 1.1s cubic-bezier(.7,0,.3,1) .1s both}.s-line{display:block;clip-path:inset(0 0 100% 0);transform:translateY(45%);transition:clip-path .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}.sec.in .s-line{clip-path:inset(-10% -5% -25% -5%);transform:none}.s-sub{margin:18px 0 0;max-width:640px;font-size:18px;line-height:1.6;color:#9aa0ad}.s-item{opacity:0;transform:translateY(30px);filter:blur(6px);transition:opacity .8s,transform .9s cubic-bezier(.2,.7,.2,1),filter .8s}.sec.in .s-item{opacity:1;transform:none;filter:none}.s-pop{opacity:0;transform:translateY(16px) scale(.9);transition:opacity .5s,transform .6s cubic-bezier(.3,1.5,.5,1)}.sec.in .s-pop{opacity:1;transform:none}.mkr{color:#f2f4f8;background:linear-gradient(#b8f25c40,#b8f25c40) left 88%/0% 40% no-repeat;transition:background-size .8s cubic-bezier(.2,.7,.2,1),color .25s}.sec.in .mkr{background-size:100% 40%}.mkr:hover{color:#b8f25c}.a-hand{display:inline-block;transform-origin:70% 90%}.sec.in .a-hand{animation:handwave 3.2s ease-in-out 1.6s infinite}.panel{height:100%;box-sizing:border-box;border:1px solid #1F232C;border-radius:20px;background:#0f1117;transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .3s,box-shadow .3s}.panel:hover{transform:translateY(-6px);border-color:#b8f25c;box-shadow:0 24px 60px #b8f25c14}.ic{width:44px;height:44px;flex:none;border-radius:12px;background:#161a22;color:#b8f25c;display:flex;align-items:center;justify-content:center;transition:transform .4s cubic-bezier(.3,1.5,.5,1),background .3s,color .3s}.panel:hover .ic{transform:rotate(-12deg) scale(1.1);background:#b8f25c;color:#0a0b0f}.tag{padding:6px 12px;border-radius:8px;background:#181b24;font-family:JetBrains Mono,monospace;font-size:12px;color:#b8f25c}.pill{padding:5px 12px;border-radius:999px;border:1px solid #343946;font-family:JetBrains Mono,monospace;font-size:12px;color:#c9cdd6;white-space:nowrap}.link-arrow{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-family:JetBrains Mono,monospace;font-size:14px}.link-arrow svg{transition:transform .3s}.link-arrow:hover svg{transform:translate(4px,-4px)}.role ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.role li{display:flex;gap:10px;font-size:16px;line-height:1.55;color:#c9cdd6}.role li:before{content:"→";font-family:JetBrains Mono,monospace;color:#b8f25c;transition:transform .3s}.role:hover li:before{transform:translate(4px)}.cs-no{font-size:64px;line-height:.9;font-weight:700;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1px #4A505E;transition:color .35s,-webkit-text-stroke-color .35s}.panel:hover .cs-no{color:#b8f25c;-webkit-text-stroke-color:#B8F25C}.cs-flow{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:24px}.cs-step{position:relative;padding-top:22px}.cs-step:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:#262a34}.cs-step:after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:#b8f25c;transform:scaleX(0);transform-origin:left;transition:transform .9s cubic-bezier(.2,.7,.2,1)}.sec.in .cs-step:after{transform:scaleX(1)}.sec.in .cs-step:nth-child(1):after{transition-delay:.6s}.sec.in .cs-step:nth-child(2):after{transition-delay:1.1s}.sec.in .cs-step:nth-child(3):after{transition-delay:1.6s}.cs-tag{display:block;margin-bottom:10px;font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#9aa0ad}.cs-step.res .cs-tag{color:#b8f25c}.cs-step p{margin:0;font-size:16px;line-height:1.6;color:#c9cdd6}.st{position:relative;overflow:hidden;box-sizing:border-box;padding:22px;border:1px solid transparent;border-radius:14px;background:linear-gradient(#0f1117,#0f1117) padding-box,conic-gradient(from var(--ang),#1F232C 0 62%,#B8F25C 80%,#1F232C 96%) border-box;animation:spinb 5s linear infinite;opacity:0;transform:translateY(24px) scale(.92);transition:opacity .6s,transform .7s cubic-bezier(.3,1.4,.5,1),box-shadow .3s,border-color .3s}.sec.in .st{opacity:1;transform:none;animation:spinb 5s linear infinite,bobt 5.5s ease-in-out 1.6s infinite}.st:nth-child(2){animation-delay:-1.25s,1.9s}.st:nth-child(3){animation-delay:-2.5s,2.2s}.st:nth-child(4){animation-delay:-3.75s,2.5s}.st:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,transparent 35%,rgba(184,242,92,.12) 50%,transparent 65%);transform:translate(-120%);pointer-events:none}.sec.in .st:after{animation:shine 1.2s ease 1.5s both}.sec.in .st:nth-child(2):after{animation-delay:1.65s}.sec.in .st:nth-child(3):after{animation-delay:1.8s}.sec.in .st:nth-child(4):after{animation-delay:1.95s}.sec.in .st:hover{transform:translateY(-6px);border-color:#b8f25c;box-shadow:0 16px 40px #b8f25c1a;transition-delay:0s!important}.sec.in .st:hover:after{animation:shine .9s ease both}.st-num{display:inline-block;font-size:34px;font-weight:700;letter-spacing:-.02em;transform-origin:left bottom;transition:transform .35s cubic-bezier(.3,1.5,.5,1),color .3s}.sec.in .st-num{animation:numglow 3s ease-in-out 1.8s infinite}.st:hover .st-num{transform:scale(1.15);color:#b8f25c}.st-label{margin-top:6px;font-family:JetBrains Mono,monospace;font-size:13px;color:#9aa0ad}.st-bar{display:block;height:2px;width:0;margin-top:16px;background:#b8f25c;transition:width .8s cubic-bezier(.2,.7,.2,1)}.sec.in .st-bar{width:40px}.sec.in .st:hover .st-bar{width:100%;transition-delay:0s!important}.st-ic{position:absolute;top:18px;right:18px;width:40px;height:40px;border-radius:10px;background:#161a22;color:#b8f25c;display:flex;align-items:center;justify-content:center;transition:transform .4s cubic-bezier(.3,1.5,.5,1),background .3s,color .3s}.st-ic:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:10px;animation:pulse 2.4s infinite}.st:hover .st-ic{transform:rotate(-12deg) scale(1.12);background:#b8f25c;color:#0a0b0f}.ic-hand{transform-origin:12px 12px;animation:tick 3s linear infinite}.ic-hand2{transform-origin:12px 12px;animation:tick 18s linear infinite}.ic-sq{animation:popsq 2s ease-in-out infinite}.ic-bag{animation:bagb 1.8s ease-in-out infinite}.ic-star{transform-origin:12px 12px;animation:twinkle 2.6s ease-in-out infinite}.rv-star{transform:scale(.3);opacity:0;transition:transform .5s cubic-bezier(.3,1.6,.5,1),opacity .3s}.sec.in .rv-star{transform:none;opacity:1}.rv-star polygon{fill:transparent;transition:fill .3s}.sec.in .rv-star polygon{fill:#b8f25c}.app-logo{width:56px;height:56px;flex:none;border-radius:14px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:20px;color:#0a0b0f;background:#b8f25c;transition:transform .4s cubic-bezier(.3,1.5,.5,1)}.panel:hover .app-logo{transform:rotate(-8deg) scale(1.08)}.chip{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 14px;border:1px solid #262A34;border-radius:999px;background:#0a0b0f;font-family:JetBrains Mono,monospace;font-size:14px;color:#f2f4f8;opacity:0;transform:translateY(12px) scale(.85);transition:opacity .4s,transform .5s cubic-bezier(.3,1.5,.5,1),border-color .25s,color .25s}.chip:before{content:"";width:7px;height:7px;border-radius:50%;background:#b8f25c}.sec.in .chip{opacity:1;transform:none}.sec.in .chip:hover{border-color:#b8f25c;color:#b8f25c;transform:translateY(-3px);transition-delay:0s!important}.xp{position:relative;padding-left:40px;display:flex;flex-direction:column;gap:48px}.xp:before{content:"";position:absolute;left:7px;top:6px;bottom:6px;width:2px;background:#1f232c}.xp-fill{position:absolute;left:7px;top:6px;bottom:6px;width:2px;background:#b8f25c;transform:scaleY(0);transform-origin:top;transition:transform 1.8s cubic-bezier(.2,.7,.2,1) .3s}.sec.in .xp-fill{transform:scaleY(1)}.xp-item{position:relative}.xp-dot{position:absolute;left:-40px;top:4px;width:16px;height:16px;border-radius:50%;border:2px solid #B8F25C;background:#0a0b0f;box-sizing:border-box;transform:scale(0);transition:transform .5s cubic-bezier(.3,1.6,.5,1),background .3s}.sec.in .xp-dot{transform:scale(1)}.xp-item:hover .xp-dot{background:#b8f25c}.xp-dot.now{animation:pulse 2s infinite}.xp-item ul{margin:12px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.xp-item li{display:flex;gap:10px;font-size:16px;line-height:1.55;color:#c9cdd6}.xp-item li:before{content:"·";color:#b8f25c;font-weight:700}.post{display:grid;grid-template-columns:120px minmax(0,1fr) auto;align-items:center;gap:24px;padding:28px 16px;border-bottom:1px solid #1F232C;color:#f2f4f8;border-radius:12px;transition:background .3s,padding .3s}.post:hover{background:#0f1117;padding-left:24px;color:#f2f4f8}.post .arr{transition:transform .3s,color .3s;color:#9aa0ad}.post:hover .arr{transform:translate(6px,-6px) rotate(0);color:#b8f25c}.post h3{margin:0;font-size:22px;font-weight:600;letter-spacing:-.01em;transition:color .3s}.post:hover h3{color:#b8f25c}.shot{position:relative;overflow:hidden;height:180px;border-radius:12px;border:1px solid #1C1F27;background:#141720;display:flex;align-items:center;justify-content:center;font-family:JetBrains Mono,monospace;font-size:13px;color:#9aa0ad}.shot:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.07) 50%,transparent 65%);transform:translate(-100%)}.panel:hover .shot:after{transition:transform 1s;transform:translate(100%)}.qmark{font-size:72px;line-height:.6;font-weight:700;color:#b8f25c;display:inline-block;animation:qfloat 4s ease-in-out infinite}.contact-wrap{border-top:1px solid #1C1F27;background:#0d0f14;overflow:hidden}.c-draw{display:inline-block;background:linear-gradient(#b8f25c,#b8f25c) left 92%/0 6px no-repeat;transition:background-size 1s .8s cubic-bezier(.2,.7,.2,1)}.sec.in .c-draw{background-size:100% 6px}.c-head:hover .c-draw{animation:wiggle .6s ease-in-out}.c-cur{display:inline-block;width:.08em;height:.8em;margin-left:.08em;background:#b8f25c;vertical-align:baseline}.c-mail{transition:color .25s,letter-spacing .4s cubic-bezier(.2,.7,.2,1)}.c-mail svg{animation:diag 1.8s ease-in-out infinite;transition:transform .3s}.c-mail:hover{color:#b8f25c!important;letter-spacing:.02em}.c-mail:hover svg{animation:none;transform:translate(6px,-6px) rotate(45deg)}.c-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 20px;border:1px solid #343946;border-radius:10px;color:#c9cdd6;font-family:JetBrains Mono,monospace;font-size:14px;background:linear-gradient(#b8f25c,#b8f25c) left bottom/100% 0 no-repeat;transition:background-size .35s cubic-bezier(.2,.7,.2,1),color .25s,border-color .25s,translate .25s}.c-btn:hover{background-size:100% 100%;color:#0a0b0f;border-color:#b8f25c;translate:0 -3px}.c-btn.primary{background-color:#b8f25c;color:#0a0b0f;border-color:#b8f25c;font-weight:500}.c-btn.primary:hover{box-shadow:0 0 0 6px #b8f25c26}.svc{display:flex;gap:14px;align-items:flex-start;padding:20px;border:1px solid #1F232C;border-radius:14px;background:#0a0b0f;transition:border-color .3s,translate .3s}.svc:hover{border-color:#b8f25c;translate:0 -4px}.svc-n{font-family:JetBrains Mono,monospace;font-size:13px;color:#b8f25c;padding-top:3px}.tk-row{display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px 24px;align-items:start;padding:20px 0;border-top:1px solid #1F232C}.tk-head{display:flex;align-items:center;gap:12px;min-height:40px;font-size:17px;font-weight:600}.tk-head .ic{width:36px;height:36px;border-radius:10px}.tk-chips{display:flex;flex-wrap:wrap;gap:8px}.tk.panel:hover{transform:none}.tk.panel:hover .ic{transform:none;background:#161a22;color:#b8f25c}.tk .tk-row:hover .ic{transform:rotate(-12deg) scale(1.1);background:#b8f25c;color:#0a0b0f}@media(max-width:720px){.tk-row{grid-template-columns:minmax(0,1fr)}}.wtabs{display:flex;flex-wrap:wrap;gap:6px;padding:6px;border:1px solid #262A34;border-radius:14px;background:#0f1117}.wtab{min-height:44px;padding:0 18px;border:0;border-radius:10px;background:transparent;color:#c9cdd6;font-family:JetBrains Mono,monospace;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:background .25s,color .25s}.wtab:hover{color:#f2f4f8;background:#161a22}.wtab.on,.wtab.on:hover{background:#b8f25c;color:#0a0b0f}.wtab-n{font-size:12px;padding:2px 7px;border-radius:999px;background:#1f232c;color:#c9cdd6}.wtab.on .wtab-n{background:#0a0b0f26;color:#0a0b0f}.tab-panel{display:flex;flex-direction:column;gap:32px;animation:rise .6s cubic-bezier(.2,.7,.2,1) both}@media(max-width:640px){.post{grid-template-columns:minmax(0,1fr) auto}.post .post-date{grid-column:1 / -1}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.s-label,.s-line,.s-item,.s-pop,.chip,.st,.rv-star,.xp-dot{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important;letter-spacing:0!important}.px-hero-text,.px-hero-term,.wm,.s-h2{translate:none!important}.px-hero-text{opacity:1}.mk{background-size:100% 42%}.mkr{background-size:100% 40%}.c-draw{background-size:100% 6px}.cs-step:after,.xp-fill{transform:none}.st-bar{width:40px}.rv-star polygon{fill:#b8f25c}.tl{clip-path:none}.s-h2:after,.progress{display:none}}.blog{--panel:#11131A;--line:#1C1F27;--line2:#262A34;--text:#F2F4F8;--soft:#C9CDD6;--mute:#9AA0AD;--lime:#B8F25C;--lime2:#D6FF8F;--blue:#7CC4FF;--mono:"JetBrains Mono",ui-monospace,monospace;font-size:18px;line-height:1.7}.blog a:focus-visible{outline:2px solid var(--lime);outline-offset:3px;border-radius:4px}.blog .btn{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:10px;background:var(--lime);color:#0a0b0f;font-weight:600}.blog .btn:hover{background:var(--lime2);color:#0a0b0f}.blog .wrap{max-width:760px;margin:0 auto;padding:64px 24px 96px}.blog .kicker{margin:0 0 16px;font-family:var(--mono);font-size:13px;color:var(--mute);display:flex;flex-wrap:wrap;gap:6px 14px}.blog .b-tag{color:var(--blue)}.blog h1{margin:0;font-size:clamp(34px,6vw,56px);line-height:1.05;letter-spacing:-.035em;font-weight:700}.blog .lede{margin:20px 0 0;font-size:20px;line-height:1.6;color:var(--soft)}.blog .byline{margin:28px 0 0;padding:20px 0 0;border-top:1px solid var(--line);font-family:var(--mono);font-size:13px;color:var(--mute)}.blog .byline a{color:var(--text)}.blog article{margin-top:48px}.blog article h2{margin:56px 0 16px;font-size:30px;line-height:1.2;letter-spacing:-.02em}.blog article h3{margin:36px 0 12px;font-size:22px;line-height:1.3}.blog article h4{margin:28px 0 10px;font-size:18px}.blog .anchor{float:left;margin-left:-1.1em;width:1.1em;color:var(--line2);font-weight:400;opacity:0}.blog h2:hover .anchor,.blog h3:hover .anchor,.blog h4:hover .anchor{opacity:1}.blog article p,.blog article ul,.blog article ol{margin:0 0 20px;color:var(--soft)}.blog article li{margin:6px 0}.blog article li::marker{color:var(--lime)}.blog article strong{color:var(--text)}.blog article hr{border:0;border-top:1px solid var(--line);margin:48px 0}.blog article em{color:var(--mute)}.blog blockquote{margin:28px 0;padding:18px 22px;border:1px solid var(--line2);border-left:3px solid var(--lime);border-radius:0 12px 12px 0;background:var(--panel)}.blog blockquote p:last-child,.blog blockquote ul:last-child{margin-bottom:0}.blog :not(pre)>code{font-family:var(--mono);font-size:.85em;padding:2px 6px;border-radius:6px;background:#1a1d25;color:var(--lime2);overflow-wrap:anywhere}.blog .code{position:relative;margin:24px 0}.blog .code-lang{position:absolute;top:8px;right:12px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}.blog pre{margin:0;padding:22px 20px;overflow-x:auto;background:var(--panel);border:1px solid var(--line2);border-radius:12px;font-family:var(--mono);font-size:14px;line-height:1.65;color:var(--soft)}.blog .table-wrap{margin:24px 0;overflow-x:auto;border:1px solid var(--line2);border-radius:12px}.blog table{width:100%;border-collapse:collapse;font-size:15px}.blog th,.blog td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.blog th{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute);background:var(--panel)}.blog tr:last-child td{border-bottom:0}.blog td{color:var(--soft)}.blog .hljs-keyword,.blog .hljs-selector-tag,.blog .hljs-literal,.blog .hljs-doctag{color:#c792ea}.blog .hljs-string,.blog .hljs-regexp,.blog .hljs-template-tag{color:var(--lime)}.blog .hljs-number,.blog .hljs-symbol,.blog .hljs-bullet{color:#f78c6c}.blog .hljs-comment,.blog .hljs-quote{color:#5c6370;font-style:italic}.blog .hljs-title,.blog .hljs-section{color:var(--blue)}.blog .hljs-attr,.blog .hljs-attribute,.blog .hljs-property,.blog .hljs-selector-class,.blog .hljs-selector-id{color:#ffcb6b}.blog .hljs-tag,.blog .hljs-name{color:#f07178}.blog .hljs-built_in,.blog .hljs-type{color:#82aaff}.blog .hljs-variable,.blog .hljs-template-variable,.blog .hljs-params{color:var(--text)}.blog .hljs-meta{color:var(--mute)}.blog .b-cta{margin:64px 0 0;padding:32px;border:1px solid var(--line2);border-radius:16px;background:var(--panel)}.blog .b-cta h2{margin:0 0 8px;font-size:26px;letter-spacing:-.02em}.blog .b-cta p{margin:0 0 20px;color:var(--soft)}.blog .after{margin:32px 0 0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-family:var(--mono);font-size:14px}.blog .list{margin:48px 0 0;border-top:1px solid var(--line)}.blog .b-post{display:block;padding:28px 0;border-bottom:1px solid var(--line);color:var(--text)}.blog .b-post:hover h2{color:var(--lime)}.blog .b-post h2{margin:6px 0 8px;font-size:24px;line-height:1.25;letter-spacing:-.015em;transition:color .2s}.blog .b-post p{margin:0;color:var(--mute);font-size:16px;line-height:1.6}.blog .pin{display:inline-block;margin-right:10px;padding:1px 8px;border-radius:999px;background:var(--lime);color:#0a0b0f;font-weight:600}.blog-footer{max-width:1200px;margin:0 auto;padding:24px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-family:var(--mono);font-size:13px;color:var(--mute)}.blog-footer a{color:var(--mute)}@media(max-width:520px){.blog{font-size:17px}.blog .wrap{padding-top:40px}.blog .b-cta{padding:24px}.blog .anchor{display:none}}
