.topo-net .topo-node{transition:filter .32s ease,transform .32s ease;transform-box:fill-box;transform-origin:center}.topo-net .topo-node:hover{filter:drop-shadow(0 0 8px rgba(145,200,228,.4))}.topo-net .topo-hero:hover{filter:drop-shadow(0 0 10px rgba(217,229,94,.45))}@media(prefers-reduced-motion:no-preference){.topo-net .net-flow line,.topo-net .net-flow path{animation:net-dataflow .7s linear infinite}.topo-net .net-flow line:nth-child(2){animation-delay:.12s}.topo-net .net-flow line:nth-child(3){animation-delay:.24s}.topo-net .net-flow path:nth-child(4),.topo-net .net-flow path:nth-child(5){animation-delay:.36s}}@keyframes net-dataflow{to{stroke-dashoffset:-13}}.topo-cam .topo-node-cam{transition:filter .32s ease,transform .32s ease;transform-box:fill-box;transform-origin:center}.topo-cam .topo-node-cam:hover{filter:drop-shadow(0 0 8px rgba(145,200,228,.4))}.topo-cam .topo-hero-cam:hover{filter:drop-shadow(0 0 10px rgba(217,229,94,.45))}@media(prefers-reduced-motion:no-preference){.topo-cam .cam-flow line,.topo-cam .cam-flow path{animation:cam-dataflow .7s linear infinite}.topo-cam .cam-flow line:nth-child(2){animation-delay:.12s}.topo-cam .cam-flow line:nth-child(3){animation-delay:.24s}.topo-cam .cam-flow path:nth-child(4),.topo-cam .cam-flow path:nth-child(5){animation-delay:.36s}}@keyframes cam-dataflow{to{stroke-dashoffset:-13}}.bob-stage .bob-ctrl{display:inline-flex;align-items:center;justify-content:center;background:transparent;color:#fff;border:none;cursor:pointer;padding:6px;border-radius:6px;transition:background .15s ease,transform .15s ease}.bob-stage .bob-ctrl:hover{background:#ffffff1f}.bob-stage .bob-ctrl:active{transform:scale(.92)}.bob-stage .bob-ctrl:focus-visible{outline:2px solid #D9E55E;outline-offset:2px}.bob-stage .bob-ctrl-text{font-family:Outfit,system-ui,sans-serif;font-size:12px;font-weight:700;letter-spacing:.02em;min-width:36px;padding:6px 8px}.bob-stage .bob-scrub{transition:height .15s ease}.bob-stage .bob-scrub:hover{height:6px}.bob-stage .bob-volume-slider{width:62px;height:3px;background:#ffffff40;border-radius:2px;appearance:none;-webkit-appearance:none;outline:none;cursor:pointer}.bob-stage .bob-volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:11px;height:11px;background:#d9e55e;border-radius:50%;cursor:pointer}.bob-stage .bob-volume-slider::-moz-range-thumb{width:11px;height:11px;background:#d9e55e;border-radius:50%;cursor:pointer;border:none}.bob-stage.bob-stage--pip{position:fixed!important;bottom:20px;right:20px;width:min(360px,90vw);height:auto;z-index:9999;margin:0;box-shadow:0 25px 60px -10px #0c23408c,0 0 0 1px #ffffff14}.bob-stage.bob-stage--pip svg{width:100%;height:auto}.bob-stage:fullscreen{background:#0c2340;padding:0;display:flex;flex-direction:column;align-items:stretch;justify-content:center}.bob-stage:fullscreen svg{flex:1 1 auto;min-height:0;max-height:calc(100vh - 64px);width:auto;max-width:100vw;margin:0 auto}.bob-stage:fullscreen .bob-controls{flex:0 0 auto;width:100vw}@media(max-width:480px){.bob-stage .bob-volume-slider,.bob-stage #bob-time{display:none}}.bob-stage .bob-scene{opacity:0;transform-origin:center;transform-box:fill-box;transition:opacity .9s cubic-bezier(.22,.61,.36,1);pointer-events:none;will-change:opacity,transform}.bob-stage .bob-scene.active{opacity:1;animation:bobKenBurns 9s ease-out forwards}@keyframes bobKenBurns{0%{transform:scale(1) translate(0)}to{transform:scale(1.06) translate(-.6%,-.8%)}}.bob-stage .bob-scene[data-scene="9"] g[fill=white] circle,.bob-stage .bob-scene[data-scene="6"] g[fill=white] circle,.bob-stage .bob-scene[data-scene="0"] g[fill=white] circle{animation:bobStarTwinkle 3.2s ease-in-out infinite}.bob-stage .bob-scene[data-scene="9"] g[fill=white] circle:nth-child(2n),.bob-stage .bob-scene[data-scene="6"] g[fill=white] circle:nth-child(2n),.bob-stage .bob-scene[data-scene="0"] g[fill=white] circle:nth-child(2n){animation-delay:1s}.bob-stage .bob-scene[data-scene="9"] g[fill=white] circle:nth-child(3n),.bob-stage .bob-scene[data-scene="6"] g[fill=white] circle:nth-child(3n),.bob-stage .bob-scene[data-scene="0"] g[fill=white] circle:nth-child(3n){animation-delay:1.8s}@keyframes bobStarTwinkle{0%,to{opacity:.35}50%{opacity:1}}.bob-stage .bob-phone{animation:bobPhoneFloat 2.8s ease-in-out infinite;transform-origin:center}@keyframes bobPhoneFloat{0%,to{transform:translate(305px,215px) rotate(-3deg)}50%{transform:translate(305px,210px) rotate(-1deg)}}.bob-stage .bob-waves{animation:bobWavePulse 1.8s ease-in-out infinite}@keyframes bobWavePulse{0%,to{opacity:.25}50%{opacity:.9}}.bob-stage .bob-check{animation:bobCheckFade 2.8s ease-in-out infinite}@keyframes bobCheckFade{0%,30%{opacity:0}50%,to{opacity:1}}.bob-stage .bob-bulb,.bob-stage .bob-bulb-cone{transition:fill .5s ease}.bob-stage .bob-vacuum{animation:bobVacuumMove 6s ease-in-out infinite}@keyframes bobVacuumMove{0%{transform:translate(140px,140px)}20%{transform:translate(640px,140px)}25%{transform:translate(640px,220px)}45%{transform:translate(140px,220px)}50%{transform:translate(140px,300px)}70%{transform:translate(640px,300px)}75%{transform:translate(640px,380px)}95%,to{transform:translate(140px,380px)}}.bob-stage .bob-sparkles{animation:bobSparkle 2s ease-in-out infinite}@keyframes bobSparkle{0%,to{opacity:.4}50%{opacity:1}}.bob-stage .bob-breeze{animation:bobBreeze 2.5s ease-in-out infinite}@keyframes bobBreeze{0%,to{transform:translate(0);opacity:.35}50%{transform:translate(-12px);opacity:.85}}.bob-stage .bob-wedge{transform-origin:80px 80px;animation:bobWedgeRotate 9s linear infinite}@keyframes bobWedgeRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.bob-stage .bob-schedule-bar{animation:bobScheduleBarPulse 2.4s ease-in-out infinite}@keyframes bobScheduleBarPulse{0%,to{opacity:.85}50%{opacity:1}}.bob-stage .bob-bars rect{transform-origin:bottom;animation:bobBarGrow 3s ease-out infinite}.bob-stage .bob-bars rect:nth-child(1){animation-delay:0s}.bob-stage .bob-bars rect:nth-child(2){animation-delay:.1s}.bob-stage .bob-bars rect:nth-child(3){animation-delay:.2s}.bob-stage .bob-bars rect:nth-child(4){animation-delay:.3s}.bob-stage .bob-bars rect:nth-child(5){animation-delay:.4s}.bob-stage .bob-bars rect:nth-child(6){animation-delay:.5s}@keyframes bobBarGrow{0%{transform:scaleY(0)}40%,to{transform:scaleY(1)}}.bob-stage .bob-tile{transform-origin:center;animation:bobTilePop 3.6s ease-in-out infinite;opacity:0}.bob-stage .bob-tile[data-tile="0"]{animation-delay:0s}.bob-stage .bob-tile[data-tile="1"]{animation-delay:.15s}.bob-stage .bob-tile[data-tile="2"]{animation-delay:.3s}.bob-stage .bob-tile[data-tile="3"]{animation-delay:.45s}.bob-stage .bob-tile[data-tile="4"]{animation-delay:.6s}.bob-stage .bob-tile[data-tile="5"]{animation-delay:.75s}@keyframes bobTilePop{0%{opacity:0;transform:scale(.6)}20%,90%{opacity:1;transform:scale(1)}to{opacity:1;transform:scale(1)}}.bob-stage .bob-orbit{animation:bobOrbitPulse 2.4s ease-in-out infinite}@keyframes bobOrbitPulse{0%,to{opacity:.25}50%{opacity:.75}}.bob-stage .bob-scene[data-scene="6"] .bob-keyring{transform:translate(330px,235px);transform-box:fill-box;transform-origin:0 0}.bob-stage .bob-scene[data-scene="6"].active .bob-keyring{animation:bobKeysJingleThenDrop 3s ease-in forwards}@keyframes bobKeysJingleThenDrop{0%{transform:translate(330px,235px) rotate(-15deg)}8%{transform:translate(330px,235px) rotate(15deg)}16%{transform:translate(330px,235px) rotate(-15deg)}24%{transform:translate(330px,235px) rotate(15deg)}33%{transform:translate(330px,235px) rotate(-5deg)}45%{transform:translate(322px,305px) rotate(80deg)}58%{transform:translate(310px,365px) rotate(180deg)}66%{transform:translate(300px,395px) rotate(220deg)}72%{transform:translate(300px,385px) rotate(225deg)}78%{transform:translate(298px,395px) rotate(228deg)}to{transform:translate(298px,395px) rotate(228deg)}}.bob-stage .bob-frustrate text{animation:bobFrustratePulse 1.4s ease-in-out infinite;transform-origin:center}.bob-stage .bob-frustrate text:nth-child(2){animation-delay:.4s}.bob-stage .bob-frustrate text:nth-child(3){animation-delay:.8s}@keyframes bobFrustratePulse{0%,to{opacity:.35}50%{opacity:1}}.bob-stage .bob-stamp{animation:bobStampPulse 1.1s ease-in-out infinite;transform-box:fill-box;transform-origin:center}@keyframes bobStampPulse{0%,to{transform:translate(165px,310px) rotate(-12deg) scale(1)}50%{transform:translate(165px,310px) rotate(-9deg) scale(1.08)}}.bob-stage .bob-amount{animation:bobAmountFlash 1.4s ease-in-out infinite}@keyframes bobAmountFlash{0%,to{fill:#e55e7e}50%{fill:#b83a55}}.bob-stage .bob-wasted path{animation:bobWastedFall 1.8s ease-in-out infinite}.bob-stage .bob-wasted path:nth-child(2){animation-delay:.3s}.bob-stage .bob-wasted path:nth-child(3){animation-delay:.6s}.bob-stage .bob-wasted path:nth-child(4){animation-delay:.9s}@keyframes bobWastedFall{0%{opacity:0}35%{opacity:.95}to{opacity:0}}.bob-stage .bob-chaos-led-1,.bob-stage .bob-chaos-led-2,.bob-stage .bob-chaos-led-3{animation:bobChaosLed .55s ease-in-out infinite}.bob-stage .bob-chaos-led-2{animation-delay:.18s}.bob-stage .bob-chaos-led-3{animation-delay:.36s}@keyframes bobChaosLed{0%,to{opacity:1}50%{opacity:.15}}.bob-stage .bob-clock-hand-1{transform-origin:80px 80px;animation:bobSpin .9s linear infinite}.bob-stage .bob-clock-hand-2{transform-origin:80px 80px;animation:bobSpin 2.4s linear infinite}@keyframes bobSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.bob-stage .bob-dollar-1{animation:bobDollarFly1 3s ease-in-out infinite}.bob-stage .bob-dollar-2{animation:bobDollarFly2 3s ease-in-out infinite .5s}.bob-stage .bob-dollar-3{animation:bobDollarFly3 3s ease-in-out infinite 1s}.bob-stage .bob-flame{transform-box:fill-box;transform-origin:18px 4px;animation:bobFlameFlicker .4s ease-in-out infinite}.bob-stage .bob-flame-2{transform-box:fill-box;transform-origin:34px 4px;animation:bobFlameFlicker .5s ease-in-out infinite .15s;opacity:.85}@keyframes bobFlameFlicker{0%,to{transform:scale(1) translateY(0)}25%{transform:scale(1.08,.92) translateY(-1px)}50%{transform:scale(.94,1.08) translateY(1px)}75%{transform:scale(1.05,.96) translateY(0)}}.bob-stage .bob-scene[data-scene="5"] .bob-tile-anim{transform-box:fill-box;transform-origin:50% 50%;opacity:0;transform:scale(.2)}.bob-stage .bob-scene[data-scene="5"].active .bob-tile-anim{animation:bobAppLifecycle 2s forwards}.bob-stage .bob-scene[data-scene="5"] .bob-tile[data-tile="0"] .bob-tile-anim{--tx: 61px;--ty: 97px;animation-delay:0s}.bob-stage .bob-scene[data-scene="5"] .bob-tile[data-tile="1"] .bob-tile-anim{--tx: 0px;--ty: 97px;animation-delay:25ms}.bob-stage .bob-scene[data-scene="5"] .bob-tile[data-tile="2"] .bob-tile-anim{--tx: -61px;--ty: 97px;animation-delay:.05s}.bob-stage .bob-scene[data-scene="5"] .bob-tile[data-tile="3"] .bob-tile-anim{--tx: 61px;--ty: 32px;animation-delay:75ms}.bob-stage .bob-scene[data-scene="5"] .bob-tile[data-tile="4"] .bob-tile-anim{--tx: 0px;--ty: 32px;animation-delay:.1s}.bob-stage .bob-scene[data-scene="5"] .bob-tile[data-tile="5"] .bob-tile-anim{--tx: -61px;--ty: 32px;animation-delay:.125s}.bob-stage .bob-scene[data-scene="5"] .bob-tile[data-tile="6"] .bob-tile-anim{--tx: 61px;--ty: -33px;animation-delay:.15s}.bob-stage .bob-scene[data-scene="5"] .bob-tile[data-tile="7"] .bob-tile-anim{--tx: 0px;--ty: -33px;animation-delay:.175s}.bob-stage .bob-scene[data-scene="5"] .bob-tile[data-tile="8"] .bob-tile-anim{--tx: -61px;--ty: -33px;animation-delay:.2s}.bob-stage .bob-scene[data-scene="5"] .bob-tile[data-tile="9"] .bob-tile-anim{--tx: 61px;--ty: -98px;animation-delay:.225s}.bob-stage .bob-scene[data-scene="5"] .bob-tile[data-tile="10"] .bob-tile-anim{--tx: 0px;--ty: -98px;animation-delay:.25s}.bob-stage .bob-scene[data-scene="5"] .bob-tile[data-tile="11"] .bob-tile-anim{--tx: -61px;--ty: -98px;animation-delay:.275s}@keyframes bobAppLifecycle{0%{opacity:0;transform:translate(0) scale(.2);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}15%{opacity:1;transform:translate(0) scale(1.12)}22%{opacity:1;transform:translate(0) scale(1);animation-timing-function:ease-out}55%{opacity:1;transform:translate(0) scale(1);animation-timing-function:cubic-bezier(.7,0,.3,1)}88%{opacity:0;transform:translate(var(--tx, 0px),var(--ty, 0px)) scale(.22)}to{opacity:0;transform:translate(var(--tx, 0px),var(--ty, 0px)) scale(.22)}}.bob-stage .bob-scene[data-scene="5"] .bob-folder{transform-box:fill-box;transform-origin:50% 50%;opacity:0;transform:scale(.3)}.bob-stage .bob-scene[data-scene="5"].active .bob-folder{animation:bobFolderAppear 1.2s 1.3s forwards}@keyframes bobFolderAppear{0%{opacity:0;transform:scale(.3);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}55%{opacity:1;transform:scale(1.1)}80%{opacity:1;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.bob-stage .bob-wink-anim{transform-box:fill-box;transform-origin:50% 50%;opacity:0}.bob-stage .bob-wink.flash .bob-wink-anim{animation:bobWinkFlash 1s ease-out forwards}@keyframes bobWinkFlash{0%{opacity:0;transform:scale(.4) rotate(-10deg)}15%{opacity:1;transform:scale(1.2) rotate(2deg)}25%{opacity:1;transform:scale(1) rotate(0)}85%{opacity:1;transform:scale(1) rotate(0)}to{opacity:0;transform:scale(1) rotate(0)}}@keyframes bobDollarFly1{0%{transform:translate(610px,140px) rotate(0);opacity:0}20%{opacity:1}to{transform:translate(750px,50px) rotate(25deg);opacity:0}}@keyframes bobDollarFly2{0%{transform:translate(670px,230px) rotate(0);opacity:0}20%{opacity:1}to{transform:translate(800px,140px) rotate(-15deg);opacity:0}}@keyframes bobDollarFly3{0%{transform:translate(620px,320px) rotate(0);opacity:0}20%{opacity:1}to{transform:translate(770px,220px) rotate(20deg);opacity:0}}.bob-stage .bob-briefcase{transform-box:fill-box;transform-origin:50% 0%;animation:bobBriefcaseSwing 1.6s ease-in-out infinite}@keyframes bobBriefcaseSwing{0%,to{transform:rotate(-10deg)}50%{transform:rotate(10deg)}}.bob-stage .bob-scene[data-scene="10"] .bob-auth-method{opacity:0;transform-box:fill-box;transform-origin:center}.bob-stage .bob-scene[data-scene="10"].active .bob-auth-method[data-auth="0"]{animation:bobAuthSeq0 4.5s ease-in-out forwards}.bob-stage .bob-scene[data-scene="10"].active .bob-auth-method[data-auth="1"]{animation:bobAuthSeq1 4.5s ease-in-out forwards}.bob-stage .bob-scene[data-scene="10"].active .bob-auth-method[data-auth="2"]{animation:bobAuthSeq2 4.5s ease-in-out forwards}.bob-stage .bob-scene[data-scene="10"].active .bob-auth-method[data-auth="3"]{animation:bobAuthSeq3 4.5s ease-in-out forwards}@keyframes bobAuthSeq0{0%{opacity:0;transform:scale(.8)}5%{opacity:1;transform:scale(1.08)}10%{opacity:1;transform:scale(1)}23%{opacity:1;transform:scale(1)}27%{opacity:0;transform:scale(.92)}to{opacity:0}}@keyframes bobAuthSeq1{0%,23%{opacity:0;transform:scale(.8)}27%{opacity:1;transform:scale(1.08)}32%{opacity:1;transform:scale(1)}35%{opacity:1;transform:scale(1)}38%{opacity:0;transform:scale(.92)}to{opacity:0}}@keyframes bobAuthSeq2{0%,38%{opacity:0;transform:scale(.8)}42%{opacity:1;transform:scale(1.08)}47%{opacity:1;transform:scale(1)}67%{opacity:1;transform:scale(1)}71%{opacity:0;transform:scale(.92)}to{opacity:0}}@keyframes bobAuthSeq3{0%,67%{opacity:0;transform:scale(.8)}71%{opacity:1;transform:scale(1.08)}76%{opacity:1;transform:scale(1)}to{opacity:1;transform:scale(1)}}.bob-stage .bob-scene[data-scene="10"] .bob-auth-glow{transform-box:fill-box;transform-origin:center;animation:bobAuthGlowPulse 2.6s ease-in-out infinite}@keyframes bobAuthGlowPulse{0%,to{opacity:.12;transform:scale(.95)}50%{opacity:.25;transform:scale(1.1)}}.bob-stage .bob-scene[data-scene="10"] .bob-auth-scan{animation:bobAuthScan 1.6s ease-in-out infinite}@keyframes bobAuthScan{0%,to{transform:translateY(-45px)}50%{transform:translateY(45px)}}.bob-stage .bob-scene[data-scene="10"] .bob-auth-pressed{transform-box:fill-box;transform-origin:center;animation:bobAuthPressed .85s ease-in-out infinite}@keyframes bobAuthPressed{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}.bob-stage .bob-scene[data-scene="10"] .bob-auth-tile-LEGACY{transform-box:fill-box;transform-origin:center;opacity:0}.bob-stage .bob-scene[data-scene="10"].active .bob-auth-tile{animation:bobAuthPopIn .8s cubic-bezier(.34,1.56,.64,1) forwards}.bob-stage .bob-scene[data-scene="10"].active .bob-auth-tile[data-auth="0"]{animation-delay:.5s}.bob-stage .bob-scene[data-scene="10"].active .bob-auth-tile[data-auth="1"]{animation-delay:1.6s}.bob-stage .bob-scene[data-scene="10"].active .bob-auth-tile[data-auth="2"]{animation-delay:2.6s}.bob-stage .bob-scene[data-scene="10"].active .bob-auth-tile[data-auth="3"]{animation-delay:4s}@keyframes bobAuthPopIn{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}.bob-stage .bob-key-x{transform-box:fill-box;transform-origin:center;animation:bobKeyXPulse 1.4s ease-in-out infinite}@keyframes bobKeyXPulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.bob-stage .bob-year{animation:bobYearFlash 1.6s ease-in-out infinite}@keyframes bobYearFlash{0%,to{fill:#e55e7e}50%{fill:#c44560}}.bob-stage .bob-dark-bulb{animation:bobDarkToLit 3s ease-in-out infinite}@keyframes bobDarkToLit{0%,30%{fill:#1b2a3d;stroke:#59697d}60%,to{fill:#fbbc05;stroke:#fbbc05}}.bob-stage .bob-speech{transform-box:fill-box;transform-origin:50% 100%;animation:bobSpeechPop 2.8s ease-in-out infinite}@keyframes bobSpeechPop{0%{transform:scale(.7);opacity:0}20%,90%{transform:scale(1);opacity:1}to{transform:scale(1);opacity:1}}.bob-stage .bob-speech-arc{opacity:0;animation:bobSpeechArc 1.2s ease-in-out infinite}.bob-stage .bob-speech-arc-2{animation-delay:.15s}.bob-stage .bob-speech-arc-3{animation-delay:.3s}@keyframes bobSpeechArc{0%{opacity:0}30%{opacity:1}60%{opacity:1}to{opacity:0}}.bob-stage .bob-sound-waves path{animation:bobSoundPulse 1.4s ease-in-out infinite}.bob-stage .bob-sound-waves path:nth-child(2){animation-delay:.2s}.bob-stage .bob-sound-waves path:nth-child(3){animation-delay:.4s}@keyframes bobSoundPulse{0%,to{opacity:.2}50%{opacity:1}}.bob-stage .bob-voice-bulb{animation:bobVoiceBulbPulse 2s ease-in-out infinite}@keyframes bobVoiceBulbPulse{0%,to{fill:#fbbc05}50%{fill:#d9e55e}}.bob-stage .bob-voice-cone{animation:bobVoiceConePulse 2s ease-in-out infinite}@keyframes bobVoiceConePulse{0%,to{opacity:.15}50%{opacity:.4}}.bob-stage .bob-remote-waves path{animation:bobRemotePulse 1.8s ease-in-out infinite}.bob-stage .bob-remote-waves path:nth-child(2){animation-delay:.3s}.bob-stage .bob-remote-waves path:nth-child(3){animation-delay:.6s}@keyframes bobRemotePulse{0%,to{opacity:.25}50%{opacity:.85}}.bob-stage .bob-house-glow{animation:bobHouseGlow 2.4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}@keyframes bobHouseGlow{0%,to{opacity:.08;transform:scale(.9)}50%{opacity:.2;transform:scale(1.05)}}.bob-stage .bob-happy-breeze path{animation:bobHappyBreeze 2.2s ease-in-out infinite}.bob-stage .bob-happy-breeze path:nth-child(2){animation-delay:.4s}@keyframes bobHappyBreeze{0%,to{opacity:.25;transform:translate(0)}50%{opacity:.85;transform:translate(-10px)}}.bob-stage .bob-perfect-check{transform-box:fill-box;transform-origin:center;animation:bobPerfectCheck 2.4s ease-in-out infinite}@keyframes bobPerfectCheck{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.bob-stage .bob-set-check{transform-box:fill-box;transform-origin:center;animation:bobSetCheckPop 3s ease-in-out infinite}@keyframes bobSetCheckPop{0%{transform:scale(.5);opacity:0}20%,90%{transform:scale(1);opacity:1}to{transform:scale(1);opacity:1}}.bob-stage .bob-confetti>*{animation:bobConfettiTwinkle 1.5s ease-in-out infinite}.bob-stage .bob-confetti>*:nth-child(odd){animation-delay:.5s}@keyframes bobConfettiTwinkle{0%,to{opacity:.3}50%{opacity:1}}.bob-stage .bob-call-waves path{animation:bobCallPulse 1.5s ease-in-out infinite}.bob-stage .bob-call-waves path:nth-child(2){animation-delay:.25s}.bob-stage .bob-call-waves path:nth-child(3){animation-delay:.5s}@keyframes bobCallPulse{0%,to{opacity:.25}50%{opacity:.85}}.bob-stage .bob-call-dot{animation:bobCallDot 1.1s ease-in-out infinite;transform-box:fill-box;transform-origin:center}@keyframes bobCallDot{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.35);opacity:.65}}.bob-stage .bob-finale-text{transform-box:fill-box;transform-origin:center;animation:bobFinalePop 3.5s ease-in-out infinite}@keyframes bobFinalePop{0%{transform:scale(.8);opacity:0}20%,90%{transform:scale(1);opacity:1}to{transform:scale(1);opacity:1}}.bob-stage .bob-celebrate>g{animation:bobCelebrateTwinkle 1.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.bob-stage .bob-celebrate>g:nth-child(2){animation-delay:.25s}.bob-stage .bob-celebrate>g:nth-child(3){animation-delay:.5s}.bob-stage .bob-celebrate>g:nth-child(4){animation-delay:.75s}.bob-stage .bob-celebrate>g:nth-child(5){animation-delay:1s}.bob-stage .bob-celebrate>g:nth-child(6){animation-delay:1.25s}@keyframes bobCelebrateTwinkle{0%,to{opacity:.2;transform:scale(.7)}50%{opacity:1;transform:scale(1.2)}}.bob-stage .bob-finale-brand{animation:bobBrandFade 3s ease-in-out infinite}@keyframes bobBrandFade{0%,to{opacity:.7}50%{opacity:1}}.bob-stage .bob-scene[data-scene="19"] .bob-lock-cylinder{transform-box:fill-box;transform-origin:center;transform:translate(400px,240px)}.bob-stage .bob-scene[data-scene="19"] .bob-lock-assembly{transform-box:fill-box;transform-origin:0 0;transform:translate(-320px,240px)}.bob-stage .bob-scene[data-scene="19"] .bob-lock-key{transform-box:fill-box;transform-origin:center;transform:scaleY(1)}.bob-stage .bob-scene[data-scene="19"] .bob-lock-x{transform-box:fill-box;transform-origin:center;opacity:0}.bob-stage .bob-scene[data-scene="19"] .bob-lock-rage text{opacity:0}.bob-stage .bob-scene[data-scene="19"].active .bob-lock-cylinder{animation:bobLockCylWobble 7s linear forwards}.bob-stage .bob-scene[data-scene="19"].active .bob-lock-assembly{animation:bobLockAssembly 7s ease-in-out forwards}.bob-stage .bob-scene[data-scene="19"].active .bob-lock-key{animation:bobLockKeyFlip 7s ease-in-out forwards}.bob-stage .bob-scene[data-scene="19"].active .bob-lock-x{animation:bobLockXFlash 7s ease-in-out forwards}.bob-stage .bob-scene[data-scene="19"].active .bob-lock-rage text{animation:bobLockRageFade 7s ease-in-out forwards}@keyframes bobLockAssembly{0%{transform:translate(-320px,240px) rotate(0)}14%{transform:translate(285px,240px) rotate(0)}19%{transform:translate(255px,240px) rotate(-6deg)}25%{transform:translate(190px,240px) rotate(0)}38%{transform:translate(190px,240px) rotate(0)}46%{transform:translate(285px,240px) rotate(0)}50%{transform:translate(255px,240px) rotate(-6deg)}56%{transform:translate(190px,240px) rotate(0)}68%{transform:translate(190px,240px) rotate(0)}76%{transform:translate(285px,240px) rotate(0)}80%{transform:translate(260px,240px) rotate(-8deg)}92%,to{transform:translate(225px,290px) rotate(-14deg)}}@keyframes bobLockKeyFlip{0%,28%{transform:scaleY(1)}33%{transform:scaleY(-.15)}38%,60%{transform:scaleY(-1)}65%{transform:scaleY(-.15)}70%,to{transform:scaleY(1)}}@keyframes bobLockCylWobble{0%,18.5%,19.5%,to{transform:translate(400px,240px)}19%{transform:translate(404px,240px)}48.5%,49.5%{transform:translate(400px,240px)}49%{transform:translate(405px,240px)}79.5%,80.5%{transform:translate(400px,240px)}80%{transform:translate(408px,240px)}}@keyframes bobLockXFlash{0%,18%{opacity:0;transform:scale(0)}20%{opacity:1;transform:scale(1)}26%,48%{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1.2)}56%,78%{opacity:0;transform:scale(0)}82%{opacity:1;transform:scale(1.5)}to{opacity:1;transform:scale(1.5)}}@keyframes bobLockRageFade{0%,82%{opacity:0}90%,to{opacity:1}}.bob-stage .bob-scene[data-scene="20"] .bob-thermo-needle{transform-box:fill-box;transform-origin:50% 100%;animation:bobThermoWobble 3.2s ease-in-out infinite}@keyframes bobThermoWobble{0%,to{transform:rotate(-1.5deg)}50%{transform:rotate(1.5deg)}}.bob-stage .bob-scene[data-scene="20"] .bob-thermo-glow{transform-box:fill-box;transform-origin:50% 50%;animation:bobThermoGlowPulse 3s ease-in-out infinite}@keyframes bobThermoGlowPulse{0%,to{opacity:.5;transform:scale(.95)}50%{opacity:1;transform:scale(1.08)}}.bob-stage .bob-scene[data-scene="20"] .bob-thermo-status{animation:bobThermoStatus 1.6s ease-in-out infinite}@keyframes bobThermoStatus{0%,to{opacity:.5}50%{opacity:1}}.bob-stage .bob-scene[data-scene="21"] .bob-ac-cold path{animation:bobAcCold 1.6s ease-in-out infinite}.bob-stage .bob-scene[data-scene="21"] .bob-ac-cold path:nth-child(2){animation-delay:.3s}.bob-stage .bob-scene[data-scene="21"] .bob-ac-cold path:nth-child(3){animation-delay:.6s}@keyframes bobAcCold{0%{opacity:0}40%{opacity:.95}to{opacity:0}}.bob-stage .bob-scene[data-scene="21"] .bob-snowflakes circle{animation:bobSnowPulse 2.2s ease-in-out infinite}.bob-stage .bob-scene[data-scene="21"] .bob-snowflakes circle:nth-child(2){animation-delay:.5s}.bob-stage .bob-scene[data-scene="21"] .bob-snowflakes circle:nth-child(3){animation-delay:1s}.bob-stage .bob-scene[data-scene="21"] .bob-snowflakes circle:nth-child(4){animation-delay:1.5s}@keyframes bobSnowPulse{0%,to{opacity:.2}50%{opacity:.95}}.bob-stage .bob-scene[data-scene="21"] .bob-money-1{animation:bobMoneyFly1 3.5s ease-in-out infinite}.bob-stage .bob-scene[data-scene="21"] .bob-money-2{animation:bobMoneyFly2 3.5s ease-in-out infinite .9s}.bob-stage .bob-scene[data-scene="21"] .bob-money-3{animation:bobMoneyFly3 3.5s ease-in-out infinite 1.8s}@keyframes bobMoneyFly1{0%{transform:translate(580px,105px) rotate(0);opacity:0}15%{opacity:1}to{transform:translate(720px,30px) rotate(20deg);opacity:0}}@keyframes bobMoneyFly2{0%{transform:translate(580px,105px) rotate(0);opacity:0}15%{opacity:1}to{transform:translate(740px,110px) rotate(-15deg);opacity:0}}@keyframes bobMoneyFly3{0%{transform:translate(580px,105px) rotate(0);opacity:0}15%{opacity:1}to{transform:translate(710px,190px) rotate(25deg);opacity:0}}@media(prefers-reduced-motion:reduce){.bob-stage *{animation-duration:1ms!important;animation-iteration-count:1!important}}
