.mascot-wrapper{display:inline-flex;align-items:center;justify-content:center;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.mascot-image{display:block;width:100%;height:auto;max-width:100%;-o-object-fit:contain;object-fit:contain}.mascot-wrapper[role=button]{cursor:pointer;transition:transform .2s ease}.mascot-wrapper[role=button]:hover{transform:scale(1.05)}.mascot-wrapper[role=button]:active{transform:scale(.98)}.mascot-wrapper:focus{outline:3px solid #2563eb;outline-offset:4px;border-radius:8px}.mascot-wrapper:focus:not(:focus-visible){outline:none}.mascot-hero-welcome{animation:mascot-breathe 4s ease-in-out infinite}.mascot-upload-ready{animation:mascot-idle-bounce 2s ease-in-out infinite}.mascot-upload-drag{animation:mascot-excited-wobble .5s ease-in-out infinite}.mascot-processing{animation:mascot-processing-bob 1.5s ease-in-out infinite}.mascot-celebrating{animation:mascot-celebrate-bounce .6s ease-in-out}.mascot-error-sad,.mascot-error-naughty{animation:mascot-sad-sway 3s ease-in-out infinite}.mascot-thinking{animation:mascot-think-tilt 3s ease-in-out infinite}.mascot-loading{animation:mascot-walk 1s steps(4) infinite}.mascot-animated .mascot-image{animation-play-state:running}@keyframes mascot-breathe{0%,to{transform:scale(1) translateY(0)}50%{transform:scale(1.02) translateY(-2px)}}@keyframes mascot-idle-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes mascot-excited-wobble{0%,to{transform:rotate(0) scale(1)}25%{transform:rotate(-5deg) scale(1.05)}75%{transform:rotate(5deg) scale(1.05)}}@keyframes mascot-processing-bob{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-8px) rotate(-2deg)}75%{transform:translateY(-8px) rotate(2deg)}}@keyframes mascot-celebrate-bounce{0%{transform:translateY(0) scale(1)}30%{transform:translateY(-30px) scale(1.1)}50%{transform:translateY(0) scale(1.05)}65%{transform:translateY(-15px) scale(1)}80%{transform:translateY(0) scale(1.02)}to{transform:translateY(0) scale(1)}}@keyframes mascot-sad-sway{0%,to{transform:rotate(0)}50%{transform:rotate(-3deg)}}@keyframes mascot-think-tilt{0%,to{transform:rotate(0)}50%{transform:rotate(5deg)}}@keyframes mascot-walk{0%{transform:translate(0)}to{transform:translate(4px)}}.mascot-tooltip{position:absolute;bottom:110%;left:50%;transform:translate(-50%);background:#1f2937;color:#fff;padding:8px 12px;border-radius:8px;font-size:14px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:1000}.mascot-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#1f2937}.mascot-wrapper:hover .mascot-tooltip{opacity:1}.mascot-dialog{display:flex;align-items:flex-end;gap:16px;padding:16px;background:#f9fafb;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a}.mascot-dialog-left{flex-direction:row}.mascot-dialog-right{flex-direction:row-reverse}.mascot-dialog-bubble{position:relative;background:#fff;padding:12px 16px;border-radius:12px;box-shadow:0 2px 4px #0000001a;max-width:300px;flex:1}.mascot-dialog-left .mascot-dialog-bubble:before{content:"";position:absolute;left:-8px;bottom:16px;width:0;height:0;border-style:solid;border-width:0 12px 12px 0;border-color:transparent white transparent transparent}.mascot-dialog-right .mascot-dialog-bubble:before{content:"";position:absolute;right:-8px;bottom:16px;width:0;height:0;border-style:solid;border-width:12px 12px 0 0;border-color:white transparent transparent transparent}.mascot-dialog-bubble p{margin:0;color:#1f2937;font-size:14px;line-height:1.5}.mascot-dialog-close{position:absolute;top:4px;right:8px;background:transparent;border:none;font-size:20px;color:#9ca3af;cursor:pointer;padding:4px 8px;line-height:1;transition:color .2s ease}.mascot-dialog-close:hover{color:#1f2937}@media (max-width: 1023px){.mascot-wrapper{max-width:80%}}@media (max-width: 767px){.mascot-wrapper{max-width:70%}@keyframes mascot-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.01)}}@keyframes mascot-idle-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.mascot-dialog{flex-direction:column;align-items:center}.mascot-dialog-bubble{max-width:100%}.mascot-dialog-bubble:before{display:none}}@media (prefers-reduced-motion: reduce){.mascot-wrapper,.mascot-image,.mascot-animated{animation:none!important;transition:none!important}.mascot-wrapper[role=button]:hover,.mascot-wrapper[role=button]:active{transform:none}}@media print{.mascot-wrapper{display:none}}@media (prefers-color-scheme: dark){.mascot-tooltip{background:#374151}.mascot-tooltip:after{border-top-color:#374151}.mascot-dialog{background:#1f2937}.mascot-dialog-bubble{background:#374151;color:#f9fafb}.mascot-dialog-bubble p{color:#f9fafb}}.mascot-no-animation{animation:none!important}.mascot-pulse{animation:mascot-pulse 2s ease-in-out infinite}@keyframes mascot-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.mascot-spin{animation:mascot-spin 1s linear infinite}@keyframes mascot-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mascot-shake{animation:mascot-shake .5s ease-in-out}@keyframes mascot-shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.mascot-float{animation:mascot-float 3s ease-in-out infinite}@keyframes mascot-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}
