.nubi{width:var(--size);height:var(--size);--ex:0;--ey:0;line-height:0;display:inline-block}.nubi svg{width:100%;height:100%;overflow:visible}.nubi g{transform-box:view-box}.n-body{transform-origin:60px 106px;transition:transform .4s cubic-bezier(.34,1.56,.64,1)}.nubi.squish .n-body{transform:scale(1.08,.9)}.n-breathe{transform-origin:60px 106px}.n-gaze{transform:translate(calc(var(--ex) * 1px), calc(var(--ey) * 1px));transition:transform .16s ease-out}.n-sleepy,.n-smile,.n-ring,.n-bubble,.nubi[data-state=rest] .n-open{display:none}.nubi[data-state=rest] .n-sleepy{display:inline}.nubi[data-state=happy] .n-open,.nubi[data-state=jump] .n-open{display:none}.nubi[data-state=happy] .n-smile,.nubi[data-state=jump] .n-smile,.nubi[data-state=work] .n-ring,.nubi[data-state=need] .n-bubble{display:inline}.nubi[data-state=need] .n-look{transform:translateY(-3px)}.nubi[data-state=rest] .n-breathe{animation:4s ease-in-out infinite n-breathe}.nubi[data-state=look] .n-look{animation:2.4s ease-in-out infinite n-look}.nubi[data-state=work] .n-spin{transform-origin:60px 68px;animation:1.8s linear infinite n-spin}.nubi[data-state=need] .n-bubble{animation:1.2s ease-in-out infinite n-bob}.nubi[data-state=jump] .n-jump{animation:1.1s cubic-bezier(.3,.7,.4,1) infinite n-jump}@keyframes n-breathe{50%{transform:scale(1.015,.985)}}@keyframes n-look{0%,to{transform:translate(-5px)}50%{transform:translate(5px)}}@keyframes n-spin{to{transform:rotate(360deg)}}@keyframes n-bob{50%{transform:translateY(-4px)}}@keyframes n-jump{0%,70%,to{transform:translateY(0)}35%{transform:translateY(-16px)}}@media (prefers-reduced-motion:reduce){.nubi *,.nubi{transition:none!important;animation:none!important}}
