.drivers-schematic-wrapper{position:relative;width:100%;overflow:hidden}@keyframes documentFlip{0%{transform:rotateY(0deg)}50%{transform:rotateY(90deg)}to{transform:rotateY(0deg)}}@keyframes stampEffect{0%{transform:scale(1.5);opacity:0}50%{transform:scale(1);opacity:1}to{transform:scale(1);opacity:1}}@keyframes validityPulse{0%,to{fill:#dcfce7}50%{fill:#bbf7d0}}@keyframes expiryWarning{0%,to{fill:#fef3c7}50%{fill:#fde68a}}@keyframes photoShimmer{0%{opacity:.3;transform:translateX(-100%)}to{opacity:0;transform:translateX(100%)}}@keyframes checkmarkAppear{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}@media (prefers-reduced-motion:reduce){.drivers-schematic-wrapper *{animation:none!important;transition:none!important}}.ped-animation-container{width:100%;max-width:400px;margin:0 auto}.ped-animation-svg{width:100%;height:auto}.ciuff-text,.compressor,.pipes,.pressure-indicator,.safety-valve,.steam-clouds,.tank,.volume-indicator{opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease}.compressor.visible,.pipes.visible,.pressure-indicator.visible,.safety-valve.visible,.tank.visible,.volume-indicator.visible{opacity:1;transform:translateY(0)}.compressor-fan{animation:rotateFan 1s linear infinite;transform-origin:50px 130px}@keyframes rotateFan{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fan-blade{animation:rotateFan 1s linear infinite;transform-origin:50px 130px}.flow-particle{opacity:0;animation:flowMove 1.5s ease-in-out infinite}.flow-particle.p1{animation-delay:0s}.flow-particle.p2{animation-delay:.3s}.flow-particle.p3{animation-delay:.6s}@keyframes flowMove{0%{opacity:0;transform:translateX(-10px)}20%{opacity:1}80%{opacity:1}to{opacity:0;transform:translateX(40px)}}.pressure-needle{animation:pressureWobble 2s ease-in-out infinite;transform-origin:200px 100px}@keyframes pressureWobble{0%,to{transform:rotate(-15deg)}50%{transform:rotate(15deg)}}.steam-clouds .steam{opacity:0;transform:translateY(0) scale(.5)}.steam-clouds.active .steam{animation:steamRise 2s ease-out infinite}.steam.s1{animation-delay:0s}.steam.s2{animation-delay:.2s}.steam.s3{animation-delay:.4s}.steam.s4{animation-delay:.15s}.steam.s5{animation-delay:.35s}.steam.s6{animation-delay:.5s}@keyframes steamRise{0%{opacity:0;transform:translateY(0) scale(.5)}20%{opacity:.8;transform:translateY(-5px) scale(.8)}60%{opacity:.6;transform:translateY(-15px) scale(1)}to{opacity:0;transform:translateY(-30px) scale(1.2)}}.ciuff-text{opacity:0;transition:opacity .5s ease}.ciuff-text.active{animation:ciuffPulse .8s ease-in-out infinite}@keyframes ciuffPulse{0%,to{opacity:.5;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}@media (prefers-reduced-motion:reduce){.ciuff-text,.compressor-fan,.fan-blade,.flow-particle,.pressure-needle,.steam-clouds .steam{animation:none}.ciuff-text.active,.compressor.visible,.pipes.visible,.pressure-indicator.visible,.safety-valve.visible,.steam-clouds.active,.tank.visible,.volume-indicator.visible{opacity:1;transform:none}}.ped-schematic-wrapper{position:relative;padding:2rem 0;max-width:900px;margin:0 auto}.ped-schematic-wrapper .explanation-item{transition:all .3s cubic-bezier(.4,0,.2,1)}.ped-schematic-wrapper .explanation-item:hover{transform:translateX(8px)!important;box-shadow:0 8px 30px rgba(0,0,0,.12);border-color:#bfdbfe}.generic-animation-container{width:100%;max-width:250px;margin:0 auto}.generic-animation-svg{width:100%;height:auto}.object{opacity:0;transform:scale(.8);transition:opacity .6s ease,transform .6s ease}.object.active{opacity:1;transform:scale(1)}.object.hidden{opacity:0;transform:scale(.8)}.camera-led{animation:ledBlink 1s ease-in-out infinite}.ac-fan{animation:acFanSpin .5s linear infinite;transform-origin:center}@keyframes acFanSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.ac-led{animation:ledPulse 2s ease-in-out infinite}@keyframes ledPulse{0%,to{fill:#22c55e}50%{fill:#86efac}}.air-flow{opacity:0;animation:airFlowMove 1.5s ease-in-out infinite}.air-flow.af1{animation-delay:0s}.air-flow.af2{animation-delay:.3s}.air-flow.af3{animation-delay:.6s}@keyframes airFlowMove{0%{opacity:0;transform:translateY(0)}30%{opacity:.8}70%{opacity:.6}to{opacity:0;transform:translateY(30px)}}.panel-led{animation:panelLedBlink 1.5s ease-in-out infinite}.panel-led.led1{animation-delay:0s}.panel-led.led2{animation-delay:.3s}.panel-led.led3{animation-delay:.6s}.panel-led.led4{animation-delay:.9s}@keyframes panelLedBlink{0%,to{opacity:1}50%{opacity:.4}}.boiler-flame .flame{animation:flameFlicker .3s ease-in-out infinite alternate;transform-origin:center bottom}.flame.f1{animation-delay:0s}.flame.f2{animation-delay:.1s}.flame.f3{animation-delay:.15s}@keyframes flameFlicker{0%{transform:scaleY(.95) scaleX(1);opacity:.9}25%{transform:scaleY(1.05) scaleX(.95)}50%{transform:scaleY(1) scaleX(1.05);opacity:1}75%{transform:scaleY(1.02) scaleX(.98)}to{transform:scaleY(1.08) scaleX(1);opacity:.95}}.object-label{transition:opacity .5s ease}@media (prefers-reduced-motion:reduce){.object{transition:none}.ac-fan,.ac-led,.air-flow,.boiler-flame .flame,.camera-led,.panel-led{animation:none}.object.active{opacity:1;transform:scale(1)}}.lifting-animation-container{width:100%;max-width:350px;margin:0 auto}.lifting-animation-svg{width:100%;height:auto}.cargo-box,.crane-arm,.crane-base,.crane-cable,.crane-hook,.crane-tower,.crane-trolley,.dust-particles{opacity:0;transition:opacity .8s ease,transform .8s ease}.crane-base{transform:translateY(30px)}.crane-base.visible{opacity:1;transform:translateY(0)}.crane-tower{transform:scaleY(0);transform-origin:bottom}.crane-tower.visible{opacity:1;transform:scaleY(1)}.crane-arm{transform:scaleX(0);transform-origin:left}.crane-arm.visible{opacity:1;transform:scaleX(1)}.crane-trolley{transform:translateX(-100px)}.crane-trolley.visible{opacity:1;animation:trolleyMove 3s ease-in-out infinite}@keyframes trolleyMove{0%,to{transform:translateX(0)}50%{transform:translateX(-50px)}}.crane-cable{transform:scaleY(0);transform-origin:top}.crane-cable.visible{opacity:1;transform:scaleY(1)}.cable-line{animation:cableSwing 2s ease-in-out infinite;transform-origin:top}@keyframes cableSwing{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}.crane-hook{transform:translateY(-20px)}.crane-hook.visible{opacity:1;transform:translateY(0);animation:hookSwing 2s ease-in-out infinite}@keyframes hookSwing{0%,to{transform:translateX(-3px)}50%{transform:translateX(3px)}}.cargo-box{transform:translateY(50px)}.cargo-box.visible{opacity:1;animation:cargoLift 4s ease-in-out infinite}@keyframes cargoLift{0%{transform:translateY(50px);opacity:0}20%{transform:translateY(0);opacity:1}40%{transform:translateY(-10px) translateX(0)}60%{transform:translateY(-10px) translateX(-30px)}80%{transform:translateY(40px) translateX(-30px)}to{transform:translateY(50px) translateX(-30px);opacity:0}}.dust-particles .dust{opacity:0;transform:translateY(0) scale(0)}.dust-particles.active .dust{animation:dustBurst 4s ease-out infinite}.dust.d1{animation-delay:3.2s}.dust.d2{animation-delay:3.3s}.dust.d3{animation-delay:3.25s}.dust.d4{animation-delay:3.35s}.dust.d5{animation-delay:3.28s}@keyframes dustBurst{0%,78%{opacity:0;transform:translateY(0) scale(0)}80%{opacity:.8;transform:translateY(-5px) scale(1)}90%{opacity:.5;transform:translateY(-15px) scale(1.5)}to{opacity:0;transform:translateY(-25px) scale(2)}}.warning-light{animation:warningBlink .5s ease-in-out infinite}@keyframes warningBlink{0%,to{fill:#ef4444;opacity:1}50%{fill:#fca5a5;opacity:.6}}@media (prefers-reduced-motion:reduce){.cargo-box,.crane-arm,.crane-base,.crane-cable,.crane-hook,.crane-tower,.crane-trolley,.dust-particles{transition:none}.cable-line,.cargo-box.visible,.crane-hook.visible,.crane-trolley.visible,.dust-particles.active .dust,.warning-light{animation:none}.cargo-box.visible,.crane-arm.visible,.crane-base.visible,.crane-cable.visible,.crane-hook.visible,.crane-tower.visible,.crane-trolley.visible{opacity:1;transform:none}}.equipment-schematic-wrapper{position:relative;width:100%;overflow:hidden}@keyframes screenGlow{0%,to{opacity:.6}50%{opacity:1}}@keyframes ledBlink{0%,to{fill:#22c55e}50%{fill:#86efac}}@keyframes gearRotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes toolSwing{0%,to{transform:rotate(0deg)}25%{transform:rotate(5deg)}75%{transform:rotate(-5deg)}}@keyframes measurementUpdate{0%,90%{opacity:1}95%{opacity:.5}to{opacity:1}}@keyframes inventoryHighlight{0%,to{background-color:#f5f3ff}50%{background-color:#ede9fe}}@keyframes statusPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes maintenanceAlert{0%,to{fill:#fef3c7}50%{fill:#fde68a}}@media (prefers-reduced-motion:reduce){.equipment-schematic-wrapper *{animation:none!important;transition:none!important}}.training-schematic-wrapper{position:relative;width:100%;overflow:hidden}@keyframes fireFlicker{0%,to{transform:scaleY(1)}25%{transform:scaleY(1.1)}50%{transform:scaleY(.95)}75%{transform:scaleY(1.05)}}@keyframes certificateStamp{0%{transform:scale(2) rotate(-15deg);opacity:0}50%{transform:scale(1) rotate(0deg);opacity:1}to{transform:scale(1) rotate(0deg);opacity:1}}@keyframes raiseHand{0%,to{transform:rotate(0deg)}50%{transform:rotate(-30deg)}}@keyframes warningPulse{0%,to{fill:#fef3c7}50%{fill:#fde68a}}@keyframes medicalPulse{0%,to{fill:#ef4444}50%{fill:#f87171}}@keyframes progressFill{0%{width:0}to{width:100%}}@keyframes checkmarkDraw{0%{stroke-dashoffset:50}to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.training-schematic-wrapper *{animation:none!important;transition:none!important}}.vehicles-schematic-wrapper{position:relative;width:100%;overflow:hidden}@keyframes wheelSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes headlightBlink{0%,to{opacity:1}50%{opacity:.6}}@keyframes vehicleBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes exhaustSmoke{0%{opacity:.8;transform:translateX(0) scale(1)}to{opacity:0;transform:translateX(20px) scale(1.5)}}@keyframes turnSignal{0%,49%{opacity:1}50%,to{opacity:.3}}@keyframes cardSlideLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes cardSlideRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes indicatorPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.7}}@media (prefers-reduced-motion:reduce){.vehicles-schematic-wrapper *{animation:none!important;transition:none!important}}