@property --char-swing{syntax:"<number>";inherits:true;initial-value:0}@property --char-look{syntax:"<length>";inherits:true;initial-value:0}@property --char-limb{syntax:"<angle>";inherits:false;initial-value:0deg}@property --char-bob{syntax:"<length>";inherits:false;initial-value:0}.char-lane{--char-ink:#ffffff52;--char-fill:#1a1a1d;--char-accent:#a78bfa;--char-h:40px;--char-box:50px;--lane-h:64px;--ground:10px;--lane-dur:20s;background:var(--bg-dark,#09090b);padding:0 5%;position:relative}@media (min-width:600px){.char-lane{--lane-dur:32s}}@media (min-width:768px){.char-lane{--char-h:46px;--char-box:56px;--lane-h:72px}}@media (min-width:1024px){.char-lane{--lane-dur:46s}}.char-lane+.section-block{padding-top:var(--section-py-tight)}.char-lane__stage{max-width:1280px;height:var(--lane-h);margin:0 auto;position:relative;overflow-x:clip;container-type:inline-size}.char-lane__ground{left:0;right:0;bottom:var(--ground);pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff17 14% 86%,#0000);height:1px;position:absolute}.char-lane--nibble .char-lane__ground{display:none}.char-buddy{--lane-x:calc(100cqw - var(--char-box) - 12px);--rest:.12;left:0;bottom:calc(var(--ground) - 6px);width:var(--char-box);height:var(--char-box);transform:translateX(calc(6px + var(--lane-x) * var(--rest)));position:absolute}.char-buddy--nibble{--rest:.62}.char-buddy--pixel{--rest:.86;bottom:calc(var(--ground) - 1px)}@media (max-width:599px){.char-buddy--pixel{--rest:.8}}.char-facer{width:100%;height:100%}.char-btn{width:100%;height:100%;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:0;border-radius:14px;justify-content:center;align-items:flex-end;margin:0;padding:0;display:flex}.char-btn:focus-visible{outline:2px solid var(--char-accent);outline-offset:2px;border-radius:14px}@supports selector(:has(*)){.char-btn:focus-visible{outline:none}.char-buddy:has(.char-btn:focus-visible){outline:2px solid var(--char-accent);outline-offset:2px;border-radius:14px}}.char-body{transform-origin:50% 100%;display:block}.char-svg{width:auto;height:var(--char-h);display:block;overflow:visible}.char-svg--nibble{height:calc(var(--char-h) * 1.08)}.char-svg--pixel{height:calc(var(--char-h) * 1.1);overflow:hidden}.char-part{fill:var(--char-fill);stroke:var(--char-ink);stroke-width:1.8px;stroke-linejoin:round}.char-line{fill:none;stroke:var(--char-ink);stroke-width:1.8px;stroke-linecap:round}.char-visor{fill:#09090b;stroke:#a78bfa99;stroke-width:1.6px}.char-eyes,.char-antenna-tip,.char-cursor{fill:var(--char-accent)}.char-smile{fill:none;stroke:#ffffff9e;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.char-blush{fill:#a78bfa59}.char-shadow{fill:#a78bfa24}.char-whisker{fill:none;stroke:#ffffff42;stroke-width:1.1px;stroke-linecap:round}.char-laptop{fill:#0e0e11;stroke:var(--char-ink);stroke-width:1.8px}.char-code{fill:none;stroke:#ffffff29;stroke-width:1.8px;stroke-linecap:round}.nibble-rotor{fill:#a78bfa29;stroke:#a78bfa8c;stroke-width:1.1px}.char-limb,.char-core,.char-gaze,.pixel-head,.pixel-paw,.nibble-float{transform-box:view-box}.byte-leg--far{transform-origin:20px 37px}.byte-leg--near{transform-origin:28px 37px}.byte-arm--far{transform-origin:10px 27px}.byte-arm--near{transform-origin:38px 27px}.nibble-arm{transform-box:view-box;transform-origin:37.5px 25px}.pixel-head{transform-origin:32px 40px}.pixel-paw{transform-origin:50.5px 35px;opacity:0}.char-eyes,.nibble-rotor,.nibble-shadow{transform-box:fill-box;transform-origin:50%}.byte-leg{transform:rotate(calc(var(--char-limb) * var(--char-swing)))}.byte-arm{transform:rotate(calc(var(--char-limb) * var(--char-swing) * -.8))}.char-core{transform:translateY(calc(var(--char-bob) * var(--char-swing)))}.char-gaze{transform:translateX(var(--char-look))}.char-bubble{bottom:calc(var(--char-h) * .42);z-index:2;width:max-content;max-width:var(--bubble-max,280px);text-wrap:balance;color:#ffffffeb;text-align:left;pointer-events:none;opacity:0;visibility:hidden;transform-origin:0 100%;background:#141417;border:1px solid #a78bfa61;border-radius:.75rem;margin:0;padding:.35rem .7rem;font-size:.8125rem;font-weight:500;line-height:1.35;transition:opacity .2s,transform .2s,visibility 0s linear .2s;position:absolute;left:calc(100% + 4px);transform:translateY(4px)scale(.96);box-shadow:0 8px 24px #00000073}.char-bubble[data-side=left]{transform-origin:100% 100%;left:auto;right:calc(100% + 4px)}.char-bubble:before{content:"";background:inherit;border-bottom:1px solid #a78bfa61;border-left:1px solid #a78bfa61;width:8px;height:8px;position:absolute;bottom:9px;left:-5px;transform:rotate(45deg)}.char-bubble[data-side=left]:before{left:auto;right:-5px;transform:rotate(225deg)}.char-bubble[data-side=top]{left:var(--bubble-shift,0px);bottom:calc(var(--char-h) * 1.1 + 9px);transform-origin:var(--bubble-tail,50%) 100%}.char-bubble[data-side=top]:before{left:calc(var(--bubble-tail,50%) - 4px);bottom:-5px;transform:rotate(-45deg)}.char-buddy.is-talking .char-bubble{opacity:1;visibility:visible;transition:opacity .2s,transform .2s;transform:none}.char-lane--still .char-bubble{transition:none;transform:none}@supports not (width:1cqw){.char-buddy{--lane-x:0px;left:calc(var(--rest) * 80%);animation:none!important}}.char-lane.is-paused *,.char-lane.is-paused :before{animation-play-state:paused!important}@media (prefers-reduced-motion:no-preference){.char-lane:not(.char-lane--still) .char-buddy--byte{animation:byte-walk var(--lane-dur) linear infinite, byte-gait var(--lane-dur) linear infinite}.char-lane:not(.char-lane--still) .char-buddy--byte .char-facer{animation:byte-face var(--lane-dur) linear infinite}.char-lane:not(.char-lane--still) .byte-leg--far,.char-lane:not(.char-lane--still) .byte-arm--far{animation:.34s ease-in-out infinite alternate char-limb}.char-lane:not(.char-lane--still) .byte-leg--near,.char-lane:not(.char-lane--still) .byte-arm--near{animation:.34s ease-in-out -.34s infinite alternate char-limb}.char-lane:not(.char-lane--still) .char-core{animation:.17s ease-in-out infinite alternate char-bob}.char-lane:not(.char-lane--still) .char-antenna-tip{animation:2.4s ease-in-out infinite char-pulse}.char-lane:not(.char-lane--still) .char-eyes{animation:4.8s ease-in-out infinite char-blink}.char-lane:not(.char-lane--still) .char-buddy--pixel .char-eyes{animation-duration:5.6s;animation-delay:-2s}.char-lane:not(.char-lane--still) .char-buddy--nibble .char-eyes{animation-duration:4.2s;animation-delay:-1s}.char-lane:not(.char-lane--still) .pixel-head{animation:15s ease-in-out -7.2s infinite pixel-peek}.char-lane:not(.char-lane--still) .pixel-head .char-gaze{animation:15s linear -7.2s infinite pixel-look}.char-lane:not(.char-lane--still) .char-cursor{animation:1.1s step-end infinite char-caret}.char-lane:not(.char-lane--still) .char-buddy--nibble{animation:nibble-fly var(--lane-dur) ease-in-out infinite, nibble-gait var(--lane-dur) linear infinite}.char-lane:not(.char-lane--still) .char-buddy--nibble .char-facer{animation:nibble-face var(--lane-dur) linear infinite}.char-lane:not(.char-lane--still) .nibble-float{animation:1.5s ease-in-out infinite alternate nibble-float}.char-lane:not(.char-lane--still) .nibble-shadow{animation:1.5s ease-in-out infinite alternate nibble-shadow}.char-lane:not(.char-lane--still) .nibble-rotor{animation:.12s linear infinite alternate nibble-rotor}.char-lane:not(.char-lane--still) .nibble-rotor+.nibble-rotor{animation-delay:-.06s}.char-lane:not(.char-lane--still) .char-buddy:is(.is-talking,:has(.char-btn:focus-visible)),.char-lane:not(.char-lane--still) .char-buddy:is(.is-talking,:has(.char-btn:focus-visible)) .char-facer{animation-play-state:paused!important}.char-lane:not(.char-lane--still) .char-buddy:is(.is-talking,:has(.char-btn:focus-visible)) :is(.byte-leg,.byte-arm,.char-core){transform:none}.char-lane:not(.char-lane--still) .char-buddy:is(.is-talking,:has(.char-btn:focus-visible)) .char-wave{animation:.3s ease-in-out infinite alternate char-wave}.char-lane:not(.char-lane--still) .char-buddy:is(.is-talking,:has(.char-btn:focus-visible)) .pixel-head{animation:.4s ease-out both pixel-pop}.char-lane:not(.char-lane--still) .char-buddy:is(.is-talking,:has(.char-btn:focus-visible)) .pixel-paw{opacity:1;animation:.3s ease-in-out infinite alternate pixel-wave}@media (hover:hover) and (pointer:fine){.char-lane:not(.char-lane--still) .char-buddy:hover,.char-lane:not(.char-lane--still) .char-buddy:hover .char-facer{animation-play-state:paused!important}.char-lane:not(.char-lane--still) .char-buddy:hover :is(.byte-leg,.byte-arm,.char-core){transform:none}.char-lane:not(.char-lane--still) .char-buddy:hover .char-wave{animation:.3s ease-in-out infinite alternate char-wave}.char-lane:not(.char-lane--still) .char-buddy:hover .pixel-head{animation:.4s ease-out both pixel-pop}.char-lane:not(.char-lane--still) .char-buddy:hover .pixel-paw{opacity:1;animation:.3s ease-in-out infinite alternate pixel-wave}}.char-lane:not(.char-lane--still) .char-buddy.is-talking .char-body[data-jump=a]{animation:.62s cubic-bezier(.3,.7,.4,1) char-jump-a}.char-lane:not(.char-lane--still) .char-buddy.is-talking .char-body[data-jump=b]{animation:.62s cubic-bezier(.3,.7,.4,1) char-jump-b}.char-lane:not(.char-lane--still) .char-buddy--pixel.is-talking .char-body[data-jump]{animation:none}.char-lane:not(.char-lane--still) .char-buddy--pixel.is-talking .char-body[data-jump=a] .pixel-head{animation:.5s ease-out both char-hop-a}.char-lane:not(.char-lane--still) .char-buddy--pixel.is-talking .char-body[data-jump=b] .pixel-head{animation:.5s ease-out both char-hop-b}}@media (prefers-reduced-motion:reduce){.char-bubble{transition:none;transform:none}}.char-lane--still .char-buddy--pixel.is-talking .pixel-paw{opacity:1}@media (prefers-reduced-motion:reduce){.char-buddy--pixel.is-talking .pixel-paw{opacity:1}}@keyframes byte-walk{0%,3%{transform:translate(6px)}22%,30%{transform:translateX(calc(6px + var(--lane-x) * .5))}49%,55%{transform:translateX(calc(6px + var(--lane-x)))}93%,to{transform:translate(6px)}}@keyframes byte-gait{0%,3%{--char-swing:0;--char-look:0px}4.5%,20.5%{--char-swing:1}22%,30%{--char-swing:0}23.5%{--char-look:0px}25%{--char-look:-1.8px}27%{--char-look:1.8px}28.5%{--char-look:0px}31.5%,47.5%{--char-swing:1}49%,55%{--char-swing:0}56.5%,91.5%{--char-swing:1}93%,to{--char-swing:0;--char-look:0px}}@keyframes byte-face{0%,51%{transform:scaleX(1)}52.5%,97%{transform:scaleX(-1)}98.5%,to{transform:scaleX(1)}}@keyframes char-limb{0%{--char-limb:-22deg}to{--char-limb:22deg}}@keyframes char-bob{0%{--char-bob:0px}to{--char-bob:-1.4px}}@keyframes char-blink{0%,94%,to{transform:scaleY(1)}96.5%{transform:scaleY(.12)}}@keyframes char-pulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes char-caret{50%{opacity:0}}@keyframes char-wave{0%{transform:rotate(-95deg)}to{transform:rotate(-140deg)}}@keyframes pixel-wave{0%{transform:rotate(-14deg)}to{transform:rotate(14deg)}}@keyframes pixel-peek{0%,16%{transform:translateY(32px)}21%,27%{transform:translateY(22px)}31%,43%{transform:translateY(10px)}48%,72%{transform:translateY(0)}77%{transform:translateY(10px)}82%,to{transform:translateY(32px)}}@keyframes pixel-look{0%,31%{--char-look:0px}34%{--char-look:-2px}38.5%{--char-look:2px}42%,52%{--char-look:0px}57%{--char-look:2px}62%{--char-look:-2px}66%,to{--char-look:0px}}@keyframes pixel-pop{0%{transform:translateY(12px)}60%{transform:translateY(-2.5px)}to{transform:translateY(0)}}@keyframes char-jump-a{0%{transform:translateY(0)scale(1)}16%{transform:translateY(0)scale(1.14,.84)}40%{transform:translateY(-12px)scale(.92,1.1)}60%{transform:translateY(-13px)scale(1)}82%{transform:translateY(0)scale(1.1,.9)}to{transform:translateY(0)scale(1)}}@keyframes char-jump-b{0%{transform:translateY(0)scale(1)}16%{transform:translateY(0)scale(1.14,.84)}40%{transform:translateY(-12px)scale(.92,1.1)}60%{transform:translateY(-13px)scale(1)}82%{transform:translateY(0)scale(1.1,.9)}to{transform:translateY(0)scale(1)}}@keyframes char-hop-a{0%{transform:translateY(6px)scale(1.08,.9)}45%{transform:translateY(-5px)scale(.95,1.06)}72%{transform:translateY(0)scale(1.04,.96)}to{transform:translateY(0)scale(1)}}@keyframes char-hop-b{0%{transform:translateY(6px)scale(1.08,.9)}45%{transform:translateY(-5px)scale(.95,1.06)}72%{transform:translateY(0)scale(1.04,.96)}to{transform:translateY(0)scale(1)}}@keyframes nibble-fly{0%,5%{transform:translate(6px)}35%,45%{transform:translateX(calc(6px + var(--lane-x)))}60%,70%{transform:translateX(calc(6px + var(--lane-x) * .5))}85%,to{transform:translate(6px)}}@keyframes nibble-gait{0%,61%{--char-look:0px}63%{--char-look:-1.6px}66%{--char-look:1.6px}68.5%,to{--char-look:0px}}@keyframes nibble-face{0%,5%{transform:scaleX(1)rotate(0)}9%,31%{transform:scaleX(1)rotate(9deg)}35%,43.5%{transform:scaleX(1)rotate(0)}45%{transform:scaleX(-1)rotate(0)}49%,56%{transform:scaleX(-1)rotate(9deg)}60%,70%{transform:scaleX(-1)rotate(0)}74%,81%{transform:scaleX(-1)rotate(9deg)}85%,95.5%{transform:scaleX(-1)rotate(0)}97%,to{transform:scaleX(1)rotate(0)}}@keyframes nibble-float{0%{transform:translateY(0)}to{transform:translateY(-4px)}}@keyframes nibble-shadow{0%{opacity:1;transform:scale(1)}to{opacity:.55;transform:scale(.78)}}@keyframes nibble-rotor{0%{transform:scaleX(1)}to{transform:scaleX(.25)}}
