@keyframes dm-float-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.dm-float-bob,.dm-float-bob-hover:hover{animation:2s ease-in-out infinite dm-float-bob}@keyframes dm-pulse-glow{0%,to{box-shadow:0 0 0 0 var(--dm-glow-color,oklch(85% .16 80/.4))}50%{box-shadow:0 0 16px 4px var(--dm-glow-color,oklch(85% .16 80/.25))}}.dm-pulse-glow{animation:2s ease-in-out infinite dm-pulse-glow}@keyframes dm-thinking-dot-1{0%,to{opacity:.3}33%{opacity:1}}@keyframes dm-thinking-dot-2{0%,to{opacity:.3}50%{opacity:1}}@keyframes dm-thinking-dot-3{0%,to{opacity:.3}66%{opacity:1}}.dm-thinking-dots{align-items:center;gap:2px;display:inline-flex}.dm-thinking-dots>span:first-child{animation:1s ease-in-out infinite dm-thinking-dot-1}.dm-thinking-dots>span:nth-child(2){animation:1s ease-in-out infinite dm-thinking-dot-2}.dm-thinking-dots>span:nth-child(3){animation:1s ease-in-out infinite dm-thinking-dot-3}@keyframes dm-sparkle-burst{0%{opacity:1;transform:scale(0)rotate(0)}50%{opacity:.8;transform:scale(1.3)rotate(180deg)}to{opacity:0;transform:scale(0)rotate(360deg)}}.dm-sparkle{pointer-events:none;border-radius:50%;width:6px;height:6px;animation:.4s ease-out forwards dm-sparkle-burst;position:absolute}.dm-sparkle:first-child{background:oklch(85% .16 80);animation-delay:0s;top:-8px;left:50%}.dm-sparkle:nth-child(2){background:oklch(75% .2 40);animation-delay:60ms;top:50%;right:-8px}.dm-sparkle:nth-child(3){background:oklch(80% .18 180);animation-delay:.12s;bottom:-8px;left:50%}.dm-sparkle:nth-child(4){background:oklch(90% .12 300);animation-delay:.18s;top:50%;left:-8px}@keyframes dm-dust-arc{0%{opacity:.9;transform:translate(0)scale(1)}60%{transform:translate(var(--dust-dx,12px), var(--dust-dy,-16px)) scale(.6);opacity:.5}to{transform:translate(var(--dust-dx,18px), calc(var(--dust-dy,-16px) + 20px)) scale(0);opacity:0}}.dm-dust{pointer-events:none;background:oklch(85% .16 80/.7);border-radius:50%;width:4px;height:4px;animation:.4s ease-out forwards dm-dust-arc;position:absolute}.dm-dust:first-child{--dust-dx:-14px;--dust-dy:-10px;animation-delay:0s}.dm-dust:nth-child(2){--dust-dx:0px;--dust-dy:-18px;animation-delay:60ms}.dm-dust:nth-child(3){--dust-dx:14px;--dust-dy:-10px;animation-delay:.12s}@keyframes dm-envelope-fly{0%{opacity:1;transform:translate(0)translateY(0)scale(1)}50%{transform:translateX(var(--env-dx,100px)) translateY(-30px) scale(.85);opacity:.9}to{transform:translateX(var(--env-dx,200px)) translateY(0) scale(.7);opacity:0}}.dm-envelope{pointer-events:none;animation:1.2s cubic-bezier(.2,.8,.2,1) forwards dm-envelope-fly;position:absolute}@keyframes dm-flag-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.dm-flag-pulse{animation:.8s ease-in-out infinite dm-flag-pulse}@keyframes dm-snap-in{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.dm-snap-in{animation:.2s cubic-bezier(.2,.8,.2,1) both dm-snap-in}@keyframes dm-fade-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.dm-fade-scale-in{animation:.25s ease-out both dm-fade-scale-in}@keyframes dm-status-pulse{0%,to{box-shadow:0 0 0 0 var(--status-color,#22c55e);opacity:1}50%{box-shadow:0 0 8px 3px var(--status-color,#22c55e);opacity:.8}}.dm-status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.dm-status-dot--active{--status-color:#22c55e;background:#22c55e;animation:1.5s ease-in-out infinite dm-status-pulse}.dm-status-dot--departed{background:#6b7280}.dm-status-dot--notice{--status-color:#f59e0b;background:#f59e0b;animation:1.2s ease-in-out infinite dm-status-pulse}.dm-card-lift{transition:transform .2s,box-shadow .2s}.dm-card-lift:hover{transform:translateY(-2px);box-shadow:0 8px 24px oklch(10% 0 0/.25)}@keyframes dm-knowledge-flow{0%{stroke-dashoffset:20px;opacity:0}50%{opacity:.6}to{stroke-dashoffset:0;opacity:0}}.dm-knowledge-flow{stroke-dasharray:4 4;animation:1.5s ease-in-out infinite dm-knowledge-flow}@keyframes dm-blocked-pulse{0%,to{color:oklch(65% .24 28);transform:scale(1)}50%{color:oklch(75% .24 28);transform:scale(1.15)}}.dm-blocked-pulse{animation:.6s ease-in-out infinite dm-blocked-pulse}@keyframes dm-walk-step{0%,to{transform:scaleX(1)scaleY(1)}25%{transform:scaleX(1.04)scaleY(.96)}75%{transform:scaleX(.96)scaleY(1.04)}}.dm-walking{animation:.5s steps(4,end) infinite dm-walk-step}@media (prefers-reduced-motion:reduce){.dm-float-bob,.dm-float-bob-hover:hover,.dm-pulse-glow,.dm-flag-pulse,.dm-blocked-pulse,.dm-walking,.dm-status-dot--active,.dm-status-dot--notice{animation:none!important}.dm-sparkle,.dm-dust,.dm-envelope{display:none!important}.dm-snap-in,.dm-fade-scale-in{animation-duration:0s!important}.dm-card-lift:hover{transform:none}}
